[Pkg-ofed-commits] [mstflint] 02/09: Imported Upstream version 4.6.0

Benjamin Drung bdrung at moszumanska.debian.org
Tue Jan 24 13:23:28 UTC 2017


This is an automated email from the git hooks/post-receive script.

bdrung pushed a commit to branch master
in repository mstflint.

commit fce2bd32bca446a77dc605318cf572adf0889c06
Author: Benjamin Drung <benjamin.drung at profitbricks.com>
Date:   Wed Jan 18 16:35:21 2017 +0100

    Imported Upstream version 4.6.0
---
 autom4te.cache/output.0                      |     22 +-
 autom4te.cache/output.1                      |     22 +-
 autom4te.cache/traces.0                      |      6 +-
 autom4te.cache/traces.1                      |      4 +-
 cmdif/icmd_cif_common.c                      |      2 +
 cmdif/icmd_cif_common.h                      |      6 -
 cmdif/icmd_cif_open.h                        |      4 +
 cmdparser/cmdparser.h                        |      8 +-
 common/gitversion.h                          |      2 +-
 configure                                    |     22 +-
 configure.ac                                 |      6 +-
 flint/cmd_line_parser.cpp                    |      9 +
 flint/err_msgs.h                             |      2 +-
 flint/flint_params.cpp                       |      1 +
 flint/flint_params.h                         |      1 +
 flint/subcommands.cpp                        |    127 +-
 flint/subcommands.h                          |      5 +-
 include/mtcr_ul/mtcr.h                       |      9 +
 include/mtcr_ul/mtcr_mf.h                    |      2 +
 man/mstconfig.1                              |    298 +-
 man/mstflint.1                               |    738 +-
 man/mstmcra.1                                |      4 +-
 man/mstmread.1                               |      2 +-
 man/mstmtserver.1                            |      4 +-
 man/mstmwrite.1                              |      4 +-
 man/mstregdump.1                             |      2 +-
 man/mstvpd.1                                 |      2 +-
 mflash/mflash.c                              |     10 +-
 mflash/mflash_access_layer.c                 |      6 +-
 mflash/mflash_pack_layer.c                   |      2 +-
 mflash/mflash_pack_layer.h                   |      4 +-
 mft_utils/mft_sig_handler.c                  |      4 +-
 mlxconfig/mlxcfg_4thgen_commander.cpp        |     48 +-
 mlxconfig/mlxcfg_4thgen_commander.h          |      4 +-
 mlxconfig/mlxcfg_commander.cpp               |     27 +-
 mlxconfig/mlxcfg_commander.h                 |     13 +-
 mlxconfig/mlxcfg_db_manager.cpp              |     98 +-
 mlxconfig/mlxcfg_db_manager.h                |      8 +-
 mlxconfig/mlxcfg_generic_commander.cpp       |     55 +-
 mlxconfig/mlxcfg_generic_commander.h         |      4 +-
 mlxconfig/mlxcfg_lib.cpp                     |    736 -
 mlxconfig/mlxcfg_lib.h                       |    113 -
 mlxconfig/mlxcfg_param.cpp                   |      3 +-
 mlxconfig/mlxcfg_param_lib.cpp               |    132 +-
 mlxconfig/mlxcfg_param_lib.h                 |     28 +-
 mlxconfig/mlxcfg_parser.cpp                  |     18 +-
 mlxconfig/mlxcfg_tlv.cpp                     |     24 +-
 mlxconfig/mlxcfg_tlv.h                       |      9 +-
 mlxconfig/mlxcfg_ui.cpp                      |    234 +-
 mlxconfig/mlxcfg_ui.h                        |      6 +-
 mlxconfig/mlxcfg_utils.cpp                   |     47 +-
 mlxconfig/mlxcfg_utils.h                     |     34 +-
 mlxconfig/mlxcfg_view.h                      |      6 +
 mlxconfig/mlxconfig_dbs/Makefile.am          |     39 +-
 mlxconfig/mlxconfig_dbs/Makefile.in          |     39 +-
 mlxconfig/mlxconfig_dbs/mlxconfig.db         |    Bin 68608 -> 80896 bytes
 mlxfwops/lib/Makefile.am                     |      1 +
 mlxfwops/lib/Makefile.in                     |      4 +-
 mlxfwops/lib/aux_tlv_ops.cpp                 |      5 +-
 mlxfwops/lib/aux_tlv_ops.h                   |      2 +-
 mlxfwops/lib/flint_base.h                    |     11 +
 mlxfwops/lib/flint_io.cpp                    |      8 +-
 mlxfwops/lib/fs2_ops.cpp                     |      8 +-
 mlxfwops/lib/fs3_ops.cpp                     |    113 +-
 mlxfwops/lib/fs3_ops.h                       |     17 +-
 mlxfwops/lib/fs4_ops.cpp                     |   1760 +
 mlxfwops/lib/fs4_ops.h                       |    198 +
 mlxfwops/lib/fw_ops.cpp                      |     22 +-
 mlxfwops/lib/mlxfwops.cpp                    |      6 +-
 mlxfwops/lib/mlxfwops_com.h                  |     11 +-
 mstdump/crd_main/mstdump.c                   |      2 +-
 mstdump/mstdump_dbs/ConnectX4.csv            |      2 +-
 mstdump/mstdump_dbs/ConnectX4LX.csv          |      2 +-
 mstdump/mstdump_dbs/ConnectX5.csv            |   4440 +
 mstdump/mstdump_dbs/Spectrum.csv             |     24 +-
 mstdump/mstdump_dbs/SwitchIB.csv             |    440 +-
 mstdump/mstdump_dbs/SwitchIB2.csv            |   1187 +-
 mstflint.spec                                |     15 +-
 mstflint.spec.in                             |      9 +-
 mtcr_ul/mtcr_ib_ofed.c                       |      6 +-
 mtcr_ul/mtcr_int_defs.h                      |      2 +-
 mtcr_ul/mtcr_tools_cif.c                     |     20 +-
 mtcr_ul/mtcr_ul.c                            |      5 +
 mtcr_ul/mtcr_ul_com.c                        |     89 +-
 mtcr_ul/mtcr_ul_icmd_cif.c                   |    184 +-
 reg_access/reg_access.c                      |      6 +-
 small_utils/Makefile.am                      |      1 -
 small_utils/Makefile.in                      |     92 +-
 small_utils/hca_self_test.ofed               |    892 -
 small_utils/hca_self_test.readme             |     31 -
 small_utils/mcra.c                           |      2 +-
 small_utils/mtserver.c                       |      2 +-
 tools_layouts/Makefile.am                    |      1 +
 tools_layouts/Makefile.in                    |      4 +-
 tools_layouts/cibfw_layouts.c                |   1003 +-
 tools_layouts/cibfw_layouts.h                |    213 +-
 tools_layouts/connectib_layouts.c            | 102385 ++++++++++++++++--------
 tools_layouts/connectib_layouts.h            |  45121 +++++++----
 tools_layouts/cx4fw_layouts.c                |    140 +-
 tools_layouts/cx4fw_layouts.h                |     86 +-
 tools_layouts/cx5fw_layouts.c                |    939 +
 tools_layouts/cx5fw_layouts.h                |    399 +
 tools_layouts/register_access_open_layouts.c |     53 +-
 tools_layouts/register_access_open_layouts.h |     55 +-
 tools_layouts/register_access_sib_layouts.c  |     21 +-
 tools_layouts/register_access_sib_layouts.h  |      2 +-
 tools_layouts/tools_open_layouts.c           |    154 +-
 tools_layouts/tools_open_layouts.h           |    115 +-
 108 files changed, 105982 insertions(+), 57393 deletions(-)

diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0
index 9824781..1212a69 100644
--- a/autom4te.cache/output.0
+++ b/autom4te.cache/output.0
@@ -1,6 +1,6 @@
 @%:@! /bin/sh
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.69 for mstflint 4.5.0.
+@%:@ Generated by GNU Autoconf 2.69 for mstflint 4.6.0.
 @%:@
 @%:@ Report bugs to <adrianc at mellanox.co.il>.
 @%:@ 
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='mstflint'
 PACKAGE_TARNAME='mstflint'
-PACKAGE_VERSION='4.5.0'
-PACKAGE_STRING='mstflint 4.5.0'
+PACKAGE_VERSION='4.6.0'
+PACKAGE_STRING='mstflint 4.6.0'
 PACKAGE_BUGREPORT='adrianc at mellanox.co.il'
 PACKAGE_URL=''
 
@@ -1340,7 +1340,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures mstflint 4.5.0 to adapt to many kinds of systems.
+\`configure' configures mstflint 4.6.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1410,7 +1410,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of mstflint 4.5.0:";;
+     short | recursive ) echo "Configuration of mstflint 4.6.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1525,7 +1525,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-mstflint configure 4.5.0
+mstflint configure 4.6.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2015,7 +2015,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by mstflint $as_me 4.5.0, which was
+It was created by mstflint $as_me 4.6.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2373,7 +2373,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-@%:@define VERSION "4.5.0"
+@%:@define VERSION "4.6.0"
 _ACEOF
 
 
@@ -2894,7 +2894,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='mstflint'
- VERSION='4.5.0'
+ VERSION='4.6.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16084,7 +16084,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by mstflint $as_me 4.5.0, which was
+This file was extended by mstflint $as_me 4.6.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16150,7 +16150,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-mstflint config.status 4.5.0
+mstflint config.status 4.6.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/autom4te.cache/output.1 b/autom4te.cache/output.1
index 277125f..012d76a 100644
--- a/autom4te.cache/output.1
+++ b/autom4te.cache/output.1
@@ -1,6 +1,6 @@
 @%:@! /bin/sh
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.69 for mstflint 4.5.0.
+@%:@ Generated by GNU Autoconf 2.69 for mstflint 4.6.0.
 @%:@
 @%:@ Report bugs to <adrianc at mellanox.co.il>.
 @%:@ 
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='mstflint'
 PACKAGE_TARNAME='mstflint'
-PACKAGE_VERSION='4.5.0'
-PACKAGE_STRING='mstflint 4.5.0'
+PACKAGE_VERSION='4.6.0'
+PACKAGE_STRING='mstflint 4.6.0'
 PACKAGE_BUGREPORT='adrianc at mellanox.co.il'
 PACKAGE_URL=''
 
@@ -1340,7 +1340,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures mstflint 4.5.0 to adapt to many kinds of systems.
+\`configure' configures mstflint 4.6.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1410,7 +1410,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of mstflint 4.5.0:";;
+     short | recursive ) echo "Configuration of mstflint 4.6.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1525,7 +1525,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-mstflint configure 4.5.0
+mstflint configure 4.6.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2015,7 +2015,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by mstflint $as_me 4.5.0, which was
+It was created by mstflint $as_me 4.6.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2373,7 +2373,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-@%:@define VERSION "4.5.0"
+@%:@define VERSION "4.6.0"
 _ACEOF
 
 
@@ -2894,7 +2894,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='mstflint'
- VERSION='4.5.0'
+ VERSION='4.6.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16080,7 +16080,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by mstflint $as_me 4.5.0, which was
+This file was extended by mstflint $as_me 4.6.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16146,7 +16146,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-mstflint config.status 4.5.0
+mstflint config.status 4.6.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0
index 554705d..da528ff 100644
--- a/autom4te.cache/traces.0
+++ b/autom4te.cache/traces.0
@@ -2347,7 +2347,7 @@ m4trace:configure.ac:5: -1- m4_pattern_allow([^PROJECT$])
 m4trace:configure.ac:6: -1- m4_pattern_allow([^PROJECT$])
 m4trace:configure.ac:8: -1- m4_pattern_allow([^VERSION$])
 m4trace:configure.ac:9: -1- m4_pattern_allow([^VERSION$])
-m4trace:configure.ac:13: -1- AM_INIT_AUTOMAKE
+m4trace:configure.ac:13: -1- AM_INIT_AUTOMAKE([foreign])
 m4trace:configure.ac:13: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
 m4trace:configure.ac:13: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
 m4trace:configure.ac:13: -1- AM_AUTOMAKE_VERSION([1.13.4])
@@ -2358,7 +2358,9 @@ m4trace:configure.ac:13: -1- m4_pattern_allow([^INSTALL_DATA$])
 m4trace:configure.ac:13: -1- m4_pattern_allow([^am__isrc$])
 m4trace:configure.ac:13: -1- _AM_SUBST_NOTMAKE([am__isrc])
 m4trace:configure.ac:13: -1- m4_pattern_allow([^CYGPATH_W$])
-m4trace:configure.ac:13: -1- _AM_SET_OPTIONS([])
+m4trace:configure.ac:13: -1- _AM_SET_OPTIONS([foreign])
+m4trace:configure.ac:13: -1- _AM_SET_OPTION([foreign])
+m4trace:configure.ac:13: -2- _AM_MANGLE_OPTION([foreign])
 m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE$])
 m4trace:configure.ac:13: -1- m4_pattern_allow([^VERSION$])
 m4trace:configure.ac:13: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
diff --git a/autom4te.cache/traces.1 b/autom4te.cache/traces.1
index d75b1e5..83b2a0e 100644
--- a/autom4te.cache/traces.1
+++ b/autom4te.cache/traces.1
@@ -1,4 +1,4 @@
-m4trace:configure.ac:3: -1- AC_INIT([mstflint], [4.5.0], [adrianc at mellanox.co.il])
+m4trace:configure.ac:3: -1- AC_INIT([mstflint], [4.6.0], [adrianc at mellanox.co.il])
 m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?A[CHUM]_])
 m4trace:configure.ac:3: -1- m4_pattern_forbid([_AC_])
 m4trace:configure.ac:3: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
@@ -161,7 +161,7 @@ m4trace:configure.ac:9: -1- AC_SUBST([VERSION])
 m4trace:configure.ac:9: -1- AC_SUBST_TRACE([VERSION])
 m4trace:configure.ac:9: -1- m4_pattern_allow([^VERSION$])
 m4trace:configure.ac:11: -1- AC_CONFIG_AUX_DIR([config])
-m4trace:configure.ac:13: -1- AM_INIT_AUTOMAKE
+m4trace:configure.ac:13: -1- AM_INIT_AUTOMAKE([foreign])
 m4trace:configure.ac:13: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
 m4trace:configure.ac:13: -1- AM_AUTOMAKE_VERSION([1.13.4])
 m4trace:configure.ac:13: -1- AC_REQUIRE_AUX_FILE([install-sh])
diff --git a/cmdif/icmd_cif_common.c b/cmdif/icmd_cif_common.c
index 75b2fbc..8a74d0d 100644
--- a/cmdif/icmd_cif_common.c
+++ b/cmdif/icmd_cif_common.c
@@ -84,6 +84,8 @@ char* gcif_err_str(int rc) {
             return "icmd initialization failed";
         case GCIF_ICMD_BUSY:
             return "icmd busy";
+        case GCIF_STATUS_ICM_NOT_AVAIL:
+            return "ICM not available";
         default:
             return "Unknown error";
     }
diff --git a/cmdif/icmd_cif_common.h b/cmdif/icmd_cif_common.h
index bdc03c4..7261e6e 100644
--- a/cmdif/icmd_cif_common.h
+++ b/cmdif/icmd_cif_common.h
@@ -71,12 +71,6 @@ enum {
 };
 
 enum {
-    GET_FW_INFO             = 0x8007,
-    FLASH_REG_ACCESS        = 0x9001,
-};
-
-
-enum {
     RW_READ  = 0x1,
     RW_WRITE = 0x0
 };
diff --git a/cmdif/icmd_cif_open.h b/cmdif/icmd_cif_open.h
index 79d9bfe..7403e6e 100644
--- a/cmdif/icmd_cif_open.h
+++ b/cmdif/icmd_cif_open.h
@@ -46,6 +46,10 @@ extern "C" {
 #define OUT
 #define INOUT
 
+enum {
+    GET_FW_INFO             = 0x8007,
+    FLASH_REG_ACCESS        = 0x9001,
+};
 
 int gcif_get_fw_info(mfile *mf,
                      OUT struct connectib_icmd_get_fw_info* fw_info);
diff --git a/cmdparser/cmdparser.h b/cmdparser/cmdparser.h
index 5501fac..1ebfeac 100644
--- a/cmdparser/cmdparser.h
+++ b/cmdparser/cmdparser.h
@@ -79,7 +79,9 @@ public:
     // methods
     CommandLineRequester(string req_name) : name(req_name) {}
     virtual ~CommandLineRequester() {}
-
+    inline void setToolName(string req_name) {
+        name = req_name;
+    }
     inline void AddOptions(option_ifc_t options[], int arr_size) {
         for (int i = 0; i < arr_size; ++i)
             this->options.push_back(options[i]);
@@ -139,7 +141,9 @@ public:
 
     inline const char * GetErrDesc() { return this->last_error.c_str(); }
     inline const char * GetUnknownOptions() { return this->last_unknown_options.c_str(); }
-
+    inline void setParserName(string parser_name) {
+        name = parser_name;
+    }
     int AddRequester(CommandLineRequester *p_req);      //if multiple option than fail
 
     ParseStatus ParseOptions(int argc, char **argv,
diff --git a/common/gitversion.h b/common/gitversion.h
index 1de576a..d35fbe4 100644
--- a/common/gitversion.h
+++ b/common/gitversion.h
@@ -1 +1 @@
-#define TOOLS_GIT_SHA "8a0c39d"
+#define TOOLS_GIT_SHA "375120d"
diff --git a/configure b/configure
index 80a8678..23a6bfc 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mstflint 4.5.0.
+# Generated by GNU Autoconf 2.69 for mstflint 4.6.0.
 #
 # Report bugs to <adrianc at mellanox.co.il>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='mstflint'
 PACKAGE_TARNAME='mstflint'
-PACKAGE_VERSION='4.5.0'
-PACKAGE_STRING='mstflint 4.5.0'
+PACKAGE_VERSION='4.6.0'
+PACKAGE_STRING='mstflint 4.6.0'
 PACKAGE_BUGREPORT='adrianc at mellanox.co.il'
 PACKAGE_URL=''
 
@@ -1340,7 +1340,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures mstflint 4.5.0 to adapt to many kinds of systems.
+\`configure' configures mstflint 4.6.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1410,7 +1410,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of mstflint 4.5.0:";;
+     short | recursive ) echo "Configuration of mstflint 4.6.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1525,7 +1525,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-mstflint configure 4.5.0
+mstflint configure 4.6.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2015,7 +2015,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by mstflint $as_me 4.5.0, which was
+It was created by mstflint $as_me 4.6.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2373,7 +2373,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define VERSION "4.5.0"
+#define VERSION "4.6.0"
 _ACEOF
 
 
@@ -2894,7 +2894,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='mstflint'
- VERSION='4.5.0'
+ VERSION='4.6.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16080,7 +16080,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by mstflint $as_me 4.5.0, which was
+This file was extended by mstflint $as_me 4.6.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16146,7 +16146,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-mstflint config.status 4.5.0
+mstflint config.status 4.6.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 64d0b7b..f988818 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,16 +1,16 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT(mstflint, 4.5.0, adrianc at mellanox.co.il)
+AC_INIT(mstflint, 4.6.0, adrianc at mellanox.co.il)
 
 AC_DEFINE_UNQUOTED([PROJECT], ["mstflint"], [Define the project name.])
 AC_SUBST([PROJECT])
 
-AC_DEFINE_UNQUOTED([VERSION], ["4.5.0"], [Define the project version.])
+AC_DEFINE_UNQUOTED([VERSION], ["4.6.0"], [Define the project version.])
 AC_SUBST([VERSION])
 
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_SRCDIR([README])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign])
 
 dnl Checks for programs
 AC_PROG_CC
diff --git a/flint/cmd_line_parser.cpp b/flint/cmd_line_parser.cpp
index e5e5fd8..5087eda 100644
--- a/flint/cmd_line_parser.cpp
+++ b/flint/cmd_line_parser.cpp
@@ -186,6 +186,7 @@ FlagMetaData::FlagMetaData() {
     _flags.push_back(new Flag("", "use_fw", 0));
     _flags.push_back(new Flag("", "use_dev_img_info", 0));
     _flags.push_back(new Flag("", "skip_ci_req", 0));
+    _flags.push_back(new Flag("", "use_dev_rom", 0));
 }
 
 FlagMetaData::~FlagMetaData() {
@@ -554,6 +555,12 @@ void Flint::initCmdParser() {
                 "Do not save the ROM which exists in the device.\n"
                 "Commands affected: burn");
 
+    AddOptions("use_dev_rom",
+               ' ',
+                "",
+                "Save the ROM which exists in the device.\n"
+                "Commands affected: burn");
+
     AddOptions("ignore_dev_data",
                ' ',
                 "",
@@ -796,6 +803,8 @@ ParseStatus Flint::HandleOption(string name, string value)
         _flintParams.use_image_guids = true;
     } else if (name == "use_image_rom") {
         _flintParams.use_image_rom = true;
+    } else if (name == "use_dev_rom") {
+        _flintParams.use_dev_rom = true;
     } else if (name == "ignore_dev_data") {
         _flintParams.ignore_dev_data = true;
     } else if (name == "dual_image") {
diff --git a/flint/err_msgs.h b/flint/err_msgs.h
index 6f8bc18..8ce5f0e 100644
--- a/flint/err_msgs.h
+++ b/flint/err_msgs.h
@@ -131,7 +131,7 @@ typedef enum {
 #define FLINT_NO_GUID_MAC_FLAGS_ERROR         "Can not set GUIDs/MACs: please run with -uid/-guid/-mac flag.\n"
 #define FLINT_NO_UID_FLAG_ERROR               "Can not set GUIDs/MACs: uid is not specified, please run with -uid flag.\n"
 #define FLINT_CHECKSUM_ERROR                  "Failed to calculate checksum on %s: %s\n"
-#define FLINT_CHECKSUM_MISSMATCH_ERROR        "Given checksum: %s does not match the checksum calculated on device FW: %s.\n"
+#define FLINT_CHECKSUM_MISMATCH_ERROR         "Given checksum: %s does not match the checksum calculated on device FW: %s.\n"
 #define FLINT_CHECKSUM_PARSE_ERROR            "Failed to parse given checksum.\n"
 #define FLINT_CHECKSUM_LEN_ERROR              "MD5 checksum should be exactly 16 bytes long.\n"
 #define FLINT_CHECKSUM_HEX_ERROR              "MD5 checksum should contain only hexadecimal digits.\n"
diff --git a/flint/flint_params.cpp b/flint/flint_params.cpp
index b182cb6..8386592 100644
--- a/flint/flint_params.cpp
+++ b/flint/flint_params.cpp
@@ -82,6 +82,7 @@ FlintParams::FlintParams()
     flash_params.log2size = 0;
     use_dev_img_info = false;
     skip_ci_req = false;
+    use_dev_rom = false;
 }
 
 FlintParams::~FlintParams()
diff --git a/flint/flint_params.h b/flint/flint_params.h
index 52aeef8..9b70452 100644
--- a/flint/flint_params.h
+++ b/flint/flint_params.h
@@ -134,6 +134,7 @@ public:
     string fullCmd;
     bool use_dev_img_info;
     bool skip_ci_req;
+    bool use_dev_rom;
 };
 
 #endif
diff --git a/flint/subcommands.cpp b/flint/subcommands.cpp
index baef9c3..c408da0 100644
--- a/flint/subcommands.cpp
+++ b/flint/subcommands.cpp
@@ -264,6 +264,24 @@ bool SubCommand::writeToFile(string filePath, const std::vector<u_int8_t>& buff)
     return true;
 }
 
+FlintStatus SubCommand::writeImageToFile(const char *file_name, u_int8_t *data, u_int32_t length)
+{
+    FILE* fh;
+    if ((fh = fopen(file_name, "wb")) == NULL) {
+        reportErr(true, "Can not open %s: %s\n", file_name, strerror(errno));
+        return FLINT_FAILED;
+    }
+
+    // Write output
+    if (fwrite(data, 1, length, fh) != length) {
+        fclose(fh);
+        reportErr(true, "Failed to write to %s: %s\n", file_name, strerror(errno));
+        return FLINT_FAILED;
+    }
+    fclose(fh);
+    return FLINT_SUCCESS;
+}
+
 void SubCommand::openLog()
 {
     if (isCmdSupportLog()) {
@@ -303,7 +321,7 @@ int SubCommand::CbCommon(int completion, char*preStr, char* endStr)
 
 int SubCommand::burnCbFs3Func(int completion)
 {
-    char* message = (char*)"Burning FS3 FW image without signatures - ";
+    char* message = (char*)"Burning FW image without signatures - ";
     char* endStr =  (char*)"Restoring signature                     - OK";
     return CbCommon(completion, message, endStr);
 }
@@ -650,7 +668,7 @@ bool SubCommand::getPasswordFromUser(const char *preStr, char buffer[MAX_PASSWOR
     int i;
 
     if (!stdinHndl) {
-        // adrianc: this might be problematic if called and stdout was alreading overriden use CIN$ instead
+        // adrianc: this might be problematic if called and stdout was alreading overridden use CIN$ instead
         stdinHndl = GetStdHandle(STD_INPUT_HANDLE);
     }
     printf("%s:", preStr);
@@ -973,8 +991,8 @@ bool SubCommand::checkGuidsFlags (u_int16_t devType, u_int8_t fwType,
                             bool guidsSpecified, bool macsSpecified, bool uidSpecified, bool ibDev, bool ethDev) {
     (void)ibDev;
     if (guidsSpecified || macsSpecified || uidSpecified) {
-        if (uidSpecified && fwType != FIT_FS3) {
-            reportErr(true, "-uid flag is applicable only for FS3 FW Only.\n");
+        if (uidSpecified && fwType != FIT_FS3 && fwType != FIT_FS4) {
+            reportErr(true, "-uid flag is applicable only for FS3/FS4 FW Only.\n");
             return false;
         } else if (fwType != FIT_FS2 && !ethDev && macsSpecified ) {
             reportErr(true, "-mac(s) flag is not applicable for IB MT%d device.\n", devType);
@@ -1157,6 +1175,10 @@ bool BurnSubCommand::verifyParams()
         reportErr(true, FLINT_INVALID_FLAG_WITHOUT_FLAG_ERROR, "-nofs", "-ignore_dev_data");
         return false;
     }
+    if (_flintParams.use_dev_rom && _flintParams.use_image_rom) {
+        reportErr(true, FLINT_INVALID_FLAG_WITH_FLAG_ERROR, "--use_dev_rom", "--use_image_rom");
+        return false;
+    }
     return true;
 }
 
@@ -1285,7 +1307,9 @@ FlintStatus BurnSubCommand::burnFs3()
         return FLINT_FAILED;
     }
     // deal with rom
-    dealWithExpRom();
+    if (!dealWithExpRom()) {
+        return FLINT_FAILED;
+    }
     bool getRomFromDev = ( _burnParams.burnRomOptions == FwOperations::ExtBurnParams::BRO_FROM_DEV_IF_EXIST);
     if (!getRomFromDev && !checkMatchingExpRomDevId(_imgInfo)) {
         printf("Image file ROM: FW is for device %d, but Exp-ROM is for device %d\n", _imgInfo.fw_info.dev_type,\
@@ -1333,7 +1357,7 @@ FlintStatus BurnSubCommand::burnFs2()
     //CheckMatchingHwDevId is done in mlxfwops burn routine.
     //CheckMatchingDevId is done in mlxfwops burn routine.
 
-    dealWithExpRom();
+    (void)dealWithExpRom();
     bool getRomFromDev = _burnParams.burnRomOptions == FwOperations::ExtBurnParams::BRO_FROM_DEV_IF_EXIST;
     if (!getRomFromDev && !checkMatchingExpRomDevId(_imgInfo)) {
         printf("Image file ROM: FW is for device %d, but Exp-ROM is for device %d\n", _imgInfo.fw_info.dev_type,\
@@ -1381,7 +1405,7 @@ FlintStatus BurnSubCommand::burnFs2()
 
     // Warn if a fw which does not support config is burnt over fw that does support config
     // The other way (new fw with config, old fw w/o config) is a normal update flow.
-    // Update: all fw should now support config sectors, so we just check any missmatch in the config pads
+    // Update: all fw should now support config sectors, so we just check any mismatch in the config pads
 
 
     // Verify config offset. Should never be different between image and flash (unless changing PSID).
@@ -1510,21 +1534,54 @@ bool BurnSubCommand::dealWithGuids()
 #define IS_HCA(chipType) \
     (((chipType) == CT_CONNECTX) || ((chipType) == CT_CONNECT_IB) || ((chipType) == CT_CONNECTX4) || ((chipType) == CT_CONNECTX4_LX) || ((chipType) == CT_CONNECTX5))
 
-void BurnSubCommand::dealWithExpRom()
+bool BurnSubCommand::dealWithExpRom()
 {
     bool getRomFromDev = false;
-    // Check exp rom:
-    bool fs2Cond = _fwType == FIT_FS2? (_devQueryRes && IS_HCA(_devInfo.fw_info.chip_type) && \
-            (FwOperations::IsFwSupportingRomModify(_devInfo.fw_info.fw_ver) || (_imgInfo.fw_info.roms_info.num_of_exp_rom > 0))\
-            && !_flintParams.use_image_rom && !strcmp(_devInfo.fw_info.product_ver,"") && !strcmp(_imgInfo.fw_info.product_ver, "")) : false;
 
-    bool fs3Cond = _fwType == FIT_FS3 ? (_devQueryRes && IS_HCA(_devInfo.fw_info.chip_type) && \
-            (FwOperations::IsFwSupportingRomModify(_devInfo.fw_info.fw_ver) || (_imgInfo.fw_info.roms_info.num_of_exp_rom > 0))\
-            && !_flintParams.use_image_rom) && !strcmp(_devInfo.fw_info.product_ver,"") && !strcmp(_imgInfo.fw_info.product_ver, "") : false;
+    // Check exp rom:
+    bool fs2Cond;
+
+    if (_fwType != FIT_FS2) {
+        _burnParams.burnRomOptions =
+                FwOperations::ExtBurnParams::BRO_ONLY_FROM_IMG;
+        bool cond = _devQueryRes && IS_HCA(_devInfo.fw_info.chip_type);
+        if (cond && _flintParams.use_dev_rom) {
+            if (_devInfo.fw_info.roms_info.num_of_exp_rom > 0) {
+                if (!strcmp(_devInfo.fw_info.product_ver,"") && !strcmp(_imgInfo.fw_info.product_ver, "")) {
+                    _burnParams.burnRomOptions =
+                            FwOperations::ExtBurnParams::BRO_FROM_DEV_IF_EXIST;
+                } else if (_flintParams.allow_rom_change) {
+                    _burnParams.burnRomOptions =
+                            FwOperations::ExtBurnParams::BRO_FROM_DEV_IF_EXIST;
+                } else {
+                    //error, please use allow_rom_change flag
+                    reportErr(true, "The device FW contains common FW/ROM Product Version - "
+                            "The ROM cannot be updated separately.\n");
+                    return false;
+                }
+            } else {
+                if (_imgInfo.fw_info.roms_info.num_of_exp_rom > 0) {
+                    if (!askUser("No Expansion ROM found in the device, "
+                        "Do you want to use the ROM from the image file",
+                        false)) {
+                        return false;
+                    }
+                } else {
+                    if (!askUser("No Expansion ROM found in the device"
+                            ", Do you want to continue")) {
+                        return false;
+                    }
+                }
+            }
+        }
+        return true;
+    }
 
-    bool cond = _fwType == FIT_FS2 ? fs2Cond : fs3Cond;
+    fs2Cond = (_devQueryRes && IS_HCA(_devInfo.fw_info.chip_type) && \
+                (FwOperations::IsFwSupportingRomModify(_devInfo.fw_info.fw_ver) || (_imgInfo.fw_info.roms_info.num_of_exp_rom > 0))\
+                && !_flintParams.use_image_rom && !strcmp(_devInfo.fw_info.product_ver,"") && !strcmp(_imgInfo.fw_info.product_ver, ""));
 
-    if (cond) {
+    if (fs2Cond) {
         // Enter here when:
         //                  The fw on the flash is OK (passed query, and it should pass verify in mlxfwops) &&
         //                  ( The device is connectx ||  connectib    )&&
@@ -1551,7 +1608,7 @@ void BurnSubCommand::dealWithExpRom()
     if (getRomFromDev) {
         _burnParams.burnRomOptions = FwOperations::ExtBurnParams::BRO_FROM_DEV_IF_EXIST;
     }
-    return;
+    return true;
 }
 
 bool BurnSubCommand::checkMatchingExpRomDevId(const fw_info_t& info)
@@ -1736,8 +1793,6 @@ bool QuerySubCommand::displayFs3Uids(const fw_info_t& fwInfo)
     return true;
 }
 
-
-
 FlintStatus QuerySubCommand::printInfo(const fw_info_t& fwInfo, bool fullQuery)
 {
     //char imageTypeStr[4] = {'\0', '\0', '\0', '\0'};
@@ -1923,7 +1978,7 @@ VerifySubCommand:: VerifySubCommand()
 {
     _name = "verify";
     _desc = "Verify entire flash, use \"showitoc\" to see ITOC headers\n"
-            INDENT"in FS3 image only.";
+            INDENT"in FS3/FS4 image only.";
     _extendedDesc = "Verify entire flash.";
     _flagLong = "verify";
     _flagShort = "v";
@@ -2498,7 +2553,7 @@ FlintStatus SgSubCommand::sgFs3()
     }
 
     // TODO: create method that checks the flags for FS3/FS2
-    if (_info.fw_info.chip_type == CT_CONNECT_IB || _info.fw_info.chip_type == CT_SWITCH_IB || _info.fw_info.chip_type == CT_SWITCH_IB2) {
+    if (_info.fw_info.chip_type == CT_CONNECT_IB || _info.fw_info.chip_type == CT_SWITCH_IB) {
         if (!_flintParams.uid_specified) {
             reportErr(true, FLINT_NO_UID_FLAG_ERROR);
             return FLINT_FAILED;
@@ -2554,8 +2609,8 @@ FlintStatus SgSubCommand::executeCommand()
 SmgSubCommand:: SmgSubCommand()
 {
     _name = "smg";
-    _desc = "Set manufacture GUIDs (For FS3 image only).";
-    _extendedDesc = "Set manufacture GUID, Set manufacture GUIDs in the given FS3 image.\n"
+    _desc = "Set manufacture GUIDs (For FS3/FS4 image only).";
+    _extendedDesc = "Set manufacture GUID, Set manufacture GUIDs in the given FS3/FS4 image.\n"
                 INDENTEX "Use -uid flag to set the desired GUIDs, intended for production use only.";
     _flagLong = "smg";
     _flagShort = "";
@@ -2643,7 +2698,7 @@ FlintStatus SmgSubCommand::executeCommand()
          return FLINT_FAILED;
      }
 
-     if (_info.fw_info.chip_type == CT_CONNECT_IB || _info.fw_info.chip_type == CT_SWITCH_IB || _info.fw_info.chip_type == CT_SWITCH_IB2) {
+     if (_info.fw_info.chip_type == CT_CONNECT_IB || _info.fw_info.chip_type == CT_SWITCH_IB) {
          if (!_flintParams.uid_specified) {
          reportErr(true, "Can not set GUIDs/MACs: uid is not specified, please run with -uid flag.\n");
          return FLINT_FAILED;
@@ -2670,8 +2725,8 @@ FlintStatus SmgSubCommand::executeCommand()
 SetVpdSubCommand:: SetVpdSubCommand()
 {
     _name = "set vpd";
-    _desc = "Set read-only VPD (For FS3 image only).";
-    _extendedDesc = "Set Read-only VPD, Set VPD in the given FS3 image, intended for production use only.";
+    _desc = "Set read-only VPD (For FS3/FS4 image only).";
+    _extendedDesc = "Set Read-only VPD, Set VPD in the given FS3/FS4 image, intended for production use only.";
     _flagLong = "set_vpd";
     _flagShort = "";
     _param = "[vpd file]";
@@ -2816,24 +2871,6 @@ FlintStatus RiSubCommand::executeCommand() {
     return writeImageToFile(_flintParams.cmd_params[0].c_str(), &(imgBuff[0]), imgSize );
 }
 
-FlintStatus RiSubCommand::writeImageToFile(const char *file_name, u_int8_t *data, u_int32_t length)
-{
-    FILE* fh;
-    if ((fh = fopen(file_name, "wb")) == NULL) {
-        reportErr(true, "Can not open %s: %s\n", file_name, strerror(errno));
-        return FLINT_FAILED;
-    }
-
-    // Write output
-    if (fwrite(data, 1, length, fh) != length) {
-        fclose(fh);
-        reportErr(true, "Failed to write to %s: %s\n", file_name, strerror(errno));
-        return FLINT_FAILED;
-    }
-    fclose(fh);
-    return FLINT_SUCCESS;
-}
-
 /***********************
  *Class: Dump Conf SubCommand
  **********************/
diff --git a/flint/subcommands.h b/flint/subcommands.h
index e066d24..d5c25c7 100644
--- a/flint/subcommands.h
+++ b/flint/subcommands.h
@@ -141,6 +141,7 @@ protected:
     void reportErr(bool shouldPrint, const char *format, ...);
 
     bool writeToFile(string filePath, const std::vector<u_int8_t>& buff);
+    FlintStatus writeImageToFile(const char *file_name, u_int8_t *data, u_int32_t length);
 
     bool dumpFile(const char* confFile, std::vector<u_int8_t>& data, const char *sectionName);
     bool unzipDataFile (std::vector<u_int8_t> data, std::vector<u_int8_t> &newData, const char *sectionName);
@@ -180,7 +181,7 @@ private:
     bool checkFwVersion();
     bool checkPSID();
     void updateBurnParams();
-    void dealWithExpRom();
+    bool dealWithExpRom();
     bool checkMatchingExpRomDevId(const fw_info_t& info);
     bool dealWithGuids();
     bool dealWithVSD();
@@ -324,8 +325,6 @@ public:
 };
 class RiSubCommand : public SubCommand
 {
-private:
-    FlintStatus writeImageToFile(const char *file_name, u_int8_t *data, u_int32_t length);
 public:
     RiSubCommand();
     ~RiSubCommand();
diff --git a/include/mtcr_ul/mtcr.h b/include/mtcr_ul/mtcr.h
index 5306d0e..ad2b03e 100644
--- a/include/mtcr_ul/mtcr.h
+++ b/include/mtcr_ul/mtcr.h
@@ -83,6 +83,15 @@ int mdevices(char *buf, int len, int mask);
  */
 dev_info* mdevices_info(int mask, int* len);
 
+/*
+ *  * Get list of MST (Mellanox Software Tools) devices info records.
+ *  * Return a dynamic allocated array of dev_info records.
+ *  * len will be updated to hold the array length
+ *  * Verbosity will decide whether to get all the Physical functions or not.
+ */
+
+dev_info* mdevices_info_v(int mask, int* len, int verbosity);
+
 void mdevice_info_destroy(dev_info* dev_info, int len);
 void mdevices_info_destroy(dev_info* dev_info, int len);
 
diff --git a/include/mtcr_ul/mtcr_mf.h b/include/mtcr_ul/mtcr_mf.h
index d2e0e5b..f997346 100644
--- a/include/mtcr_ul/mtcr_mf.h
+++ b/include/mtcr_ul/mtcr_mf.h
@@ -78,6 +78,7 @@ struct mfile_t {
         int is_vm; /*  if the machine is VM    */
         int cr_access; /* If cr access is allowed in MLNXOS devices */
         unsigned char i2c_slave;
+        int           gpio_en;
         io_region* iorw_regions; /* For LPC devices */
         int regions_num;
         char* dev_name;
@@ -95,6 +96,7 @@ struct mfile_t {
         MIB_Private mib; /*  Data for IB interface (if relevant) */
         void *ctx;
         unsigned int i2c_RESERVED; /*  Reserved for internal usage (i2c internal) */
+        int i2c_smbus;
         enum Mdevs_t flags;
         u_int32_t connectx_wa_slot; /* apply connectx cr write workaround */
         int connectx_wa_last_op_write;
diff --git a/man/mstconfig.1 b/man/mstconfig.1
index 9c600af..d172e66 100644
--- a/man/mstconfig.1
+++ b/man/mstconfig.1
@@ -1,249 +1,125 @@
-.TH MSTCONFIG "4.4.0" "" ""
+.TH MSTCONFIG "1" "4.6.0"  "10 January 2017" ""
 .SH NAME
 mstconfig
 .IP
 .SH SYNOPSIS:
 .IP
-mstconfig [\-d <mst device> ] [\-y|\-e] <s[et] <parameters to set>|q[uery]|r[eset]>
+mstconfig [Options] <Commands> [Parameters]
 .IP
 .SH OPTIONS:
+.RS
 .TP
-\fB\-d\fR|\-\-dev <device>
-: Perform operation for a specified mst device.
+.B
+\fB-d\fP|\fB--dev\fP <device>
+: Perform operation for a specified MST device.
 .TP
-\fB\-f\fR|\-\-file <conf_file>
+.B
+\fB-b\fP|\fB--db\fP <filename>
+: Use a specific database file.
+.TP
+.B
+\fB-f\fP|\fB--file\fP <conf_file>
 : raw configuration file.
 .TP
-\fB\-h\fR|\-\-help
+.B
+\fB-h\fP|\fB--help\fP
 : Display help message.
 .TP
-\fB\-hh\fR|\-\-full_help
-: Display full help message.
-.TP
-\fB\-v\fR|\-\-version
+.B
+\fB-v\fP|\fB--version\fP
 : Display version info.
 .TP
-\fB\-e\fR|\-\-show_default
-: Show default configurations.
+.B
+\fB-e\fP|\fB--enable_verbosity\fP
+: Show default and current configurations.
 .TP
-\fB\-y\fR|\-\-yes
+.B
+\fB-y\fP|\fB--yes\fP
 : Answer yes in prompt.
-.IP
+.TP
+.B
+\fB-a\fP|\fB--all_attrs\fP
+: Show all attributes in the XML template
+.RE
+.PP
 .SH COMMANDS:
+.RS
 .TP
+.B
 clear_semaphore
 : clear the tool semaphore.
 .TP
+.B
+i[show_confs]
+: display informations about all configurations.
+.TP
+.B
 q[uery]
-: query current supported configurations.
+: query supported configurations.
 .TP
+.B
 r[eset]
 : reset all configurations to their default value.
 .TP
+.B
 s[et]
 : set configurations to a specific device.
 .TP
+.B
 set_raw
-: set raw configuration file.(5th generation devices only.)
-.IP
-Supported Configurations:
-.IP
-\fBBoot Settings Extras:\fR These parameters are relevant only for servers using legacy BIOS PXE boot (flexboot).
-.IP
-IP_VER=<IPv4|IPv4_IPv6|IPv6|IPv6_IPv4>
-.IP
-IP_VER_P1=<IPv4|IPv4_IPv6|IPv6|IPv6_IPv4>
-.IP
-IP_VER_P2=<IPv4|IPv4_IPv6|IPv6|IPv6_IPv4>
-.IP
-\fBExternal Ports:\fR
-.IP
-ALLOW_RD_COUNTERS=<False|True>
-.IP
-PORT_OWNER=<False|True>
-.IP
-\fBIB Dynamically Connect:\fR
-.IP
-DCR_LIFO_SIZE=<SIZE>
-.IP
-LOG_DCR_HASH_TABLE_SIZE=<SIZE>
-.IP
-\fBInfiniband Boot Settings:\fR
-.IP
-BOOT_PKEY_P1=<PKEY>
-.IP
-BOOT_PKEY_P2=<PKEY>
-.IP
-\fBInternal Settings:\fR
-.IP
-INT_LOG_MAX_PAYLOAD_SIZE=<4KB|Auto>
-.IP
-\fBPCI Settings:\fR
-.IP
-FPP_EN=<False|True>
-.IP
-LOG_BAR_SIZE=<base_2_log_in_mb>
-.IP
-NUM_OF_VFS=<NUM>
-.IP
-NUM_PF_MSIX=<NUM>
-.IP
-NUM_VF_MSIX=<NUM>
-.IP
-PF_LOG_BAR_SIZE=<base_2_log_in_mb>
-.IP
-SRIOV_EN=<False|True>
-.IP
-VF_LOG_BAR_SIZE=<base_2_log_in_mb>
-.IP
-\fBPreboot Boot Settings:\fR Settings that control the legacy option ROM
-.IP
-BOOT_OPTION_ROM_EN_P1=<False|True>
-.IP
-BOOT_OPTION_ROM_EN_P2=<False|True>
-.IP
-BOOT_RETRY_CNT_P1=<0..7>
-.IP
-BOOT_RETRY_CNT_P2=<0..7>
-.IP
-BOOT_VLAN_EN_P1=<False|True>
-.IP
-BOOT_VLAN_EN_P2=<False|True>
-.IP
-BOOT_VLAN_P1=<VLAN ID>
-.IP
-BOOT_VLAN_P2=<VLAN ID>
-.IP
-LEGACY_BOOT_PROTOCOL_P1=<Both|None|PXE|iSCSI>
-.IP
-LEGACY_BOOT_PROTOCOL_P2=<Both|None|PXE|iSCSI>
-.IP
-\fBRoCE Congestion Control ECN:\fR
-.IP
-CLAMP_TGT_RATE_AFTER_TIME_INC_P1=<0|1>
-.IP
-CLAMP_TGT_RATE_AFTER_TIME_INC_P2=<0|1>
-.IP
-CLAMP_TGT_RATE_P1=<0|1>
-.IP
-CLAMP_TGT_RATE_P2=<0|1>
-.IP
-CNP_802P_PRIO_P1=<NUM>
-.IP
-CNP_802P_PRIO_P2=<NUM>
-.IP
-CNP_DSCP_P1=<0..7>
-.IP
-CNP_DSCP_P2=<0..7>
-.IP
-DCE_TCP_G_P1=<NUM>
-.IP
-DCE_TCP_G_P2=<NUM>
-.IP
-DCE_TCP_RTT_P1=<USEC>
-.IP
-DCE_TCP_RTT_P2=<USEC>
-.IP
-INITIAL_ALPHA_VALUE_P1=<NUM>
-.IP
-INITIAL_ALPHA_VALUE_P2=<NUM>
-.IP
-MIN_TIME_BETWEEN_CNPS_P1=<USEC>
-.IP
-MIN_TIME_BETWEEN_CNPS_P2=<USEC>
-.IP
-RATE_REDUCE_MONITOR_PERIOD_P1=<USEC>
-.IP
-RATE_REDUCE_MONITOR_PERIOD_P2=<USEC>
-.IP
-RATE_TO_SET_ON_FIRST_CNP_P1=<RATE_IN_MBIT>
-.IP
-RATE_TO_SET_ON_FIRST_CNP_P2=<RATE_IN_MBIT>
-.IP
-RPG_AI_RATE_P1=<RATE_IN_MBIT>
-.IP
-RPG_AI_RATE_P2=<RATE_IN_MBIT>
-.IP
-RPG_BYTE_RESET_P1=<BYTE_NUM>
-.IP
-RPG_BYTE_RESET_P2=<BYTE_NUM>
-.IP
-RPG_GD_P1=<0..15>
-.IP
-RPG_GD_P2=<0..15>
-.IP
-RPG_HAI_RATE_P1=<RATE_IN_MBIT>
-.IP
-RPG_HAI_RATE_P2=<RATE_IN_MBIT>
-.IP
-RPG_MAX_RATE_P1=<RATE_IN_MBIT>
-.IP
-RPG_MAX_RATE_P2=<RATE_IN_MBIT>
-.IP
-RPG_MIN_DEC_FAC_P1=<1..100>
-.IP
-RPG_MIN_DEC_FAC_P2=<1..100>
-.IP
-RPG_MIN_RATE_P1=<RATE_IN_MBIT>
-.IP
-RPG_MIN_RATE_P2=<RATE_IN_MBIT>
-.IP
-RPG_THRESHOLD_P1=<0..31>
-.IP
-RPG_THRESHOLD_P2=<0..31>
-.IP
-RPG_TIME_RESET_P1=<USEC>
-.IP
-RPG_TIME_RESET_P2=<USEC>
-.IP
-\fBRoCE Congestion Control Parameters:\fR
-.IP
-ROCE_CC_ALGORITHM_P1=<ECN|QCN>
-.IP
-ROCE_CC_ALGORITHM_P2=<ECN|QCN>
-.IP
-ROCE_CC_PRIO_MASK_P1=<0..255>
-.IP
-ROCE_CC_PRIO_MASK_P2=<0..255>
-.IP
-\fBRoCE V1.5 next protocol:\fR
-.IP
-ROCE_NEXT_PROTOCOL=<0..255>
-.IP
-\fBVPI Settings:\fR Control network link type
-.IP
-LINK_TYPE_P1=<ETH|IB|VPI>
-.IP
-LINK_TYPE_P2=<ETH|IB|VPI>
-.IP
-\fBWake On LAN:\R
-.IP
-WOL_MAGIC_EN=<False|True>
-.IP
-WOL_MAGIC_EN_P1=<False|True>
-.IP
-WOL_MAGIC_EN_P2=<False|True>
-.IP
-.SH Examples:
+: set raw configuration \fBfile.\fP(only Connect-IB/Connect-X4/LX.)
+.TP
+.B
+backup
+: backup configurations to a \fBfile.\fP(only Connect-IB/Connect-X4/LX.). Use set_raw command to restore file.
+.TP
+.B
+gen_tlvs_file
+: Generate List of all TLVs. TLVs output file name must be specified. (*)
+.TP
+.B
+g[en_xml_template]
+: Generate XML template. TLVs input file name and XML output file name must be specified. (*)
+.TP
+.B
+xml2raw
+: Generate Raw file from XML file. XML input file name and raw output file name must be specified. (*)
+.TP
+.B
+raw2xml
+: Generate XML file from Raw file. raw input file name and XML output file name must be specified. (*)
+.RE
+.PP
+(*) These commands do not require MST device
+.PP
+To show supported configurations by device type, run show_confs command
+.RE
+.RE
+.PP
+
+.RS
+Examples:
+.RS
 .TP
-To query current configuration
-: mstconfig \fB\-d\fR \fI04:00.0\fP query
+.B
+To query configurations
+: mstconfig \fB-d\fP 04:00.0 query
 .TP
+.B
 To set configuration
-: mstconfig \fB\-d\fR \fI05:00.0\fP set SRIOV_EN=1 NUM_OF_VFS=16 WOL_MAGIC_EN_P1=1
+: mstconfig \fB-d\fP 04:00.0 set SRIOV_EN=1 NUM_OF_VFS=16 WOL_MAGIC_EN_P1=1
 .TP
+.B
 To set raw configuration
-: mstconfig \fB\-d\fR \fI05:00.0\fP \fB\-f\fR conf_file set_raw
+: mstconfig \fB-d\fP 05:00.0 \fB-f\fP conf_file set_raw
 .TP
+.B
 To reset configuration
-: mstconfig \fB\-d\fR \fI04:00.0\fP reset
-.IP
-.SH Supported devices:
-.IP
-4th Generation devices: ConnectX3, ConnectX3\-Pro (FW 2.31.5000 and above).
-.IP
-5th Generation devices: ConnectIB, ConnectX4, ConnectX4\-LX.
-.IP
-.TP
-\fBNote: query device to view supported configurations.\fR
-
+: mstconfig \fB-d\fP 04:00.0 reset
+.RE
+.PP
+Supported devices:
+4th Generation devices: ConnectX3, ConnectX3-Pro (FW 2.31.5000 and above).
+5th Generation devices: ConnectIB, ConnectX4, ConnectX4-LX, ConnectX5.
+.PP
+Note: query device to view supported configurations by Firmware.
diff --git a/man/mstflint.1 b/man/mstflint.1
index 4e87267..36cafc9 100644
--- a/man/mstflint.1
+++ b/man/mstflint.1
@@ -1,34 +1,35 @@
-.\"Text automatically generated by txt2man
-.TH mstflint 4.4.0  "May 2016" "" ""
+.TH mstflint "1" "4.6.0"  "10 January 2017" ""
 .SH NAME
 \fBmstflint \fP- Flash Interface
 .SH SYNOPSIS
 .nf
 .fam C
-  \fBmstflint\fP [\fIOPTIONS\fP] <command> [\fIParameters\fP]
-      [\fB-d\fP|\fB--device\fP <device>] [\fB--guid\fP <GUID>]
-      [\fB--guids\fP <GUIDS\.\.\.>] [\fB--mac\fP <MAC>]
-      [\fB--macs\fP <MACs\.\.\.>] [\fB--uid\fP <UID>]
-      [\fB--blank_guids\fP] [\fB--clear_semaphore\fP]
-      [\fB-h\fP|\fB--help\fP] [\fB--hh\fP] [\fB-i\fP|\fB--image\fP <image>]
-      [\fB--qq\fP] [\fB--nofs\fP] [\fB--allow_psid_change\fP] [\fB--allow_rom_change\fP]
-      [\fB--override_cache_replacement\fP] [\fB--no_flash_verify\fP]
-      [\fB-s\fP|\fB--silent\fP] [\fB-y\fP|\fB--yes\fP] [\fB--no\fP] [\fB--vsd\fP <string>]
-      [\fB--use_image_ps\fP] [\fB--use_image_guids\fP]
-      [\fB--use_image_rom\fP] [\fB--dual_image\fP] [\fB--ignore_dev_data\fP]
-      [\fB--use_fw\fP] [\fB--striped_image\fP] [\fB--banks\fP <bank>]
-      [\fB--log\fP <log_file>] [\fB--flash_params\fP <type, log2size, num_of_flashes>]
+  \fBMstFlint\fP [\fIOPTIONS\fP] <command> [\fIParameters\fP]
+      [\fB-d\fP|\fB--device\fP <device>] [\fB-i\fP|\fB--image\fP <image>]
+      [\fB-h\fP|\fB--help\fP] [\fB--hh\fP] [\fB-y\fP|\fB--yes\fP] [\fB--no\fP]
+      [\fB--guid\fP <GUID>] [\fB--guids\fP <GUIDS\.\.\.>]
+      [\fB--mac\fP <MAC>] [\fB--macs\fP <MACs\.\.\.>]
+      [\fB--uid\fP <UID>] [\fB--blank_guids\fP] [\fB--clear_semaphore\fP]
+      [\fB--qq\fP] [\fB--nofs\fP] [\fB--allow_psid_change\fP]
+      [\fB--allow_rom_change\fP] [\fB--override_cache_replacement\fP]
+      [\fB--no_flash_verify\fP] [\fB--use_fw\fP] [\fB-s\fP|\fB--silent\fP]
+      [\fB--vsd\fP <string>] [\fB--use_image_ps\fP]
+      [\fB--use_image_guids\fP] [\fB--use_image_rom\fP]
+      [\fB--use_dev_rom\fP] [\fB--ignore_dev_data\fP]
+      [\fB--dual_image\fP] [\fB--striped_image\fP]
+      [\fB--banks\fP <bank>] [\fB--log\fP <log_file>]
+      [\fB--flash_params\fP <type, log2size, num_of_flashes>]
       [\fB-v\fP|\fB--version\fP] 
 .fam T
 .fi
 .fam T
 .fi
 .SH DESCRIPTION
-\fBmstflint\fP [\fIOPTIONS\fP] <command> [\fIParameters\fP]
-mstflint is a FW (firmware) burning and flash memory operations tool for
+\fBMstFlint\fP [\fIOPTIONS\fP] <command> [\fIParameters\fP]
+flint is a FW (firmware) burning and flash memory operations tool for
 Mellanox Infiniband HCAs, Ethernet NIC cards, and switch devices.
 .SH OPTIONS
-\fBmstflint\fP [\fIOPTIONS\fP] <command> [\fIParameters\fP]
+\fBMstFlint\fP [\fIOPTIONS\fP] <command> [\fIParameters\fP]
 .RS
 .TP
 .B
@@ -37,6 +38,31 @@ Mellanox Infiniband HCAs, Ethernet NIC cards, and switch devices.
 Commands affected: all
 .TP
 .B
+\fB-i\fP|\fB--image\fP <image>
+: Binary image file.
+Commands affected: burn, verify
+.TP
+.B
+\fB-h\fP|\fB--help\fP
+: Prints this message and exits
+.TP
+.B
+\fB--hh\fP
+: Prints extended command help
+.TP
+.B
+\fB-y\fP|\fB--yes\fP
+: Non interactive mode - assume answer
+"yes" to all questions.
+Commands affected: all
+.TP
+.B
+\fB--no\fP
+: Non interactive mode - assume answer
+"no" to all questions.
+Commands affected: all
+.TP
+.B
 \fB--guid\fP <GUID>
 : GUID base value. 4 GUIDs
 are automatically assigned to the following 
@@ -106,8 +132,8 @@ Technologies ethernet products.
 .TP
 .B
 \fB--uid\fP <UID>
-: ConnectIB/SwitchIB only. Derive and set the device UIDs 
-(GUIDs, MACs).
+: ConnectIB/SwitchIB only. Derive and set the 
+device UIDs (GUIDs, MACs, WWNs).
 UIDs are derived from the given base UID 
 according to Mellanox Methodology
 Commands affected: burn, sg
@@ -136,21 +162,8 @@ application is currently using the flash.
 Exercise caution.
 .TP
 .B
-\fB-h\fP|\fB--help\fP
-: Prints this message and exits
-.TP
-.B
-\fB--hh\fP
-: Prints extended command help
-.TP
-.B
-\fB-i\fP|\fB--image\fP <image>
-: Binary image file.
-Commands affected: burn, verify
-.TP
-.B
 \fB--qq\fP
-: Run a quick query. When specified, mstflint 
+: Run a quick query. When specified, flint 
 will not perform full
 image integrity checks during the query 
 operation. This may shorten
@@ -192,23 +205,16 @@ to hang.
 : Do not verify each write on the flash.
 .TP
 .B
+\fB--use_fw\fP
+: Flash access will be done using FW (ConnectX-3/ConnectX-3Pro 
+only).
+.TP
+.B
 \fB-s\fP|\fB--silent\fP
 : Do not print burn progress flyer.
 Commands affected: burn
 .TP
 .B
-\fB-y\fP|\fB--yes\fP
-: Non interactive mode - assume answer
-"yes" to all questions.
-Commands affected: all
-.TP
-.B
-\fB--no\fP
-: Non interactive mode - assume answer
-"no" to all questions.
-Commands affected: all
-.TP
-.B
 \fB--vsd\fP <string>
 : Write this string, of up to 208 characters, 
 to VSD when burn.
@@ -221,8 +227,8 @@ Commands affected: burn
 .TP
 .B
 \fB--use_image_guids\fP
-: Burn (guids/uids/macs) as appears in the 
-given image.
+: Burn (guids/macs) as appears in the given 
+image.
 Commands affected: burn
 .TP
 .B
@@ -231,15 +237,16 @@ Commands affected: burn
 Commands affected: burn
 .TP
 .B
-\fB--ignore_dev_data\fP
-: Do not attempt to take device data sections
-from device(sections will be taken from the image. FS3 Only).
+\fB--use_dev_rom\fP
+: Save the ROM which exists in the device.
 Commands affected: burn
 .TP
 .B
-\fB--use_fw\fP
-: Access to flash using FW (ConnectX3/ConnectX3Pro Device Only)
-Commands affected: all
+\fB--ignore_dev_data\fP
+: Do not attempt to take device data sections 
+from \fBdevice\fP(sections will be taken from 
+the image. FS3 Only).
+Commands affected: burn
 .TP
 .B
 \fB--dual_image\fP
@@ -267,9 +274,9 @@ log file
 \fB--flash_params\fP <type, log2size, num_of_flashes>: Use the given parameters to access the flash 
 instead of reading them from the flash.
 Supported parameters:
-Type: The type of the flash, such as: M25PXxx, 
+Type: The type of the flash, such as:M25PXxx, 
 M25Pxx, N25Q0XX, SST25VFxx, W25QxxBV, W25Xxx, 
-AT25DFxxx, S25FLXXXP.
+AT25DFxxx, S25FLXXXP, S25FL11xx, MX25L16xxx.
 log2size: The log2 of the flash size.num_of_flashes: 
 the number of the flashes connected to the 
 device.
@@ -280,7 +287,6 @@ device.
 .RE
 .RE
 .PP
-.SH
 COMMANDS SUMMARY:
 .RS
 .TP
@@ -290,30 +296,30 @@ burn|b
 .TP
 .B
 query|q [full]
-                                : Query misc. flash/firmware characteristics, use "full"
+: Query misc. flash/firmware characteristics, use "full"
 to get more information.
 .TP
 .B
 verify|v [showitoc]
-                                : Verify entire flash, use "showitoc" to see ITOC headers
-in FS3 image only.
+: Verify entire flash, use "showitoc" to see ITOC headers
+in FS3/FS4 image only.
 .TP
 .B
 swreset
-                                : SW reset the target un-managed switch device. This command
+: SW reset the target un-managed switch device. This command
 is supported only in the In-Band access method.
 .TP
 .B
 brom
-<ROM-file>                      : Burn the specified ROM file on the flash.
+<ROM-file>                          : Burn the specified ROM file on the flash.
 .TP
 .B
 drom
-                                : Remove the ROM section from the flash.
+: Remove the ROM section from the flash.
 .TP
 .B
 rrom
-<out-file>                      : Read the ROM section from the flash.
+<out-file>                          : Read the ROM section from the flash.
 .TP
 .B
 bb
@@ -321,13 +327,7 @@ bb
 .TP
 .B
 sg
-[guids_num=<num> step_size=<size>] 
-[nocrc]                         : Set GUIDs.
-
-.TP
-.B
-set_vpd
-[vpd file]                      : Set read-only VPD (For FS3 image only).
+[guids_num=<num|num_port1,num_port2> step_size=<size|size_port1,size_port2>] | [nocrc] : Set GUIDs.
 .TP
 .B
 sv
@@ -335,32 +335,32 @@ sv
 .TP
 .B
 ri
-<out-file>                      : Read the fw image on the flash.
+<out-file>                            : Read the fw image on the flash.
 .TP
 .B
 dc
-[out-file]                      : Dump Configuration: print fw configuration file for the given image.
+[out-file]                            : Dump Configuration: print fw configuration file for the given image.
 .TP
 .B
 dh
-[out-file]                      : Dump Hash: dump the hash if it is integrated in the FW image
+[out-file]                            : Dump Hash: dump the hash if it is integrated in the FW image
 .TP
 .B
 set_key
-[key]                           : Set/Update the HW access key which is used to enable/disable access to HW.
+[key]                            : Set/Update the HW access key which is used to enable/disable access to HW.
 The key can be provided in the command line or interactively typed after
 the command is given
 NOTE: The new key is activated only after the device is reset.
 .TP
 .B
 hw_access
-<enable|disable> [key]          : Enable/disable the access to the HW.
+<enable|disable> [key]         : Enable/disable the access to the HW.
 The key can be provided in the command line or interactively typed after
 the command is given
 .TP
 .B
 hw
-<query|set> [ATTR=VAL]          : Set/query HW info and flash attributes.
+query                                 : Query HW info and flash attributes.
 .TP
 .B
 erase|e <addr>
@@ -368,597 +368,45 @@ erase|e <addr>
 .TP
 .B
 rw
-<addr>                          : Read one dword from flash
+<addr>                                : Read one dword from flash
 .TP
 .B
 ww
-<addr> <data>                   : Write one dword to flash
+<addr> <data>                         : Write one dword to flash
 .TP
 .B
 wwne
-<addr> <data>                   : Write one dword to flash without sector erase
+<addr> <data>                       : Write one dword to flash without sector erase
 .TP
 .B
 wbne
-<addr> <size> <data \.\.\.>        : Write a data block to flash without sector erase.
+<addr> <size> <data \.\.\.>            : Write a data block to flash without sector erase.
 .TP
 .B
 wb
-<data-file> <addr>              : Write a data block to flash.
+<data-file> <addr>                    : Write a data block to flash.
 .TP
 .B
 rb
-<addr> <size> [out-file]        : Read  a data block from flash
-.TP
-.B
-qrom
-                                : query rom in a given image.
- .TP
-.B
-checksum|cs                     
-                                : perform MD5 checksum on FW.
+<addr> <size> [out-file]              : Read  a data block from flash
 .TP
 .B
-timestamp|ts <set|query|reset> [timestamp] [FW version] 
-                                : FW time stamping.
-.RE
-.PP
-
-.RE
-.PP
-.SH
-COMMANDS DESCRIPTION:
-.RS
-.SS
-
-.TP
-.B
-\fIName\fP: burn
-.IP
-\fIDescription\fP: Burn flash. Performs failsafe FW update from a raw binary image.
-.IP
-\fICommand\fP: burn|b
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 \fB-i\fP image1.bin burn
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 \fB-guid\fP 0x2c9000100d050 \fB-i\fP image1.bin b
-
-."***************************************************************************************
-
-.RE
+clear_semaphore
+: Clear flash semaphore.
 .TP
 .B
-\fIName\fP: query
-.IP
-\fIDescription\fP: Query miscellaneous FW and flash parameters. 
-.IP
-Display FW Version, GUIDs, PSID, and other info.
-.IP
-\fICommand\fP: query|q [full]
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 query
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: verify
-.IP
-\fIDescription\fP: Verify entire flash.
-.IP
-\fICommand\fP: verify|v [showitoc]
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 v
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: swreset
-.IP
-\fIDescription\fP: SW reset the target un-managed switch device. 
-.IP
-This command is supported only in the In-Band access method.
-.IP
-\fICommand\fP: swreset
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP: None
-
-."***************************************************************************************
-.RE
-.TP
-.B
-\fIName\fP: brom
-.IP
-\fIDescription\fP: Burn the specified exp-ROM on the flash.
-.IP
-\fICommand\fP: brom <ROM-file>
-.IP
-\fIParameters\fP: file: The exp-ROM file.
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 brom exp-rom.rom
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: drom
-.IP
-\fIDescription\fP: Remove the exp-ROM from the flash if it is existing.
-.IP
-\fICommand\fP: drom
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 drom
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: rrom
-.IP
-\fIDescription\fP: Read the exp-ROM from the flash if it is existing.
-.IP
-\fICommand\fP: rrom <out-file>
-.IP
-\fIParameters\fP: file: filename to write the exp-ROM to.
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 rrom exp-rom.rom
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: bb
-.IP
-\fIDescription\fP: Burns entire flash verbatim from raw binary image. No checks are done on the flash or
-.IP
-on the given image file. No fields (such as VSD or Guids) are read from flash.
-.IP
-\fICommand\fP: bb
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 \fB-i\fP image1.bin bb
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: sg
-.IP
-\fIDescription\fP: Set GUIDs/MACs/UIDs in the given device/image.
-.IP
-Use \fB-guid\fP(s), \fB-mac\fP(s) and \fB-uid\fP(s) flags to set the desired values.
-.IP
-- On pre-ConnectX devices, the sg command is used in production to apply GUIDs/MACs values
-.IP
-to cards that were pre-burnt with blank GUIDs. It is not meant for use in field.
-.IP 
-On 4th generation devices, this command can operate on both image file and image on flash.
-.IP
-If the GUIDs/MACs/UIDs in the image on flash are non-blank,
-.IP
-mstflint will re-burn the current image using the given GUIDs/MACs/UIDs.
-.IP
-\fICommand\fP: sg   [guids_num=<num> step_size=<size>] | [nocrc]
-.IP
-\fIParameters\fP:
-.IP
-nocrc: (optional) When specified the mstflint would not update
-.IP
-the full image crc after changing the guids
-.IP
-num_of_guids: number of GUIDs to be allocated per physical port (FS3 Only)
-.IP
-step_size: step size between GUIDs (FS3 Only)
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 \fB-guid\fP 0x0002c9000100d050 sg
-.IP \(bu 4
-mstflint -d 08:00.0 -guid 0x0002c9000100d050 -mac 0x0002c900d050 sg
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: set vpd
-.IP
-\fIDescription\fP: Set Read-only VPD, Set VPD in the given FS3 image.
-.IP
-\fICommand\fP: set_vpd [vpd file]
-.IP
-\fIParameters\fP: vpd file: bin file containing the vpd data
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-i\fP fw_image.bin set_vpd vpd.bin
-
-."***************************************************************************************
-
-.RE
-.TP
-.b
-\fIName\fP: sv
-.IP
-\fIDescription\fP: Set VSD in the given device/image.
-.IP
-Use \fB-vsd\fP flag to set the desired VSD string.
-.IP
-\fICommand\fP: sv
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP: 
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 \fB-vsd\fP VSD_STRING sv
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: ri
-.IP
-\fIDescription\fP: Read the FW image from flash and write it to a file.
-.IP
-\fICommand\fP: ri <out-file>
-.IP
-\fIParameters\fP: file: filename to write the image to (raw binary).
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 ri file.bin
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: dc
-.IP
-\fIDescription\fP:Print (to screen or to a file) the FW configuration text file used by the image generation process.
-.IP
-This command would fail if the image does not contain a FW configuration section. Existence of this
-.IP
-section depends on the version of the image generation tool.
-.IP
-\fICommand\fP: dc [out-file]
-.IP
-\fIParameters\fP: file: (optional) filename to write the dumped configuration to. If not given, the data is printed to screen.
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 dc
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: dh
-\fIDescription\fP: Print (to screen or to a file) the HASH text file used by the FW.
-.IP
-This command would fail if the image does not contain a Hash file.
-.IP
-\fICommand\fP: dh [out-file]
-.IP
-\fIParameters\fP: file - (optional) filename to write the dumped tracer hash file to. If not given, the data is printed to screen.
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 dh hash.csv
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: set_key
-.IP
-\fIDescription\fP: Set/Update the HW access key which is used to enable/disable access to HW.
-.IP
-\fICommand\fP: set_key [key]
-.IP
-\fIParameters\fP: key: (optional) The new key you intend to set (in hex).
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 set_key 1234deaf5678
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: hw_access
-.IP
-\fIDescription\fP: Enable/disable the access to the HW.
-.IP
-\fICommand\fP: hw_access <enable|disable> [key]
-.IP
-\fIParameters\fP: <enable/disable>: Specify if you intend to disable or enable the HW access.
-.IP
-You will be asked to type a key when you try to enable HW access.
-.IP
-.B
-key: (optional) The key you intend to use for enabling the HW access.
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 hw_access enable
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: hw
-.IP
-\fIDescription\fP: Access HW info and flash attributes.
-.IP
-\fICommand\fP: hw <query|set> [ATTR=VAL]
-.IP
-\fIParameters\fP: query: query HW info
-.IP
-set [ATTR=VAL]: set flash attribure
-.IP
-Supported attributes:
-.IP
-QuadEn: can be 0 or 1
-.IP
-DummyCycles: can be [1..15]
-.IP
-Flash[0|1|2|3].WriteProtected can be:
-.IP
-<Top|Bottom>,<1|2|4|8|16|32|64>-<Sectors|SubSectors>
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 hw query
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 hw set QuadEn=1
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 hw set Flash1.WriteProtected=Top,1-SubSectors
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: erase
-.IP
-\fIDescription\fP: Erases a sector that contains specified address.
-.IP
-\fICommand\fP: erase|e <addr>
-.IP
-\fIParameters\fP: addr - address of word in sector that you want to erase.
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 erase 0x10000
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: rw
-.IP
-\fIDescription\fP: Read one dword from flash.
-.IP
-\fICommand\fP: rw <addr>
-.IP
-\fIParameters\fP: addr - address of word to read
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 rw 0x20
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: ww
-.IP
-\fIDescription\fP: Write one dword to flash.
-.IP
-Note that the utility will read an entire flash sector,
-.IP
-modify one word and write the sector back. This may take a few seconds.
-.IP
-\fICommand\fP: ww <addr> <data>
-.IP
-\fIParameters\fP: addr - address of word
-.IP
-data - value of word
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 ww 0x10008 0x5a445a44
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: wwne
-.IP
-\fIDescription\fP: Write one dword to flash without sector erase.
-.IP
-Note that the result of operation is undefined and depends
-.IP
-on flash type. Usually "bitwise AND" (&) between specified
-.IP
-word and previous flash contents will be written to specified address.
-.IP
-\fICommand\fP: wwne <addr> <data>
-.IP
-\fIParameters\fP:
-.IP
-addr - address of word
-.IP
-data - value of word
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 wwne 0x10008 0x5a445a44
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: wbne
-.IP
-\fIDescription\fP: Write a block of data to the flash without erasing.
-.IP
-\fICommand\fP: wbne <addr> <size> <data \.\.\.>
-.IP
-\fIParameters\fP: addr - address of block
-.IP
-size - size of data to write in bytes
-.IP
-data - data to write - space separated dwords
-.IP
-Examples:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 wbne 0x10000 12 0x30000 0x76800 0x5a445a44
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: wb
-.IP
-\fIDescription\fP: Write a block of data to the flash.
-.IP
-\fICommand\fP: wb <data-file> <addr>
-.IP
-\fIParameters\fP: data-file - file that contains the data to be written
-.IP
-addr - address to write the block to
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 wb myData.bin 0x0
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: rb
-.IP
-\fIDescription\fP:
-.IP
-Read a data block from the flash and write it to a file or to screen.
-.IP
-\fICommand\fP: rb <addr> <size> [out-file]
-.IP
-\fIParameters\fP: addr - address of block
-.IP
-size - size of data to read in bytes
-.IP
-file - filename to write the block (raw binary). If not given, the data is printed to screen.
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 rb 0x10000 100 file.bin
-
-."***************************************************************************************
-
-.RE
-.TP
-.B
-\fIName\fP: qrom
-.IP
-\fIDescription\fP: query rom in a given image.
-.IP
-\fI'Command\fP: qrom
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-i\fP fw_image.bin qrom 
-."***************************************************************************************
-
-.RE
+qrom
+: query ROM image.
 .TP
 .B
-\fIName\fP: checksum
-.IP
-\fIDescription\fP: perform an MD5 checksum on relevant(non-persistent between FW upgrades) data on device/image.
-.IP
-\fI'Command\fP: checksum|cs
-.IP
-\fIParameters\fP: None
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 checksum
-
-."***************************************************************************************
-
-.RE
+checksum|cs
+: perform MD5 checksum on FW.
+timestamp|ts <set|query|reset> [timestamp] [FW version] : FW time stamping.
 .TP
 .B
-\fIName\fP: time stamp
-.IP
-\fIDescription\fP: set/query/reset time stamp on device/image.
-.IP
-\fI'Command\fP: timestamp|ts <set|query|reset> [timestamp] [FW version]
-.IP
-\fIParameters\fP: 
-        set <timestamp> [FW version] : set the specified timestamp. if set on device FW version must be specified
-                                       timestamp should comply with ISO 8601 format and provided with UTC timezone: YYYY-MM-DDThh:mm:ssZ
-        query : query device/image to view the timestamp
-        reset : reset the timestamp, remove the timestamp from device/image.
-.IP
-\fIExamples\fP:
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 ts set 2015\-12\-24T14:52:33Z 14.12.1100
-.IP \(bu 4
-mstflint \fB-d\fP 04:00.0 ts reset
-.IP \(bu 4
-mstflint \fB-i\fP ./fw4115.bin ts set
-.IP \(bu 4
-mstflint \fB-i\fP ./fw4115.bin ts query
-
-.RE
+cache_image|ci
+: cache FW \fBimage\fP(Windows only).
+.PP
 Return values:
 0 - Successful completion
 1 - An error has occurred
diff --git a/man/mstmcra.1 b/man/mstmcra.1
index d7a72e2..935f39e 100644
--- a/man/mstmcra.1
+++ b/man/mstmcra.1
@@ -1,4 +1,4 @@
-.TH MSTMCRA "4.4.0" "" ""
+.TH MSTMCRA "1" "4.6.0" ""
 .SH NAME
 mstmcra
 .IP
@@ -30,5 +30,5 @@ mstmcra [-s <i2c-slave>] [-a <adb dump>] [-v] [-h] <device>
 .IP
 .SH Environment Vairables:
 .TP
-ADB_DUMP              : Holds the path to adb dump, used for access by path (can be overriden by "\-a").
+ADB_DUMP              : Holds the path to adb dump, used for access by path (can be overridden by "\-a").
 .TP
diff --git a/man/mstmread.1 b/man/mstmread.1
index 5946cc1..d47feb2 100644
--- a/man/mstmread.1
+++ b/man/mstmread.1
@@ -1,4 +1,4 @@
-.TH MSTMREAD "4.4.0" "" ""
+.TH MSTMREAD "1" "4.6.0" ""
 .SH NAME
 mstmread
 .IP
diff --git a/man/mstmtserver.1 b/man/mstmtserver.1
index bccd186..22ba224 100644
--- a/man/mstmtserver.1
+++ b/man/mstmtserver.1
@@ -1,4 +1,4 @@
-.TH MSTMTSERVER "4.4.0" "" ""
+.TH MSTMTSERVER "1" "4.6.0" ""
 .SH NAME
 mstmtserver
 .IP
@@ -10,7 +10,7 @@ mstmtserver [options]
 .TP
 \fB-p\fR[ort] <port> - Listen to specify port (default is 23108).
 .TP
-\fB-d\fR[ebug]       - Print all socket traffic (for debuging only).
+\fB-d\fR[ebug]       - Print all socket traffic (for debugging only).
 .TP
 \fB-h\fR[elp]        - Print help message.
 .TP
diff --git a/man/mstmwrite.1 b/man/mstmwrite.1
index 9a1464d..b3cc05a 100644
--- a/man/mstmwrite.1
+++ b/man/mstmwrite.1
@@ -1,4 +1,4 @@
-.TH MSTMWRITE "4.4.0" "" ""
+.TH MSTMWRITE "1" "4.6.0" "" ""
 .SH NAME
 mstmwrite
 .IP
@@ -6,5 +6,5 @@ mstmwrite
 .IP
 Mellanox Write Configuration Register Tool
 
-mstmread <device> <addr> <value>
+mstmwrite <device> <addr> <value>
 .IP
diff --git a/man/mstregdump.1 b/man/mstregdump.1
index bf29abd..77a6e3c 100644
--- a/man/mstregdump.1
+++ b/man/mstregdump.1
@@ -1,4 +1,4 @@
-.TH MSTREGDUMP "4.4.0" "" ""
+.TH MSTREGDUMP "1" "4.6.0" "" ""
 .SH NAME
 mstregdump
 .IP
diff --git a/man/mstvpd.1 b/man/mstvpd.1
index 2f69f81..85ca8f4 100644
--- a/man/mstvpd.1
+++ b/man/mstvpd.1
@@ -1,4 +1,4 @@
-.TH MSTVPD "4.4.0" "" ""
+.TH MSTVPD "1" "4.6.0" "" ""
 .SH NAME
 mstvpd
 .IP
diff --git a/mflash/mflash.c b/mflash/mflash.c
index cefde9c..d3022e0 100644
--- a/mflash/mflash.c
+++ b/mflash/mflash.c
@@ -946,7 +946,7 @@ int read_chunks   (mflash* mfl, u_int32_t addr, u_int32_t len, u_int8_t* data) {
 
         //
         // First and last cycles (can be the same one) may not be block aligned.
-        // Check the status, and copy data to a padded temp bufer if not alligned.
+        // Check the status, and copy data to a padded temp bufer if not aligned.
         // (there's an option to write partial buffer, but Intel reference code always
         // writes full buffer, with pads if needed. I do the dame ...)
         //
@@ -1486,7 +1486,7 @@ int cntx_st_spi_block_read_ex  (mflash* mfl, u_int32_t blk_addr, u_int32_t blk_s
     u_int32_t gw_addr  = 0;
 
     //printf("-D- cntx_st_spi_block_read_ex(addr=%05x, u_int32_t size=%03x, first=%d, last=%d)\n", blk_addr, blk_size, (u_int32_t) is_first, (u_int32_t) is_last);
-    COM_CHECK_ALLIGN(blk_addr, blk_size);
+    COM_CHECK_ALIGN(blk_addr, blk_size);
 
     if (blk_size > (u_int32_t)mfl->attr.block_write  || blk_size < 4) {
         return MFE_BAD_PARAMS;
@@ -1536,7 +1536,7 @@ int cntx_st_spi_block_read_old  (mflash* mfl, u_int32_t blk_addr, u_int32_t blk_
     u_int32_t gw_cmd   = 0;
     u_int32_t gw_addr  = 0;
 
-    COM_CHECK_ALLIGN(blk_addr, blk_size);
+    COM_CHECK_ALIGN(blk_addr, blk_size);
 
     if (blk_size > (u_int32_t)mfl->attr.block_write  || blk_size < 4) {
         return MFE_BAD_PARAMS;
@@ -1574,7 +1574,7 @@ int cntx_st_spi_page_write    (mflash* mfl, u_int32_t addr, u_int32_t size, u_in
     u_int8_t  is_last  = 0;
     u_int8_t* p        = data;
 
-    WRITE_CHECK_ALLIGN(addr, mfl->attr.block_write, size);
+    WRITE_CHECK_ALIGN(addr, mfl->attr.block_write, size);
 
     last_addr     = addr + size;
     last_blk_addr = last_addr - mfl->attr.block_write;
@@ -1600,7 +1600,7 @@ int cntx_sst_spi_byte_write    (mflash* mfl, u_int32_t addr, u_int32_t size, u_i
     u_int32_t last_addr;
     u_int8_t* p        = data;
 
-    WRITE_CHECK_ALLIGN(addr, mfl->attr.block_write, size);
+    WRITE_CHECK_ALIGN(addr, mfl->attr.block_write, size);
 
     last_addr     = addr + size;
 
diff --git a/mflash/mflash_access_layer.c b/mflash/mflash_access_layer.c
index 8254f85..139daa2 100755
--- a/mflash/mflash_access_layer.c
+++ b/mflash/mflash_access_layer.c
@@ -121,7 +121,7 @@ int sx_block_read_by_type(mflash* mfl, u_int32_t blk_addr, u_int32_t blk_size, u
         return MFE_BAD_PARAMS;
     }
     rc = mfl_get_bank_info(mfl, blk_addr, &flash_offset, &bank); CHECK_RC(rc);
-    COM_CHECK_ALLIGN(flash_offset, blk_size);
+    COM_CHECK_ALIGN(flash_offset, blk_size);
 
     rc = check_access_type( mfl); CHECK_RC(rc);
     rc = sx_st_block_access(mfl->mf, flash_offset, bank, blk_size, data, REG_ACCESS_METHOD_GET);CHECK_RC(rc);
@@ -134,11 +134,11 @@ int sx_block_write_by_type(mflash* mfl, u_int32_t addr, u_int32_t size, u_int8_t
     int rc, bank;
     u_int32_t flash_offset;
 
-    WRITE_CHECK_ALLIGN(addr, mfl->attr.block_write, size);
+    WRITE_CHECK_ALIGN(addr, mfl->attr.block_write, size);
 
 
     rc = mfl_get_bank_info(mfl, addr, &flash_offset, &bank); CHECK_RC(rc);
-    COM_CHECK_ALLIGN(flash_offset, size);
+    COM_CHECK_ALIGN(flash_offset, size);
 
     rc = check_access_type( mfl); CHECK_RC(rc);
     rc = sx_st_block_access(mfl->mf, flash_offset, bank, size, data, REG_ACCESS_METHOD_SET);CHECK_RC(rc);
diff --git a/mflash/mflash_pack_layer.c b/mflash/mflash_pack_layer.c
index da91b56..53ab56c 100755
--- a/mflash/mflash_pack_layer.c
+++ b/mflash/mflash_pack_layer.c
@@ -164,7 +164,7 @@ int com_get_jedec(mfile *mf, mfpa_command_args* mfpa_args)
 
 /*
  * getters and setters for mfl->curr_bank
- * manily used to  monitor values mfl->curr_bank recieves
+ * manily used to  monitor values mfl->curr_bank receives
  * used for a verification hack to make sure facebook reset bug doesnt reproduce.
  * (bug where accessing gpio of flash bank 4 caused system reboot)
  */
diff --git a/mflash/mflash_pack_layer.h b/mflash/mflash_pack_layer.h
index 9a8909c..18cba1d 100755
--- a/mflash/mflash_pack_layer.h
+++ b/mflash/mflash_pack_layer.h
@@ -204,7 +204,7 @@ enum AccessTypeByMfile{
 #endif
 */
 
-#define WRITE_CHECK_ALLIGN(addr, block_write, size) {\
+#define WRITE_CHECK_ALIGN(addr, block_write, size) {\
     if (addr & ((u_int32_t)block_write - 1)) {\
         return MFE_BAD_ALIGN;\
     }\
@@ -213,7 +213,7 @@ enum AccessTypeByMfile{
     }\
 }
 
-#define COM_CHECK_ALLIGN(flash_addr, size) {\
+#define COM_CHECK_ALIGN(flash_addr, size) {\
     if (flash_addr & (size - 1 )) {\
         return MFE_BAD_ALIGN;\
     }\
diff --git a/mft_utils/mft_sig_handler.c b/mft_utils/mft_sig_handler.c
index 6f5c47c..32348c5 100644
--- a/mft_utils/mft_sig_handler.c
+++ b/mft_utils/mft_sig_handler.c
@@ -52,7 +52,7 @@ static void (*prev_handlers[sizeof(signals_array)/sizeof(signals_array[0])])(int
 
 static void my_termination_handler(int sig)
 {
-    s_is_fired = sig; // assuming signals recieved are always different then zero
+    s_is_fired = sig; // assuming signals received are always different then zero
     if (s_interrupt_message) {
         fprintf(stderr, "%s", s_interrupt_message);
     }
@@ -147,7 +147,7 @@ void mft_restore_and_raise()
     int sig;
     sig = mft_signal_is_fired();
     if (sig) {
-        // reset recieved signal
+        // reset received signal
         mft_signal_set_fired(0);
         // retore prev handler
         mft_signal_set_handling(0);
diff --git a/mlxconfig/mlxcfg_4thgen_commander.cpp b/mlxconfig/mlxcfg_4thgen_commander.cpp
index 7dd7832..3fe9401 100644
--- a/mlxconfig/mlxcfg_4thgen_commander.cpp
+++ b/mlxconfig/mlxcfg_4thgen_commander.cpp
@@ -36,7 +36,6 @@
  *      Author: ahmads
  */
 
-using namespace std;
 #include <set>
 #include <cmath>
 #include <signal.h>
@@ -52,6 +51,8 @@ using namespace std;
 #include "mlxcfg_param_lib.h"
 #include "mlxcfg_utils.h"
 
+using namespace std;
+
 /*
  * Mask and offsets for working with the capability vector
  * retrieved via query_dev_cap command.
@@ -68,7 +69,8 @@ using namespace std;
 
 string FourthGenCommander::param2str[Mcp_Last]= {"SRIOV_EN", "NUM_OF_VFS",
         "WOL_MAGIC_EN_P1", "WOL_MAGIC_EN_P2",
-        "LINK_TYPE_P1", "LINK_TYPE_P2",
+        "LINK_TYPE_P1", "PHY_TYPE_P1", "XFI_MODE_P1", "FORCE_MODE_P1",
+        "LINK_TYPE_P2", "PHY_TYPE_P2", "XFI_MODE_P2", "FORCE_MODE_P2",
         "LOG_BAR_SIZE",
         "INT_LOG_MAX_PAYLOAD_SIZE",
         "BOOT_PKEY_P1", "BOOT_PKEY_P2",
@@ -91,7 +93,7 @@ string FourthGenCommander::param2str[Mcp_Last]= {"SRIOV_EN", "NUM_OF_VFS",
          "PORT_OWNER", "ALLOW_RD_COUNTERS", "IP_VER", "IP_VER_P1", "IP_VER_P2",
           };
 
-FourthGenCommander::FourthGenCommander(mfile* mf, string dev) : _mf(mf), _dev(dev),
+FourthGenCommander::FourthGenCommander(mfile* mf, string dev) : Commander(mf), _dev(dev),
         _allInfo() {
 
     // init the ErrMsg Class
@@ -143,7 +145,13 @@ FourthGenCommander::FourthGenCommander(mfile* mf, string dev) : _mf(mf), _dev(de
     _cfgList[Mct_Vpi_P1] = new VpiParams4thGen(1);
     _cfgList[Mct_Vpi_P2] = new VpiParams4thGen(2);
     _param2TypeMap[Mcp_Link_Type_P1] = Mct_Vpi_P1;
+    _param2TypeMap[Mcp_Phy_Type_P1] = Mct_Vpi_P1;
+    _param2TypeMap[Mcp_Xfi_Mode_P1] = Mct_Vpi_P1;
+    _param2TypeMap[Mcp_Force_Mode_P1] = Mct_Vpi_P1;
     _param2TypeMap[Mcp_Link_Type_P2] = Mct_Vpi_P2;
+    _param2TypeMap[Mcp_Phy_Type_P2] = Mct_Vpi_P2;
+    _param2TypeMap[Mcp_Xfi_Mode_P2] = Mct_Vpi_P2;
+    _param2TypeMap[Mcp_Force_Mode_P2] = Mct_Vpi_P2;
     // BAR size
     _cfgList[Mct_Bar_Size] = new BarSzParams4thGen();
     _param2TypeMap[Mcp_Log_Bar_Size] = Mct_Bar_Size;
@@ -178,10 +186,8 @@ FourthGenCommander::FourthGenCommander(mfile* mf, string dev) : _mf(mf), _dev(de
     }
 }
 
-FourthGenCommander::~FourthGenCommander(){
-    if (_mf) {
-        mclose(_mf);
-    }
+FourthGenCommander::~FourthGenCommander()
+{
     for(map<mlxCfgType, CfgParams*>::iterator it = _cfgList.begin(); it != _cfgList.end(); it++) {
         delete it->second;
     }
@@ -291,8 +297,8 @@ void FourthGenCommander::dumpRawCfg(std::vector<u_int32_t> rawTlvVec, std::strin
     throw MlxcfgException("set_raw command is not supported for this device\n");
 }
 
-void FourthGenCommander::backupCfgs(std::vector<std::pair<u_int32_t, std::vector<u_int8_t> > >& cfgs) {
-    (void)cfgs;
+void FourthGenCommander::backupCfgs(vector<BackupView>& views) {
+    (void)views;
     throw MlxcfgException("backup command is not supported for this device\n");
 }
 
@@ -319,8 +325,7 @@ int FourthGenCommander::openComChk()
         if (paramIt->second->cfgSupported(_mf)) {
             ret = paramIt->second->getDefaultParams(_mf);
             if (ret && ret!= MCE_GET_DEFAULT_PARAMS && ret != MCE_NOT_IMPLEMENTED) {
-                //printf("qqqqq id=%d\n", paramIt->first);
-                //return ret;
+                return ret;
             }
         }
     }
@@ -970,6 +975,27 @@ MlxCfgInfo MlxCfgAllInfo::createVPISettings()
     paramMap["VPI"] = 3;
     params[Mcp_Link_Type_P1] = MlxCfgParamParser(Mcp_Link_Type_P1, "LINK_TYPE_P1", "", paramMap);
     params[Mcp_Link_Type_P2] = MlxCfgParamParser(Mcp_Link_Type_P2, "LINK_TYPE_P2", "", paramMap);
+
+    paramMap.clear();
+    paramMap["XAUI"] = 0x1;
+    paramMap["XFI"] = 0x2;
+    paramMap["SGMII"] = 0x3;
+    params[Mcp_Phy_Type_P1] = MlxCfgParamParser(Mcp_Phy_Type_P1, "PHY_TYPE_P1", "", paramMap);
+    params[Mcp_Phy_Type_P2] = MlxCfgParamParser(Mcp_Phy_Type_P2, "PHY_TYPE_P2", "", paramMap);
+
+    paramMap.clear();
+    paramMap["_10G"] = 0x0;
+    paramMap["_20G"] = 0x1;
+    paramMap["_40G"] = 0x2;
+    params[Mcp_Xfi_Mode_P1] = MlxCfgParamParser(Mcp_Xfi_Mode_P1, "XFI_MODE_P1", "", paramMap);
+    params[Mcp_Xfi_Mode_P2] = MlxCfgParamParser(Mcp_Xfi_Mode_P2, "XFI_MODE_P2", "", paramMap);
+
+    paramMap.clear();
+    paramMap["False"] = 0x0;
+    paramMap["True"] = 0x1;
+    params[Mcp_Force_Mode_P1] = MlxCfgParamParser(Mcp_Force_Mode_P1, "FORCE_MODE_P1", "", paramMap);
+    params[Mcp_Force_Mode_P2] = MlxCfgParamParser(Mcp_Force_Mode_P2, "FORCE_MODE_P2", "", paramMap);
+
     return MlxCfgInfo("VPI Settings", "Control network link type", params);
 }
 
diff --git a/mlxconfig/mlxcfg_4thgen_commander.h b/mlxconfig/mlxcfg_4thgen_commander.h
index cf807dd..7cfb698 100644
--- a/mlxconfig/mlxcfg_4thgen_commander.h
+++ b/mlxconfig/mlxcfg_4thgen_commander.h
@@ -154,7 +154,6 @@ private:
 
 class FourthGenCommander : public Commander,  public ErrMsg {
 private:
-    mfile* _mf;
     std::string _dev;
     u_int64_t _suppVec;
     MlxCfgAllInfo _allInfo;
@@ -171,6 +170,7 @@ public:
     ~FourthGenCommander();
     void printLongDesc(FILE* f) {_allInfo.printLongDesc(f);}
     bool isDefaultSupported() {return true;}
+    bool isCurrentSupported() {return false;}
     void queryAux(std::vector<ParamView>&, QueryType, bool);
     void queryParamViews(std::vector<ParamView>& paramsToQuery, QueryType qt = QueryNext);
     void queryAll(std::vector<ParamView>& params, QueryType qt = QueryNext);
@@ -179,7 +179,7 @@ public:
     const char* loadConfigurationGetStr();
     void setRawCfg(std::vector<u_int32_t> rawTlvVec);
     void dumpRawCfg(std::vector<u_int32_t> rawTlvVec, std::string& tlvDump);
-    void backupCfgs(std::vector<std::pair<u_int32_t, std::vector<u_int8_t> > >& cfgs);
+    void backupCfgs(vector<BackupView>& views);
     bool supportsCfg(mlxCfgType cfg);
     bool supportsParam(mlxCfgParam param);
     void getCfg(ParamView& cfgParam, QueryType qt = QueryNext);
diff --git a/mlxconfig/mlxcfg_commander.cpp b/mlxconfig/mlxcfg_commander.cpp
index 757f295..8c98a9f 100644
--- a/mlxconfig/mlxcfg_commander.cpp
+++ b/mlxconfig/mlxcfg_commander.cpp
@@ -36,7 +36,6 @@
  *      Author: ahmads
  */
 
-using namespace std;
 
 #include <set>
 #include <mtcr.h>
@@ -45,18 +44,25 @@ using namespace std;
 #include "mlxcfg_param_lib.h"
 #include "mlxcfg_utils.h"
 
+using namespace std;
+
 Commander* Commander::create(std::string device, std::string dbName) {
     mfile* mf;
-    bool isFifthGen;
-    dm_dev_id_t deviceId;
-    u_int32_t hwDevId, hwRevId;
-    Commander* commander = NULL;
-
     mf = mopen(device.c_str());
     if (mf == NULL) {
         throw MlxcfgException("Failed to open the device");
     }
+    Commander* cmdr = create(mf, device, dbName);
+    cmdr->setExtResourceType(false);
+    return cmdr;
+}
 
+Commander* Commander::create(mfile* mf, std::string device, std::string dbName) {
+
+    bool isFifthGen;
+    dm_dev_id_t deviceId;
+    u_int32_t hwDevId, hwRevId;
+    Commander* commander = NULL;
     if( dm_get_device_id(mf, &deviceId, &hwDevId, &hwRevId) ) {
         throw MlxcfgException("Failed to identify the device");
     }
@@ -70,6 +76,7 @@ Commander* Commander::create(std::string device, std::string dbName) {
         case DeviceConnectIB:
         case DeviceConnectX4:
         case DeviceConnectX4LX:
+        case DeviceConnectX5:
             isFifthGen = true;
             break;
         default:
@@ -85,6 +92,12 @@ Commander* Commander::create(std::string device, std::string dbName) {
     } else {
         commander = new FourthGenCommander(mf, device);
     }
-
     return commander;
 }
+
+Commander::~Commander()
+{
+    if (!_extResource && _mf) {
+        mclose(_mf);
+    }
+}
diff --git a/mlxconfig/mlxcfg_commander.h b/mlxconfig/mlxcfg_commander.h
index 3150d23..c5d7f52 100644
--- a/mlxconfig/mlxcfg_commander.h
+++ b/mlxconfig/mlxcfg_commander.h
@@ -47,8 +47,10 @@ class Commander {
 
 public:
     static Commander* create(std::string device, std::string dbName);
+    static Commander* create(mfile* mf, std::string device, std::string dbName);
     virtual void printLongDesc(FILE*) = 0;
     virtual bool isDefaultSupported() = 0;
+    virtual bool isCurrentSupported() = 0;
     virtual void queryParamViews(std::vector<ParamView>& paramsToQuery,
             QueryType qt = QueryNext) = 0;
     virtual void queryAll(std::vector<ParamView>& params,
@@ -61,9 +63,14 @@ public:
     virtual void setRawCfg(std::vector<u_int32_t> rawTlvVec) = 0;
     virtual void dumpRawCfg(std::vector<u_int32_t> rawTlvVec,
             std::string& tlvDump) = 0;
-    virtual void backupCfgs(std::vector<std::pair<u_int32_t,
-            std::vector<u_int8_t> > >& cfgs) = 0;
+    virtual void backupCfgs(vector<BackupView>& views) = 0;
     virtual void updateParamViewValue(ParamView&, std::string val) = 0;
-    virtual ~Commander() {}
+    void setExtResourceType(bool extT) { _extResource = extT; }
+    Commander(mfile* mf) : _mf(mf), _extResource(true) {} ;
+    virtual ~Commander();
+
+protected:
+    mfile* _mf;
+    bool   _extResource;
 };
 #endif /* MLXCFG_COMMANDER_H_ */
diff --git a/mlxconfig/mlxcfg_db_manager.cpp b/mlxconfig/mlxcfg_db_manager.cpp
index c1a469c..2796e01 100644
--- a/mlxconfig/mlxcfg_db_manager.cpp
+++ b/mlxconfig/mlxcfg_db_manager.cpp
@@ -66,25 +66,9 @@ using namespace std;
 #define SQL_SELECT_PARAM_BY_MLXCONFIG_NAME \
     "SELECT * FROM params WHERE mlxconfig_name='%s'"
 
-void execSQL(sqlite3* db, sqlite3_callback f, void* obj,
-        const char* stat, ...) {
-    va_list vl;
-    char sql[1024];
-    char *zErrMsg = 0;
-
-    va_start(vl, stat);
-    vsnprintf(sql, sizeof(sql), stat, vl);
-    va_end(vl);
-
-    if(sqlite3_exec(db, sql, f, obj, &zErrMsg) != SQLITE_OK) {
-        string e = zErrMsg;
-        sqlite3_free(zErrMsg);
-        throw MlxcfgException("Cannot execute %s, %s", sql, e.c_str());
-    }
-}
-
 MlxcfgDBManager::MlxcfgDBManager(string dbName) : _dbName(dbName),
-        _db(NULL), _isAllFetched(false) {
+        _db(NULL), _callBackErr(""), _isAllFetched(false),
+        _paramSqlResult(NULL) {
     openDB();
 }
 
@@ -107,7 +91,7 @@ void MlxcfgDBManager::openDB() {
         throw MlxcfgException("Database file %s does not exist", _dbName.c_str());
     }
 
-    if (sqlite3_open(_dbName.c_str(), &_db)) {
+    if (sqlite3_open_v2(_dbName.c_str(), &_db, SQLITE_OPEN_READONLY, 0)) {
         string e = sqlite3_errmsg(_db);
         sqlite3_close(_db);
         _db = NULL;
@@ -117,13 +101,38 @@ void MlxcfgDBManager::openDB() {
     return;
 }
 
+void MlxcfgDBManager::execSQL(sqlite3_callback f, void* obj,
+        const char* stat, ...) {
+    va_list vl;
+    char sql[1024];
+    char *zErrMsg = 0;
+
+    va_start(vl, stat);
+    vsnprintf(sql, sizeof(sql), stat, vl);
+    va_end(vl);
+
+    if(sqlite3_exec(_db, sql, f, obj, &zErrMsg) != SQLITE_OK) {
+        string e = zErrMsg;
+        sqlite3_free(zErrMsg);
+        if (_callBackErr.empty()) {
+            throw MlxcfgException("Cannot execute %s, %s", sql, e.c_str());
+        } else {
+            throw MlxcfgException(_callBackErr.c_str());
+        }
+    }
+}
+
 int MlxcfgDBManager::selectTLVCallBack(void *object, int argc, char **argv, char **azColName) {
 
     MlxcfgDBManager* dbManager = reinterpret_cast<MlxcfgDBManager*>(object); //TODOO check this casting
 
-    TLVConf* tlv = new TLVConf(argc, argv, azColName);
-    dbManager->fetchedTLVs.push_back(tlv);
-
+    try {
+        TLVConf* tlv = new TLVConf(argc, argv, azColName);
+        dbManager->fetchedTLVs.push_back(tlv);
+    } catch (MlxcfgException& e) {
+        dbManager->_callBackErr = e._err;
+        return SQLITE_ABORT;
+    }
     //printf("-D- Added new TLV = %s\n", tlv->_name.c_str());
 
     return 0;
@@ -134,18 +143,26 @@ int MlxcfgDBManager::selectParamCallBack(void *object, int argc, char **argv,
 
     MlxcfgDBManager* dbManager = reinterpret_cast<MlxcfgDBManager*>(object); //TODOO check this casting
 
-    Param* param = new Param(argc, argv, azColName);
-    dbManager->fetchedParams.push_back(param);
-
+    try {
+        Param* param = new Param(argc, argv, azColName);
+        dbManager->fetchedParams.push_back(param);
+    } catch (MlxcfgException& e) {
+        dbManager->_callBackErr = e._err;
+        return SQLITE_ABORT;
+    }
     //printf("-D- Added new Param = %s\n", param->_name.c_str());
-
     return 0;
 }
 
 int MlxcfgDBManager::selectParamByMlxconfigNameCallBack(void *object, int argc,
         char **argv, char **azColName){
-    Param** paramP = reinterpret_cast<Param**>(object);
-    (*paramP) = new Param(argc, argv, azColName);
+    MlxcfgDBManager* dbManager = reinterpret_cast<MlxcfgDBManager*>(object);
+    try {
+        dbManager->_paramSqlResult = new Param(argc, argv, azColName);
+    } catch (MlxcfgException& e) {
+        dbManager->_callBackErr = e._err;
+        return SQLITE_ABORT;
+    }
     return 0;
 }
 
@@ -157,10 +174,10 @@ void MlxcfgDBManager::getAllTLVs() {
     }
 
     //fetch from db all tlvs
-    execSQL(_db, selectTLVCallBack, this, SQL_SELECT_ALL_TLVS);
+    execSQL(selectTLVCallBack, this, SQL_SELECT_ALL_TLVS);
 
     //fetch from db all params
-    execSQL(_db, selectParamCallBack, this, SQL_SELECT_ALL_PARAMS);
+    execSQL(selectParamCallBack, this, SQL_SELECT_ALL_PARAMS);
 
     /*
      Fill in TLV.params vector
@@ -198,7 +215,7 @@ TLVConf* MlxcfgDBManager::fetchTLVByName(string n, u_int8_t port) {
     TLVConf* t;
     const char* nc = n.c_str();
 
-    execSQL(_db, selectTLVCallBack, this, SQL_SELECT_TLV_BY_NAME_AND_PORT,
+    execSQL(selectTLVCallBack, this, SQL_SELECT_TLV_BY_NAME_AND_PORT,
             nc, port);
     t = getTLVByNameAux(n, port);
     if(!t) {
@@ -206,7 +223,7 @@ TLVConf* MlxcfgDBManager::fetchTLVByName(string n, u_int8_t port) {
     }
 
     //fetch the parameters
-    execSQL(_db, selectParamCallBack, this,
+    execSQL(selectParamCallBack, this,
             SQL_SELECT_PARAMS_BY_TLV_NAME_AND_PORT, nc, port);
 
     //fill in params vector of the tlv
@@ -223,7 +240,7 @@ TLVConf* MlxcfgDBManager::fetchTLVByIndexAndClass(u_int32_t id, TLVClass c)
 {
     TLVConf* t;
 
-    execSQL(_db, selectTLVCallBack, this, SQL_SELECT_TLV_BY_INDEX_AND_CLASS,
+    execSQL(selectTLVCallBack, this, SQL_SELECT_TLV_BY_INDEX_AND_CLASS,
             id, c);
     t = getTLVByIndexAndClassAux(id, c);
     if (!t) {
@@ -231,7 +248,7 @@ TLVConf* MlxcfgDBManager::fetchTLVByIndexAndClass(u_int32_t id, TLVClass c)
     }
 
     //fetch the parameters
-    execSQL(_db, selectParamCallBack, this,
+    execSQL(selectParamCallBack, this,
             SQL_SELECT_PARAMS_BY_TLV_NAME_AND_PORT, t->_name.c_str(), t->_port);
 
     //fill in params vector of the tlv
@@ -267,7 +284,6 @@ TLVConf* MlxcfgDBManager::getTLVByIndexAndClassAux(u_int32_t id, TLVClass c)
 }
 
 TLVConf* MlxcfgDBManager::getTLVByParamMlxconfigName(std::string n) {
-    Param* param = NULL;
     u_int32_t port;
     string tlvName;
 
@@ -279,18 +295,20 @@ TLVConf* MlxcfgDBManager::getTLVByParamMlxconfigName(std::string n) {
 
     //printf("-D- Try to find it in DB\n");
     //Try to find it in DB:
-    execSQL(_db, selectParamByMlxconfigNameCallBack, &param,
+    execSQL(selectParamByMlxconfigNameCallBack, this,
             SQL_SELECT_PARAM_BY_MLXCONFIG_NAME, n.c_str());
 
-    if(!param) {
+    if(!_paramSqlResult) {
         throw MlxcfgException(
                 "Unknown Parameter: %s",
                 n.c_str());
     }
 
-    port = param->_port;
-    tlvName = param->_tlvName;
-    delete param;
+    port = _paramSqlResult->_port;
+    tlvName = _paramSqlResult->_tlvName;
+    delete _paramSqlResult;
+    _paramSqlResult = NULL;
+
     return fetchTLVByName(tlvName, port);
 }
 
diff --git a/mlxconfig/mlxcfg_db_manager.h b/mlxconfig/mlxcfg_db_manager.h
index 82983cc..e411cff 100644
--- a/mlxconfig/mlxcfg_db_manager.h
+++ b/mlxconfig/mlxcfg_db_manager.h
@@ -51,11 +51,6 @@ class MlxcfgDBManager {
 private:
     std::string _dbName;
     sqlite3* _db;
-    /*static TLVsTableSchema tlvsTableSchema;
-
-    class TLVsTableSchema {
-
-    };*/
 
     static int selectTLVCallBack(void *, int, char **, char **);
     static int selectParamCallBack(void *, int, char **, char **);
@@ -67,7 +62,9 @@ private:
 public:
     MlxcfgDBManager(std::string dbName);
     ~MlxcfgDBManager();
+    std::string _callBackErr;
     bool _isAllFetched;
+    Param* _paramSqlResult;
     std::vector<TLVConf*> fetchedTLVs;
     std::vector<Param*> fetchedParams;
     void getAllTLVs();
@@ -76,6 +73,7 @@ public:
     TLVConf* getTLVByName(std::string n, u_int8_t port);
     TLVConf* getTLVByParamMlxconfigName(std::string n);
     TLVConf* getTLVByIndexAndClass(u_int32_t id, TLVClass c);
+    void execSQL(sqlite3_callback f, void* obj, const char* stat, ...);
 
 };
 
diff --git a/mlxconfig/mlxcfg_generic_commander.cpp b/mlxconfig/mlxcfg_generic_commander.cpp
index a631e55..5fe5b52 100644
--- a/mlxconfig/mlxcfg_generic_commander.cpp
+++ b/mlxconfig/mlxcfg_generic_commander.cpp
@@ -36,7 +36,6 @@
  *      Author: ahmads
  */
 
-using namespace std;
 
 #include <set>
 #include <mtcr.h>
@@ -48,11 +47,14 @@ using namespace std;
 #include "mlxcfg_tlv.h"
 #include "mlxcfg_status.h"
 
+
 #if ! defined(DISABLE_XML2)
     #include <libxml/parser.h>
     #include <libxml/tree.h>
 #endif
 
+using namespace std;
+
 #define TLVCLASS_OFFSET 24
 #define TLVCLASS_SIZE 8
 #define BIN_FILE_FINGERPRINT "MLNX.CONFIG.BIN!"
@@ -124,7 +126,7 @@ void GenericCommander::supportsNVData()
 }
 
 GenericCommander::GenericCommander(mfile* mf, string dbName)
-                                 : _mf(mf), _dbManager(NULL) {
+                                 : Commander(mf), _dbManager(NULL) {
     int rc;
     u_int32_t type = 0;
 
@@ -189,10 +191,8 @@ GenericCommander::GenericCommander(mfile* mf, string dbName)
     _dbManager = new MlxcfgDBManager(dbName);
 }
 
-GenericCommander::~GenericCommander() {
-    if (_mf) {
-        mclose(_mf);
-    }
+GenericCommander::~GenericCommander()
+{
     delete _dbManager;
 }
 
@@ -364,7 +364,7 @@ bool GenericCommander::checkDependency(TLVConf* cTLV, string dStr) {
         if (!dTLV->isFWSupported(_mf, false)) {
             return false;
         }
-        dTLV->query(_mf, false);
+        dTLV->query(_mf, QueryNext);
         l = dTLV->getParamValueByName(dParamName);
     }
     //printf("-D- l=%d r=%d op=%d\n", l, r, (u_int32_t)op);
@@ -388,7 +388,7 @@ void GenericCommander::queryTLV(TLVConf* tlv,
             tlv->isMlxconfigSupported() &&
             tlv->isFWSupported(_mf, true)) {
         vector<pair<ParamView, string> > dependencyTable =
-                tlv->query(_mf, qt == QueryDefault);
+                tlv->query(_mf, qt);
         filterByDependency(tlv, dependencyTable, paramsConf);
     }
     return;
@@ -484,7 +484,7 @@ void GenericCommander::setCfg(vector<ParamView>& params, bool force) {
                             strRuleTLV.c_str());
                     break;
                 }
-                ruleTLV->query(_mf, false);
+                ruleTLV->query(_mf, QueryNext);
                 ruleTLVs.push_back(ruleTLV);
             }
             tlv->checkRules(ruleTLVs);
@@ -517,6 +517,26 @@ bool GenericCommander::isDefaultSupported() {
     throw MlxcfgException("Error when checked if Firmware supports querying default configurations or not: %s.", m_err2str((MError)rc));
 }
 
+bool GenericCommander::isCurrentSupported() {
+    struct tools_open_nvqgc nvqgcTlv;
+
+    memset(&nvqgcTlv, 0, sizeof(struct tools_open_nvqgc));
+    MError rc;
+
+    mft_signal_set_handling(1);
+    rc = reg_access_nvqgc(_mf, REG_ACCESS_METHOD_GET, &nvqgcTlv);
+    dealWithSignal();
+    if (rc == ME_REG_ACCESS_BAD_PARAM || rc == ME_REG_ACCESS_INTERNAL_ERROR) {
+        return false;
+    } else if(rc == ME_OK){
+        return nvqgcTlv.nvda_read_current_settings;
+    }
+    throw MlxcfgException(
+            "Error when checked if Firmware supports "
+            "querying current configurations or not: %s.",
+            m_err2str((MError)rc));
+}
+
 void GenericCommander::clearSemaphore() {
     int rc = icmd_clear_semaphore(_mf);
     if(rc) {
@@ -551,7 +571,7 @@ const char* GenericCommander::loadConfigurationGetStr() {
 
     memset(&mfrl, 0, sizeof(mfrl));
 
-    if (deviceId == DeviceConnectX4 || deviceId == DeviceConnectX4LX) {
+    if (deviceId == DeviceConnectX4 || deviceId == DeviceConnectX4LX || deviceId == DeviceConnectX5) {
         // send warm boot (bit 6)
         mfrl.reset_level = 1 << 6;
         mft_signal_set_handling(1);
@@ -586,7 +606,7 @@ void GenericCommander::dumpRawCfg(std::vector<u_int32_t> rawTlvVec, std::string&
     tlvDump = rawTlv.dumpTlv();
 }
 
-void GenericCommander::backupCfgs(vector< pair< u_int32_t, vector<u_int8_t> > >& cfgsMap)
+void GenericCommander::backupCfgs(vector<BackupView>& views)
 {
     int rc;
     int status = 0;
@@ -606,7 +626,10 @@ void GenericCommander::backupCfgs(vector< pair< u_int32_t, vector<u_int8_t> > >&
         }
         ptr = mnvgnTlv.nv_pointer;
         if (ptr != 0) {
-            u_int32_t k = mnvgnTlv.nv_hdr.type.tlv_type_dw.tlv_type_dw;
+            BackupView view;
+            view.type = mnvgnTlv.nv_hdr.type.tlv_type_dw.tlv_type_dw;
+            view.writerId = mnvgnTlv.nv_hdr.writer_id;
+            view.writerHostId = mnvgnTlv.nv_hdr.writer_host_id;
             vector<u_int8_t> v;
             v.resize(TOOLS_OPEN_NV_HDR_FIFTH_GEN_SIZE + mnvgnTlv.nv_hdr.length);
             //Copy header:
@@ -615,7 +638,8 @@ void GenericCommander::backupCfgs(vector< pair< u_int32_t, vector<u_int8_t> > >&
             memcpy(v.data() + TOOLS_OPEN_NV_HDR_FIFTH_GEN_SIZE,
                     &mnvgnTlv.nv_data,
                     mnvgnTlv.nv_hdr.length);
-            cfgsMap.push_back(make_pair(k, v));
+            view.tlvBin = v;
+            views.push_back(view);
         }
     } while (ptr != 0);
 
@@ -840,7 +864,7 @@ void GenericCommander::raw2XML(vector<string> lines, string& xmlTemplate)
 
     //check fingerprint in first line
     vector<string>::iterator it = lines.begin();
-    if (*it != RAW_FILE_FINGERPRINT) {
+    if (it == lines.end() || *it != RAW_FILE_FINGERPRINT) {
         throw MlxcfgException("Raw Content Fingerprint " RAW_FILE_FINGERPRINT " is missing or incorrect");
     }
 
@@ -902,6 +926,7 @@ int RawCfgParams5thGen::setRawData(const std::vector<u_int32_t>& tlvBuff) {
         *it = __cpu_to_be32(*it);
     }
     tools_open_nvda_unpack(&_nvdaTlv, ((u_int8_t*)(&tlvBuffBe[0])));
+    _nvdaTlv.nv_hdr.writer_id = WRITER_ID_ICMD_MLXCONFIG_SET_RAW;
     return verifyTlv();
 }
 
@@ -910,7 +935,7 @@ int RawCfgParams5thGen::setOnDev(mfile* mf) {
     mft_signal_set_handling(1);
     DEBUG_PRINT_SEND(&_nvdaTlv, nvda);
     rc = reg_access_nvda(mf, REG_ACCESS_METHOD_SET, &_nvdaTlv);
-    DEBUG_PRINT_RECIEVE(&_nvdaTlv, nvda);
+    DEBUG_PRINT_RECEIVE(&_nvdaTlv, nvda);
     dealWithSignal();
     if (rc) {
         return errmsg("Failed to set raw TLV: %s", m_err2str((MError)rc));
diff --git a/mlxconfig/mlxcfg_generic_commander.h b/mlxconfig/mlxcfg_generic_commander.h
index f96cbff..6dc1054 100644
--- a/mlxconfig/mlxcfg_generic_commander.h
+++ b/mlxconfig/mlxcfg_generic_commander.h
@@ -46,7 +46,6 @@
 
 class GenericCommander : public Commander {
 private:
-    mfile* _mf;
     MlxcfgDBManager *_dbManager;
 
     void supportsNVData();
@@ -69,12 +68,13 @@ public:
     void getCfg(ParamView& cfgParam, QueryType qt = QueryNext);
     void setCfg(std::vector<ParamView>& params, bool force);
     bool isDefaultSupported();
+    bool isCurrentSupported();
     void clearSemaphore();
     void invalidateCfgs();
     const char* loadConfigurationGetStr();
     void setRawCfg(std::vector<u_int32_t> rawTlvVec);
     void dumpRawCfg(std::vector<u_int32_t> rawTlvVec, std::string& tlvDump);
-    void backupCfgs(std::vector<std::pair<u_int32_t, std::vector<u_int8_t> > >& cfgs);
+    void backupCfgs(vector<BackupView>& view);
     void updateParamViewValue(ParamView&, std::string);
 
     void genTLVsList(vector<string>& tlvs);
diff --git a/mlxconfig/mlxcfg_lib.cpp b/mlxconfig/mlxcfg_lib.cpp
deleted file mode 100644
index eb1d02e..0000000
--- a/mlxconfig/mlxcfg_lib.cpp
+++ /dev/null
@@ -1,736 +0,0 @@
-/*
- * Copyright (C) Jan 2013 Mellanox Technologies Ltd. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses.  You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-/*
- * mlxcfg_lib.cpp
- *
- *  Created on: Feb 17, 2014
- *      Author: adrianc
- */
-
-#include <set>
-#include <cmath>
-#include <signal.h>
-
-#include <tools_layouts/tools_open_layouts.h>
-#include <mft_sig_handler.h>
-#include <reg_access/reg_access.h>
-#include <cmdif/tools_cif.h>
-#include "mlxcfg_lib.h"
-
-using namespace std;
-
-/*
- * Mask and offsets for working with the capability vector
- * retrieved via query_dev_cap command.
- */
-
-#define TOOL_CAP_BITS_ADDR 0xc0
-
-#define CHECK_RC(rc)\
-	if (rc) return rc;
-/*
- * MlxCfgOps implementation
- */
-
-MlxCfgOps::MlxCfgOps()
-{
-    // init the ErrMsg Class
-    std::map<int, std::string> errmap;
-    errmap[MCE_SUCCESS] = "Success";
-    errmap[MCE_FAILED] = "General Failure";
-    errmap[MCE_TLV_NOT_FOUND] = "Configuration not found";
-    errmap[MCE_TLV_NOT_SUPP] = "Configuration TLV not supported";
-    errmap[MCE_NVCFG_NOT_SUPP] = "Fw does not support NV access registers";
-    errmap[MCE_TOOLS_HCR_NOT_SUPP] = "Unsupported FW (version 2.31.5000 or above required for CX3/PRO)";
-    errmap[MCE_DRIVER_DOWN] = "Cannot perform operation, Driver might be down.";
-    errmap[MCE_UNSUPPORTED_DEVICE] = "Device not supported.";
-    errmap[MCE_UNSUPPORTED_CFG] = "Fw does not support configuration";
-    errmap[MCE_BAD_PARAMS] = "Bad parameters";
-    errmap[MCE_BAD_PARAM_VAL] = "Bad parameter value";
-    errmap[MCE_DEV_BUSY] = "Device busy";
-    errmap[MCE_UNKNOWN_TLV] = "Unknown TLV";
-    errmap[MCE_REG_NOT_SUPP] = "Fw does not support NV access registers";
-    errmap[MCE_METHOD_NOT_SUPP] = "Method not supported";
-    errmap[MCE_RES_NOT_AVAIL] = "Resource not available";
-    errmap[MCE_CONF_CORRUPT] = "Configuration is corrupted";
-    errmap[MCE_TLV_LEN_TOO_SMALL] = "TLV length too small";
-    errmap[MCE_BAD_CONFIG] = "Bad Configuration";
-    errmap[MCE_ERASE_EXEEDED] = "Erase exceeded flash spec";
-    errmap[MCE_BAD_OP] = "Bad Operation";
-    errmap[MCE_BAD_STATUS] = "General Failure";
-    errmap[MCE_CR_ERROR] = "CR-Error";
-    errmap[MCE_NOT_IMPLEMENTED] = "Not implemented";
-    errmap[MCE_INCOMPLETE_PARAMS] = "Failed to get missing configuration from device, please specify all the needed parameters";
-    errmap[MCE_OPEN_DEVICE] = "Failed to open device";
-    errmap[MCE_PCI] = "Access to device should be through PCI interface only";
-    errmap[MCE_GET_DEFAULT_PARAMS] = "Failed to get default params";
-    errmap[MCE_UNKNOWN_ERR] = "General Error";
-
-    updateErrCodes(errmap);
-    _mf = NULL;
-    _deviceId = DeviceUnknown;
-    _suppVec = 0;
-    _isFifthGen = false;
-    return;
-}
-
-MlxCfgOps::~MlxCfgOps()
-{
-    if (_mf) {
-        mclose(_mf);
-    }
-    for(map<mlxCfgType, CfgParams*>::iterator it = _cfgList.begin(); it != _cfgList.end(); it++) {
-        delete it->second;
-    }
-    return;
-}
-
-#define HW_ID_ADDR 0xf0014
-#define CX3_HW_ID 501
-#define CX3_PRO_HW_ID 503
-
-int MlxCfgOps::supportsToolsHCR()
-{
-    // we also update the support vector
-    u_int32_t devId;
-    u_int32_t type = 0;
-    int rc;
-
-    if (mread4(_mf, HW_ID_ADDR, &devId) != 4) {
-        return MCE_CR_ERROR;
-    }
-    switch (devId & 0xffff) { // check hw device id
-         case CX3_HW_ID : //Cx3
-         case CX3_PRO_HW_ID : // Cx3-pro
-             // check if device is accessed via pci (thats the only supported method atm)
-            rc = mget_mdevs_type(_mf, &type);
-        #ifndef MST_UL
-            if (type != MST_PCICONF && type != MST_PCI) {
-                return errmsg(MCE_PCI);
-            }
-        #else
-            if (type != MTCR_ACCESS_CONFIG && type != MTCR_ACCESS_MEMORY) {
-                return errmsg(MCE_PCI);
-            }
-        #endif
-            // check if we support tools_hcr
-             rc = tcif_query_dev_cap(_mf, TOOL_CAP_BITS_ADDR, &_suppVec);
-             switch (rc) {
-             case ME_OK:
-                 return MCE_SUCCESS;
-             case ME_CMDIF_BAD_SYS:
-                 return errmsg(MCE_DRIVER_DOWN);
-             case ME_CMDIF_BAD_OP:
-             case ME_CMDIF_TOUT:
-             case ME_CMDIF_BUSY:
-                 return errmsg(MCE_TOOLS_HCR_NOT_SUPP);
-             default:
-                 return errmsg("general Error, %s", m_err2str((MError)rc));
-             }
-             break;
-         default:
-             break;
-         }
-    return errmsg(MCE_UNSUPPORTED_DEVICE);
-}
-
-static void dealWithSignal()
-{
-    int sig;
-    sig = mft_signal_is_fired();
-    if (sig) {
-        // reset recieved signal
-        mft_signal_set_fired(0);
-        // retore prev handler
-        mft_signal_set_handling(0);
-        //raise signal to let the previous handle deal with it.
-        raise(sig);
-    }
-    mft_signal_set_handling(0);
-    return;
-}
-
-int MlxCfgOps::supportsNVData()
-{
-    struct tools_open_nvqc nvqcTlv;
-    memset(&nvqcTlv, 0, sizeof(struct tools_open_nvqc));
-    MError rc;
-    // "suspend" signals as we are going to take semaphores
-    mft_signal_set_handling(1);
-    rc = reg_access_nvqc(_mf, REG_ACCESS_METHOD_GET, &nvqcTlv);
-    dealWithSignal();
-    if (rc == ME_REG_ACCESS_BAD_PARAM || rc == ME_REG_ACCESS_INTERNAL_ERROR) {
-        return errmsg(MCE_NVCFG_NOT_SUPP);
-    }
-    return MCE_SUCCESS;
-}
-
-int MlxCfgOps::isDefaultSupported(bool &defaultSupported)
-{
-    struct tools_open_nvqgc nvqgcTlv;
-
-    if(!_isFifthGen){
-        defaultSupported = true;
-        return ME_OK;
-    }
-
-    memset(&nvqgcTlv, 0, sizeof(struct tools_open_nvqgc));
-    MError rc;
-
-    mft_signal_set_handling(1);
-    rc = reg_access_nvqgc(_mf, REG_ACCESS_METHOD_GET, &nvqgcTlv);
-    dealWithSignal();
-    if (rc == ME_REG_ACCESS_BAD_PARAM || rc == ME_REG_ACCESS_INTERNAL_ERROR) {
-        defaultSupported = 0;
-        return ME_OK;
-    } else if(rc == ME_OK){
-        defaultSupported = nvqgcTlv.read_factory_settings_support;
-        return ME_OK;
-    }
-    return rc;
-}
-
-int MlxCfgOps::openComChk()
-{
-    bool rc;
-    int ret;
-    u_int32_t type = 0;
-    // check if we support Tools HCR and update _suppVec
-    if (_isFifthGen) {
-        rc = mget_mdevs_type(_mf, &type);
-        #ifndef MST_UL
-            if (type != MST_PCICONF && type != MST_PCI) {
-                return errmsg(MCE_PCI);
-            }
-        #else
-            if (type != MTCR_ACCESS_CONFIG && type != MTCR_ACCESS_MEMORY) {
-                return errmsg(MCE_PCI);
-            }
-        #endif
-        rc = supportsNVData(); CHECK_RC(rc);
-    } else {
-        rc = supportsToolsHCR(); CHECK_RC(rc);
-    }
-
-    // update cfg specific info.
-    // TODO: adrianc: when getting defaults for 4th gen , perform queryDefParams only once and pass struct to classes to avoid calling multiple times
-    for (std::map<mlxCfgType, CfgParams*>::iterator paramIt = _cfgList.begin(); paramIt != _cfgList.end(); paramIt++) {
-        paramIt->second->setDevCapVec(_suppVec);
-        if (paramIt->second->cfgSupported(_mf)) {
-            ret = paramIt->second->getDefaultParams(_mf);
-            if (ret && ret!= MCE_GET_DEFAULT_PARAMS && ret != MCE_NOT_IMPLEMENTED) {
-                return ret;
-            }
-        }
-    }
-    return MCE_SUCCESS;
-}
-
-int MlxCfgOps::open(const char* devStr, bool forceClearSem)
-{
-    _mf = mopen(devStr);
-    if (_mf == NULL) {
-        return errmsg(MCE_OPEN_DEVICE);
-    }
-
-    return opend(_mf , forceClearSem);
-}
-
-int MlxCfgOps::opend(mfile* mf, bool forceClearSem)
-{
-    u_int32_t hwDevId, hwRevId;
-    if (!mf) {
-        return errmsg(MCE_BAD_PARAMS);
-    }
-    _mf = mf;
-
-    if( dm_get_device_id(mf, &_deviceId, &hwDevId, &hwRevId) ) {
-        return errmsg("Failed to identify device.");
-    }
-    // check if device is supported:
-    switch(_deviceId) {
-    case DeviceConnectX3:
-    case DeviceConnectX3Pro:
-        _isFifthGen = false;
-        break;
-    case DeviceConnectIB:
-    case DeviceConnectX4:
-    case DeviceConnectX4LX:
-        _isFifthGen = true;
-        break;
-    default:
-        return errmsg(MCE_UNSUPPORTED_DEVICE);
-    }
-
-    if(dm_is_livefish_mode(mf)) {
-        return errmsg("Device in Livefish mode is not supported.");
-    }
-
-    // init _cfgList, _param2TypeMap
-    if (_isFifthGen) {
-        // Wake On LAN
-        _cfgList[Mct_Wol] = new WolParams5thGen();
-        _param2TypeMap[Mcp_Wol_Magic_En] = Mct_Wol;
-        // Vpi Settings
-        _cfgList[Mct_Vpi_P1] = new VpiParams5thGen(1);
-        _cfgList[Mct_Vpi_P2] = new VpiParams5thGen(2);
-        _param2TypeMap[Mcp_Link_Type_P1] = Mct_Vpi_P1;
-        _param2TypeMap[Mcp_Link_Type_P2] = Mct_Vpi_P2;
-        // PCI settings
-        _cfgList[Mct_Pci] = new PciParams5thGen();
-        _param2TypeMap[Mcp_Sriov_En] = Mct_Pci;
-        _param2TypeMap[Mcp_Num_Of_Vfs] = Mct_Pci;
-        _param2TypeMap[Mcp_Fpp_En] = Mct_Pci;
-        _param2TypeMap[Mcp_PF_Log_Bar_Size] = Mct_Pci;
-        _param2TypeMap[Mcp_VF_Log_Bar_Size] = Mct_Pci;
-        _param2TypeMap[Mcp_Num_Pf_Msix] = Mct_Pci;
-        _param2TypeMap[Mcp_Num_Vf_Msix] = Mct_Pci;
-        // TPT settings
-        _cfgList[Mct_Tpt] = new TptParams5thGen();
-        _param2TypeMap[Mcp_Log_Tpt_Size] = Mct_Tpt;
-        // Infiniband DC settings
-        _cfgList[Mct_Dc] = new IBDCParams5thGen();
-        _param2TypeMap[Mcp_Log_Dcr_Hash_Table_Size] = Mct_Dc;
-        _param2TypeMap[Mcp_Dcr_Lifo_Size] = Mct_Dc;
-        // RoCE v1.5 next protocol
-        _cfgList[Mct_RoCE_Next_Protocol] = new RoCENextProtocolParams5thGen();
-        _param2TypeMap[Mcp_RoCE_Next_Protocol] = Mct_RoCE_Next_Protocol;
-        // RoCE CC parameters
-        _cfgList[Mct_RoCE_CC_P1] = new RoCECCParams5thGen(1);
-        _cfgList[Mct_RoCE_CC_P2] = new RoCECCParams5thGen(2);
-        _param2TypeMap[Mcp_RoCE_CC_Algorithm_P1] = Mct_RoCE_CC_P1;
-        _param2TypeMap[Mcp_RoCE_CC_Prio_Mask_P1] = Mct_RoCE_CC_P1;
-        _param2TypeMap[Mcp_RoCE_CC_Algorithm_P2] = Mct_RoCE_CC_P2;
-        _param2TypeMap[Mcp_RoCE_CC_Prio_Mask_P2] = Mct_RoCE_CC_P2;
-        // RoCE CC ECN parameters
-        _cfgList[Mct_RoCE_CC_Ecn_P1] = new RoCECCEcnParams5thGen(1);
-        _cfgList[Mct_RoCE_CC_Ecn_P2] = new RoCECCEcnParams5thGen(2);
-        _param2TypeMap[Mcp_Clamp_Tgt_Rate_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Clamp_Tgt_Rate_After_Time_Inc_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Time_Reset_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Byte_Reset_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Threshold_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Max_Rate_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Ai_Rate_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Hai_Rate_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Gd_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Min_Dec_Fac_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rpg_Min_Rate_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rate_To_Set_On_First_Cnp_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Dce_Tcp_G_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Dce_Tcp_Rtt_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Rate_Reduce_Monitor_Period_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Initial_Alpha_Value_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Min_Time_Between_Cnps_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Cnp_Dscp_P1] = Mct_RoCE_CC_Ecn_P1;
-        _param2TypeMap[Mcp_Cnp_802p_Prio_P1] = Mct_RoCE_CC_Ecn_P1;
-
-        _param2TypeMap[Mcp_Clamp_Tgt_Rate_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Clamp_Tgt_Rate_After_Time_Inc_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Time_Reset_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Byte_Reset_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Threshold_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Max_Rate_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Ai_Rate_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Hai_Rate_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Gd_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Min_Dec_Fac_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rpg_Min_Rate_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rate_To_Set_On_First_Cnp_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Dce_Tcp_G_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Dce_Tcp_Rtt_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Rate_Reduce_Monitor_Period_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Initial_Alpha_Value_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Min_Time_Between_Cnps_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Cnp_Dscp_P2] = Mct_RoCE_CC_Ecn_P2;
-        _param2TypeMap[Mcp_Cnp_802p_Prio_P2] = Mct_RoCE_CC_Ecn_P2;
-
-        _cfgList[Mct_External_Port] = new ExternalPort5thGen();
-        _param2TypeMap[Mcp_Port_Owner] = Mct_External_Port;
-        _param2TypeMap[Mcp_Allow_Rd_Counters] = Mct_External_Port;
-
-        _cfgList[Mct_Boot_Settings_Extras_5thGen] = new BootSettingsExtParams5thGen();
-        _param2TypeMap[Mcp_Boot_Settings_Ext_IP_Ver] = Mct_Boot_Settings_Extras_5thGen;
-
-        _cfgList[Mct_QoS_P1] = new QoS(1);
-        _cfgList[Mct_QoS_P2] = new QoS(2);
-        _param2TypeMap[Mcp_QoS_Num_of_TC_P1] = Mct_QoS_P1;
-        _param2TypeMap[Mcp_QoS_Num_of_VL_P1] = Mct_QoS_P1;
-        _param2TypeMap[Mcp_QoS_Num_of_TC_P2] = Mct_QoS_P2;
-        _param2TypeMap[Mcp_QoS_Num_of_VL_P2] = Mct_QoS_P2;
-
-        _cfgList[Mct_LLDP_Client_Settings_P1] = new LLDPClientSettings(1);
-        _cfgList[Mct_LLDP_Client_Settings_P2] = new LLDPClientSettings(2);
-        _param2TypeMap[Mcp_LLDP_NB_RX_Mode_P1] = Mct_LLDP_Client_Settings_P1;
-        _param2TypeMap[Mcp_LLDP_NB_TX_Mode_P1] = Mct_LLDP_Client_Settings_P1;
-        _param2TypeMap[Mcp_LLDP_NB_DCBX_P1] = Mct_LLDP_Client_Settings_P1;
-        _param2TypeMap[Mcp_LLDP_NB_RX_Mode_P2] = Mct_LLDP_Client_Settings_P2;
-        _param2TypeMap[Mcp_LLDP_NB_TX_Mode_P2] = Mct_LLDP_Client_Settings_P2;
-        _param2TypeMap[Mcp_LLDP_NB_DCBX_P2] = Mct_LLDP_Client_Settings_P2;
-
-        _cfgList[Mct_DCBX_P1] = new DCBX(1);
-        _cfgList[Mct_DCBX_P2] = new DCBX(2);
-        _param2TypeMap[Mcp_DCBX_IEEE_EN_P1] = Mct_DCBX_P1;
-        _param2TypeMap[Mcp_DCBX_CEE_EN_P1] = Mct_DCBX_P1;
-        _param2TypeMap[Mcp_DCBX_WILLING_P1] = Mct_DCBX_P1;
-        _param2TypeMap[Mcp_DCBX_IEEE_EN_P2] = Mct_DCBX_P2;
-        _param2TypeMap[Mcp_DCBX_CEE_EN_P2] = Mct_DCBX_P2;
-        _param2TypeMap[Mcp_DCBX_WILLING_P2] = Mct_DCBX_P2;
-
-    } else {
-        // SR-IOV
-        _cfgList[Mct_Sriov] = new SriovParams4thGen();
-        _param2TypeMap[Mcp_Sriov_En] = Mct_Sriov;
-        _param2TypeMap[Mcp_Num_Of_Vfs] = Mct_Sriov;
-        // Wake on LAN
-        _cfgList[Mct_Wol_P1] = new WolParams4thGen(1);
-        _cfgList[Mct_Wol_P2] = new WolParams4thGen(2);
-        _param2TypeMap[Mcp_Wol_Magic_En_P1] = Mct_Wol_P1;
-        _param2TypeMap[Mcp_Wol_Magic_En_P2] = Mct_Wol_P2;
-        // Vpi Settings
-        _cfgList[Mct_Vpi_P1] = new VpiParams4thGen(1);
-        _cfgList[Mct_Vpi_P2] = new VpiParams4thGen(2);
-        _param2TypeMap[Mcp_Link_Type_P1] = Mct_Vpi_P1;
-        _param2TypeMap[Mcp_Link_Type_P2] = Mct_Vpi_P2;
-        // BAR size
-        _cfgList[Mct_Bar_Size] = new BarSzParams4thGen();
-        _param2TypeMap[Mcp_Log_Bar_Size] = Mct_Bar_Size;
-        // Infiniband Boot Settings
-        _cfgList[Mct_Boot_Settings_P1] = new InfinibandBootSettingsParams4thGen(1);
-        _cfgList[Mct_Boot_Settings_P2] = new InfinibandBootSettingsParams4thGen(2);
-        _param2TypeMap[Mcp_Boot_Pkey_P1] = Mct_Boot_Settings_P1;
-        _param2TypeMap[Mcp_Boot_Pkey_P2] = Mct_Boot_Settings_P2;
-        // Preboot Boot Settings
-        _cfgList[Mct_Preboot_Boot_Settings_P1] = new PrebootBootSettingsParams4thGen(1);
-        _cfgList[Mct_Preboot_Boot_Settings_P2] = new PrebootBootSettingsParams4thGen(2);
-        _param2TypeMap[Mcp_Boot_Option_Rom_En_P1] = Mct_Preboot_Boot_Settings_P1;
-        _param2TypeMap[Mcp_Boot_Vlan_En_P1] = Mct_Preboot_Boot_Settings_P1;
-        _param2TypeMap[Mcp_Boot_Retry_Cnt_P1] = Mct_Preboot_Boot_Settings_P1;
-        _param2TypeMap[Mcp_Legacy_Boot_Protocol_P1] = Mct_Preboot_Boot_Settings_P1;
-        _param2TypeMap[Mcp_Boot_Vlan_P1] = Mct_Preboot_Boot_Settings_P1;
-
-        _param2TypeMap[Mcp_Boot_Option_Rom_En_P2] = Mct_Preboot_Boot_Settings_P2;
-        _param2TypeMap[Mcp_Boot_Vlan_En_P2] = Mct_Preboot_Boot_Settings_P2;
-        _param2TypeMap[Mcp_Boot_Retry_Cnt_P2] = Mct_Preboot_Boot_Settings_P2;
-        _param2TypeMap[Mcp_Legacy_Boot_Protocol_P2] = Mct_Preboot_Boot_Settings_P2;
-        _param2TypeMap[Mcp_Boot_Vlan_P2] = Mct_Preboot_Boot_Settings_P2;
-
-        _cfgList[Mct_Boot_Settings_Extras_4thGen_P1] = new BootSettingsExtParams4thGen(1);
-        _cfgList[Mct_Boot_Settings_Extras_4thGen_P2] = new BootSettingsExtParams4thGen(2);
-        _param2TypeMap[Mcp_Boot_Settings_Ext_IP_Ver_P1] = Mct_Boot_Settings_Extras_4thGen_P1;
-        _param2TypeMap[Mcp_Boot_Settings_Ext_IP_Ver_P2] = Mct_Boot_Settings_Extras_4thGen_P2;
-    }
-
-
-    if (forceClearSem) {
-        int rc;
-        rc = _isFifthGen ? icmd_clear_semaphore(mf) : tools_cmdif_unlock_semaphore(_mf);
-        if (rc) {
-            return errmsg("Failed to unlock semaphore, %s.", m_err2str((MError)rc));
-        }
-    }
-    return openComChk();
-}
-
-bool MlxCfgOps::supportsCfg(mlxCfgType cfg)
-{
-    if (!isLegal(cfg)) {
-        return false;
-    }
-    return _cfgList[cfg]->cfgSupported(_mf);
-}
-
-bool MlxCfgOps::supportsParam(mlxCfgParam param)
-{
-    if (!isLegal(param)) {
-        return false;
-    }
-
-    if (!isLegal(cfgParam2Type(param))) {
-        return false;
-    }
-
-    return _cfgList[cfgParam2Type(param)]->cfgSupported(_mf, param);
-}
-
-int MlxCfgOps::getCfg(mlxCfgParam cfgParam, u_int32_t& val, bool getDefault)
-{
-    if (!isLegal(cfgParam)) {
-        return MCE_BAD_PARAMS;
-    }
-
-    if (!supportsParam(cfgParam)) {
-        return errmsg(MCE_UNSUPPORTED_CFG);
-    }
-
-    if (getDefault) {
-        val = (_cfgList[cfgParam2Type(cfgParam)])->getDefaultParam(cfgParam);
-    } else {
-        int rc;
-        rc = _cfgList[cfgParam2Type(cfgParam)]->getFromDev(_mf);
-        if (rc) {
-            return errmsgConcatMsg(rc,*_cfgList[cfgParam2Type(cfgParam)]);
-        }
-        val = (_cfgList[cfgParam2Type(cfgParam)])->getParam(cfgParam);
-    }
-    return MCE_SUCCESS;
-}
-
-int MlxCfgOps::getCfg(std::vector<cfgInfo>& infoVec)
-{
-    for (std::vector<cfgInfo>::iterator it = infoVec.begin() ; it != infoVec.end(); it++) {
-        int rc = getCfg(it->first,it->second);
-        if (rc) {
-            return rc;
-        }
-    }
-    return MCE_SUCCESS;
-}
-
-int MlxCfgOps::setCfg(mlxCfgParam cfgParam, u_int32_t val)
-{
-    if (!isLegal(cfgParam)) {
-        return MCE_BAD_PARAMS;
-    }
-
-    if (!supportsParam(cfgParam)) {
-        return errmsg(MCE_UNSUPPORTED_CFG);
-    }
-
-    // get parameters from device if present
-    int rc = _cfgList[cfgParam2Type(cfgParam)]->getFromDev(_mf);
-    if (rc) {
-        return errmsgConcatMsg(rc, *_cfgList[cfgParam2Type(cfgParam)]);
-    }
-    _cfgList[cfgParam2Type(cfgParam)]->setParam(cfgParam, val);
-    rc = _cfgList[cfgParam2Type(cfgParam)]->setOnDev(_mf);
-    if (rc) {
-        return errmsgConcatMsg(rc, *_cfgList[cfgParam2Type(cfgParam)]);
-    }
-    return MCE_SUCCESS;
-}
-
-int MlxCfgOps::setCfg(const std::vector<cfgInfo>& infoVec, mlxCfgParam& failedParam)
-{
-    // set params
-    std::set<CfgParams*> CfgToSet;
-    int rc;
-
-    for (std::vector<cfgInfo>::const_iterator it = infoVec.begin() ; it != infoVec.end(); it++) {
-        if (!isLegal(it->first)) {
-            return MCE_BAD_PARAMS;
-        }
-        if (!supportsParam(it->first)) {
-            failedParam = it->first;
-            return errmsg(MCE_UNSUPPORTED_CFG);
-        }
-        // get configuration from device first (if preset) in case of multiple params per type
-        rc = _cfgList[cfgParam2Type(it->first)]->getFromDev(_mf);
-        if (rc) {
-            return errmsgConcatMsg(rc, *_cfgList[cfgParam2Type(it->first)]);
-        }
-        _cfgList[cfgParam2Type(it->first)]->setParam(it->first, it->second);
-        CfgToSet.insert(_cfgList[cfgParam2Type(it->first)]);
-    }
-    //set on device exit on first failure
-    for (std::set<CfgParams*>::iterator it = CfgToSet.begin() ; it != CfgToSet.end(); it++) {
-        rc = (*it)->setOnDev(_mf);
-        if (rc) {
-            return errmsgConcatMsg(rc, (**it));
-        }
-    }
-    return MCE_SUCCESS;
-}
-
-void MlxCfgOps::setIgnoreSoftLimits(bool val)
-{
-    for(std::map<mlxCfgType, CfgParams*>::iterator it = _cfgList.begin(); it != _cfgList.end(); it++) {
-        it->second->setIgnoreSoftLimits(val);
-    }
-    return;
-}
-
-void MlxCfgOps::setIgnoreHardLimits(bool val)
-{
-    for(std::map<mlxCfgType, CfgParams*>::iterator it = _cfgList.begin(); it != _cfgList.end(); it++) {
-        it->second->setIgnoreHardLimits(val);
-    }
-    return;
-}
-
-int MlxCfgOps::invalidateCfgs4thGen()
-{
-    struct tools_open_mnvia mnviaTlv;
-    u_int8_t buffer[TOOLS_OPEN_MNVIA_SIZE] = {0};
-    int rc;
-    memset(&mnviaTlv, 0, sizeof(struct tools_open_mnvia));
-    tools_open_mnvia_pack(&mnviaTlv, buffer);
-    mft_signal_set_handling(1);
-    rc = reg_access_mnvia(_mf, REG_ACCESS_METHOD_SET, &mnviaTlv);
-    dealWithSignal();
-    return rc;
-}
-
-int MlxCfgOps::invalidateCfgs5thGen()
-{
-    struct tools_open_nvia nviaTlv;
-    u_int8_t buffer[TOOLS_OPEN_NVIA_SIZE] = {0};
-    int rc;
-    memset(&nviaTlv, 0, sizeof(struct tools_open_nvia));
-    tools_open_nvia_pack(&nviaTlv, buffer);
-    mft_signal_set_handling(1);
-    rc = reg_access_nvia(_mf, REG_ACCESS_METHOD_SET, &nviaTlv);
-    dealWithSignal();
-    return rc;
-}
-
-int MlxCfgOps::invalidateCfgs()
-{
-    int rc;
-    if (_isFifthGen) {
-        rc = invalidateCfgs5thGen();
-    } else {
-        rc = invalidateCfgs4thGen();
-    }
-    if (rc) {
-        return errmsg("failed to invalidate configurations, %s.", m_err2str((MError)rc));
-    }
-    return MCE_SUCCESS;
-}
-
-int MlxCfgOps::backupCfgs(vector< pair< u_int32_t, vector<u_int8_t> > >& cfgsMap)
-{
-    int rc;
-    int status = 0;
-    u_int32_t ptr = 0;
-    struct tools_open_mnvgn mnvgnTlv;
-    do {
-        memset(&mnvgnTlv, 0, sizeof(struct tools_open_mnvgn));
-        mnvgnTlv.nv_pointer = ptr;
-        mft_signal_set_handling(1);
-        rc = reg_access_mnvgn(_mf, REG_ACCESS_METHOD_GET, &mnvgnTlv, &status);
-        dealWithSignal();
-        if (rc) {
-            if(status == ME_NOT_IMPLEMENTED) {
-                return errmsg("Firmware does not support backup command");
-            }
-            return errmsg("failed to backup configurations, %s.", m_err2str((MError)rc));
-        }
-        ptr = mnvgnTlv.nv_pointer;
-        if (ptr != 0) {
-            u_int32_t k = mnvgnTlv.nv_hdr.type.tlv_type_dw.tlv_type_dw;
-            vector<u_int8_t> v;
-            v.resize(TOOLS_OPEN_NV_HDR_FIFTH_GEN_SIZE + mnvgnTlv.nv_hdr.length);
-            //Copy header:
-            tools_open_nv_hdr_fifth_gen_pack(&mnvgnTlv.nv_hdr, v.data());
-            //Copy data:
-            memcpy(v.data() + TOOLS_OPEN_NV_HDR_FIFTH_GEN_SIZE,
-                    &mnvgnTlv.nv_data,
-                    mnvgnTlv.nv_hdr.length);
-            cfgsMap.push_back(make_pair(k, v));
-        }
-    } while (ptr != 0);
-
-    return rc;
-}
-
-bool MlxCfgOps::isLegal(mlxCfgType cfg)
-{
-    if (_cfgList.find(cfg) != _cfgList.end()) {
-        return true;
-    }
-    errmsg("illegal configuration");
-    return false;
-}
-
-bool MlxCfgOps::isLegal(mlxCfgParam cfg)
-{
-    if (cfg >= Mcp_Sriov_En && cfg < Mcp_Last) {
-        return true;
-    }
-    errmsg("illegal configuration parameter");
-    return false;
-}
-
-
-const char* MlxCfgOps::loadConfigurationGetStr()
-{
-    int rc;
-    struct cibfw_register_mfrl mfrl;
-    memset(&mfrl, 0, sizeof(mfrl));
-    if (_isFifthGen && (_deviceId == DeviceConnectX4 || _deviceId == DeviceConnectX4LX)) {
-        // send warm boot (bit 6)
-        mfrl.reset_level = 1 << 6;
-        mft_signal_set_handling(1);
-        rc = reg_access_mfrl(_mf,REG_ACCESS_METHOD_SET, &mfrl);
-        dealWithSignal();
-        if (rc) {
-            return "Please power cycle machine to load new configurations.";
-        }
-    }
-    return "Please reboot machine to load new configurations.";
-}
-
-
-mlxCfgType MlxCfgOps::cfgParam2Type(mlxCfgParam param)
-{
-    if (_param2TypeMap.find(param) == _param2TypeMap.end()) {
-        return Mct_Last;
-    }
-    return _param2TypeMap[param];
-}
-
-int MlxCfgOps::setRawCfg(std::vector<u_int32_t> rawTlvVec)
-{
-    if (!_isFifthGen) {
-        return errmsg("Setting Raw Configuration is supported for " FIFTH_GENERATION_LIST " devices only.");
-    }
-    RawCfgParams5thGen rawTlv;
-    if (rawTlv.setRawData(rawTlvVec)) {
-        return errmsg("%s", rawTlv.err());
-    }
-
-    if (rawTlv.setOnDev(_mf)) {
-        return errmsg("%s", rawTlv.err());
-    }
-    return MCE_SUCCESS;
-}
-
-int MlxCfgOps::dumpRawCfg(std::vector<u_int32_t> rawTlvVec, std::string& tlvDump)
-{
-    RawCfgParams5thGen rawTlv;
-    if (rawTlv.setRawData(rawTlvVec)) {
-        return errmsg("%s", rawTlv.err());
-    }
-    tlvDump = rawTlv.dumpTlv();
-    return MCE_SUCCESS;
-}
diff --git a/mlxconfig/mlxcfg_lib.h b/mlxconfig/mlxcfg_lib.h
deleted file mode 100644
index 169a1c8..0000000
--- a/mlxconfig/mlxcfg_lib.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (C) Jan 2013 Mellanox Technologies Ltd. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses.  You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-/*
- * mlxcfg_lib.h
- *
- *  Created on: Feb 17, 2014
- *      Author: adrianc
- */
-
-#ifndef MLXCFG_LIB_H_
-#define MLXCFG_LIB_H_
-
-#include <vector>
-#include <utility>
-
-#include <mtcr.h>
-#include <errmsg.h>
-#include <tools_dev_types.h>
-
-#include "mlxcfg_status.h"
-#include "mlxcfg_param_lib.h"
-
-#define FIFTH_GENERATION_LIST "Connect-IB/Connect-X4/LX"
-#define FOURTH_GENERATION_LIST "ConnectX3/Pro"
-
-class MlxCfgOps : public ErrMsg {
-public:
-    MlxCfgOps();
-    ~MlxCfgOps();
-    int open(const char* devStr, bool forceClearSem=false);
-    int opend(mfile* mf, bool forceClearSem=false);
-
-    // no need to close , this is done  in destructor
-
-    bool supportsCfg(mlxCfgType cfg);
-    bool supportsParam(mlxCfgParam param);
-
-    int getCfg(mlxCfgParam cfgParam, u_int32_t& val, bool getDefault = false);
-    int getCfg(std::vector<cfgInfo>& infoVec);
-
-    int setCfg(mlxCfgParam cfgParam, u_int32_t val);
-    int setCfg(const std::vector<cfgInfo>& infoVec, mlxCfgParam& cfgParam);
-
-    int setRawCfg(std::vector<u_int32_t> rawTlvVec);
-
-    int dumpRawCfg(std::vector<u_int32_t> rawTlvVec, std::string& tlvDump);
-
-    int invalidateCfgs();
-
-    // Set/Un-Set ignore limits for all configurations
-    void setIgnoreSoftLimits(bool val);
-    void setIgnoreHardLimits(bool val);
-
-    // Set/Un-Set Ignore limits per configuration
-    // Adrianc: TBD
-
-    const char* loadConfigurationGetStr();
-
-    int isDefaultSupported(bool &defaultSupported);
-
-    int backupCfgs(std::vector<std::pair<u_int32_t, std::vector<u_int8_t> > >& cfgs);
-
-private:
-    int openComChk();
-    int supportsToolsHCR();
-    int supportsNVData();
-    bool isLegal(mlxCfgType cfg);
-    bool isLegal(mlxCfgParam cfg);
-
-    int invalidateCfgs4thGen();
-    int invalidateCfgs5thGen();
-
-    mlxCfgType cfgParam2Type(mlxCfgParam param);
-    std::map<mlxCfgType, CfgParams*> _cfgList; // needs to be initialized in constructor and freed in destructor, will contain all the  tools supported cfgs
-    std::map<mlxCfgParam, mlxCfgType> _param2TypeMap;
-    dm_dev_id_t _deviceId;
-    mfile* _mf;
-    u_int64_t _suppVec;
-    bool _isFifthGen;
-};
-
-
-
-#endif /* MLXCFG_LIB_H_ */
diff --git a/mlxconfig/mlxcfg_param.cpp b/mlxconfig/mlxcfg_param.cpp
index 3e6018c..683fa47 100644
--- a/mlxconfig/mlxcfg_param.cpp
+++ b/mlxconfig/mlxcfg_param.cpp
@@ -36,7 +36,6 @@
  *      Author: ahmads
  */
 
-using namespace std;
 
 #include <sstream>
 #include <stdio.h>
@@ -49,6 +48,8 @@ using namespace std;
 #include "mlxcfg_param.h"
 #include "mlxcfg_utils.h"
 
+using namespace std;
+
 #define ENABLED "True"
 #define DISABLED "False"
 
diff --git a/mlxconfig/mlxcfg_param_lib.cpp b/mlxconfig/mlxcfg_param_lib.cpp
index 1f2041b..d213f89 100644
--- a/mlxconfig/mlxcfg_param_lib.cpp
+++ b/mlxconfig/mlxcfg_param_lib.cpp
@@ -204,7 +204,7 @@ enum {
     int sig;
     sig = mft_signal_is_fired();
     if (sig) {
-        // reset recieved signal
+        // reset received signal
         mft_signal_set_fired(0);
         // retore prev handler
         mft_signal_set_handling(0);
@@ -260,7 +260,7 @@ MError mnvaCom4thGen(mfile* mf, u_int8_t* buff, u_int16_t len, u_int16_t tlvType
     mft_signal_set_handling(1);
     DEBUG_PRINT_SEND(&mnvaTlv, nvda);
     rc = reg_access_nvda(mf, method, &mnvaTlv);
-    DEBUG_PRINT_RECIEVE(&mnvaTlv, nvda);
+    DEBUG_PRINT_RECEIVE(&mnvaTlv, nvda);
     dealWithSignal();
     if (rc) {
         return rc;
@@ -462,7 +462,7 @@ int BootSettingsExtParams4thGen::getFromDev(mfile* mf)
     DEBUG_PRINT_SEND(&bootSettingsExtTlv, boot_settings_ext);
     rc = mnvaCom4thGen(mf, buff, tools_open_boot_settings_ext_size(), tlvTypeIdx, REG_ACCESS_METHOD_GET, _port);
     // check rc
-    DEBUG_PRINT_RECIEVE(&bootSettingsExtTlv, boot_settings_ext);
+    DEBUG_PRINT_RECEIVE(&bootSettingsExtTlv, boot_settings_ext);
     if (rc) {// when attempting to get a nv_cfg tlv from device ME_REG_ACCESS_RES_NOT_AVLBL means - no valid
              // tlv found. i.e default configuration are on.
         if (rc == ME_REG_ACCESS_RES_NOT_AVLBL) {
@@ -604,7 +604,7 @@ int SriovParams4thGen::getFromDev(mfile* mf)
     DEBUG_PRINT_SEND(&sriovTlv, sriov);
     rc = mnvaCom4thGen(mf, buff, tools_open_sriov_size(), tlvTypeIdx, REG_ACCESS_METHOD_GET, 0);
     // check rc
-    DEBUG_PRINT_RECIEVE(&sriovTlv, sriov);
+    DEBUG_PRINT_RECEIVE(&sriovTlv, sriov);
     if (rc) {// when attempting to get a nv_cfg tlv from device ME_REG_ACCESS_RES_NOT_AVLBL means - no valid
              // tlv found. i.e default configuration are on.
         if (rc == ME_REG_ACCESS_RES_NOT_AVLBL) {
@@ -1037,23 +1037,30 @@ int VpiParams::getFromDevComPost(MError mnvaComRC)
      }
      // unpack and update
      tools_open_vpi_settings_unpack(&_vpiTlv, &_tlvBuff[0]);
-     setParams(_vpiTlv.network_link_type, _vpiTlv.default_link_type);
+     setParams(_vpiTlv.network_link_type, _vpiTlv.default_link_type,
+               _vpiTlv.phy_type, _vpiTlv.xfi_mode, _vpiTlv.force_mode);
      _updated = true;
      return MCE_SUCCESS;
 
 }
 
-void VpiParams::setParams(u_int32_t linkType, u_int32_t defaultLinkType)
-{
+void VpiParams::setParams(u_int32_t linkType, u_int32_t defaultLinkType,
+                   u_int32_t phyType, u_int32_t xfiMode, u_int32_t forceMode){
     _linkType = linkType;
     _defaultLinkType = defaultLinkType;
+    _phyType = phyType;
+    _xfiMode = xfiMode;
+    _forceMode = forceMode;
 }
 
 int VpiParams::setOnDevComPre(bool ignoreCheck)
 {
-    if (_linkType == MLXCFG_UNKNOWN || _defaultLinkType == MLXCFG_UNKNOWN) {
+    if (_isVPISupported && (_linkType == MLXCFG_UNKNOWN || _defaultLinkType == MLXCFG_UNKNOWN)) {
         return errmsg("%s please specify all the parameters for VPI settings.", err() ? err() : "");
     }
+    if (_isForceModeSupported && (_phyType == MLXCFG_UNKNOWN || _xfiMode == MLXCFG_UNKNOWN || _forceMode == MLXCFG_UNKNOWN)) {
+        return errmsg("%s please specify all the parameters for VPI Force Mode settings.", err() ? err() : "");
+    }
     if (!ignoreCheck && !checkCfg()) {
         return MCE_BAD_PARAMS;
     }
@@ -1062,6 +1069,9 @@ int VpiParams::setOnDevComPre(bool ignoreCheck)
      memset(&_vpiTlv, 0, sizeof(struct tools_open_vpi_settings));
      _vpiTlv.network_link_type = _linkType;
      _vpiTlv.default_link_type = _defaultLinkType;
+     _vpiTlv.phy_type = _phyType;
+     _vpiTlv.xfi_mode = _xfiMode;
+     _vpiTlv.force_mode = _forceMode;
      // pack it
      tools_open_vpi_settings_pack(&_vpiTlv, &_tlvBuff[0]);
     return MCE_SUCCESS;
@@ -1081,8 +1091,14 @@ int VpiParams::setOnDevComPost(MError mnvaComRC)
  */
 void VpiParams4thGen::setParam(mlxCfgParam paramType, u_int32_t val)
 {
-    if ((paramType == Mcp_Link_Type_P1 && _port == 1 ) || (paramType == Mcp_Link_Type_P2 && _port == 2) ) {
+    if ((paramType == Mcp_Link_Type_P1 && _port == 1 ) || (paramType == Mcp_Link_Type_P2 && _port == 2)) {
         _linkType = val;
+    } else if ((paramType == Mcp_Phy_Type_P1 && _port == 1) || (paramType == Mcp_Phy_Type_P2 && _port == 2)) {
+        _phyType = val;
+    } else if ((paramType == Mcp_Xfi_Mode_P1 && _port == 1) || (paramType == Mcp_Xfi_Mode_P2 && _port == 2)) {
+        _xfiMode = val;
+    } else if ((paramType == Mcp_Force_Mode_P1 && _port == 1) || (paramType == Mcp_Force_Mode_P2 && _port == 2)) {
+        _forceMode = val;
     }
 }
 
@@ -1090,6 +1106,12 @@ u_int32_t VpiParams4thGen::getParam(mlxCfgParam paramType)
 {
     if ((paramType == Mcp_Link_Type_P1 && _port == 1 ) || (paramType == Mcp_Link_Type_P2 && _port == 2) ) {
         return _linkType;
+    } else if ((paramType == Mcp_Phy_Type_P1 && _port == 1) || (paramType == Mcp_Phy_Type_P2 && _port == 2)) {
+        return _phyType;
+    } else if ((paramType == Mcp_Xfi_Mode_P1 && _port == 1) || (paramType == Mcp_Xfi_Mode_P2 && _port == 2)) {
+        return _xfiMode;
+    } else if ((paramType == Mcp_Force_Mode_P1 && _port == 1) || (paramType == Mcp_Force_Mode_P2 && _port == 2)) {
+        return _forceMode;
     }
     return MLXCFG_UNKNOWN;
 }
@@ -1098,20 +1120,20 @@ u_int32_t VpiParams4thGen::getDefaultParam(mlxCfgParam paramType)
 {
     if ((paramType == Mcp_Link_Type_P1 && _port == 1 ) || (paramType == Mcp_Link_Type_P2 && _port == 2) ) {
         return _linkTypeDefault;
+    } else if ((paramType == Mcp_Phy_Type_P1 && _port == 1) || (paramType == Mcp_Phy_Type_P2 && _port == 2)) {
+        return _phyTypeDefault;
+    } else if ((paramType == Mcp_Xfi_Mode_P1 && _port == 1) || (paramType == Mcp_Xfi_Mode_P2 && _port == 2)) {
+        return _xfiModeDefault;
+    } else if ((paramType == Mcp_Force_Mode_P1 && _port == 1) || (paramType == Mcp_Force_Mode_P2 && _port == 2)) {
+        return _forceModeDefault;
     }
     return MLXCFG_UNKNOWN;
 }
 
-bool VpiParams4thGen::cfgSupported(mfile* mf, mlxCfgParam param)
-{
-    (void)mf;
-    (void)param;
-    return ((_devCapVec & VPI_P1_MASK) && _port == 1) || ((_devCapVec & VPI_P2_MASK) && _port == 2);
-}
-
-int VpiParams4thGen::getDefaultParams(mfile* mf)
+int VpiParams4thGen::getDefaultParamsAux(mfile* mf)
 {
     struct tools_open_query_def_params_per_port port_params;
+    memset(&port_params, 0, sizeof(port_params));
     _defaultLinkTypeDefault = 0; // not used for 4th gen devices , we give it a default value
     int rc = getDefaultParams4thGen(mf, _port , &port_params);
     if (rc) {
@@ -1120,7 +1142,52 @@ int VpiParams4thGen::getDefaultParams(mfile* mf)
     if (port_params.default_network_link_type) {
         _linkTypeDefault = port_params.default_network_link_type;
     }
-    setParams(_linkTypeDefault, _defaultLinkTypeDefault);
+    _isForceModeSupported = port_params.nv_config_vpi_force_mode;
+    _phyTypeDefault = port_params.default_vpi_phy_type;
+    _xfiModeDefault = port_params.default_vpi_xfi_mode;
+    _forceModeDefault = port_params.default_vpi_force_mode;
+
+    return MCE_SUCCESS;
+}
+
+bool VpiParams4thGen::cfgSupported(mfile* mf, mlxCfgParam param)
+{
+    (void)mf;
+    (void)param;
+    int rc;
+
+    if (((param == Mcp_Phy_Type_P1 || param == Mcp_Xfi_Mode_P1 || param == Mcp_Force_Mode_P1) && (_port == 1))
+        ||
+        ((param == Mcp_Phy_Type_P2 || param == Mcp_Xfi_Mode_P2 || param == Mcp_Force_Mode_P2) && (_port == 2))) {
+        rc = getDefaultParamsAux(mf);
+        bool x = ((!rc) && _isForceModeSupported);
+        return x;
+    }
+
+    _isVPISupported = ((_devCapVec & VPI_P1_MASK) && _port == 1) || ((_devCapVec & VPI_P2_MASK) && _port == 2);
+
+    if (param == Mcp_Last) {
+        rc = getDefaultParamsAux(mf);
+        bool x = ((!rc) && _isForceModeSupported);
+        return (x || _isVPISupported);
+    }
+    return _isVPISupported;
+}
+
+int VpiParams4thGen::getDefaultParams(mfile* mf)
+{
+
+    int rc = getDefaultParamsAux(mf);
+    if (rc) {
+        return rc;
+    }
+
+    _linkType = _linkTypeDefault;
+    _defaultLinkType = _defaultLinkTypeDefault;
+    _phyType = _phyTypeDefault;
+    _xfiMode = _xfiModeDefault;
+    _forceMode = _forceModeDefault;
+
     return MCE_SUCCESS;
 }
 
@@ -1153,11 +1220,32 @@ int VpiParams4thGen::setOnDev(mfile* mf, bool ignoreCheck)
 
 bool VpiParams4thGen::hardLimitCheck()
 {
-    if (_linkType == 1 || _linkType == 2 || _linkType == 3 ) {
-        return true;
+
+    if (_isVPISupported) {
+        if (_linkType < 1 || _linkType > 3) {
+            errmsg("illegal VPI link type (should be 1|2|3).");
+            return false;
+        }
     }
-    errmsg("illegal VPI link type (should be 1|2|3).");
-    return false;
+
+    if (_isForceModeSupported) {
+         if (_phyType < 1 || _phyType > 3) {
+             errmsg("illegal Phy Type value (shold be 1|2|3)");
+             return false;
+         }
+
+         if (_xfiMode > 2) {
+             errmsg("illegal Xfi Mode value (should be 0|1|2)");
+             return false;
+         }
+
+         if (_forceMode > 1) {
+             errmsg("illegal Force Mode value (should be 0|1)");
+             return false;
+        }
+    }
+
+    return true;
 }
 
 /*
diff --git a/mlxconfig/mlxcfg_param_lib.h b/mlxconfig/mlxcfg_param_lib.h
index 8eb2cf7..d233824 100644
--- a/mlxconfig/mlxcfg_param_lib.h
+++ b/mlxconfig/mlxcfg_param_lib.h
@@ -107,8 +107,14 @@ typedef enum {
     Mcp_Wol_Magic_En_P2,
     // VPI settings Port 1
     Mcp_Link_Type_P1,
+    Mcp_Phy_Type_P1,
+    Mcp_Xfi_Mode_P1,
+    Mcp_Force_Mode_P1,
     // VPI settings Port 2
     Mcp_Link_Type_P2,
+    Mcp_Phy_Type_P2,
+    Mcp_Xfi_Mode_P2,
+    Mcp_Force_Mode_P2,
     // BAR size
     Mcp_Log_Bar_Size,
     // TPT settings
@@ -381,9 +387,12 @@ class VpiParams : public CfgParams
 {
 public:
     VpiParams(int port) : CfgParams(port == 1 ? Mct_Vpi_P1 : Mct_Vpi_P2, VPI_TYPE), _port(port), _linkType(MLXCFG_UNKNOWN), _defaultLinkType(MLXCFG_UNKNOWN)
-    , _linkTypeDefault(MLXCFG_UNKNOWN), _defaultLinkTypeDefault(MLXCFG_UNKNOWN){
-        _vpiTlv.default_link_type = 0;
-        _vpiTlv.network_link_type = 0;
+    , _linkTypeDefault(MLXCFG_UNKNOWN), _defaultLinkTypeDefault(MLXCFG_UNKNOWN),
+    _isForceModeSupported(false), _isVPISupported(false), _phyType(MLXCFG_UNKNOWN),
+    _phyTypeDefault(MLXCFG_UNKNOWN), _xfiMode(MLXCFG_UNKNOWN),
+    _xfiModeDefault(MLXCFG_UNKNOWN), _forceMode(MLXCFG_UNKNOWN),
+    _forceModeDefault(MLXCFG_UNKNOWN){
+        memset(&_vpiTlv, 0, sizeof(_vpiTlv));
     }
     ~VpiParams() {}
 
@@ -398,13 +407,21 @@ protected:
     int getFromDevComPost(MError mnvaComRC);
     int setOnDevComPre(bool ignoreCheck);
     int setOnDevComPost(MError mnvaComRC);
-    void setParams(u_int32_t _linkType, u_int32_t _defaultLinkType);
-
+    void setParams(u_int32_t linkType, u_int32_t defaultLinkType,
+                   u_int32_t phyType, u_int32_t xfiMode, u_int32_t forceMode);
     int _port;
     u_int32_t _linkType;
     u_int32_t _defaultLinkType;
     u_int32_t _linkTypeDefault;
     u_int32_t _defaultLinkTypeDefault;
+    bool      _isForceModeSupported;
+    bool      _isVPISupported;
+    u_int32_t _phyType;
+    u_int32_t _phyTypeDefault;
+    u_int32_t _xfiMode;
+    u_int32_t _xfiModeDefault;
+    u_int32_t _forceMode;
+    u_int32_t _forceModeDefault;
     // FW TLV (used when actually setting/getting the TLV from FW)
     std::vector<u_int8_t> _tlvBuff;
     struct tools_open_vpi_settings _vpiTlv;
@@ -427,6 +444,7 @@ public:
     virtual int getFromDev(mfile* mf);
     virtual int setOnDev(mfile* mf, bool ignoreCheck=false);
     virtual int getDefaultParams(mfile* mf);
+    int getDefaultParamsAux(mfile* mft);
 };
 
 /*
diff --git a/mlxconfig/mlxcfg_parser.cpp b/mlxconfig/mlxcfg_parser.cpp
index 76955fe..3a86e3d 100644
--- a/mlxconfig/mlxcfg_parser.cpp
+++ b/mlxconfig/mlxcfg_parser.cpp
@@ -79,7 +79,7 @@ void MlxCfg::printHelp()
 {
     // print opening
     printf(IDENT"NAME:\n"
-           IDENT2   MLXCFG_NAME"\n"
+           IDENT2   MLXCFG_NAME "\n"
            IDENT"SYNOPSIS:\n"
            IDENT2    MLXCFG_NAME " [Options] <Commands> [Parameters]\n");
 
@@ -91,7 +91,7 @@ void MlxCfg::printHelp()
     printFlagLine("f", "file", "conf_file", "raw configuration file.");
     printFlagLine("h", "help", "", "Display help message.");
     printFlagLine("v", "version", "", "Display version info.");
-    printFlagLine("e", "show_default", "", "Show default configurations.");
+    printFlagLine("e", "enable_verbosity", "", "Show default and current configurations.");
     printFlagLine("y", "yes", "", "Answer yes in prompt.");
     printFlagLine("a", "all_attrs", "", "Show all attributes in the XML template");
 
@@ -100,7 +100,7 @@ void MlxCfg::printHelp()
     printf(IDENT"COMMANDS:\n");
     printf(IDENT2"%-24s : %s\n","clear_semaphore", "clear the tool semaphore.");
     printf(IDENT2"%-24s : %s\n","i[show_confs]", "display informations about all configurations.");
-    printf(IDENT2"%-24s : %s\n","q[uery]", "query current supported configurations.");
+    printf(IDENT2"%-24s : %s\n","q[uery]", "query supported configurations.");
     printf(IDENT2"%-24s : %s\n","r[eset]", "reset all configurations to their default value.");
     printf(IDENT2"%-24s : %s\n","s[et]", "set configurations to a specific device.");
     printf(IDENT2"%-24s : %s\n","set_raw", "set raw configuration file.(only "  FIFTH_GENERATION_LIST ".)");
@@ -121,14 +121,14 @@ void MlxCfg::printHelp()
     // print usage examples
     printf("\n");
     printf(IDENT"Examples:\n");
-    printf(IDENT2"%-35s: %s\n", "To query current configuration", MLXCFG_NAME " -d " MST_DEV_EXAMPLE " query");
+    printf(IDENT2"%-35s: %s\n", "To query configurations", MLXCFG_NAME " -d " MST_DEV_EXAMPLE " query");
     printf(IDENT2"%-35s: %s\n", "To set configuration", MLXCFG_NAME " -d " MST_DEV_EXAMPLE " set SRIOV_EN=1 NUM_OF_VFS=16 WOL_MAGIC_EN_P1=1");
     printf(IDENT2"%-35s: %s\n", "To set raw configuration", MLXCFG_NAME " -d " MST_DEV_EXAMPLE2 " -f conf_file set_raw");
     printf(IDENT2"%-35s: %s\n", "To reset configuration", MLXCFG_NAME " -d " MST_DEV_EXAMPLE " reset");
     printf("\n");
     printf(IDENT"Supported devices:\n");
     printf(IDENT2"4th Generation devices: ConnectX3, ConnectX3-Pro (FW 2.31.5000 and above).\n");
-    printf(IDENT2"5th Generation devices: ConnectIB, ConnectX4, ConnectX4-LX.\n");
+    printf(IDENT2"5th Generation devices: ConnectIB, ConnectX4, ConnectX4-LX, ConnectX5.\n");
     printf("\n");
     printf(IDENT"Note: query device to view supported configurations by Firmware.\n");
     printf("\n");
@@ -263,8 +263,8 @@ mlxCfgStatus MlxCfg::parseArgs(int argc, char* argv[])
                 return err(true, "missing file name");
             }
             _mlxParams.rawTlvFile = argv[i];
-        } else if (arg == "-e" || arg == "--show_default") {
-            _mlxParams.showDefault = true;
+        } else if (arg == "-e" || arg == "--enable_verbosity") {
+            _mlxParams.enableVerbosity = true;
         } else if (arg == "-a" || arg == "--all_attrs") {
             _mlxParams.allAttrs = true;
         } else if (arg == "set" || arg == "s") {
@@ -319,7 +319,7 @@ mlxCfgStatus MlxCfg::parseArgs(int argc, char* argv[])
         return err(true, "missing configuration arguments. For more information please run " MLXCFG_NAME " -h|--help.");
     }
     if (i != argc && (_mlxParams.cmd == Mc_Reset || _mlxParams.cmd == Mc_Query)) {
-        return err(true, "%s command expects no argument but %d argument recieved", (_mlxParams.cmd == Mc_Reset) ? "reset" : "query", argc -i);
+        return err(true, "%s command expects no argument but %d argument received", (_mlxParams.cmd == Mc_Reset) ? "reset" : "query", argc -i);
     }
     if ((_mlxParams.cmd == Mc_Set || _mlxParams.cmd == Mc_Clr_Sem || _mlxParams.cmd == Mc_Set_Raw || _mlxParams.cmd == Mc_Backup || _mlxParams.cmd == Mc_ShowConfs) && _mlxParams.device.length() == 0) {
         return err(true, "%s command expects device to be specified.",
@@ -352,8 +352,6 @@ mlxCfgStatus MlxCfg::parseArgs(int argc, char* argv[])
         }
         return extractNVOutputFile(argc-i-1, &(argv[i+1]));
     }
-
-
     return extractCfgArgs(argc-i, &(argv[i]));
 }
 
diff --git a/mlxconfig/mlxcfg_tlv.cpp b/mlxconfig/mlxcfg_tlv.cpp
index be0ca84..da80681 100644
--- a/mlxconfig/mlxcfg_tlv.cpp
+++ b/mlxconfig/mlxcfg_tlv.cpp
@@ -136,6 +136,8 @@ TLVConf::TLVConf(int columnsCount, char **dataRow, char **headerRow) :
     }
     _attrs[OVR_EN_ATTR]="1";
     _attrs[RD_EN_ATTR]="1";
+
+    _buff.resize(_size, 0);
 }
 
 void TLVConf::getView(TLVConfView& tlvConfView) {
@@ -311,10 +313,10 @@ bool TLVConf::checkParamValidBit(Param* p) {
 }
 
 void TLVConf::mnva(mfile* mf, u_int8_t* buff, u_int16_t len, u_int32_t type,
-        reg_access_method_t method, bool getDefault) {
+        reg_access_method_t method, QueryType qT) {
     bool isSet = (method == REG_ACCESS_METHOD_SET);
     MError mRc = mnvaCom5thGen(mf, buff, len, type,
-            method, getDefault);
+            method, qT);
     if (mRc) {
         //Todo: ask for this check:
         if (mRc != ME_REG_ACCESS_RES_NOT_AVLBL || isSet) {
@@ -338,12 +340,13 @@ void TLVConf::parseParamValue(string paramMlxconfigName, string valToParse, u_in
     p->parseValue(valToParse, val, strVal);
 }
 
-vector<pair<ParamView, string> > TLVConf::query(mfile* mf, bool getDefault) {
+vector<pair<ParamView, string> > TLVConf::query(mfile* mf, QueryType qT) {
     bool defaultQueried = false;
+    bool getDefault = (qT == QueryDefault);
     vector<pair<ParamView, string> > queryResult;
-    vector<u_int8_t> buff(_size, 0), defaultBuff(_size, 0);
+    vector<u_int8_t> defaultBuff(_size, 0);
 
-    mnva(mf, buff.data(), _size, getTlvTypeBe(), REG_ACCESS_METHOD_GET, getDefault);
+    mnva(mf, _buff.data(), _size, getTlvTypeBe(), REG_ACCESS_METHOD_GET, qT);
     //convert buff to le (TODO: ask Dan if tlv size is dw aligned)
     /*for(unsigned int i = 0; i < buff.size() / 4; i++){
         ((u_int32_t*)buff.data())[i] =
@@ -351,14 +354,14 @@ vector<pair<ParamView, string> > TLVConf::query(mfile* mf, bool getDefault) {
                         __be32_to_cpu(((u_int32_t*)buff.data())[i]));
     }*/
 
-    unpack(buff.data());
+    unpack(_buff.data());
 
     VECTOR_ITERATOR(Param*, _params, it) {
         ParamView paramView;
         Param* p = *(it);
         if (!getDefault && !checkParamValidBit(p)) {//then take default value
             if(!defaultQueried) {
-                mnva(mf, defaultBuff.data(), _size, getTlvTypeBe(), REG_ACCESS_METHOD_GET, true);
+                mnva(mf, defaultBuff.data(), _size, getTlvTypeBe(), REG_ACCESS_METHOD_GET, QueryDefault);
                 defaultQueried = true;
             }
             p->unpack(defaultBuff.data());
@@ -413,6 +416,8 @@ TLVTarget TLVConf::str2TLVTarget(char *s)
         return NIC;
     } else if(strcmp(s, "EXP_ROM") == 0){
         return EXP_ROM;
+    } else if (strcmp(s, "NIC-internal") == 0) {
+        return NIC_INTERNAL;
     }
     throw MlxcfgException("Unknown target '%s'", s);
 }
@@ -644,9 +649,8 @@ void TLVConf::checkRules(vector<TLVConf*> ruleTLVs) {
 }
 
 void TLVConf::setOnDevice(mfile* mf) {
-    vector<u_int8_t> buff(_size, 0);
-    pack(buff.data());
-    mnva(mf, buff.data(), _size, getTlvTypeBe(), REG_ACCESS_METHOD_SET);
+    pack(_buff.data());
+    mnva(mf, _buff.data(), _size, getTlvTypeBe(), REG_ACCESS_METHOD_SET);
 }
 
 void TLVConf::getRuleTLVs(std::set<string>& result) {
diff --git a/mlxconfig/mlxcfg_tlv.h b/mlxconfig/mlxcfg_tlv.h
index c1b1912..cb12bba 100644
--- a/mlxconfig/mlxcfg_tlv.h
+++ b/mlxconfig/mlxcfg_tlv.h
@@ -57,8 +57,8 @@
 
 enum TLVTarget {
     NIC,
-    EXP_ROM
-    //TODO what about NIC_internal
+    EXP_ROM,
+    NIC_INTERNAL
 };
 
 enum TLVClass {
@@ -89,7 +89,7 @@ class TLVConf {
         u_int32_t getPerHostFunctionTypeBe();
         u_int32_t getTlvTypeBe();
         void mnva(mfile* mf, u_int8_t* buff, u_int16_t len, u_int32_t type,
-                reg_access_method_t method, bool getDefault=false);
+                reg_access_method_t method, QueryType qT = QueryNext);
         static TLVTarget str2TLVTarget(char *s);
         static TLVClass str2TLVClass(char *s);
 
@@ -107,6 +107,7 @@ class TLVConf {
         u_int8_t _port;
         bool _alreadyQueried;
         map<string,string> _attrs;
+        vector<u_int8_t> _buff;
 
         TLVConf(int columnsCount, char **dataRow, char **headerRow);
 
@@ -115,7 +116,7 @@ class TLVConf {
         bool isFWSupported(mfile* mf, bool read_write);
         Param* getValidBitParam(std::string n);
         bool checkParamValidBit(Param* p);
-        std::vector<std::pair<ParamView, std::string> > query(mfile* mf, bool getDefault);
+        std::vector<std::pair<ParamView, std::string> > query(mfile* mf, QueryType qT);
         void updateParamByMlxconfigName(std::string param, std::string val);
         void updateParamByName(string param, string val);
         u_int32_t getParamValueByName(std::string n);
diff --git a/mlxconfig/mlxcfg_ui.cpp b/mlxconfig/mlxcfg_ui.cpp
index cb9d565..6ce17e4 100644
--- a/mlxconfig/mlxcfg_ui.cpp
+++ b/mlxconfig/mlxcfg_ui.cpp
@@ -47,6 +47,8 @@
 #include "mlxcfg_utils.h"
 #include "mlxcfg_generic_commander.h"
 
+#define NEXT_STR "Next Boot"
+#define DEFAULT_CURRENT_NOT_SUPPORTED_PREFIX "Device Firmware does not support reading "
 #define TLV_NAME_MAX_LENGTH 256
 #define EXIT_IF_RC_NOT_OK(rc) \
     if (rc != MLX_CFG_OK) {\
@@ -139,6 +141,8 @@ void initHandler()
 
 typedef struct QueryOutputItem {
     string mlxconfigName;
+    u_int32_t nextVal;
+    string strNextVal;
     u_int32_t currVal;
     string strCurrVal;
     u_int32_t defVal;
@@ -147,16 +151,18 @@ typedef struct QueryOutputItem {
     string strSetVal;
 } QueryOutputItem;
 
-inline void copyCurr(QueryOutputItem&o , const ParamView& p)
+inline void copyVal(QueryOutputItem&o , const ParamView& p, QueryType qT)
 {
-    o.currVal = p.val;
-    o.strCurrVal = p.strVal;
-}
-
-inline void copyDef(QueryOutputItem&o , const ParamView& p)
-{
-    o.defVal = p.val;
-    o.strDefVal = p.strVal;
+    if (qT == QueryDefault) {
+        o.defVal = p.val;
+        o.strDefVal = p.strVal;
+    } else if (qT == QueryCurrent) {
+        o.currVal = p.val;
+        o.strCurrVal = p.strVal;
+    } else if (qT == QueryNext) {
+        o.nextVal = p.val;
+        o.strNextVal = p.strVal;
+    }
 }
 
 inline void copySet(QueryOutputItem&o , const ParamView& p)
@@ -278,24 +284,31 @@ static void printParam(string param, u_int32_t val)
     return;
 }
 
-static void printOneParam(const char* name, u_int32_t currVal, string currStrVal, bool showDefault=false, u_int32_t defaultVal=MLXCFG_UNKNOWN,
-        string defaultStrVal="MLXCFG_UNKNOWN", bool printNewCfg=false, u_int32_t newVal=MLXCFG_UNKNOWN, string newStrVal= "MLXCFG_UNKNOWN")
+static void printOneParam(const char* name, QueryOutputItem o,
+        u_int8_t verbose, bool printNewCfg)
 {
-    if (showDefault && currVal != defaultVal) {
+    bool showDefault = QUERY_DEFAULT_MASK & verbose;
+    bool showCurrent = QUERY_CURRENT_MASK & verbose;
+
+    if ((showDefault && o.nextVal != o.defVal) ||
+            (showCurrent && o.nextVal != o.currVal)) {
         printf("*        %-36s", name);
     } else {
         printf("         %-36s", name);
     }
     if (showDefault) {
-        printParam(defaultStrVal, defaultVal);
+        printParam(o.strDefVal, o.defVal);
+    }
+    if (showCurrent) {
+        printParam(o.strCurrVal, o.currVal);
     }
-    printParam(currStrVal, currVal);
+    printParam(o.strNextVal, o.nextVal);
 
     if (printNewCfg) {
-        if (newVal == MLXCFG_UNKNOWN) {
-            printParam(currStrVal, currVal);
+        if (o.setVal == MLXCFG_UNKNOWN) {
+            printParam(o.strNextVal, o.nextVal);
         } else {
-            printValue(newStrVal, newVal);
+            printValue(o.strSetVal, o.setVal);
         }
     }
     printf("\n");
@@ -332,16 +345,25 @@ void MlxCfg::printOpening(const char* dev, int devIndex)
     //printf("%-16s%-16s\n", "Psid:", "78901111");
 }
 
-void MlxCfg::printConfHeader(bool showDefualt, bool showNew)
+void MlxCfg::printConfHeader(bool showDefualt, bool showNew, bool showCurrent)
 {
     //print configuration Header
     if (showDefualt) {
-        printf("%-16s%36s%16s","Configurations:","Default","Current");
+        if (showCurrent) {
+            printf("%-16s%36s%16s%18s","Configurations:","Default","Current",
+                    NEXT_STR);
+        } else {
+            printf("%-16s%36s%18s","Configurations:","Default", NEXT_STR);
+        }
     } else {
-        printf("%-16s%36s","Configurations:","Current");
+        if (showCurrent) {
+            printf("%-16s%36s%18s","Configurations:","Current", NEXT_STR);
+        } else {
+            printf("%-16s%38s","Configurations:", NEXT_STR);
+        }
     }
     if (showNew) {
-        printf("         %s", "New");
+        printf("       %s", "New");
     }
 }
 
@@ -351,24 +373,22 @@ void prepareSetInput(vector<QueryOutputItem>& output,
     VECTOR_ITERATOR(ParamView, params, p) {
         QueryOutputItem o;
         o.mlxconfigName = p->mlxconfigName;
+        o.defVal = MLXCFG_UNKNOWN;
+        o.currVal = MLXCFG_UNKNOWN;
+        o.nextVal = MLXCFG_UNKNOWN;
         copySet(o, *p);
         output.push_back(o);
     }
 }
 
 void prepareQueryOutput(vector<QueryOutputItem>& output,
-        vector<ParamView>& params, bool isDefault)
+        vector<ParamView>& params, QueryType qT)
 {
     VECTOR_ITERATOR(ParamView, params, p) {
         bool found = false;
         VECTOR_ITERATOR(QueryOutputItem, output, o) {
             if (p->mlxconfigName == o->mlxconfigName) {
-                if(isDefault) {
-                    copyDef(*o, *p);
-                    o->currVal = MLXCFG_UNKNOWN;
-                } else {
-                    copyCurr(*o, *p);
-                }
+                copyVal(*o, *p, qT);
                 found = true;
                 break;
             }
@@ -376,26 +396,23 @@ void prepareQueryOutput(vector<QueryOutputItem>& output,
         if(!found) {
             QueryOutputItem o;
             o.mlxconfigName = p->mlxconfigName;
-            if (isDefault) {
-                copyDef(o, *p);
-                o.currVal = MLXCFG_UNKNOWN;
-            } else {
-                copyCurr(o, *p);
-            }
+            o.defVal = MLXCFG_UNKNOWN;
+            o.currVal = MLXCFG_UNKNOWN;
+            o.nextVal = MLXCFG_UNKNOWN;
+            copyVal(o, *p, qT);
             output.push_back(o);
         }
     }
 }
 
 void queryAux(Commander* commander, vector<ParamView>& params,
-        vector<ParamView>& setParams, bool isSetCmd, bool isDefault)
+        vector<ParamView>& setParams, bool isSetCmd, QueryType qT)
 {
     if (isSetCmd) {
         params = setParams;
-        commander->queryParamViews(params,
-                isDefault ? QueryDefault : QueryNext);
+        commander->queryParamViews(params, qT);
     } else {
-        commander->queryAll(params, isDefault ? QueryDefault : QueryNext);
+        commander->queryAll(params, qT);
     }
 }
 
@@ -404,54 +421,88 @@ mlxCfgStatus MlxCfg::queryDevCfg(Commander* commander, const char* dev,const cha
 {
     (void) pci;
     std::vector<QueryOutputItem> output;
-    std::vector<ParamView> params, defaultParams;
+    std::vector<ParamView> params, defaultParams, currentParams;
     bool failedToGetCfg = false, isParamsDiffer = false;
+    bool defaultSupported = false, currentSupported = false;
+    bool showDefault = false, showCurrent = false;
 
     printOpening(dev, devIndex);
     printf("\n");
 
-    printConfHeader(_mlxParams.showDefault, printNewCfg);
-    printf("\n");
-
     try {
-        if(printNewCfg) {
+
+        if (_mlxParams.enableVerbosity) {
+            if (commander->isDefaultSupported()) {
+                defaultSupported = true;
+            }
+            if (commander->isCurrentSupported()) {
+                currentSupported = true;
+            }
+        }
+
+        showDefault = defaultSupported;
+        showCurrent = currentSupported;
+
+        printConfHeader(showDefault, printNewCfg, showCurrent);
+        printf("\n");
+
+        if (printNewCfg) {
             VECTOR_ITERATOR(ParamView, _mlxParams.setParams, p) {
                 commander->updateParamViewValue(*p, p->setVal);
             }
             prepareSetInput(output, _mlxParams.setParams);
         }
 
-        if (_mlxParams.showDefault){
-            if(!commander->isDefaultSupported()) {
-                return err(false,
-                        "Firmware does not support querying default configurations");
-            }
+        if (showDefault) {
             queryAux(commander, defaultParams, _mlxParams.setParams,
-                    printNewCfg, true);
+                    printNewCfg, QueryDefault);
+        }
+        if (showCurrent) {
+            queryAux(commander, currentParams, _mlxParams.setParams,
+                    printNewCfg, QueryCurrent);
         }
-        queryAux(commander, params, _mlxParams.setParams, printNewCfg, false);
+        queryAux(commander, params, _mlxParams.setParams, printNewCfg, QueryNext);
     } catch (MlxcfgException& e) {
         err(false, "%s", e._err.c_str());
         return MLX_CFG_ERROR_EXIT;
     }
 
-    if (_mlxParams.showDefault){
-        prepareQueryOutput(output, defaultParams, true);
+    if (showDefault) {
+        prepareQueryOutput(output, defaultParams, QueryDefault);
     }
-    prepareQueryOutput(output, params, false);
+    if (showCurrent) {
+        prepareQueryOutput(output, currentParams, QueryCurrent);
+    }
+    prepareQueryOutput(output, params, QueryNext);
     
     //print output table:
     VECTOR_ITERATOR(QueryOutputItem, output, o) {
         printOneParam(o->mlxconfigName.c_str(),
-                o->currVal, o->strCurrVal,
-                _mlxParams.showDefault, o->defVal, o->strDefVal,
-                printNewCfg, o->setVal, o->strSetVal);
-        isParamsDiffer |= (o->currVal != o->defVal);
-    }
-
-    if(_mlxParams.showDefault && isParamsDiffer) {
-        printf("The '*' shows parameters with current value different "
-                "from default value.\n");
+                *o,
+                QUERY_NEXT_MASK |
+                    (showDefault ? QUERY_DEFAULT_MASK :0) |
+                    (showCurrent ? QUERY_CURRENT_MASK : 0),
+                printNewCfg);
+        isParamsDiffer |= (showDefault && (o->nextVal != o->defVal))
+                || (showCurrent && (o->nextVal != o->currVal));
+    }
+
+    if (isParamsDiffer) {
+        printf("The '*' shows parameters with next value different "
+                "from default/current value.\n");
+    }
+
+    if (_mlxParams.enableVerbosity) {
+        if (!defaultSupported && !currentSupported) {
+            printf(DEFAULT_CURRENT_NOT_SUPPORTED_PREFIX
+                    "default and current configurations\n");
+        } else if (!defaultSupported) {
+            printf(DEFAULT_CURRENT_NOT_SUPPORTED_PREFIX
+                    "default configurations\n");
+        } else if (!currentSupported) {
+            printf(DEFAULT_CURRENT_NOT_SUPPORTED_PREFIX
+                    "current configurations\n");
+        }
     }
 
     if (params.size() == 0) {
@@ -640,7 +691,7 @@ mlxCfgStatus MlxCfg::setDevRawCfg()
         int lineIdx = 1;
         for (std::string line; std::getline(ifs, line); lineIdx++) {
             std::vector<u_int32_t> rawTlvVec;
-            if (line[0] == '%') { // comment - skip
+            if (line.empty() || line[0] == '%') { // comment - skip
                 continue;
             }
             // convert line to DW
@@ -683,12 +734,12 @@ mlxCfgStatus MlxCfg::backupCfg()
 {
     FILE * file;
     Commander* commander = NULL;
-    vector<pair<u_int32_t, vector<u_int8_t> > > cfgsMap;
+    vector<BackupView> views;
 
     try {
         commander = Commander::create(_mlxParams.device, _mlxParams.dbName);
         printf("Collecting...\n");
-        commander->backupCfgs(cfgsMap);
+        commander->backupCfgs(views);
         delete commander;
     } catch(MlxcfgException& e) {
         printf(" Failed!\n");
@@ -698,28 +749,38 @@ mlxCfgStatus MlxCfg::backupCfg()
         return err(true, "Failed to backup the configurations: %s", e._err.c_str());
     }
 
-    // open file
-    printf("Saving output...\n");
-    file = fopen(_mlxParams.rawTlvFile.c_str(), "w");
-    if (file == NULL) {
-        return err(true, "Failed to open file: %s", _mlxParams.rawTlvFile.c_str());
-    }
-
-    fprintf(file, "%s\n", MLNX_RAW_TLV_FILE_SIG);
+    //check if views empty
+    if (views.empty()) {
+        printf("No TLVs were found.\n");
+    } else {
+        // open file
+        printf("Saving output...\n");
+        file = fopen(_mlxParams.rawTlvFile.c_str(), "w");
+        if (file == NULL) {
+            return err(true, "Failed to open file: %s", _mlxParams.rawTlvFile.c_str());
+        }
 
-    for(std::vector<pair<u_int32_t, vector<u_int8_t> > >::iterator it = cfgsMap.begin();
-            it != cfgsMap.end(); it++) {
-        fprintf(file, "%% TLV Type: 0x%08x\n", it->first);
-        vector<u_int8_t> v = it->second;
-        for(size_t i = 0; i < v.size() / 4; i++) {
-            fprintf(file, "0x%08x ", __cpu_to_be32(((u_int32_t*)v.data())[i]));
+        fprintf(file, "%s\n", MLNX_RAW_TLV_FILE_SIG);
+
+        for(std::vector<BackupView>::iterator it = views.begin();
+                it != views.end(); it++) {
+            fprintf(file, "%% TLV Type: 0x%08x, Writer ID: %s(0x%02x)"
+                    ", Writer Host ID: 0x%02x\n",
+                    it->type,
+                    writerIdToStr((WriterId)(it->writerId)).c_str(),
+                    it->writerId,
+                    it->writerHostId);
+            vector<u_int8_t> v = it->tlvBin;
+            for(size_t i = 0; i < v.size() / 4; i++) {
+                fprintf(file, "0x%08x ", __cpu_to_be32(((u_int32_t*)v.data())[i]));
+            }
+            fprintf(file, "\n");
         }
-        fprintf(file, "\n");
-    }
 
-    fclose(file);
+        fclose(file);
 
-    printf("Done!\n");
+        printf("Done!\n");
+    }
     return MLX_CFG_OK;
 }
 
@@ -979,7 +1040,12 @@ mlxCfgStatus MlxCfg::raw2XMLAux(bool isBin)
         if (isBin) {
             //commander.bin2XML(buff, xmlTemplate);
         } else {
-            commander.raw2XML(lines, xmlTemplate);
+            if (lines.size() == 0) {
+                fprintf(stderr, "-E- Empty file was provided\n");
+                rc = MLX_CFG_ERROR;
+            } else {
+                commander.raw2XML(lines, xmlTemplate);
+            }
         }
     } catch(MlxcfgException& e) {
         printf("-E- %s\n", e._err.c_str());
diff --git a/mlxconfig/mlxcfg_ui.h b/mlxconfig/mlxcfg_ui.h
index 4cfd68a..6e094c0 100644
--- a/mlxconfig/mlxcfg_ui.h
+++ b/mlxconfig/mlxcfg_ui.h
@@ -68,7 +68,7 @@ class MlxCfgParams
 public:
     MlxCfgParams() : device(), rawTlvFile(), NVInputFile(), NVOutputFile(),
                      dbName(DB_NAME), allAttrs(false), cmd(Mc_UnknownCmd),
-                     yes(false), force(false), showDefault(false) {}
+                     yes(false), force(false), enableVerbosity(false) {}
     ~MlxCfgParams() {}
 
     std::string device;
@@ -81,7 +81,7 @@ public:
     bool yes;
     std::vector<ParamView> setParams;
     bool force;// ignore parameter checks
-    bool showDefault;
+    bool enableVerbosity;
 
 };
 
@@ -99,7 +99,7 @@ private:
     void printVersion();
     void printUsage();
     void printOpening(const char* dev, int devIndex);
-    void printConfHeader(bool showDefualt, bool showNew);
+    void printConfHeader(bool showDefualt, bool showNew, bool showCurrent);
     mlxCfgStatus parseArgs(int argc, char* argv[]);
     //Helper functions for parse args
     mlxCfgStatus extractNVInputFile(int argc, char* argv[]);
diff --git a/mlxconfig/mlxcfg_utils.cpp b/mlxconfig/mlxcfg_utils.cpp
index a9b558f..8b6d7db 100644
--- a/mlxconfig/mlxcfg_utils.cpp
+++ b/mlxconfig/mlxcfg_utils.cpp
@@ -56,7 +56,7 @@ void dealWithSignal()
     int sig;
     sig = mft_signal_is_fired();
     if (sig) {
-        // reset recieved signal
+        // reset received signal
         mft_signal_set_fired(0);
         // retore prev handler
         mft_signal_set_handling(0);
@@ -68,7 +68,7 @@ void dealWithSignal()
 }
 
 MError mnvaCom5thGen(mfile* mf, u_int8_t* buff, u_int16_t len, u_int32_t tlvType,
-        reg_access_method_t method, bool getDefault)
+        reg_access_method_t method, QueryType qT)
 {
     struct tools_open_nvda mnvaTlv;
     memset(&mnvaTlv, 0, sizeof(struct tools_open_nvda));
@@ -76,8 +76,11 @@ MError mnvaCom5thGen(mfile* mf, u_int8_t* buff, u_int16_t len, u_int32_t tlvType
     mnvaTlv.nv_hdr.length = len;
     mnvaTlv.nv_hdr.rd_en = 0;
     mnvaTlv.nv_hdr.over_en = 1;
-    if (getDefault) {
+    mnvaTlv.nv_hdr.writer_id = WRITER_ID_ICMD_MLXCONFIG;
+    if (qT == QueryDefault) {
         mnvaTlv.nv_hdr.default_ = 1;
+    } else if (qT == QueryCurrent) {
+        mnvaTlv.nv_hdr.read_current = 1;
     }
     // tlvType should be in the correct endianess
     mnvaTlv.nv_hdr.type.tlv_type_dw.tlv_type_dw =  __be32_to_cpu(tlvType);
@@ -87,7 +90,7 @@ MError mnvaCom5thGen(mfile* mf, u_int8_t* buff, u_int16_t len, u_int32_t tlvType
     mft_signal_set_handling(1);
     //DEBUG_PRINT_SEND(&mnvaTlv, nvda);
     rc = reg_access_nvda(mf, method, &mnvaTlv);
-    //DEBUG_PRINT_RECIEVE(&mnvaTlv, nvda);
+    //DEBUG_PRINT_RECEIVE(&mnvaTlv, nvda);
     dealWithSignal();
     if (rc) {
         return rc;
@@ -184,6 +187,42 @@ string mlxcfg_trim(string s)
     return mlxcfg_rtrim(mlxcfg_ltrim(s));
 }
 
+string writerIdToStr(WriterId writerId)
+{
+    switch(writerId) {
+        case WRITER_ID_UNSPECIFIED:
+            return "Unspecified";
+        case WRITER_ID_CHASSIS_BMC:
+            return "Chassis BMC";
+        case WRITER_ID_MAD:
+            return "MAD";
+        case WRITER_ID_BMC:
+            return "BMC";
+        case WRITER_ID_CMD_IF:
+            return "CMD IF";
+        case WRITER_ID_ICMD:
+            return "ICMD";
+        case WRITER_ID_ICMD_UEFI_HII:
+            return "ICMD UEFI HII";
+        case WRITER_ID_ICMD_UEFI_CLP:
+            return "ICMD UEFI CLP";
+        case WRITER_ID_ICMD_FLEXBOOT:
+            return "ICMD FLEXBOOT";
+        case WRITER_ID_ICMD_MLXCONFIG:
+            return "ICMD MLXCONFIG";
+        case WRITER_ID_ICMD_USER1:
+            return "ICMD USER1";
+        case WRITER_ID_ICMD_USER2:
+            return "ICMD USER2";
+        case WRITER_ID_ICMD_MLXCONFIG_SET_RAW:
+            return "ICMD MLXCONFIG SET RAW";
+        case WRITER_ID_OTHER:
+            return "OTHER";
+        default:
+            return "Unknown";
+    }
+};
+
 MlxcfgException::MlxcfgException(const char* fmt, ...){
     char tmp[1024];
     va_list args;
diff --git a/mlxconfig/mlxcfg_utils.h b/mlxconfig/mlxcfg_utils.h
index b69153b..10757bc 100644
--- a/mlxconfig/mlxcfg_utils.h
+++ b/mlxconfig/mlxcfg_utils.h
@@ -57,10 +57,32 @@ using namespace std;
 
 enum QueryType {
     QueryNext,
-    //QueryCurrent,
+    QueryCurrent,
     QueryDefault
 };
 
+#define QUERY_NEXT_MASK (1 << QueryNext)
+#define QUERY_CURRENT_MASK (1 << QueryCurrent)
+#define QUERY_DEFAULT_MASK (1 << QueryDefault)
+
+enum WriterId {
+    WRITER_ID_UNSPECIFIED=0x0,
+    WRITER_ID_CHASSIS_BMC=0x1,
+    WRITER_ID_MAD=0x2,
+    WRITER_ID_BMC=0x3,
+    WRITER_ID_CMD_IF=0x4,
+    WRITER_ID_ICMD=0x5,
+    WRITER_ID_ICMD_UEFI_HII=0x6,
+    WRITER_ID_ICMD_UEFI_CLP=0x7,
+    WRITER_ID_ICMD_FLEXBOOT=0x8,
+    WRITER_ID_ICMD_MLXCONFIG=0x9,
+    WRITER_ID_ICMD_USER1=0xa,
+    WRITER_ID_ICMD_USER2=0xb,
+    WRITER_ID_ICMD_MLXCONFIG_SET_RAW=0xc,
+    WRITER_ID_OTHER=0x1f,
+    WRITER_ID_LAST=0x20
+};
+
 #define VECTOR_ITERATOR(t, v, i) \
     for(vector<t>::iterator i = v.begin() ; i != v.end(); ++i)
 
@@ -78,12 +100,12 @@ enum QueryType {
 # define DEBUG_PRINT_SEND(data_struct, struct_name)\
     printf("-I- Data Sent:\n");\
     tools_open_##struct_name##_print(data_struct, stdout, 1)
-# define DEBUG_PRINT_RECIEVE(data_struct, struct_name)\
-    printf("-I- Data Recieved:\n");\
+# define DEBUG_PRINT_RECEIVE(data_struct, struct_name)\
+    printf("-I- Data Received:\n");\
     tools_open_##struct_name##_print(data_struct, stdout, 1)
 #else
 # define DEBUG_PRINT_SEND(data_struct, struct_name)
-# define DEBUG_PRINT_RECIEVE(data_struct, struct_name)
+# define DEBUG_PRINT_RECEIVE(data_struct, struct_name)
 #endif
 
 #define CHECK_RC(rc)\
@@ -93,7 +115,7 @@ enum QueryType {
 
 void dealWithSignal();
 
-MError mnvaCom5thGen(mfile* mf, u_int8_t* buff, u_int16_t len, u_int32_t tlvType, reg_access_method_t method, bool getDefault=false);
+MError mnvaCom5thGen(mfile* mf, u_int8_t* buff, u_int16_t len, u_int32_t tlvType, reg_access_method_t method, QueryType qT = QueryNext);
 
 MError nvqcCom5thGen(mfile* mf, u_int32_t tlvType, bool& suppRead, bool& suppWrite);
 
@@ -109,6 +131,8 @@ string mlxcfg_ltrim(string s);
 
 string mlxcfg_trim(string s);
 
+string writerIdToStr(WriterId writerId);
+
 class MlxcfgException {
 public:
     std::string _err;
diff --git a/mlxconfig/mlxcfg_view.h b/mlxconfig/mlxcfg_view.h
index 0f59434..008a766 100644
--- a/mlxconfig/mlxcfg_view.h
+++ b/mlxconfig/mlxcfg_view.h
@@ -67,4 +67,10 @@ typedef struct TLVConfView {
     std::vector<ParamView> params;
 } TLVConfView;
 
+typedef struct BackupView {
+    u_int32_t           type;
+    u_int8_t            writerId;
+    u_int8_t            writerHostId;
+    std::vector<u_int8_t>    tlvBin;
+} BackupView;
 #endif /* MLXCFG_VIEW_H_ */
diff --git a/mlxconfig/mlxconfig_dbs/Makefile.am b/mlxconfig/mlxconfig_dbs/Makefile.am
index 2a1ea39..91b6ec2 100755
--- a/mlxconfig/mlxconfig_dbs/Makefile.am
+++ b/mlxconfig/mlxconfig_dbs/Makefile.am
@@ -1,14 +1,33 @@
 #--
-#                 - Mellanox Confidential and Proprietary -
-# 
-# Copyright (C) Jan 2013, Mellanox Technologies Ltd.  ALL RIGHTS RESERVED.
-# 
-# Except as specifically permitted herein, no portion of the information,
-# including but not limited to object code and source code, may be reproduced,
-# modified, distributed, republished or otherwise exploited in any form or by
-# any means for any purpose without the prior written permission of Mellanox
-# Technologies Ltd. Use of software subject to the terms and conditions
-# detailed in the file "LICENSE.txt".
+# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
+#
+# This software is available to you under a choice of one of two
+# licenses.  You may choose to be licensed under the terms of the GNU
+# General Public License (GPL) Version 2, available from the file
+# COPYING in the main directory of this source tree, or the
+# OpenIB.org BSD license below:
+#
+#     Redistribution and use in source and binary forms, with or
+#     without modification, are permitted provided that the following
+#     conditions are met:
+#
+#      - Redistributions of source code must retain the above
+#        copyright notice, this list of conditions and the following
+#        disclaimer.
+#
+#      - Redistributions in binary form must reproduce the above
+#        copyright notice, this list of conditions and the following
+#        disclaimer in the documentation and/or other materials
+#        provided with the distribution.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
 #--
 
 
diff --git a/mlxconfig/mlxconfig_dbs/Makefile.in b/mlxconfig/mlxconfig_dbs/Makefile.in
index ee42e49..8116e81 100644
--- a/mlxconfig/mlxconfig_dbs/Makefile.in
+++ b/mlxconfig/mlxconfig_dbs/Makefile.in
@@ -15,16 +15,35 @@
 @SET_MAKE@
 
 #--
-#                 - Mellanox Confidential and Proprietary -
-# 
-# Copyright (C) Jan 2013, Mellanox Technologies Ltd.  ALL RIGHTS RESERVED.
-# 
-# Except as specifically permitted herein, no portion of the information,
-# including but not limited to object code and source code, may be reproduced,
-# modified, distributed, republished or otherwise exploited in any form or by
-# any means for any purpose without the prior written permission of Mellanox
-# Technologies Ltd. Use of software subject to the terms and conditions
-# detailed in the file "LICENSE.txt".
+# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
+#
+# This software is available to you under a choice of one of two
+# licenses.  You may choose to be licensed under the terms of the GNU
+# General Public License (GPL) Version 2, available from the file
+# COPYING in the main directory of this source tree, or the
+# OpenIB.org BSD license below:
+#
+#     Redistribution and use in source and binary forms, with or
+#     without modification, are permitted provided that the following
+#     conditions are met:
+#
+#      - Redistributions of source code must retain the above
+#        copyright notice, this list of conditions and the following
+#        disclaimer.
+#
+#      - Redistributions in binary form must reproduce the above
+#        copyright notice, this list of conditions and the following
+#        disclaimer in the documentation and/or other materials
+#        provided with the distribution.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
 #--
 
 VPATH = @srcdir@
diff --git a/mlxconfig/mlxconfig_dbs/mlxconfig.db b/mlxconfig/mlxconfig_dbs/mlxconfig.db
index 9392cd8..b3f3147 100644
Binary files a/mlxconfig/mlxconfig_dbs/mlxconfig.db and b/mlxconfig/mlxconfig_dbs/mlxconfig.db differ
diff --git a/mlxfwops/lib/Makefile.am b/mlxfwops/lib/Makefile.am
index a3e5bac..47f237c 100755
--- a/mlxfwops/lib/Makefile.am
+++ b/mlxfwops/lib/Makefile.am
@@ -59,6 +59,7 @@ libmlxfwops_a_SOURCES = flint_base.cpp \
                fw_ops.cpp \
                fs2_ops.cpp fs2_ops.h \
                fs3_ops.cpp fs3_ops.h \
+               fs4_ops.cpp fs4_ops.h \
                mlxfwops.cpp mlxfwops.h \
                mlxfwops_com.h mlxfwops.h fw_ops.h flint_base.h flint_io.h\
                aux_tlv_ops.h aux_tlv_ops.cpp
diff --git a/mlxfwops/lib/Makefile.in b/mlxfwops/lib/Makefile.in
index 025e54a..5e4b6a9 100644
--- a/mlxfwops/lib/Makefile.in
+++ b/mlxfwops/lib/Makefile.in
@@ -132,7 +132,7 @@ libmlxfwops_a_AR = $(AR) $(ARFLAGS)
 libmlxfwops_a_LIBADD =
 am_libmlxfwops_a_OBJECTS = flint_base.$(OBJEXT) flint_io.$(OBJEXT) \
 	fw_ops.$(OBJEXT) fs2_ops.$(OBJEXT) fs3_ops.$(OBJEXT) \
-	mlxfwops.$(OBJEXT) aux_tlv_ops.$(OBJEXT)
+	fs4_ops.$(OBJEXT) mlxfwops.$(OBJEXT) aux_tlv_ops.$(OBJEXT)
 libmlxfwops_a_OBJECTS = $(am_libmlxfwops_a_OBJECTS)
 AM_V_P = $(am__v_P_ at AM_V@)
 am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
@@ -363,6 +363,7 @@ libmlxfwops_a_SOURCES = flint_base.cpp \
                fw_ops.cpp \
                fs2_ops.cpp fs2_ops.h \
                fs3_ops.cpp fs3_ops.h \
+               fs4_ops.cpp fs4_ops.h \
                mlxfwops.cpp mlxfwops.h \
                mlxfwops_com.h mlxfwops.h fw_ops.h flint_base.h flint_io.h\
                aux_tlv_ops.h aux_tlv_ops.cpp
@@ -421,6 +422,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/flint_io.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fs2_ops.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fs3_ops.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fs4_ops.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fw_ops.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mlxfwops.Po at am__quote@
 
diff --git a/mlxfwops/lib/aux_tlv_ops.cpp b/mlxfwops/lib/aux_tlv_ops.cpp
index a580c78..446a75f 100644
--- a/mlxfwops/lib/aux_tlv_ops.cpp
+++ b/mlxfwops/lib/aux_tlv_ops.cpp
@@ -147,6 +147,9 @@ Tlv_Status_t ImageTlvOps::init(u_int32_t startPos, bool force)
     }
     fsize = _rawFileBuff.size();
     for (long int i = startPos; i < fsize; i += 4) {
+        if ((i + 16) > fsize) {
+            break; // reached EOF
+        }
         std::vector<u_int8_t> possibleSig(_rawFileBuff.begin() + i , _rawFileBuff.begin() + i + 16);
         TOCPUn(&possibleSig[0], 4);
         if (checkSig(possibleSig)) {
@@ -339,7 +342,7 @@ Tlv_Status_t ImageTlvOps::parseTlvs()
         if (tlv.hdr.header_type == 0x0) { // only know how to deal with header of type 0x0
             // check CRC and store
             if (tlv.hdr.crc != calcTlvCrc(tlv)) {
-                return (Tlv_Status_t)errmsgWCode(TS_TLV_CRC_MISSMATCH, "Failed to parse TLVs, CRC missmatch for TLV type 0x%x", tlv.hdr.type);
+                return (Tlv_Status_t)errmsgWCode(TS_TLV_CRC_MISMATCH, "Failed to parse TLVs, CRC mismatch for TLV type 0x%x", tlv.hdr.type);
             }
             // store it
             _tlvVec.push_back(tlv);
diff --git a/mlxfwops/lib/aux_tlv_ops.h b/mlxfwops/lib/aux_tlv_ops.h
index e139d20..dde60b1 100644
--- a/mlxfwops/lib/aux_tlv_ops.h
+++ b/mlxfwops/lib/aux_tlv_ops.h
@@ -46,7 +46,7 @@ typedef enum {
     TS_OLD_TIMESTAMP,
     TS_UNSUPPORTED_ICMD_VERSION,
     // image related errors,
-    TS_TLV_CRC_MISSMATCH,
+    TS_TLV_CRC_MISMATCH,
     TS_TLV_PARSE_ERROR,
     TS_NO_TLV_SECTION_FOUND,
     TS_FAILED_TO_OPEN_FILE,
diff --git a/mlxfwops/lib/flint_base.h b/mlxfwops/lib/flint_base.h
index cb39c14..b1a9c9b 100755
--- a/mlxfwops/lib/flint_base.h
+++ b/mlxfwops/lib/flint_base.h
@@ -216,6 +216,13 @@ namespace std {}; using namespace std;
 #define FS3_BOOT_START        FS2_BOOT_START
 #define FS3_BOOT_START_IN_DW  FS3_BOOT_START/4
 
+// FS4 defines
+#define FS4_BOOT_START        0x10
+#define FS4_BOOT_START_IN_DW  FS4_BOOT_START/4
+#define FS4_BOOT2_START        0x188
+#define FS4_HW_PTR_START       0x18
+#define FS4_HW_PTR_SIZE_DW     CX5FW_HW_POINTERS_SIZE / 4
+
 #define CRC_CHECK_OLD "%s /0x%08x-0x%08x (0x%06x)/ (%s"
 
 #define MAX_NUM_SUPP_HW_IDS 200
@@ -288,6 +295,7 @@ typedef enum fs3_section {
     FS3_HW_MAIN_CFG   = 0x9,
     FS3_PHY_UC_CODE   = 0xa,
     FS3_PHY_UC_CONSTS = 0xb,
+    FS3_PHY_UC_CMD    = 0xc,
     FS3_IMAGE_INFO    = 0x10,
     FS3_FW_BOOT_CFG   = 0x11,
     FS3_FW_MAIN_CFG   = 0x12,
@@ -297,6 +305,9 @@ typedef enum fs3_section {
     // FS3_DBG_LOG_MAP = 0x30 - in practice its unused and DBG_FW_INI is found in that section instead
     FS3_DBG_FW_PARAMS = 0x32,
     FS3_FW_ADB        = 0x33,
+    FS3_IMAGE_SIGNATURE = 0xa0,
+    FS3_PUBLIC_KEYS   = 0xa1,
+    FS3_FORBIDDEN_VERSIONS = 0xa2,
     FS3_MFG_INFO      = 0xe0,
     FS3_DEV_INFO      = 0xe1,
     FS3_NV_DATA1      = 0xe2,
diff --git a/mlxfwops/lib/flint_io.cpp b/mlxfwops/lib/flint_io.cpp
index 62353a1..7781aba 100755
--- a/mlxfwops/lib/flint_io.cpp
+++ b/mlxfwops/lib/flint_io.cpp
@@ -295,7 +295,7 @@ bool FImage::getFileSize(int& fileSize)
 bool FImage::write(u_int32_t addr, void* data, int cnt)
 {
     if ( !_isFile ) {
-        return errmsg("Cannot perfrom write to file. no file specified.");
+        return errmsg("Cannot perform write to file. no file specified.");
     }
 
     if (!readWriteCommCheck(addr, 0)) {
@@ -427,7 +427,7 @@ bool Flash::read(u_int32_t addr,
 
     u_int32_t phys_addr = cont2phys(addr);
     // printf("-D- read1: addr = %#x, phys_addr = %#x\n", addr, phys_addr);
-    // here we set a "silent" signal handler and deal with the recieved signal after the read
+    // here we set a "silent" signal handler and deal with the received signal after the read
     mft_signal_set_handling(1);
     rc = mf_read(_mfl, phys_addr, 4, (u_int8_t*)data);
     deal_with_signal();
@@ -597,7 +597,7 @@ bool Flash::write  (u_int32_t addr,
     Aligner align(first_set);
     align.Init (addr, cnt);
     while (align.GetNextChunk(chunk_addr, chunk_size)) {
-        // Write / Erase in sector_size alligned chunks
+        // Write / Erase in sector_size aligned chunks
         int rc;
 
         if (!noerase) {
@@ -929,7 +929,7 @@ void Flash::deal_with_signal()
     int sig;
     sig = mft_signal_is_fired();
     if (sig) {
-        // reset recieved signal
+        // reset received signal
         mft_signal_set_fired(0);
         // retore prev handler
         mft_signal_set_handling(0);
diff --git a/mlxfwops/lib/fs2_ops.cpp b/mlxfwops/lib/fs2_ops.cpp
index 7895e12..782ab7d 100644
--- a/mlxfwops/lib/fs2_ops.cpp
+++ b/mlxfwops/lib/fs2_ops.cpp
@@ -927,7 +927,7 @@ bool Fs2Operations::Fs2FailSafeBurn(Fs2Operations &imageOps,
         }
 
         if (_fwImgInfo.cntxLog2ChunkSize != imageOps._fwImgInfo.cntxLog2ChunkSize) {
-            return errmsg(MLXFW_FS_INFO_MISSMATCH_ERR, "Failsafe chunk sizes in flash (0x%x) and in image (0x%x) are not the same.",
+            return errmsg(MLXFW_FS_INFO_MISMATCH_ERR, "Failsafe chunk sizes in flash (0x%x) and in image (0x%x) are not the same.",
                           1 << _fwImgInfo.cntxLog2ChunkSize,
                           1 << imageOps._fwImgInfo.cntxLog2ChunkSize);
         }
@@ -1416,11 +1416,11 @@ bool Fs2Operations::Fs2Burn(Fs2Operations &imageOps, ExtBurnParams& burnParams)
                                          _ioAccess->get_rev_id(),
                                          imageOps._fwImgInfo.supportedHwId,
                                          imageOps._fwImgInfo.supportedHwIdNum)) {
-                 return errmsg(MLXFW_DEVICE_IMAGE_MISSMATCH_ERR, "Device/Image mismatch: %s\n",this->err( ));
+                 return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR, "Device/Image mismatch: %s\n",this->err( ));
              }
          } else if (imageOps._fs2ImgInfo.infoOffs[II_DeviceType]) {
              if (!CheckMatchingDevId(_ioAccess->get_dev_id(), imageOps._fwImgInfo.ext_info.dev_type)) {
-                 return errmsg(MLXFW_DEVICE_IMAGE_MISSMATCH_ERR, "Device/Image mismatch: %s\n",this->err());
+                 return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR, "Device/Image mismatch: %s\n",this->err());
              }
          }
 
@@ -1824,7 +1824,7 @@ bool Fs2Operations::FwBurnRom(FImage* romImg, bool ignoreProdIdCheck, bool ignor
     u_int32_t cntx_image_num;
     FindAllImageStart(romImg, cntx_image_start, &cntx_image_num, _cntx_magic_pattern);
     if (cntx_image_num != 0) {
-        return errmsg("Expecting an expansion ROM image, Recieved Mellanox FW image.");
+        return errmsg("Expecting an expansion ROM image, Received Mellanox FW image.");
     }
 
     if (!Fs2IntQuery()) {
diff --git a/mlxfwops/lib/fs3_ops.cpp b/mlxfwops/lib/fs3_ops.cpp
index 3874a97..29f8981 100644
--- a/mlxfwops/lib/fs3_ops.cpp
+++ b/mlxfwops/lib/fs3_ops.cpp
@@ -63,6 +63,7 @@
 #define DEFAULT_GUID_NUM 0xff
 #define DEFAULT_STEP DEFAULT_GUID_NUM
 
+
 //fs4 use the same itoc signatures, please double check
 const u_int32_t Fs3Operations::_itocSignature[4] = {
         ITOC_ASCII,   // Ascii of "MTFW"
@@ -86,6 +87,7 @@ const Fs3Operations::SectionInfo Fs3Operations::_fs3SectionsInfoArr[] = {
     {FS3_HW_MAIN_CFG,   "HW_MAIN_CFG"},
     {FS3_PHY_UC_CODE,   "PHY_UC_CODE"},
     {FS3_PHY_UC_CONSTS, "PHY_UC_CONSTS"},
+    {FS3_PHY_UC_CMD,    "PHY_UC_CMD"},
     {FS3_IMAGE_INFO,    "IMAGE_INFO"},
     {FS3_FW_BOOT_CFG,   "FW_BOOT_CFG"},
     {FS3_FW_MAIN_CFG,   "FW_MAIN_CFG"},
@@ -94,6 +96,9 @@ const Fs3Operations::SectionInfo Fs3Operations::_fs3SectionsInfoArr[] = {
     {FS3_DBG_FW_INI,    "DBG_FW_INI"},
     {FS3_DBG_FW_PARAMS, "DBG_FW_PARAMS"},
     {FS3_FW_ADB,        "FW_ADB"},
+    {FS3_IMAGE_SIGNATURE, "IMAGE_SIGNATURE"},
+    {FS3_PUBLIC_KEYS,   "PUBLIC_KEYS"},
+    {FS3_FORBIDDEN_VERSIONS, "FORBIDDEN_VERSIONS"},
 
     {FS3_MFG_INFO,      MFG_INFO},
     {FS3_DEV_INFO,      "DEV_INFO"},
@@ -233,6 +238,9 @@ bool Fs3Operations::GetImageInfo(u_int8_t *buff)
     cibfw_image_info_unpack(&image_info, buff);
     // cibfw_image_info_dump(&image_info, stdout);
 
+    _fwImgInfo.ext_info.image_info_minor_version = image_info.minor_version;
+    _fwImgInfo.ext_info.image_info_major_version = image_info.major_version;
+
     _fwImgInfo.ext_info.fw_ver[0] = image_info.FW_VERSION.MAJOR;
     _fwImgInfo.ext_info.fw_ver[1] = image_info.FW_VERSION.MINOR;
     _fwImgInfo.ext_info.fw_ver[2] = image_info.FW_VERSION.SUBMINOR;
@@ -249,6 +257,8 @@ bool Fs3Operations::GetImageInfo(u_int8_t *buff)
     memcpy(_fwImgInfo.supportedHwId, image_info.supported_hw_id, sizeof(image_info.supported_hw_id));
     _fwImgInfo.supportedHwIdNum = (sizeof(image_info.supported_hw_id))/sizeof(image_info.supported_hw_id[0]);
 
+    _fwImgInfo.ext_info.pci_device_id = image_info.pci_device_id;
+
     strcpy(_fs3ImgInfo.ext_info.image_vsd, image_info.vsd);
     strcpy(_fwImgInfo.ext_info.psid, image_info.psid);
     strcpy(_fwImgInfo.ext_info.product_ver, image_info.prod_ver);
@@ -351,7 +361,7 @@ bool Fs3Operations::IsFs3SectionReadable(u_int8_t type, QueryOptions queryOption
             return false;
         }
         if (queryOptions.quickQuery) {
-            if ( IsGetInfoSupported(type)) {
+            if (IsGetInfoSupported(type)) {
                 return true;
             }
             return false;
@@ -424,7 +434,7 @@ bool Fs3Operations::VerifyTOC(u_int32_t dtoc_addr, bool& bad_signature, VerifyCa
                 } else {
                     phys_addr = _ioAccess->get_phys_from_cont(flash_addr, _fwImgInfo.cntxLog2ChunkSize, _fwImgInfo.imgStart != 0);
                     u_int32_t currSizeOfImgdata = phys_addr + entry_size_in_bytes;
-                    _fs3ImgInfo.sizeOfImgData = (_fs3ImgInfo.sizeOfImgData > currSizeOfImgdata) ? _fs3ImgInfo.sizeOfImgData : phys_addr;
+                    _fs3ImgInfo.sizeOfImgData = (_fs3ImgInfo.sizeOfImgData > currSizeOfImgdata) ? _fs3ImgInfo.sizeOfImgData : currSizeOfImgdata;
                 }
                 section_last_addr = phys_addr + entry_size_in_bytes;
                 _fwImgInfo.lastImageAddr = (_fwImgInfo.lastImageAddr >= section_last_addr) ? _fwImgInfo.lastImageAddr : section_last_addr;
@@ -636,6 +646,11 @@ bool Fs3Operations::FsIntQueryAux(bool readRom, bool quickQuery)
         }
         _fwImgInfo.ext_info.dev_type = swId[0];
     }
+    if (FwType() == FIT_FS4 &&
+            _fwImgInfo.ext_info.image_info_minor_version >= 3 &&
+            _fwImgInfo.ext_info.pci_device_id != 0) {
+        _fwImgInfo.ext_info.dev_type = _fwImgInfo.ext_info.pci_device_id;
+    }
     return true;
 }
 
@@ -704,7 +719,7 @@ bool Fs3Operations::UpdateDevDataITOC(Fs3Operations &imageOps, struct toc_info *
             if ( (flash_toc_entry->device_data != image_toc_entry->device_data) || \
                  (flash_toc_entry->no_crc != image_toc_entry->no_crc) || \
                  (flash_toc_entry->relative_addr != image_toc_entry->relative_addr)) {
-                    return errmsg(MLXFW_DEVICE_IMAGE_MISSMATCH_ERR, "An inconsistency was found in %s section attributes. %s ITOC attribute differs",\
+                    return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR, "An inconsistency was found in %s section attributes. %s ITOC attribute differs",\
                             GetSectionNameByType(image_toc_entry->type), GET_DIFFER_STR(flash_toc_entry, image_toc_entry));
             }
             // replace itoc entry in the image
@@ -927,10 +942,10 @@ bool Fs3Operations::FsBurnAux(FwOperations *imgops, ExtBurnParams& burnParams)
                                          _ioAccess->get_rev_id(),
                                          imageOps._fwImgInfo.supportedHwId,
                                          imageOps._fwImgInfo.supportedHwIdNum)) {
-                 return errmsg(MLXFW_DEVICE_IMAGE_MISSMATCH_ERR, "Device/Image mismatch: %s\n",this->err( ));
+                 return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR, "Device/Image mismatch: %s\n",this->err( ));
              }
          } else { // no suppored hw ids (problem with the image ?)
-             return errmsg(MLXFW_DEVICE_IMAGE_MISSMATCH_ERR, "No supported devices were found in the FW image.");
+             return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR, "No supported devices were found in the FW image.");
          }
     }
 
@@ -988,8 +1003,7 @@ bool Fs3Operations::FsBurnAux(FwOperations *imgops, ExtBurnParams& burnParams)
         }
 
         // ROM patchs
-        if (((burnParams.burnRomOptions == ExtBurnParams::BRO_FROM_DEV_IF_EXIST) && (_fwImgInfo.ext_info.roms_info.exp_rom_found)) || // There is ROM in device and user choses to keep it
-                ((burnParams.burnRomOptions == ExtBurnParams::BRO_DEFAULT) && (!imageOps._fwImgInfo.ext_info.roms_info.exp_rom_found && _fwImgInfo.ext_info.roms_info.exp_rom_found))) { // No ROM in image and ROM in device
+        if ((burnParams.burnRomOptions == ExtBurnParams::BRO_FROM_DEV_IF_EXIST) && (_fwImgInfo.ext_info.roms_info.exp_rom_found)) {
             // here we should take rom from device and insert into the image
             // i.e if we have rom in image remove it and put the rom from the device else just put rom from device.
             // 1. use Fs3ModifySection to integrate _romSect buff with the image , newImageData contains the modified image buffer
@@ -999,7 +1013,6 @@ bool Fs3Operations::FsBurnAux(FwOperations *imgops, ExtBurnParams& burnParams)
                     (u_int32_t*)&romSect[0], (u_int32_t)romSect.size())) {
                 return errmsg(MLXFW_ROM_UPDATE_IN_IMAGE_ERR, "failed to update ROM in image. %s", imageOps.err());
             }
-
         }
         // image vsd patch
         if (!burnParams.useImagePs && (burnParams.vsdSpecified || burnParams.useDevImgInfo)) {
@@ -1502,22 +1515,15 @@ bool Fs3Operations::FwBurnRom(FImage* romImg, bool ignoreProdIdCheck, bool ignor
         return false;
     }
 
-    if (getInfoFromChipType(_fwImgInfo.ext_info.chip_type).chipFamilyType != CFT_HCA) {
-        return errmsg("Burn ROM is supported only for HCA devices.");
-    }
-
-    if (!ignoreProdIdCheck && strcmp(_fwImgInfo.ext_info.product_ver, "") != 0) {
-        return errmsg("The device FW contains common FW/ROM Product Version - The ROM cannot be updated separately.");
-    }
-
     if (!ignoreDevidCheck && !FwOperations::checkMatchingExpRomDevId(_fwImgInfo.ext_info.dev_type, romsInfo)) {
         return errmsg("Image file ROM: FW is for device %d, but Exp-ROM is for device %d\n", _fwImgInfo.ext_info.dev_type,
                 romsInfo.exp_rom_com_devid);
     }
-    // Burning ROM is not allowed on Device with Timestamp enabled.
-    if (DeviceTimestampEnabled()) {
-        return errmsg("A valid Timestamp was detected on device. ROM cannot be updated. reset timestamp and resume operation");
+
+    if (!RomCommonCheck(ignoreProdIdCheck, false)) {
+        return false;
     }
+
     return Fs3AddSection(FS3_ROM_CODE, FS3_PCI_CODE, romImg->getBuf(), romImg->getBufLength(), progressFunc);
 }
 
@@ -1528,21 +1534,10 @@ bool Fs3Operations::FwDeleteRom(bool ignoreProdIdCheck, ProgressCallBack progres
         return false;
     }
 
-    if (getInfoFromChipType(_fwImgInfo.ext_info.chip_type).chipFamilyType != CFT_HCA) {
-        return errmsg("Delete ROM is supported only for HCA devices.");
-    }
-
-    if (_romSect.empty()) {
-        return errmsg("The FW does not contain a ROM section");
+    if (!RomCommonCheck(ignoreProdIdCheck, true)) {
+        return false;
     }
 
-    if (!ignoreProdIdCheck && strcmp(_fwImgInfo.ext_info.product_ver, "") != 0) {
-        return errmsg("The device FW contains common FW/ROM Product Version - The ROM cannot be updated separately.");
-    }
-    // Deleting ROM is not allowed on Device with Timestamp enabled.
-    if (DeviceTimestampEnabled()) {
-        return errmsg("A valid Timestamp was detected on device. ROM cannot be updated. reset timestamp and resume operation");
-    }
     return Fs3RemoveSection(FS3_ROM_CODE, progressFunc);
 }
 
@@ -1704,7 +1699,7 @@ bool Fs3Operations::Fs3UpdateVpdSection(struct toc_info *curr_toc, char *vpd,
     }
     if (vpd_size % 4) {
         delete[] vpd_data;
-        return errmsg("Size of VPD file: %d is not 4-byte alligned!", vpd_size);
+        return errmsg("Size of VPD file: %d is not 4-byte aligned!", vpd_size);
     }
     // assuming VPD section is the last piece of Data on the flash
     if ( (_ioAccess)->is_flash() && (getAbsAddr(curr_toc) + vpd_size > (_ioAccess)->get_size())) {
@@ -1802,7 +1797,7 @@ bool Fs3Operations::Fs3ReburnItocSection(u_int32_t newSectionAddr,
     sprintf(message, "Updating %-4s section - ", msg);
     // Burn new Section
     // we pass a null callback and print the progress here as the writes are small (guids/mfg/vpd_str)
-    // in the future if we want to pass the cb prints to writeImage , need to change the signature of progressCallBack to recieve and optional string to print
+    // in the future if we want to pass the cb prints to writeImage , need to change the signature of progressCallBack to receive and optional string to print
 
     PRINT_PROGRESS(callBackFunc, message);
 
@@ -1812,7 +1807,7 @@ bool Fs3Operations::Fs3ReburnItocSection(u_int32_t newSectionAddr,
     }
     PRINT_PROGRESS(callBackFunc, (char*)"OK\n");
     // Update new ITOC section
-    if (!reburnItocSection(callBackFunc)) {
+    if (!reburnItocSection(callBackFunc, _ioAccess->is_flash())) {
     	return false;
     }
     return true;
@@ -2000,13 +1995,17 @@ bool Fs3Operations::getFirstDevDataAddr(u_int32_t& firstAddr) {
 	return true;
 }
 
-bool Fs3Operations::reburnItocSection(PrintCallBack callBackFunc) {
+bool Fs3Operations::reburnItocSection(PrintCallBack callBackFunc, bool burnFailsafe) {
 
     // HACK SHOULD BE REMOVED ASAP
     u_int32_t sector_size = FS3_DEFAULT_SECTOR_SIZE;
     // Itoc section is failsafe (two sectors after boot section are reserved for itoc entries)
     u_int32_t oldItocAddr = _fs3ImgInfo.itocAddr;
-    u_int32_t newItocAddr = (_fs3ImgInfo.firstItocIsEmpty) ? (_fs3ImgInfo.itocAddr - sector_size) :  (_fs3ImgInfo.itocAddr + sector_size);
+    u_int32_t newItocAddr = oldItocAddr;
+    if (burnFailsafe) {
+        newItocAddr = (_fs3ImgInfo.firstItocIsEmpty) ? (_fs3ImgInfo.itocAddr - sector_size) :  (_fs3ImgInfo.itocAddr + sector_size);
+    }
+
     // Update new ITOC
     u_int32_t itocSize = (_fs3ImgInfo.numOfItocs + 1 ) * CIBFW_ITOC_ENTRY_SIZE + CIBFW_ITOC_HEADER_SIZE;
     u_int8_t *p = new u_int8_t[itocSize];
@@ -2027,12 +2026,14 @@ bool Fs3Operations::reburnItocSection(PrintCallBack callBackFunc) {
     PRINT_PROGRESS(callBackFunc,(char*)"OK\n");
     u_int32_t zeros = 0;
 
-    PRINT_PROGRESS(callBackFunc,(char*)"Restoring signature   - ");
-    if (!writeImage((ProgressCallBack)NULL, oldItocAddr, (u_int8_t*)&zeros, 4, false, true)) {
-        PRINT_PROGRESS(callBackFunc,(char*)"FAILED\n");
-        return false;
+    if (burnFailsafe) {
+        PRINT_PROGRESS(callBackFunc,(char*)"Restoring signature   - ");
+        if (!writeImage((ProgressCallBack)NULL, oldItocAddr, (u_int8_t*)&zeros, 4, false, true)) {
+            PRINT_PROGRESS(callBackFunc,(char*)"FAILED\n");
+            return false;
+        }
+        PRINT_PROGRESS(callBackFunc,(char*)"OK\n");
     }
-    PRINT_PROGRESS(callBackFunc,(char*)"OK\n");
     return true;
 }
 
@@ -2456,7 +2457,7 @@ bool Fs3Operations::TestAndSetTimeStamp(Fs3Operations &imageOps)
                 // versions match allow update
                 retRc = true;
             } else {
-                retRc = errmsg("Stamped FW version missmatch: %d.%d.%04d differs from %d.%d.%04d", devFwVer.fw_ver_major,\
+                retRc = errmsg("Stamped FW version mismatch: %d.%d.%04d differs from %d.%d.%04d", devFwVer.fw_ver_major,\
                                                                                                 devFwVer.fw_ver_minor,\
                                                                                                 devFwVer.fw_ver_subminor,\
                                                                                                 imageOps._fwImgInfo.ext_info.fw_ver[0],\
@@ -2471,6 +2472,32 @@ cleanup:
     return retRc;
 }
 
+bool Fs3Operations::RomCommonCheck(bool ignoreProdIdCheck, bool checkIfRomEmpty)
+{
+    if (getInfoFromChipType(_fwImgInfo.ext_info.chip_type).chipFamilyType
+            != CFT_HCA) {
+        return errmsg("Updating ROM is supported only for HCA devices.");
+    }
+
+    if (checkIfRomEmpty && _romSect.empty()) {
+        return errmsg("The FW does not contain a ROM section");
+    }
+
+    if (!ignoreProdIdCheck &&
+            strcmp(_fwImgInfo.ext_info.product_ver, "") != 0) {
+        return errmsg("The device FW contains common FW/ROM Product Version - "
+                "The ROM cannot be updated separately.");
+    }
+
+    // Deleting ROM is not allowed on Device with Timestamp enabled.
+    if (DeviceTimestampEnabled()) {
+        return errmsg("A valid Timestamp was detected on device."
+                " ROM cannot be updated. reset timestamp and resume operation");
+    }
+
+    return true;
+}
+
 bool Fs3Operations::DeviceTimestampEnabled()
 {
     Tlv_Status_t rc;
diff --git a/mlxfwops/lib/fs3_ops.h b/mlxfwops/lib/fs3_ops.h
index 2a6d3f1..2bb8fdb 100644
--- a/mlxfwops/lib/fs3_ops.h
+++ b/mlxfwops/lib/fs3_ops.h
@@ -63,7 +63,7 @@ class Fs3Operations : public FwOperations {
 public:
 
 
-    Fs3Operations(FBase *ioAccess) : FwOperations(ioAccess),
+    Fs3Operations(FBase *ioAccess) : FwOperations(ioAccess), _imageCache(0xFF),
         _isfuSupported(false), _badDevDataSections(false), _maxImgLog2Size(0){
         _minBinMinorVer = FS3_MIN_BIN_VER_MINOR;
         _minBinMajorVer = FS3_MIN_BIN_VER_MAJOR;
@@ -136,6 +136,11 @@ protected:
     virtual bool getRunningFwVersion();
     virtual bool Fs3IsfuActivateImage(u_int32_t newImageStart);
     bool TestAndSetTimeStamp(Fs3Operations &imageOps);
+    bool Fs3ReburnItocSection(u_int32_t newSectionAddr, u_int32_t newSectionSize, std::vector<u_int8_t>  newSectionData, const char *msg, PrintCallBack callBackFunc=(PrintCallBack)NULL);
+    bool Fs3ChangeUidsFromBase(fs3_uid_t base_uid, struct cibfw_guids& guids);
+    bool Fs3ChangeUidsFromBase(fs3_uid_t base_uid, struct cx4fw_guids& guids);
+    bool DeviceTimestampEnabled();
+    bool RomCommonCheck(bool ignoreProdIdCheck, bool checkIfRomEmpty);
 
     struct toc_info {
         u_int32_t entry_addr;
@@ -179,12 +184,10 @@ private:
     bool UpdateDevDataITOC(Fs3Operations &imageOps, struct toc_info *image_toc_info_entry, struct toc_info *flash_toc_arr, int flash_toc_size);
 
     bool AddDevDataITOC(struct toc_info *flash_toc_entry, u_int8_t *image_data, struct toc_info *image_toc_arr, int& image_toc_size);
-    bool Fs3UpdateSection(void *new_info, fs3_section_t sect_type=FS3_DEV_INFO, bool is_sect_failsafe=true, CommandType cmd_type=CMD_UNKNOWN, PrintCallBack callBackFunc=(PrintCallBack)NULL );
+    virtual bool Fs3UpdateSection(void *new_info, fs3_section_t sect_type=FS3_DEV_INFO, bool is_sect_failsafe=true, CommandType cmd_type=CMD_UNKNOWN, PrintCallBack callBackFunc=(PrintCallBack)NULL );
     bool Fs3GetItocInfo(struct toc_info *tocArr, int num_of_itocs, fs3_section_t sect_type, struct toc_info *&curr_toc);
     bool Fs3UpdateMfgUidsSection(struct toc_info *curr_toc, std::vector<u_int8_t>  section_data, fs3_uid_t base_uid,
                                             std::vector<u_int8_t>  &newSectionData);
-    bool Fs3ChangeUidsFromBase(fs3_uid_t base_uid, struct cibfw_guids& guids);
-    bool Fs3ChangeUidsFromBase(fs3_uid_t base_uid, struct cx4fw_guids& guids);
     bool Fs3UpdateUidsSection(struct toc_info *curr_toc, std::vector<u_int8_t>  section_data, fs3_uid_t base_uid,
                                              std::vector<u_int8_t>  &newSectionData);
     bool Fs3UpdateVsdSection(struct toc_info *curr_toc, std::vector<u_int8_t>  section_data, char* user_vsd,
@@ -196,7 +199,6 @@ private:
     bool Fs3UpdateItocInfo(struct toc_info *newItocInfo, u_int32_t newSectionAddr, fs3_section_t sectionType, u_int32_t* newSectData, u_int32_t NewSectSize);
     bool Fs3UpdateItocData(struct toc_info *currToc);
 
-    bool Fs3ReburnItocSection(u_int32_t newSectionAddr, u_int32_t newSectionSize, std::vector<u_int8_t>  newSectionData, const char *msg, PrintCallBack callBackFunc=(PrintCallBack)NULL);
     bool GetModifiedSectionInfo(fs3_section_t sectionType, fs3_section_t nextSectionType, u_int32_t &newSectAddr,
             fs3_section_t &sectToPut, u_int32_t &oldSectSize);
     bool UpdateItocAfterInsert(fs3_section_t sectionType, u_int32_t newSectAddr, fs3_section_t SectToPut,  bool toAdd, u_int32_t* newSectData, u_int32_t NewSectSize,
@@ -209,7 +211,7 @@ private:
     bool CopyItocInfo(struct toc_info *newTocInfo, struct toc_info *currToc);
     bool Fs3ModifySection(fs3_section_t sectionType, fs3_section_t neighbourSection, bool toAdd, u_int32_t* newSectData,
             u_int32_t newImageSize, ProgressCallBack progressFunc);
-    bool Fs3RemoveSection(fs3_section_t sectionType, ProgressCallBack progressFunc);
+    virtual bool Fs3RemoveSection(fs3_section_t sectionType, ProgressCallBack progressFunc);
     bool Fs3AddSection(fs3_section_t sectionType, fs3_section_t neighbourSection, u_int32_t* newSectData, u_int32_t newSectSize,
             ProgressCallBack progressFunc);
     bool CheckFs3ImgSize(Fs3Operations& imageOps, bool useImageDevData=false);
@@ -221,9 +223,8 @@ private:
     u_int32_t getAbsAddr(toc_info* toc, u_int32_t imgStart);
     bool getLastFwSAddr(u_int32_t& lastAddr);
     bool getFirstDevDataAddr(u_int32_t& firstAddr);
-    bool reburnItocSection(PrintCallBack callBackFunc);
+    virtual bool reburnItocSection(PrintCallBack callBackFunc, bool burnFailsafe=true);
 
-    bool DeviceTimestampEnabled();
     Tlv_Status_t GetTsObj(TimeStampIFC** tsObj);
 
     // this class is for sorting the itoc array by ascending absolute flash_addr used in FwShiftDevData
diff --git a/mlxfwops/lib/fs4_ops.cpp b/mlxfwops/lib/fs4_ops.cpp
new file mode 100755
index 0000000..c033a05
--- /dev/null
+++ b/mlxfwops/lib/fs4_ops.cpp
@@ -0,0 +1,1760 @@
+/*
+ * Copyright (C) Jan 2013 Mellanox Technologies Ltd. All rights reserved.
+ * 
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ * 
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ * 
+ *      - Redistributions of source code must retain the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer.
+ * 
+ *      - Redistributions in binary form must reproduce the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+
+#include <stdlib.h>
+#include <algorithm>
+#include <vector>
+
+#include <tools_utils.h>
+#include <bit_slice.h>
+#include <mtcr.h>
+#include <reg_access/reg_access.h>
+#include <calc_hw_crc.h>
+
+#ifdef MST_UL
+#include <cmdif/icmd_cif_open.h>
+#else
+#ifndef UEFI_BUILD
+#include <cmdif/cib_cif.h>
+#endif
+#endif
+
+#if !defined(UEFI_BUILD) && !defined(NO_OPEN_SSL)
+#include <tools_crypto/tools_md5.h>
+#endif
+
+#include "fs4_ops.h"
+#include "fs3_ops.h"
+
+#define DEV_INFO_SIG0 0x6d446576
+#define DEV_INFO_SIG1 0x496e666f
+#define DEV_INFO_SIG2 0x2342cafa
+#define DEV_INFO_SIG3 0xbacafe00
+
+#define DEFAULT_GUID_NUM 0xff
+#define DEFAULT_STEP DEFAULT_GUID_NUM
+
+#define GUID_TO_64(guid_st) \
+        (guid_st.l | (u_int64_t)guid_st.h << 32)
+
+#define CHECK_IF_FS4_FILE_FOR_TIMESTAMP_OP() \
+        if (!_ioAccess->is_flash()) {\
+            return errmsg(\
+                    "Timestamp operation for FS4 FW image files is not supported");\
+        }
+
+bool Fs4Operations::CheckSignatures(u_int32_t a[], u_int32_t b[], int n)
+{
+    for (int i = 0; i < n; i++) {
+        if (a[i] != b[i]) {
+            //printf("-D- a[%d]=%d b[%d]=%d", i, a[i], i, b[i]);
+            return false;
+        }
+    }
+    return true;
+}
+
+bool Fs4Operations::CheckTocSignature(struct cx5fw_itoc_header *itoc_header, u_int32_t first_signature)
+{
+    u_int32_t a[4] = {itoc_header->signature0, itoc_header->signature1,
+            itoc_header->signature2, itoc_header->signature3};
+    u_int32_t b[4] = {first_signature, TOC_RAND1, TOC_RAND2, TOC_RAND3};
+    return CheckSignatures(a, b, 4);
+}
+
+bool Fs4Operations::CheckDevInfoSignature(u_int32_t* buff)
+{
+    u_int32_t sig0 = buff[0], sig1 = buff[1], sig2 = buff[2], sig3 = buff[3];
+    TOCPU1(sig0);
+    TOCPU1(sig1);
+    TOCPU1(sig2);
+    TOCPU1(sig3);
+    u_int32_t a[4] = {sig0, sig1, sig2, sig3};
+    u_int32_t b[4] = {DEV_INFO_SIG0, DEV_INFO_SIG1, DEV_INFO_SIG2, DEV_INFO_SIG3};
+    //printf("sig0=%x sig1=%x sig2=%x sig3=%x\n", sig0, sig1, sig2, sig3);
+    return CheckSignatures(a, b, 4);
+}
+
+//CodeView: move it to Base class
+bool Fs4Operations::getImgStart() {
+
+    u_int32_t cntx_image_start[CNTX_START_POS_SIZE];
+    u_int32_t cntx_image_num = 0;
+
+    FindAllImageStart(_ioAccess, cntx_image_start,
+            &cntx_image_num, _fs4_magic_pattern);
+
+    if (cntx_image_num == 0) {
+        return errmsg(MLXFW_NO_VALID_IMAGE_ERR,
+                "No valid FS4 image found");
+    }
+    if (cntx_image_num > 1) {
+        return errmsg(MLXFW_MULTIPLE_VALID_IMAGES_ERR,
+                "More than one FS4 image found on %s",
+                this->_ioAccess->is_flash() ? "Device" : "image");
+    }
+
+    _fwImgInfo.imgStart = cntx_image_start[0];
+
+    return true;
+}
+
+//CodeView: add HW pointers to verify output
+bool Fs4Operations::getHWPtrs(VerifyCallBack verifyCallBackFunc) {
+
+    u_int32_t buff[FS4_HW_PTR_SIZE_DW];
+    struct cx5fw_hw_pointers hw_pointers;
+    u_int32_t physAddr = _fwImgInfo.imgStart + FS4_HW_PTR_START;
+
+    READBUF((*_ioAccess),
+            physAddr,
+            buff,
+            CX5FW_HW_POINTERS_SIZE,
+            "HW Pointers");
+    cx5fw_hw_pointers_unpack(&hw_pointers, (u_int8_t*)buff);
+
+    //- Check CRC of each pointers (always check CRC before you call ToCPU
+    for(int k = 0; k < FS4_HW_PTR_SIZE_DW; k += 2){
+        u_int32_t* tempBuff = (u_int32_t*) buff;
+        //Calculate HW CRC:
+        u_int32_t calcPtrCRC = calc_hw_crc((u_int8_t*)((u_int32_t*)tempBuff + k), 6);
+        u_int32_t ptrCRC = tempBuff[k + 1];
+        u_int32_t ptr = tempBuff[k];
+        TOCPUn(&ptr, 1);
+        TOCPUn(&ptrCRC, 1);
+        if (!DumpFs3CRCCheck(FS4_HW_PTR, physAddr + 4 * k, CX5FW_HW_POINTER_ENTRY_SIZE, calcPtrCRC,
+                ptrCRC, false, verifyCallBackFunc)) {
+            return false;
+        }
+    }
+
+    //CodeView: generate tools_layout
+    _boot2_ptr = hw_pointers.boot2_ptr.ptr;
+    _itoc_ptr = hw_pointers.toc_ptr.ptr;
+    _tools_ptr = hw_pointers.tools_ptr.ptr;
+
+    /*printf("-D-boot2_ptr=0x%x\n", _boot2_ptr);
+    printf("-D-itoc_ptr=0x%x\n", _itoc_ptr);
+    printf("-D-tools_ptr=0x%x\n", _tools_ptr);*/
+
+    return true;
+}
+
+bool Fs4Operations::verifyToolsArea(VerifyCallBack verifyCallBackFunc) {
+
+    u_int32_t buff[CX5FW_TOOLS_AREA_SIZE / 4];
+    u_int8_t binVerMajor = 0;
+    u_int8_t binVerMinor = 0;
+    u_int32_t calculatedToolsAreaCRC;
+    u_int32_t toolsAreaCRC;
+    u_int32_t physAddr = _fwImgInfo.imgStart + _tools_ptr;
+    struct cx5fw_tools_area tools_area;
+
+    READBUF((*_ioAccess), physAddr, buff, CX5FW_TOOLS_AREA_SIZE, "Tools Area");
+    cx5fw_tools_area_unpack(&tools_area, (u_int8_t*)buff);
+
+    binVerMinor = tools_area.bin_ver_minor;
+    binVerMajor = tools_area.bin_ver_major;
+    _maxImgLog2Size = tools_area.log2_img_slot_size;
+    toolsAreaCRC = tools_area.crc;
+
+    calculatedToolsAreaCRC = CalcImageCRC((u_int32_t*)buff, CX5FW_TOOLS_AREA_SIZE / 4 - 1);
+
+    if (!DumpFs3CRCCheck(FS4_TOOLS_AREA, physAddr, CX5FW_TOOLS_AREA_SIZE, calculatedToolsAreaCRC,
+            toolsAreaCRC, false, verifyCallBackFunc)) {
+        return false;
+    }
+
+    /*printf("-D- Bin Ver Minor=%d\n", binVerMinor);
+    printf("-D- Bin Ver Major=%d\n", binVerMajor);
+    printf("-D- _maxImgLog2Size=%d\n", _maxImgLog2Size);
+    printf("-D- Actuall tools area CRC=%d\n", toolsAreaCRC);
+    printf("-D- Expected tools area CRC=%d\n", calculatedToolsAreaCRC);*/
+
+    //- Check if binary version is supported by the tool
+    if (!CheckBinVersion(binVerMajor, binVerMinor)) {
+        return false;
+    }
+
+    //Put info
+    _fwImgInfo.cntxLog2ChunkSize = _maxImgLog2Size;
+    _fwImgInfo.ext_info.is_failsafe = true;
+    _fwImgInfo.actuallyFailsafe  = true;
+    _fwImgInfo.magicPatternFound = 1;
+
+    return true;
+}
+
+bool Fs4Operations::verifyTocHeader(u_int32_t tocAddr, bool isDtoc, VerifyCallBack verifyCallBackFunc) {
+
+    struct cx5fw_itoc_header itocHeader;
+    u_int8_t buffer[TOC_HEADER_SIZE];
+    u_int32_t physAddr;
+    u_int32_t tocCrc;
+
+    /*if(isDtoc) {
+        _ioAccess->set_address_convertor(0, 0);
+    }*/
+
+    READBUF((*_ioAccess), tocAddr, buffer, TOC_HEADER_SIZE, "TOC Header");
+    Fs3UpdateImgCache(buffer, tocAddr, TOC_HEADER_SIZE);
+    cx5fw_itoc_header_unpack(&itocHeader, buffer);
+    //TODO: check if we really need this:
+    if(isDtoc) {
+        memcpy(_fs4ImgInfo.dtocArr.tocHeader, buffer, CX5FW_ITOC_HEADER_SIZE);
+    } else {
+        memcpy(_fs4ImgInfo.itocArr.tocHeader, buffer, CX5FW_ITOC_HEADER_SIZE);
+    }
+
+    // Check the signature in the header:
+    u_int32_t first_signature =   isDtoc ? DTOC_ASCII : ITOC_ASCII;
+    if (!CheckTocSignature(&itocHeader, first_signature)) {
+        return false;
+    }
+
+    tocCrc = CalcImageCRC((u_int32_t*)buffer, (TOC_HEADER_SIZE / 4) - 1);
+    physAddr = _ioAccess->get_phys_from_cont(
+            tocAddr,
+            isDtoc ? 0 : _fwImgInfo.cntxLog2ChunkSize,
+            _fwImgInfo.imgStart != 0);
+
+    if (!DumpFs3CRCCheck(isDtoc ? FS3_DTOC : FS3_ITOC, physAddr, TOC_HEADER_SIZE, tocCrc,
+            itocHeader.itoc_entry_crc, false, verifyCallBackFunc)) {
+        return false;
+    }
+
+    return true;
+}
+
+bool Fs4Operations::verifyTocEntries(u_int32_t tocAddr, bool show_itoc, bool isDtoc,
+        struct QueryOptions queryOptions, VerifyCallBack verifyCallBackFunc){
+
+    struct cx5fw_itoc_entry tocEntry;
+    int section_index = 0;
+    u_int32_t entryAddr;
+    u_int32_t entryCrc;
+    u_int32_t entrySizeInBytes;
+    u_int32_t physAddr;
+    u_int8_t entryBuffer[TOC_ENTRY_SIZE];
+    bool mfgExists = false;
+    int validDevInfoCount = 0;
+    bool retVal = true;
+    TocArray* tocArray;
+
+    if(isDtoc) {
+        tocArray = &(_fs4ImgInfo.dtocArr);
+    } else {
+        tocArray = &(_fs4ImgInfo.itocArr);
+    }
+
+    do {
+
+        // Read toc entry
+        entryAddr = tocAddr + TOC_HEADER_SIZE + section_index *  TOC_ENTRY_SIZE;
+        READBUF((*_ioAccess), entryAddr, entryBuffer, TOC_ENTRY_SIZE, "TOC Entry");
+        Fs3UpdateImgCache(entryBuffer, entryAddr, TOC_ENTRY_SIZE);
+        cx5fw_itoc_entry_unpack(&tocEntry, entryBuffer);
+
+        if (tocEntry.type == FS3_MFG_INFO) {
+            mfgExists = true;
+        }
+
+        if (tocEntry.type != FS3_END) {
+
+            if (section_index + 1 >= MAX_TOCS_NUM) {
+                return errmsg(
+                        "Internal error: number of %s %d is greater than allowed %d",
+                        isDtoc ? "DTocs" : "ITocs",
+                        section_index + 1,
+                        MAX_TOCS_NUM);
+            }
+
+            entryCrc = CalcImageCRC((u_int32_t*)entryBuffer, (TOC_ENTRY_SIZE / 4) - 1);
+            if (tocEntry.itoc_entry_crc != entryCrc) {
+                return errmsg(
+                        MLXFW_BAD_CRC_ERR, "Bad %s Entry CRC. Expected: 0x%x , Actual: 0x%x",
+                        isDtoc ? "DToc" : "IToc",
+                        tocEntry.itoc_entry_crc,
+                        entryCrc);
+            }
+
+            entrySizeInBytes = tocEntry.size * 4;
+
+            // Update last image address
+            u_int32_t section_last_addr;
+            u_int32_t flash_addr = tocEntry.flash_addr << 2;
+            if (isDtoc) {
+                physAddr = flash_addr;
+                _fs4ImgInfo.smallestDTocAddr =
+                        (_fs4ImgInfo.smallestDTocAddr < flash_addr && _fs4ImgInfo.smallestDTocAddr > 0)
+                            ? _fs4ImgInfo.smallestDTocAddr : flash_addr;
+            } else {
+                physAddr = _ioAccess->get_phys_from_cont(flash_addr,
+                        _fwImgInfo.cntxLog2ChunkSize,
+                        _fwImgInfo.imgStart != 0);
+                section_last_addr = physAddr + entrySizeInBytes;
+                _fwImgInfo.lastImageAddr =
+                        (_fwImgInfo.lastImageAddr >= section_last_addr) ?
+                        _fwImgInfo.lastImageAddr : section_last_addr;
+            }
+
+            if (IsFs3SectionReadable(tocEntry.type, queryOptions)) {
+
+                // Only when we have full verify or the info of this section should be collected for query
+                std::vector<u_int8_t> buffv(entrySizeInBytes);
+                u_int8_t *buff = (u_int8_t*)(&(buffv[0]));
+
+                if (show_itoc) {
+                    cx5fw_itoc_entry_dump(&tocEntry, stdout);
+                    DumpFs3CRCCheck(tocEntry.type, physAddr, entrySizeInBytes, 0,
+                            0, true, verifyCallBackFunc);
+                } else {
+                    READBUF((*_ioAccess), flash_addr, buff, entrySizeInBytes, "Section");
+                    Fs3UpdateImgCache(buff, flash_addr, entrySizeInBytes);
+                    u_int32_t sect_act_crc = 0;
+                    u_int32_t sect_exp_crc = 0;
+                    if (tocEntry.crc == INITOCENTRY) {
+                        //crc is in the itoc entry
+                        sect_act_crc = CalcImageCRC((u_int32_t*)buff, tocEntry.size);
+                        sect_exp_crc = tocEntry.section_crc;
+                        //printf("-D-INITOCENTRY sect_act_crc=%d sect_exp_crc=%d\n", sect_act_crc, sect_exp_crc);
+                    } else if(tocEntry.crc == INSECTION) {
+                        //calc crc on the section without the last dw which contains crc
+                        sect_act_crc = CalcImageCRC((u_int32_t*)buff, tocEntry.size - 1);
+                        //crc is in the section, last two bytes
+                        sect_exp_crc = ((u_int32_t*)buff)[tocEntry.size - 1];
+                        TOCPU1(sect_exp_crc)
+                        sect_exp_crc = (u_int16_t) sect_exp_crc;
+                        //printf("-D-INSECTION sect_act_crc=%d sect_exp_crc=%d\n", sect_act_crc, sect_exp_crc);
+                    }
+
+                    if (tocEntry.type != FS3_DEV_INFO || CheckDevInfoSignature((u_int32_t*)buff)) {
+                        if (!DumpFs3CRCCheck(tocEntry.type,
+                                physAddr,
+                                entrySizeInBytes,
+                                sect_act_crc,
+                                sect_exp_crc,
+                                tocEntry.crc == NOCRC, verifyCallBackFunc)) {
+                            if (isDtoc) {
+                                _badDevDataSections = true;
+                            }
+                            retVal = false;
+                        } else {
+                            //printf("-D- toc type : 0x%.8x\n" , toc_entry.type);
+                            GetSectData(tocArray->tocArr[section_index].section_data,
+                                (u_int32_t*)buff, tocEntry.size * 4);
+                            bool isDevInfoSection = (tocEntry.type == FS3_DEV_INFO);
+                            bool isDevInfoValid = isDevInfoSection && CheckDevInfoSignature((u_int32_t*)buff);
+                            if (isDevInfoValid) {
+                                validDevInfoCount++;
+                            }
+                            if (!isDevInfoSection || isDevInfoValid) {
+                                if (IsGetInfoSupported(tocEntry.type)) {
+                                      if (!GetImageInfoFromSection(buff, tocEntry.type, tocEntry.size * 4)) {
+                                          retVal = false;
+                                          errmsg("Failed to get info from section %d", tocEntry.type);
+                                      }
+                                 } else if (tocEntry.type == FS3_DBG_FW_INI) {
+                                      TOCPUn(buff, tocEntry.size);
+                                      GetSectData(_fwConfSect, (u_int32_t*)buff, tocEntry.size * 4);
+                                 }
+                            }
+                        }
+                    } else {
+                        GetSectData(tocArray->tocArr[section_index].section_data,
+                            (u_int32_t*)buff, tocEntry.size * 4);
+                    }
+                }
+             }
+
+            tocArray->tocArr[section_index].entry_addr = entryAddr;
+            tocArray->tocArr[section_index].toc_entry = tocEntry;
+            memcpy(tocArray->tocArr[section_index].data,
+                    entryBuffer, CX5FW_ITOC_ENTRY_SIZE);
+
+        }
+
+        section_index++;
+    } while (tocEntry.type != FS3_END);
+
+    tocArray->numOfTocs = section_index - 1;
+
+    if (isDtoc) {
+        if (!mfgExists) {
+            _badDevDataSections = true;
+            return errmsg(MLXFW_NO_MFG_ERR, "No \"" MFG_INFO "\" info section.");
+        }
+        //when you start checking device info signatures => uncomment this code
+        if (validDevInfoCount != 1 && !show_itoc &&
+                (_readSectList.size() == 0 ||
+                 find(_readSectList.begin(), _readSectList.end(), FS3_DEV_INFO) != _readSectList.end())
+                 ) {
+            _badDevDataSections = true;
+            if(validDevInfoCount == 0){
+                return errmsg(MLXFW_NO_VALID_DEVICE_INFO_ERR, "No \"" DEV_INFO "\" info section.");
+            }
+            //more than one valid devinfo:
+            return errmsg(MLXFW_TWO_VALID_DEVICE_INFO_ERR, "Two \"" DEV_INFO "\" info sections.");
+        }
+    }
+
+    return retVal;
+}
+
+
+
+bool Fs4Operations::FsVerifyAux(VerifyCallBack verifyCallBackFunc, bool show_itoc,
+        struct QueryOptions queryOptions) {
+
+    u_int32_t dtocPtr;
+    u_int8_t* buff;
+    u_int32_t log2_chunk_size;
+    bool is_image_in_odd_chunks;
+
+    if (!getImgStart()) {
+        return false;
+    }
+
+    report_callback(verifyCallBackFunc, "\nFS4 failsafe image\n\n");
+
+    _ioAccess->set_address_convertor(0, 0);
+
+    if (!getHWPtrs(verifyCallBackFunc)) {
+        return false;
+    }
+
+    if (!verifyToolsArea(verifyCallBackFunc)) {
+        return false;
+    }
+
+    // Update image cache till before boot2 header:
+    READALLOCBUF((*_ioAccess), _fwImgInfo.imgStart, buff, _boot2_ptr, "All Before Boot2");
+    Fs3UpdateImgCache(buff, 0, _boot2_ptr);
+    free(buff);
+
+    _ioAccess->set_address_convertor(_fwImgInfo.cntxLog2ChunkSize, _fwImgInfo.imgStart != 0);
+
+    // Get BOOT2 -Get Only bootSize if quickQuery == true else read and check CRC of boot2 section as well
+    FS3_CHECKB2(0, _boot2_ptr, !queryOptions.quickQuery, PRE_CRC_OUTPUT, verifyCallBackFunc);
+
+    _fs4ImgInfo.firstItocArrayIsEmpty = false;
+    _fs4ImgInfo.itocArr.tocArrayAddr = _itoc_ptr;
+
+    /*printf("\n-D-_ioAccess size=0x%x\n", _ioAccess->get_size());
+    printf("\n-D-dtoc_ptr=0x%x\n", dtoc_ptr);*/
+
+    if (!verifyTocHeader(_itoc_ptr, false, verifyCallBackFunc)) {
+        _itoc_ptr += FS4_DEFAULT_SECTOR_SIZE;
+        _fs4ImgInfo.itocArr.tocArrayAddr = _itoc_ptr;
+        _fs4ImgInfo.firstItocArrayIsEmpty = true;
+        if (!verifyTocHeader(_itoc_ptr, false, verifyCallBackFunc)) {
+            return errmsg(MLXFW_NO_VALID_ITOC_ERR, "No valid ITOC Header was found.");
+        }
+    }
+    if(!verifyTocEntries(_itoc_ptr, show_itoc, false,
+            queryOptions, verifyCallBackFunc)){
+        return false;
+    }
+
+    // Verify DTOC:
+    log2_chunk_size = _ioAccess->get_log2_chunk_size();
+    is_image_in_odd_chunks = _ioAccess->get_is_image_in_odd_chunks();
+    _ioAccess->set_address_convertor(0, 0);
+    //-Verify DToC Header:
+    dtocPtr = _ioAccess->get_size() - FS4_DEFAULT_SECTOR_SIZE;
+    if (!verifyTocHeader(dtocPtr, true, verifyCallBackFunc)) {
+        return errmsg(MLXFW_NO_VALID_ITOC_ERR, "No valid DTOC Header was found.");
+    }
+    _fs4ImgInfo.dtocArr.tocArrayAddr = dtocPtr;
+    //-Verify DToC Entries:
+    if(!verifyTocEntries(dtocPtr, show_itoc, true,
+            queryOptions, verifyCallBackFunc)){
+        _ioAccess->set_address_convertor(log2_chunk_size, is_image_in_odd_chunks);
+        return false;
+    }
+    _ioAccess->set_address_convertor(log2_chunk_size, is_image_in_odd_chunks);
+    return true;
+}
+
+u_int8_t Fs4Operations::FwType()
+{
+    return FIT_FS4;
+}
+
+bool Fs4Operations::FwInit()
+{
+    if(!Fs3Operations::FwInit()){
+        return false;
+    }
+    memset(&_fs4ImgInfo, 0, sizeof(_fs4ImgInfo));
+    _fwImgInfo.fwType = (fw_img_type_t) FwType();
+    return true;
+}
+
+bool Fs4Operations::CheckFs4ImgSize(Fs4Operations& imageOps, bool useImageDevData)
+{
+    //check if max itoc is not overwriting the chunk
+    if (imageOps._fwImgInfo.lastImageAddr >= (u_int32_t)(imageOps._fwImgInfo.imgStart + (1 << imageOps._maxImgLog2Size))) {
+        return errmsg(MLXFW_IMAGE_TOO_LARGE_ERR,
+                "Largest Image Address (0x%x) is greater than max size of image (0x%x)",
+                imageOps._fwImgInfo.lastImageAddr,
+                imageOps._maxImgLog2Size);
+    }
+
+    //check if minimal dtoc is not overwriting the preceeding chunk
+    if (useImageDevData) {
+        u_int32_t devAreaStartAddress = _ioAccess->get_size() - (1 << imageOps._maxImgLog2Size);
+        if(imageOps._fs4ImgInfo.smallestDTocAddr < devAreaStartAddress) {
+            return errmsg(MLXFW_DTOC_OVERWRITE_CHUNK,
+                    "Smallest DToc address (0x%x) is less than device area start address (0x%x)",
+                    imageOps._fs4ImgInfo.smallestDTocAddr,
+                    devAreaStartAddress);
+        }
+    }
+
+    return true;
+}
+
+bool Fs4Operations::FwReadData(void* image, u_int32_t* imageSize)
+{
+    struct QueryOptions queryOptions;
+    if (!imageSize) {
+        return errmsg("bad parameter is given to FwReadData\n");
+    }
+
+    queryOptions.readRom = true;
+    queryOptions.quickQuery = false;
+    if (image == NULL) {
+        // When we need only to get size, no need for reading entire image
+        queryOptions.readRom = false;
+        queryOptions.quickQuery = true;
+    }
+    // Avoid Warning
+    if (!FsVerifyAux((VerifyCallBack)NULL, 0, queryOptions)) {
+        return false;
+    }
+
+    _imageCache.get((u_int8_t*)image,
+            _fwImgInfo.lastImageAddr);
+    //size will be always as (_ioAccess)->get_size(), as the dtoc always at the end
+    *imageSize = (_ioAccess)->get_size();
+
+    //take device sections
+    if (image != NULL) {
+        _imageCache.get((u_int8_t*)image + _fs4ImgInfo.smallestDTocAddr,
+                _fs4ImgInfo.smallestDTocAddr,
+                (_ioAccess)->get_size() - _fs4ImgInfo.smallestDTocAddr);
+    }
+
+    return true;
+}
+
+bool Fs4Operations::Fs4RemoveSectionAux(fs3_section_t sectionType)
+{
+    int      itocEntryIndex = 0;
+    struct   fs4_toc_info* itocEntry = (struct fs4_toc_info*)NULL;
+    TocArray* itocArray = &_fs4ImgInfo.itocArr;
+
+    if (!Fs4GetItocInfo(itocArray->tocArr, itocArray->numOfTocs,
+            sectionType, itocEntry, itocEntryIndex)) {
+        return false;
+    }
+
+    u_int32_t sectionSizeInBytes = itocEntry->section_data.size();
+    u_int32_t sectionSizeInDW = sectionSizeInBytes >> 2;
+
+    //update the sections that are after this section
+    for (int i = itocEntryIndex + 1; i < itocArray->numOfTocs; i++) {
+        struct fs4_toc_info* tocInfo = itocArray->tocArr + i;
+        tocInfo->toc_entry.flash_addr =
+                tocInfo->toc_entry.flash_addr - sectionSizeInDW;
+        tocInfo->entry_addr = tocInfo->entry_addr - CX5FW_ITOC_ENTRY_SIZE;
+
+        updateTocEntryCRC(tocInfo);
+
+        updateTocEntryData(tocInfo);
+
+        Fs3UpdateImgCache(tocInfo->data, tocInfo->entry_addr,
+                CX5FW_ITOC_ENTRY_SIZE);
+        Fs3UpdateImgCache(tocInfo->section_data.data(),
+                tocInfo->toc_entry.flash_addr << 2,
+                tocInfo->toc_entry.size << 2);
+
+    }
+
+    _fwImgInfo.lastImageAddr = _fwImgInfo.lastImageAddr - sectionSizeInBytes;
+
+    //remove the itoc from the array and update the cache
+    for (int i = itocEntryIndex + 1; i < itocArray->numOfTocs + 1; i++) {
+        memcpy(itocArray->tocArr + i - 1,
+                itocArray->tocArr + i,
+                sizeof(struct fs4_toc_info));
+    }
+
+    _fs4ImgInfo.itocArr.numOfTocs--;
+
+    u_int32_t lastItocSectAddress = itocArray->tocArrayAddr +
+                CX5FW_ITOC_HEADER_SIZE +
+                itocArray->numOfTocs * CX5FW_ITOC_ENTRY_SIZE;
+    updateTocEndEntryInImgCache(lastItocSectAddress);
+
+    return true;
+}
+
+bool Fs4Operations::Fs4RemoveSection(fs3_section_t sectionType, ProgressCallBack progressFunc)
+{
+    vector<u_int8_t> newImageData;
+
+    if (!Fs4RemoveSectionAux(sectionType)) {
+        return false;
+    }
+
+    _imageCache.get(newImageData, 0, (_ioAccess)->get_size());
+
+    if (!FwBurnData((u_int32_t*)newImageData.data(), newImageData.size(),
+            progressFunc)) {
+        return false;
+    }
+
+    return true;
+}
+
+bool Fs4Operations::FwDeleteRom(bool ignoreProdIdCheck, ProgressCallBack progressFunc)
+{
+    //run int query to get product ver
+    if (!FsIntQueryAux(true, false)) {
+        return false;
+    }
+
+    if (!RomCommonCheck(ignoreProdIdCheck, true)) {
+        return false;
+    }
+
+    return Fs4RemoveSection(FS3_ROM_CODE, progressFunc);
+}
+
+bool Fs4Operations::Fs4AddSectionAux(fs3_section_t sectionType,
+        enum CRCTYPE crcType, u_int8_t zippedImage, u_int32_t* newSectData,
+        u_int32_t newSectSize)
+{
+    struct fs4_toc_info *itocEntry = (struct fs4_toc_info *)NULL;
+    int itocEntryIndex = 0;
+    TocArray* itocArray = &_fs4ImgInfo.itocArr;
+    struct fs4_toc_info *newITocEntry;
+
+    //search for the section, remove it if found
+    if (Fs4GetItocInfo(itocArray->tocArr, itocArray->numOfTocs, sectionType,
+            itocEntry, itocEntryIndex)) {
+        if (getImageSize() - (itocEntry->toc_entry.size << 2) + newSectSize
+                > (u_int32_t)(1 << _maxImgLog2Size)) {
+            return errmsg("Section size is too large");
+        }
+        if (!Fs4RemoveSectionAux(FS3_ROM_CODE)) {
+            return false;
+        }
+    } else {
+        if (getImageSize() + newSectSize >
+                (u_int32_t)(1 << _maxImgLog2Size)) {
+            return errmsg("Section size is too large");
+        }
+        if (itocArray->numOfTocs + 1 > MAX_TOCS_NUM) {
+            return errmsg(
+                    "Cannot add TOC entry, too many entries in iTOC array.");
+        }
+    }
+
+    newITocEntry = itocArray->tocArr + itocArray->numOfTocs;
+
+    //update the new itoc entry
+    memset(newITocEntry, 0, sizeof(struct fs4_toc_info));
+
+    newITocEntry->entry_addr = itocArray->tocArrayAddr + TOC_HEADER_SIZE +
+            itocArray->numOfTocs * TOC_ENTRY_SIZE;
+    newITocEntry->toc_entry.type = sectionType;
+    newITocEntry->toc_entry.size = newSectSize >> 2;
+    newITocEntry->toc_entry.flash_addr =
+            (_fwImgInfo.lastImageAddr - _fwImgInfo.imgStart) >> 2;
+    newITocEntry->toc_entry.crc = crcType;
+    newITocEntry->toc_entry.zipped_image = zippedImage;
+    newITocEntry->toc_entry.section_crc = CalcImageCRC((u_int32_t*)newSectData,
+            newSectSize >> 2);
+
+    updateTocEntryCRC(newITocEntry);
+
+    updateTocEntryData(newITocEntry);
+
+    updateTocEntrySectionData(newITocEntry, (u_int8_t*)newSectData, newSectSize);
+
+    itocArray->numOfTocs++;
+
+    _fwImgInfo.lastImageAddr += newSectSize;
+
+    Fs3UpdateImgCache(newITocEntry->data, newITocEntry->entry_addr,
+                    CX5FW_ITOC_ENTRY_SIZE);
+
+    u_int32_t lastItocSectAddress = itocArray->tocArrayAddr +
+                    CX5FW_ITOC_HEADER_SIZE +
+                    itocArray->numOfTocs * CX5FW_ITOC_ENTRY_SIZE;
+    updateTocEndEntryInImgCache(lastItocSectAddress);
+
+    Fs3UpdateImgCache(newITocEntry->section_data.data(),
+            newITocEntry->toc_entry.flash_addr << 2,
+            newITocEntry->toc_entry.size << 2);
+
+    return true;
+}
+
+bool Fs4Operations::Fs4AddSection(fs3_section_t sectionType,
+        enum CRCTYPE crcType, u_int8_t zippedImage, u_int32_t* newSectData,
+        u_int32_t newSectSize, ProgressCallBack progressFunc)
+{
+    vector<u_int8_t> newImageData;
+
+    if (!Fs4AddSectionAux(sectionType, crcType, zippedImage, newSectData,
+            newSectSize)) {
+        return false;
+    }
+
+    _imageCache.get(newImageData, 0, (_ioAccess)->get_size());
+
+    if (!FwBurnData((u_int32_t*)newImageData.data(), newImageData.size(),
+            progressFunc)) {
+        return false;
+    }
+
+    return true;
+}
+
+bool Fs4Operations::FwBurnRom(FImage* romImg, bool ignoreProdIdCheck, bool ignoreDevidCheck,
+        ProgressCallBack progressFunc)
+{
+    roms_info_t romsInfo;
+
+    if (romImg == NULL) {
+        return errmsg("Bad ROM image is given.");
+    }
+
+    if (romImg->getBufLength() == 0) {
+        return errmsg("Bad ROM file: Empty file.");
+    }
+
+    if (!FwOperations::getRomsInfo(romImg, romsInfo)) {
+            return errmsg("Failed to read given ROM.");
+    }
+
+    if (!FsIntQueryAux(false, false)) {
+        return false;
+    }
+
+    if (!ignoreDevidCheck && !FwOperations::checkMatchingExpRomDevId(
+            _fwImgInfo.ext_info.dev_type, romsInfo)) {
+        return errmsg("Image file ROM: FW is for device %d, but Exp-ROM is "
+                "for device %d\n", _fwImgInfo.ext_info.dev_type,
+                romsInfo.exp_rom_com_devid);
+    }
+
+    if (!RomCommonCheck(ignoreProdIdCheck, false)) {
+        return false;
+    }
+
+    return Fs4AddSection(FS3_ROM_CODE, INITOCENTRY, 0, romImg->getBuf(),
+            romImg->getBufLength(), progressFunc);
+}
+
+void Fs4Operations::updateTocEndEntryInImgCache(u_int32_t lastItocSectAddress)
+{
+    u_int8_t  tocEndBuff[CX5FW_ITOC_ENTRY_SIZE];
+    memset(tocEndBuff, FS3_END, CX5FW_ITOC_ENTRY_SIZE);
+    Fs3UpdateImgCache(tocEndBuff, lastItocSectAddress, CX5FW_ITOC_ENTRY_SIZE);
+}
+
+void Fs4Operations::updateTocEntryCRC(struct fs4_toc_info *tocEntry)
+{
+    u_int8_t tocEntryBuff[CX5FW_ITOC_ENTRY_SIZE];
+
+    memset(tocEntryBuff, 0, CX5FW_ITOC_ENTRY_SIZE);
+    cx5fw_itoc_entry_pack(&(tocEntry->toc_entry), tocEntryBuff);
+    tocEntry->toc_entry.itoc_entry_crc =
+            CalcImageCRC((u_int32_t*)tocEntryBuff, TOC_ENTRY_SIZE / 4 - 1);
+}
+
+void Fs4Operations::updateTocEntryData(struct fs4_toc_info *tocEntry)
+{
+    memset(tocEntry->data, 0, CX5FW_ITOC_ENTRY_SIZE);
+    cx5fw_itoc_entry_pack(&(tocEntry->toc_entry), tocEntry->data);
+}
+
+void Fs4Operations::updateTocEntrySectionData(struct fs4_toc_info *tocEntry,
+        u_int8_t* data, u_int32_t dataSize)
+{
+    tocEntry->section_data.resize(dataSize);
+    memcpy(tocEntry->section_data.data(), data, dataSize);
+}
+
+bool Fs4Operations::BurnFs4Image(Fs4Operations &imageOps,
+                                  ExtBurnParams& burnParams)
+{
+    u_int8_t  is_curr_image_in_odd_chunks;
+    u_int32_t new_image_start;
+    u_int32_t total_img_size = 0;
+    u_int32_t sector_size = FS4_DEFAULT_SECTOR_SIZE;
+    Flash    *f     = (Flash*)(this->_ioAccess);
+    u_int8_t *data8;
+    bool useImageDevData;
+    int alreadyWrittenSz;
+
+    if (_fwImgInfo.imgStart != 0
+        || (!burnParams.burnFailsafe
+             && ((Flash*)_ioAccess)->get_ignore_cache_replacment())) {
+        //If the burn is not failsafe and with -ocr, the image is burnt at 0x0
+        is_curr_image_in_odd_chunks = 1; //Ahmads: why odd chunks?
+        new_image_start = 0;
+    } else {
+        is_curr_image_in_odd_chunks = 0;
+        new_image_start = (1 << imageOps._fwImgInfo.cntxLog2ChunkSize);
+    }
+
+    //Take chunk size from image in case of a non failsafe burn (in any case they should be the same)
+    f->set_address_convertor(imageOps._fwImgInfo.cntxLog2ChunkSize,
+            !is_curr_image_in_odd_chunks);
+
+    // check max image size
+    useImageDevData =  !burnParams.burnFailsafe && burnParams.useImgDevData;
+    if (!CheckFs4ImgSize(imageOps, useImageDevData)) {
+        return false;
+    }
+
+    //Sanity check on the image itoc array
+    if (!imageOps.CheckITocArray()) {
+        return errmsg(MLXFW_IMAGE_CORRUPTED_ERR, "%s", imageOps.err());
+    }
+
+    //Find total image size that will be written
+    total_img_size += imageOps._fs4ImgInfo.itocArr.getSectionsTotalSize();//itoc sections
+    //Add boot section, itoc array (wo signature)
+    total_img_size += imageOps._fs4ImgInfo.itocArr.tocArrayAddr + sector_size - FS3_FW_SIGNATURE_SIZE;
+    if (burnParams.useImgDevData){
+        total_img_size += sector_size;//dtoc array
+        total_img_size += imageOps._fs4ImgInfo.dtocArr.getSectionsTotalSize();//dtoc sections
+    }
+
+    if (total_img_size <= sector_size) {
+        return errmsg("Failed to burn FW. Internal error.");
+    }
+
+    //Write the image:
+    alreadyWrittenSz=0;
+
+    //bring the boot section and itoc array from the cache
+    u_int32_t beginingWithoutSignatureSize =
+            imageOps._fs4ImgInfo.itocArr.tocArrayAddr + sector_size - FS3_FW_SIGNATURE_SIZE;
+    data8 = new u_int8_t[beginingWithoutSignatureSize];
+    imageOps._imageCache.get(data8, FS3_FW_SIGNATURE_SIZE, beginingWithoutSignatureSize);
+
+    //Write boot section and IToc array (without signature)
+    if (!writeImage(burnParams.progressFunc,
+                    FS3_FW_SIGNATURE_SIZE,
+                    data8,
+                    imageOps._fs4ImgInfo.itocArr.tocArrayAddr + sector_size - FS3_FW_SIGNATURE_SIZE,
+                    false,
+                    false,
+                    total_img_size,
+                    alreadyWrittenSz)) {
+        delete[] data8;
+        return false;
+    }
+    delete[] data8;
+    alreadyWrittenSz += imageOps._fs4ImgInfo.itocArr.tocArrayAddr + sector_size - FS3_FW_SIGNATURE_SIZE;
+
+    // write itoc entries data
+    for (int i = 0; i < imageOps._fs4ImgInfo.itocArr.numOfTocs; i++) {
+        struct fs4_toc_info *itoc_info_p = &imageOps._fs4ImgInfo.itocArr.tocArr[i];
+        struct cx5fw_itoc_entry *toc_entry = &itoc_info_p->toc_entry;
+        if (!writeImage(burnParams.progressFunc,
+                toc_entry->flash_addr << 2 ,
+                &(itoc_info_p->section_data[0]),
+                itoc_info_p->section_data.size(),
+                false,//addresses of itocs are relative and not physical
+                false,
+                total_img_size,
+                alreadyWrittenSz)) {
+            return false;
+        }
+        alreadyWrittenSz += itoc_info_p->section_data.size();
+    }
+
+    if(burnParams.useImgDevData){//Write dtoc array only if ignore_dev_data
+
+        //Sanity check on the image dtoc array
+        if (!imageOps.CheckDTocArray()) {
+            return errmsg(MLXFW_IMAGE_CORRUPTED_ERR, "%s", imageOps.err());
+        }
+
+        //bring the dtoc array from the cache
+        data8 = new u_int8_t[sector_size];
+        imageOps._imageCache.get(data8, imageOps._fs4ImgInfo.dtocArr.tocArrayAddr,
+                sector_size);
+        if (!writeImage(burnParams.progressFunc,
+                        imageOps._fs4ImgInfo.dtocArr.tocArrayAddr,
+                        data8,
+                        sector_size,
+                        true,
+                        true,
+                        total_img_size,
+                        alreadyWrittenSz)) {
+            delete[] data8;
+            return false;
+        }
+        delete[] data8;
+        alreadyWrittenSz += sector_size;
+
+        //TODO: write device area (dtoc's entries)
+        for (int i = 0; i < imageOps._fs4ImgInfo.dtocArr.numOfTocs; i++) {
+            struct fs4_toc_info *itoc_info_p = &imageOps._fs4ImgInfo.dtocArr.tocArr[i];
+            struct cx5fw_itoc_entry *toc_entry = &itoc_info_p->toc_entry;
+            if (!writeImage(burnParams.progressFunc,
+                    toc_entry->flash_addr << 2 ,
+                    &(itoc_info_p->section_data[0]),
+                    itoc_info_p->section_data.size(),
+                    true,
+                    true,
+                    total_img_size,
+                    alreadyWrittenSz)) {
+                return false;
+            }
+            alreadyWrittenSz += itoc_info_p->section_data.size();
+        }
+    }
+
+
+    if (!f->is_flash()) {
+        return true;
+    }
+
+    // Write new signature
+    data8 = new u_int8_t[FS3_FW_SIGNATURE_SIZE];
+    imageOps._imageCache.get(data8, 0, FS3_FW_SIGNATURE_SIZE);
+    if (!f->write(0, data8, FS3_FW_SIGNATURE_SIZE, true)) {
+        delete[] data8;
+        return false;
+    }
+    delete[] data8;
+
+    return DoAfterBurnJobs(_fs4_magic_pattern, imageOps, burnParams, f,
+            new_image_start, is_curr_image_in_odd_chunks);
+}
+bool Fs4Operations::FsBurnAux(FwOperations *imgops, ExtBurnParams& burnParams)
+{
+    bool devIntQueryRes;
+    bool rc;
+    Fs4Operations& imageOps = * ((Fs4Operations *) imgops);
+
+    if (imageOps.FwType() != FIT_FS4) {
+        return errmsg(MLXFW_IMAGE_FORMAT_ERR, "FW image type is not FS4\n");
+    }
+
+    devIntQueryRes = FsIntQueryAux();
+
+    if (!devIntQueryRes && burnParams.burnFailsafe) {
+        return false;
+    }
+
+    //For image we execute full verify to bring all the information needed for ROM Patch
+    if (!imageOps.FsIntQueryAux(true, false)) {
+          return false;
+    }
+
+    //Check Matching device ID
+    if (!burnParams.noDevidCheck && _ioAccess->is_flash()) {
+        if (imageOps._fwImgInfo.supportedHwIdNum) {
+             if (!CheckMatchingHwDevId(_ioAccess->get_dev_id(),
+                                         _ioAccess->get_rev_id(),
+                                         imageOps._fwImgInfo.supportedHwId,
+                                         imageOps._fwImgInfo.supportedHwIdNum)) {
+                 return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR,
+                         "Device/Image mismatch: %s\n",this->err( ));
+             }
+         } else {
+             //No supported HW IDs (problem with the image ?)
+             return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR,
+                     "No supported devices were found in the FW image.");
+         }
+    }
+
+    if (!burnParams.burnFailsafe) {
+        //Some checks in case we burn in a non-failsafe manner and attempt to
+        // integrate existing device Data sections from device.
+        if (!burnParams.useImgDevData) {
+            //We will take device data section from device: perform some checks
+            if (_fs4ImgInfo.dtocArr.tocArrayAddr == 0) {
+                return errmsg("Cannot extract device data sections: "
+                        "Invalid DTOC section. "
+                        "Please ignore extracting device data sections.");
+            }
+            if (_badDevDataSections) {
+                return errmsg("Cannot integrate device data sections: "
+                        "Device data sections are corrupted. "
+                        "Please ignore extracting device data sections.");
+            }
+        } else {
+            //We will take device data sections from image: make sure device is not write protected
+            if (_ioAccess->is_flash()) {
+                FBase* origFlashObj = (FBase*) NULL;
+                if (!((Flash*)_ioAccess)->get_ignore_cache_replacment()) {
+                   origFlashObj = _ioAccess;
+                   _fwParams.ignoreCacheRep = 1;
+                   if (!FwOperations::FwAccessCreate(_fwParams, &_ioAccess)) {
+                       _ioAccess = origFlashObj;
+                       _fwParams.ignoreCacheRep = 0;
+                       return errmsg(MLXFW_OPEN_OCR_ERR,
+                               "Failed to open device for direct flash access");
+                   }
+                }
+
+                if (((Flash*)_ioAccess)->is_flash_write_protected()) {
+                   FLASH_RESTORE(origFlashObj);
+                   return errmsg("Cannot burn device data sections, "
+                           "Flash is write protected.");
+                }
+
+                FLASH_RESTORE(origFlashObj);
+            }
+        }
+    }
+
+    if (devIntQueryRes && !CheckPSID(imageOps, burnParams.allowPsidChange)) {
+        return false;
+    }
+
+    if (burnParams.burnFailsafe) {
+        // Check image and device chunk sizes are Ok
+        if (_fwImgInfo.cntxLog2ChunkSize != imageOps._fwImgInfo.cntxLog2ChunkSize) {
+            return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR,
+                    "Device and Image file partition size differ(0x%x/0x%x), use non failsafe burn flow.",
+                    _fwImgInfo.cntxLog2ChunkSize, imageOps._fwImgInfo.cntxLog2ChunkSize);
+        }
+
+        // Check if the burnt FW version is OK
+        if (!CheckFwVersion(imageOps, burnParams.ignoreVersionCheck)) {
+            return false;
+        }
+
+        // Check TimeStamp
+        if (!TestAndSetTimeStamp(imageOps)) {
+            return false;
+        }
+
+        // ROM patchs
+        if ((burnParams.burnRomOptions == ExtBurnParams::BRO_FROM_DEV_IF_EXIST) &&
+                _fwImgInfo.ext_info.roms_info.exp_rom_found) {
+            std::vector<u_int8_t> romSect = _romSect;
+            TOCPUn((u_int32_t*)romSect.data(), romSect.size() >> 2);
+            if (!imageOps.Fs4AddSectionAux(FS3_ROM_CODE, INITOCENTRY, 0,
+                    (u_int32_t*)romSect.data(), romSect.size())) {
+                return errmsg(MLXFW_ROM_UPDATE_IN_IMAGE_ERR,
+                        "failed to update ROM in image. %s", imageOps.err());
+            }
+        }
+
+        // Image vsd patch
+        if (!burnParams.useImagePs &&
+                (burnParams.vsdSpecified || burnParams.useDevImgInfo)) {
+            // get image info section :
+            struct fs4_toc_info *imageInfoToc = (struct fs4_toc_info *)NULL;
+            if (!imageOps.Fs4GetItocInfo(imageOps._fs4ImgInfo.itocArr.tocArr,
+                    imageOps._fs4ImgInfo.itocArr.numOfTocs,
+                    FS3_IMAGE_INFO, imageInfoToc)) {
+                return errmsg(MLXFW_GET_SECT_ERR,
+                        "failed to get Image Info section.");
+            }
+
+            std::vector<u_int8_t> imageInfoSect = imageInfoToc->section_data;
+
+            if (burnParams.vsdSpecified) {
+                struct cibfw_image_info image_info;
+                cibfw_image_info_unpack(&image_info, &imageInfoSect[0]);
+                strncpy(image_info.vsd, burnParams.userVsd, VSD_LEN);
+                cibfw_image_info_pack(&image_info, &imageInfoSect[0]);
+            }
+
+            if (burnParams.useDevImgInfo) {
+                // update PSID, name and description in image info
+                struct tools_open_image_info tools_image_info;
+                tools_open_image_info_unpack(&tools_image_info, &imageInfoSect[0]);
+                strncpy(tools_image_info.psid, _fwImgInfo.ext_info.psid,
+                        PSID_LEN - 1);
+                strncpy(tools_image_info.name, _fs3ImgInfo.ext_info.name,
+                        NAME_LEN - 1);
+                strncpy(tools_image_info.description,
+                        _fs3ImgInfo.ext_info.description, DESCRIPTION_LEN - 1);
+                tools_open_image_info_pack(&tools_image_info, &imageInfoSect[0]);
+            }
+
+            //update image info toc and section
+            if (!Fs4UpdateItocInfo(imageInfoToc,
+                    imageInfoToc->toc_entry.size,
+                    imageInfoSect)) {
+                return false;
+            }
+            //update the toc in the cache
+            imageOps.Fs3UpdateImgCache(imageInfoToc->data,
+                    imageInfoToc->entry_addr,
+                    CX5FW_ITOC_ENTRY_SIZE);
+            //update the section in the cache
+            imageOps.Fs3UpdateImgCache(imageInfoToc->section_data.data(),
+                    imageInfoToc->toc_entry.flash_addr << 2,
+                    imageInfoToc->toc_entry.size * 4);
+        }
+    }
+
+    rc = BurnFs4Image(imageOps, burnParams);
+
+    return rc ;
+}
+
+bool Fs4Operations::Fs4GetItocInfo(struct fs4_toc_info  *tocArr, int num_of_itocs,
+        fs3_section_t sect_type, struct fs4_toc_info *&curr_toc)
+{
+    int tocIndex;
+    return Fs4GetItocInfo(tocArr, num_of_itocs, sect_type, curr_toc, tocIndex);
+}
+
+bool Fs4Operations::Fs4GetItocInfo(struct fs4_toc_info  *tocArr, int num_of_itocs,
+        fs3_section_t sect_type, struct fs4_toc_info *&curr_toc, int& toc_index)
+{
+    for (int i = 0; i < num_of_itocs; i++) {
+        struct fs4_toc_info *itoc_info = &tocArr[i];
+        if (itoc_info->toc_entry.type == sect_type) {
+            curr_toc =  itoc_info;
+            toc_index = i;
+            return true;
+        }
+    }
+    return errmsg("TOC entry type: %s (%d) not found", GetSectionNameByType(sect_type), sect_type);
+}
+
+bool Fs4Operations::Fs4GetItocInfo(struct fs4_toc_info  *tocArr, int num_of_itocs,
+        fs3_section_t sect_type, vector<struct fs4_toc_info *>& curr_toc)
+{
+    for (int i = 0; i < num_of_itocs; i++) {
+        struct fs4_toc_info *itoc_info = &tocArr[i];
+        if (itoc_info->toc_entry.type == sect_type) {
+            curr_toc.push_back(itoc_info);
+        }
+    }
+    return true;
+}
+
+bool Fs4Operations::Fs4UpdateMfgUidsSection(struct fs4_toc_info *curr_toc,
+        std::vector<u_int8_t>  section_data, fs3_uid_t base_uid,
+        std::vector<u_int8_t>  &newSectionData)
+{
+    struct cibfw_mfg_info cib_mfg_info;
+    struct cx4fw_mfg_info cx4_mfg_info;
+    (void)curr_toc;
+    cibfw_mfg_info_unpack(&cib_mfg_info, (u_int8_t*)&section_data[0]);
+
+    if (cib_mfg_info.major_version == 0) {
+        if (!Fs3ChangeUidsFromBase(base_uid, cib_mfg_info.guids)) {
+            return false;
+        }
+    } else if (cib_mfg_info.major_version == 1) {
+        cx4fw_mfg_info_unpack(&cx4_mfg_info, (u_int8_t*)&section_data[0]);
+        if (!Fs3ChangeUidsFromBase(base_uid, cx4_mfg_info.guids)) {
+            return false;
+        }
+    } else {
+        return errmsg("Unknown MFG_INFO format version (%d.%d).", cib_mfg_info.major_version, cib_mfg_info.minor_version);
+    }
+    newSectionData = section_data;
+
+    if (cib_mfg_info.major_version == 1) {
+        cx4fw_mfg_info_pack(&cx4_mfg_info, (u_int8_t*)&newSectionData[0]);
+    } else {
+        cibfw_mfg_info_pack(&cib_mfg_info, (u_int8_t*)&newSectionData[0]);
+    }
+    return true;
+}
+
+bool Fs4Operations::Fs4ChangeUidsFromBase(fs3_uid_t base_uid, struct cx5fw_guids& guids)
+{
+    /*
+     * on ConnectX4 we derrive guids from base_guid and macs from base_mac
+     */
+    u_int64_t base_guid_64;
+    u_int64_t base_mac_64;
+    if (!base_uid.use_pp_attr) {
+        return errmsg("Expected per port attributes to be specified");
+    }
+
+    base_guid_64 = base_uid.base_guid_specified ? GUID_TO_64(base_uid.base_guid) : guids.guids.uid;
+    base_mac_64 = base_uid.base_mac_specified ? GUID_TO_64(base_uid.base_mac) : guids.macs.uid;
+    if (base_uid.set_mac_from_guid && base_uid.base_guid_specified) {
+        // in case we derrive mac from guid
+        base_mac_64 = (((u_int64_t)base_uid.base_guid.l & 0xffffff) | (((u_int64_t)base_uid.base_guid.h & 0xffffff00) << 16));
+    }
+
+    guids.guids.uid = base_guid_64;
+    guids.guids.num_allocated = base_uid.num_of_guids_pp[0] != DEFAULT_GUID_NUM ? base_uid.num_of_guids_pp[0] : guids.guids.num_allocated;
+    guids.guids.step = base_uid.step_size_pp[0] != DEFAULT_STEP ? base_uid.step_size_pp[0] : guids.guids.step;
+
+    guids.macs.uid = base_mac_64;
+    guids.macs.num_allocated = base_uid.num_of_guids_pp[0] != DEFAULT_GUID_NUM ? base_uid.num_of_guids_pp[0] : guids.macs.num_allocated;
+    guids.macs.step = base_uid.step_size_pp[0] != DEFAULT_STEP ? base_uid.step_size_pp[0] : guids.macs.step ;
+    return true;
+}
+
+bool Fs4Operations::Fs4UpdateUidsSection(std::vector<u_int8_t>  section_data,
+        fs3_uid_t base_uid, std::vector<u_int8_t>  &newSectionData)
+{
+    struct cx5fw_device_info dev_info;
+
+    cx5fw_device_info_unpack(&dev_info, (u_int8_t*)&section_data[0]);
+
+    if (!Fs4ChangeUidsFromBase(base_uid, dev_info.guids)) {
+        return false;
+    }
+
+    dev_info.signature0 = DEV_INFO_SIG0;
+    dev_info.signature1 = DEV_INFO_SIG1;
+    dev_info.signature2 = DEV_INFO_SIG2;
+    dev_info.signature3 = DEV_INFO_SIG3;
+
+    newSectionData = section_data;
+
+    cx5fw_device_info_pack(&dev_info, (u_int8_t*)&newSectionData[0]);
+    return true;
+}
+
+bool Fs4Operations::Fs4UpdateVsdSection(std::vector<u_int8_t>  section_data, char* user_vsd,
+        std::vector<u_int8_t>  &newSectionData)
+{
+    struct cx5fw_device_info dev_info;
+
+    cx5fw_device_info_unpack(&dev_info, (u_int8_t*)&section_data[0]);
+    memset(dev_info.vsd, 0, sizeof(dev_info.vsd));
+    strncpy(dev_info.vsd, user_vsd, TOOLS_ARR_SZ(dev_info.vsd) - 1);
+    newSectionData = section_data;
+    dev_info.signature0 = DEV_INFO_SIG0;
+    dev_info.signature1 = DEV_INFO_SIG1;
+    dev_info.signature2 = DEV_INFO_SIG2;
+    dev_info.signature3 = DEV_INFO_SIG3;
+    cx5fw_device_info_pack(&dev_info, (u_int8_t*)&newSectionData[0]);
+    return true;
+}
+
+
+bool Fs4Operations::Fs4UpdateVpdSection(struct fs4_toc_info *curr_toc, char *vpd,
+                                   std::vector<u_int8_t>  &newSectionData)
+{
+    int vpd_size = 0;
+    u_int8_t *vpd_data = (u_int8_t*)NULL;
+
+    if (!ReadImageFile(vpd, vpd_data, vpd_size)) {
+        return false;
+    }
+    if (vpd_size % 4) {
+        delete[] vpd_data;
+        return errmsg("Size of VPD file: %d is not 4-byte alligned!", vpd_size);
+    }
+
+    //check if vpd exceeds the dtoc array
+    u_int32_t vpdAddress = curr_toc->toc_entry.flash_addr << 2;
+    if (vpdAddress + vpd_size >=
+            (_ioAccess->get_size() - FS4_DEFAULT_SECTOR_SIZE)) {
+        delete[] vpd_data;
+        return errmsg("VPD data exceeds dtoc array, max VPD size: 0x%x bytes",
+                _ioAccess->get_size() - vpdAddress - 1);
+    }
+    GetSectData(newSectionData, (u_int32_t*)vpd_data, vpd_size);
+    curr_toc->toc_entry.size = vpd_size / 4;
+    delete[] vpd_data;
+    return true;
+}
+
+bool Fs4Operations::Fs4ReburnSection(u_int32_t newSectionAddr,
+        u_int32_t newSectionSize, std::vector<u_int8_t>  newSectionData, const char *msg, PrintCallBack callBackFunc)
+{
+    char message[127];
+
+    sprintf(message, "Updating %-4s section - ", msg);
+
+    PRINT_PROGRESS(callBackFunc, message);
+
+
+    if (!writeImage((ProgressCallBack)NULL, newSectionAddr , (u_int8_t*)&newSectionData[0], newSectionSize, true, true)) {
+        PRINT_PROGRESS(callBackFunc, (char*)"FAILED\n");
+        return false;
+    }
+
+    PRINT_PROGRESS(callBackFunc, (char*)"OK\n");
+
+    return true;
+}
+
+bool Fs4Operations::Fs4ReburnTocSection(bool isDtoc, PrintCallBack callBackFunc)
+{
+    // Update new TOC section
+    if (isDtoc) {
+        if (!reburnDTocSection(callBackFunc)) {
+            return false;
+        }
+    } else {
+        if (!reburnITocSection(callBackFunc, _ioAccess->is_flash())) {
+            return false;
+        }
+    }
+    return true;
+}
+
+bool Fs4Operations::reburnDTocSection(PrintCallBack callBackFunc)
+{
+    // Itoc section is failsafe (two sectors after boot section are reserved for itoc entries)
+    u_int32_t tocAddr = _fs4ImgInfo.dtocArr.tocArrayAddr;
+    // Update new ITOC
+    u_int32_t tocSize = (_fs4ImgInfo.dtocArr.numOfTocs + 1 ) * CX5FW_ITOC_ENTRY_SIZE + CX5FW_ITOC_HEADER_SIZE;
+    u_int8_t *p = new u_int8_t[tocSize];
+    memcpy(p, _fs4ImgInfo.dtocArr.tocHeader, CIBFW_ITOC_HEADER_SIZE);
+    for (int i = 0; i < _fs4ImgInfo.dtocArr.numOfTocs; i++) {
+        struct fs4_toc_info *curr_itoc = &_fs4ImgInfo.dtocArr.tocArr[i];
+        memcpy(p + CX5FW_ITOC_HEADER_SIZE + i * CX5FW_ITOC_ENTRY_SIZE,
+                curr_itoc->data,
+                CX5FW_ITOC_ENTRY_SIZE);
+    }
+    memset(&p[tocSize] - CX5FW_ITOC_ENTRY_SIZE, FS3_END, CX5FW_ITOC_ENTRY_SIZE);
+
+    PRINT_PROGRESS(callBackFunc, (char*)"Updating TOC section - ");
+    bool rc = writeImage((ProgressCallBack)NULL, tocAddr , p, tocSize, true, true);
+    delete[] p;
+    if (!rc) {
+        PRINT_PROGRESS(callBackFunc,(char*)"FAILED\n");
+        return false;
+    }
+    PRINT_PROGRESS(callBackFunc,(char*)"OK\n");
+
+    return true;
+}
+
+bool Fs4Operations::reburnITocSection(PrintCallBack callBackFunc, bool isFailSafe)
+{
+    // Itoc section is failsafe (two sectors after boot section are reserved for itoc entries)
+    u_int32_t sector_size = FS3_DEFAULT_SECTOR_SIZE;
+    u_int32_t oldITocAddr = _fs4ImgInfo.itocArr.tocArrayAddr;
+    u_int32_t newITocAddr = oldITocAddr;
+    if (isFailSafe) {
+        newITocAddr = (_fs4ImgInfo.firstItocArrayIsEmpty) ?
+                          (_fs4ImgInfo.itocArr.tocArrayAddr - sector_size) :
+                          (_fs4ImgInfo.itocArr.tocArrayAddr + sector_size);
+    }
+    // Update new ITOC
+    u_int32_t tocSize = (_fs4ImgInfo.itocArr.numOfTocs + 1 ) * CX5FW_ITOC_ENTRY_SIZE + CX5FW_ITOC_HEADER_SIZE;
+    u_int8_t *p = new u_int8_t[tocSize];
+    memcpy(p, _fs4ImgInfo.itocArr.tocHeader, CIBFW_ITOC_HEADER_SIZE);
+    for (int i = 0; i < _fs4ImgInfo.itocArr.numOfTocs; i++) {
+        struct fs4_toc_info *curr_itoc = &_fs4ImgInfo.itocArr.tocArr[i];
+        memcpy(p + CX5FW_ITOC_HEADER_SIZE + i * CX5FW_ITOC_ENTRY_SIZE,
+                curr_itoc->data,
+                CX5FW_ITOC_ENTRY_SIZE);
+    }
+    memset(&p[tocSize] - CX5FW_ITOC_ENTRY_SIZE, FS3_END, CX5FW_ITOC_ENTRY_SIZE);
+
+    PRINT_PROGRESS(callBackFunc, (char*)"Updating TOC section - ");
+    bool rc = writeImage((ProgressCallBack)NULL, newITocAddr , p, tocSize, true, true);
+    delete[] p;
+    if (!rc) {
+        PRINT_PROGRESS(callBackFunc,(char*)"FAILED\n");
+        return false;
+    }
+    PRINT_PROGRESS(callBackFunc,(char*)"OK\n");
+
+    u_int32_t zeros = 0;
+    if (isFailSafe) {
+        PRINT_PROGRESS(callBackFunc,(char*)"Restoring signature   - ");
+        if (!writeImage((ProgressCallBack)NULL, oldITocAddr, (u_int8_t*)&zeros, 4, false, true)) {
+            PRINT_PROGRESS(callBackFunc,(char*)"FAILED\n");
+            return false;
+        }
+        PRINT_PROGRESS(callBackFunc,(char*)"OK\n");
+    }
+    return true;
+}
+
+bool Fs4Operations::Fs4UpdateItocInfo(struct fs4_toc_info *curr_toc,
+        u_int32_t NewSectSize, std::vector<u_int8_t>&  newSectionData)
+{
+    u_int8_t  tocEntryBuff[CX5FW_ITOC_ENTRY_SIZE];
+
+    curr_toc->toc_entry.size = NewSectSize;
+    curr_toc->section_data = newSectionData;
+
+    if (curr_toc->toc_entry.crc == INITOCENTRY) {
+        curr_toc->toc_entry.section_crc = CalcImageCRC((u_int32_t*)&newSectionData[0], curr_toc->toc_entry.size);
+    } else if (curr_toc->toc_entry.crc == INSECTION) {
+        u_int32_t newSectionCRC = CalcImageCRC((u_int32_t*)&newSectionData[0], curr_toc->toc_entry.size - 1);
+        ((u_int32_t*)curr_toc->section_data.data())[curr_toc->toc_entry.size - 1] = newSectionCRC;
+        ((u_int32_t*)newSectionData.data())[curr_toc->toc_entry.size - 1] = TOCPU1(newSectionCRC);
+    }
+
+    memset(tocEntryBuff, 0, CX5FW_ITOC_ENTRY_SIZE);
+    cx5fw_itoc_entry_pack(&curr_toc->toc_entry, tocEntryBuff);
+
+    u_int32_t newEntryCRC = CalcImageCRC((u_int32_t*)tocEntryBuff, (TOC_ENTRY_SIZE / 4) - 1);
+    curr_toc->toc_entry.itoc_entry_crc = newEntryCRC;
+
+    memset(curr_toc->data, 0, CX5FW_ITOC_ENTRY_SIZE);
+    cx5fw_itoc_entry_pack(&curr_toc->toc_entry, curr_toc->data);
+
+    return true;
+}
+
+bool Fs4Operations::isDTocSection(fs3_section_t sect_type, bool& isDtoc)
+{
+    switch ((int)sect_type) {
+        case FS3_MFG_INFO:
+        case FS3_DEV_INFO:
+        case FS3_VPD_R0:
+           isDtoc = true;
+           break;
+        case FS3_IMAGE_SIGNATURE:
+           isDtoc = false;
+           break;
+        default:
+           return errmsg("Section type %s is not supported\n", GetSectionNameByType(sect_type));
+           break;
+    }
+    return true;
+}
+
+bool Fs4Operations::Fs3UpdateSection(void *new_info, fs3_section_t sect_type, bool is_sect_failsafe, CommandType cmd_type, PrintCallBack callBackFunc)
+{
+    (void) cmd_type;
+    struct fs4_toc_info *curr_toc = (fs4_toc_info*)NULL;
+    struct fs4_toc_info *old_toc = (fs4_toc_info*)NULL;
+    std::vector<u_int8_t> newUidSection;
+    u_int32_t newSectionAddr;
+    const char *type_msg;
+    struct fs4_toc_info  *tocArr;
+    u_int32_t numOfTocs;
+    u_int32_t  zeroes = 0;
+    bool isDtoc;
+    // init sector to read
+    _readSectList.push_back(sect_type);
+    if (!FsIntQueryAux()) {
+        _readSectList.pop_back();
+        return false;
+    }
+    _readSectList.pop_back();
+
+    is_sect_failsafe = (sect_type == FS3_DEV_INFO);
+
+    if (!isDTocSection(sect_type, isDtoc)) {
+        return false;
+    }
+
+    if (isDtoc) {
+        tocArr = _fs4ImgInfo.dtocArr.tocArr;
+        numOfTocs = _fs4ImgInfo.dtocArr.numOfTocs;
+    } else {
+        tocArr = _fs4ImgInfo.itocArr.tocArr;
+        numOfTocs = _fs4ImgInfo.itocArr.numOfTocs;
+    }
+
+    if (is_sect_failsafe) {
+        vector<struct fs4_toc_info *> tocs;
+        //find first valid section
+        if (!Fs4GetItocInfo(tocArr, numOfTocs, sect_type, tocs)) {
+            return false;
+        }
+        if (tocs.size() < 2) {
+            PRINT_PROGRESS(callBackFunc, (char*)"FAILED\n");
+            return false;
+        }
+        for (size_t i = 0; i < tocs.size(); i++) {
+            if (CheckDevInfoSignature((u_int32_t*)(tocs[i]->section_data.data()))) {
+                old_toc = tocs[i];
+                //find the second section (valid or not valid, does not matter)
+                if (i == 0) {
+                    curr_toc = tocs[1];
+                } else {
+                    curr_toc = tocs[0];
+                }
+                break;
+            }
+        }
+        if (!old_toc) {
+            return errmsg("Bad DEV_INFO signature.");
+        }
+    } else {
+        int tocIndex = 0;
+        if (!Fs4GetItocInfo(tocArr, numOfTocs, sect_type, curr_toc, tocIndex)) {
+            return false;
+        }
+        if (sect_type == FS3_VPD_R0 && ((u_int32_t)tocIndex) != numOfTocs - 1) {
+            return errmsg("VPD Section is not the last device section");
+        }
+    }
+
+    if (!curr_toc) {
+        return errmsg("Couldn't find TOC array.");
+    }
+
+    if (sect_type == FS3_MFG_INFO) {
+        fs3_uid_t base_uid = *(fs3_uid_t*)new_info;
+        type_msg = "GUID";
+        if (!Fs4UpdateMfgUidsSection(curr_toc, curr_toc->section_data, base_uid,
+                newUidSection)) {
+            return false;
+        }
+    } else if (sect_type == FS3_DEV_INFO) {
+        if (cmd_type == CMD_SET_GUIDS) {
+            fs3_uid_t base_uid = *(fs3_uid_t*)new_info;
+            type_msg = "GUID";
+            if (!Fs4UpdateUidsSection(old_toc->section_data, base_uid, newUidSection)) {
+                return false;
+            }
+        } else if(cmd_type == CMD_SET_VSD) {
+            char* user_vsd = (char*)new_info;
+            type_msg = "VSD";
+            if (!Fs4UpdateVsdSection(old_toc->section_data,
+                    user_vsd,
+                    newUidSection)) {
+                return false;
+            }
+        } else {
+                // We shouldnt reach here EVER
+                type_msg = (char*)"Unknown";
+        }
+    } else if (sect_type == FS3_VPD_R0) {
+        char *vpd_file = (char*)new_info;
+        type_msg = "VPD";
+        if (!Fs4UpdateVpdSection(curr_toc, vpd_file, newUidSection)) {
+            return false;
+        }
+    } else {
+        return errmsg("Section type %s is not supported\n", GetSectionNameByType(sect_type));
+    }
+
+    newSectionAddr = curr_toc->toc_entry.flash_addr << 2;
+
+    if (!Fs4UpdateItocInfo(curr_toc, curr_toc->toc_entry.size, newUidSection)) {
+        return false;
+    }
+
+    if (!Fs4ReburnSection(newSectionAddr, curr_toc->toc_entry.size * 4, newUidSection, type_msg, callBackFunc)) {
+        return false;
+    }
+
+    if (sect_type != FS3_DEV_INFO) {
+        if (!Fs4ReburnTocSection(isDtoc, callBackFunc)) {
+            return false;
+        }
+    }
+
+    if(is_sect_failsafe) {
+        if (!writeImage((ProgressCallBack)NULL,
+                old_toc->toc_entry.flash_addr << 2,
+                (u_int8_t*)&zeroes, sizeof(zeroes), isDtoc, true)) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+u_int32_t Fs4Operations::getAbsAddr(fs4_toc_info* toc) {
+    return ((toc->toc_entry.flash_addr << 2) + _fwImgInfo.imgStart);
+}
+
+u_int32_t Fs4Operations::getAbsAddr(fs4_toc_info* toc, u_int32_t imgStart) {
+    return ((toc->toc_entry.flash_addr << 2) + imgStart);
+}
+
+bool Fs4Operations::FwShiftDevData(PrintCallBack progressFunc)
+{
+    // avoid compiler warrnings
+    (void)progressFunc;
+    return errmsg("Shifting device data sections is not supported in FS4 image format.");
+}
+
+#define OPEN_OCR(origFlashObj) do {\
+                        origFlashObj = _ioAccess;\
+                        _fwParams.ignoreCacheRep = 1;\
+                        if (!FwOperations::FwAccessCreate(_fwParams, &_ioAccess)) {\
+                            _ioAccess = origFlashObj;\
+                            _fwParams.ignoreCacheRep = 0;\
+                            return errmsg("Failed to open device for direct flash access");\
+                        }\
+                    } while (0)
+
+bool Fs4Operations::FwCalcMD5(u_int8_t md5sum[16])
+{
+#if defined(UEFI_BUILD) || defined(NO_OPEN_SSL)
+    (void)md5sum;
+    return errmsg("Operation not supported");
+#else
+    if (!FsIntQueryAux(true, false)) {
+        return false;
+    }
+    // push beggining of image to md5buff
+    int sz = FS3_BOOT_START + _fwImgInfo.bootSize;
+    std::vector<u_int8_t> md5buff(sz, 0);
+    _imageCache.get(&(md5buff[0]), sz);
+    // push all non dev data sections to md5buff
+    for (unsigned int j = 0; j < TOC_HEADER_SIZE; j++) {
+        md5buff.push_back(_imageCache[_fs4ImgInfo.itocArr.tocArrayAddr + j]);
+    }
+    // push itoc header
+    for (int i = 0; i < _fs4ImgInfo.itocArr.numOfTocs; i++) {
+        // push each non-dev-data section to md5sum buffer
+        u_int32_t tocEntryAddr = _fs4ImgInfo.itocArr.tocArr[i].entry_addr;
+        u_int32_t tocDataAddr = _fs4ImgInfo.itocArr.tocArr[i].toc_entry.flash_addr << 2;
+        u_int32_t tocDataSize =  _fs4ImgInfo.itocArr.tocArr[i].toc_entry.size << 2;
+        // itoc entry
+        for (unsigned int j = 0; j < TOC_ENTRY_SIZE; j++) {
+            md5buff.push_back(_imageCache[tocEntryAddr + j]);
+        }
+        // itoc data
+        for (unsigned int j = 0; j < tocDataSize; j++) {
+            md5buff.push_back(_imageCache[tocDataAddr + j]);
+        }
+    }
+    // calc md5
+    tools_md5(&md5buff[0], md5buff.size(), md5sum);
+    return true;
+#endif
+}
+
+bool Fs4Operations::CheckDTocArray()
+{
+
+    if(!CheckTocArrConsistency(_fs4ImgInfo.dtocArr, 0)) {
+        return false;
+    }
+
+    return true;
+}
+
+bool Fs4Operations::CheckITocArray()
+{
+    // Check for inconsistency image burnt on 1st half
+    if(!CheckTocArrConsistency(_fs4ImgInfo.itocArr, 0)) {
+        return false;
+    }
+
+    // Check for inconsistency image burn on second half
+    if(!CheckTocArrConsistency(_fs4ImgInfo.itocArr, (1 << _fwImgInfo.cntxLog2ChunkSize))) {
+        return false;
+    }
+    return true;
+}
+
+bool Fs4Operations::CheckTocArrConsistency(TocArray& tocArr, u_int32_t imageStartAddr) {
+
+    u_int32_t sectEndAddr = 0;
+    u_int32_t nextSectStrtAddr = 0;
+
+    //Sort the tocs
+    std::vector<struct fs4_toc_info*> sortedTocVec(tocArr.numOfTocs);
+    for (int i=0 ; i < tocArr.numOfTocs ; i++) {
+        sortedTocVec[i]= &(tocArr.tocArr[i]);
+    }
+    std::sort(sortedTocVec.begin(), sortedTocVec.end(), TocComp(imageStartAddr));
+
+    std::vector<struct fs4_toc_info*>::iterator it = sortedTocVec.begin(), itNext = sortedTocVec.begin();
+    itNext++;
+    for ( ; itNext != sortedTocVec.end(); it++, itNext++) {
+        sectEndAddr = getAbsAddr(*it, imageStartAddr) + ((*it)->toc_entry.size << 2) - 1;
+        nextSectStrtAddr = getAbsAddr(*itNext, imageStartAddr);
+        if (sectEndAddr >= nextSectStrtAddr) {
+            return errmsg(
+                    "Inconsistency found in TOC. %s(0x%x) section will potentially overwrite %s(0x%x) section.",\
+                    GetSectionNameByType((*it)->toc_entry.type),
+                    (*it)->toc_entry.type,\
+                    GetSectionNameByType((*itNext)->toc_entry.type),
+                    (*itNext)->toc_entry.type);
+        }
+    }
+
+    return true;
+}
+
+u_int32_t Fs4Operations::getImageSize()
+{
+    return _fwImgInfo.lastImageAddr - _fwImgInfo.imgStart;
+}
+
+
+bool Fs4Operations::FwSetTimeStamp(struct tools_open_ts_entry& timestamp,
+        struct tools_open_fw_version& fwVer)
+{
+    CHECK_IF_FS4_FILE_FOR_TIMESTAMP_OP()
+
+    return Fs3Operations::FwSetTimeStamp(timestamp, fwVer);
+}
+
+bool Fs4Operations::FwQueryTimeStamp(struct tools_open_ts_entry& timestamp,
+        struct tools_open_fw_version& fwVer, bool queryRunning)
+{
+    CHECK_IF_FS4_FILE_FOR_TIMESTAMP_OP()
+
+    return Fs3Operations::FwQueryTimeStamp(timestamp, fwVer, queryRunning);
+}
+
+bool Fs4Operations::FwResetTimeStamp()
+{
+    CHECK_IF_FS4_FILE_FOR_TIMESTAMP_OP()
+
+    return Fs3Operations::FwResetTimeStamp();
+}
+
+bool Fs4Operations::TocComp::operator() (fs4_toc_info* elem1, fs4_toc_info* elem2)
+{
+    u_int32_t absAddr1 = (elem1->toc_entry.flash_addr << 2) + _startAdd;
+    u_int32_t absAddr2 = (elem2->toc_entry.flash_addr << 2) + _startAdd;
+    if (absAddr1 < absAddr2) {
+        return true;
+    }
+    return false;
+}
+
+u_int32_t Fs4Operations::TocArray::getSectionsTotalSize()
+{
+    u_int32_t s = 0;
+    for (int i = 0; i < numOfTocs; i++) {
+        struct fs4_toc_info *itoc_info_p = &(tocArr[i]);
+        struct cx5fw_itoc_entry *toc_entry = &itoc_info_p->toc_entry;
+        s += toc_entry->size << 2;
+    }
+    return s;
+}
+
diff --git a/mlxfwops/lib/fs4_ops.h b/mlxfwops/lib/fs4_ops.h
new file mode 100755
index 0000000..28f1485
--- /dev/null
+++ b/mlxfwops/lib/fs4_ops.h
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) Jan 2013 Mellanox Technologies Ltd. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      - Redistributions of source code must retain the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer.
+ *
+ *      - Redistributions in binary form must reproduce the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+
+#ifndef FS4_OPS_
+#define FS4_OPS_
+
+#include <cibfw_layouts.h>
+#include <cx5fw_layouts.h>
+#include <cx4fw_layouts.h>
+#include "fw_ops.h"
+#include "fs3_ops.h"
+#include "aux_tlv_ops.h"
+
+#define FS4_MAX_BIN_VER_MAJOR 1
+#define FS4_MIN_BIN_VER_MAJOR 1
+#define FS4_MIN_BIN_VER_MINOR 0
+
+class Fs4Operations : public Fs3Operations {
+public:
+
+
+    Fs4Operations(FBase *ioAccess) :
+        Fs3Operations(ioAccess), _boot2_ptr(0), _itoc_ptr(0), _tools_ptr(0){
+            _minBinMinorVer = FS4_MIN_BIN_VER_MINOR;
+            _minBinMajorVer = FS4_MIN_BIN_VER_MAJOR;
+            _maxBinMajorVer = FS4_MAX_BIN_VER_MAJOR;
+    };
+
+    virtual ~Fs4Operations()  {};
+    virtual u_int8_t FwType();
+    virtual bool FwInit();
+
+    bool FwShiftDevData(PrintCallBack progressFunc=(PrintCallBack)NULL);
+    bool FwCalcMD5(u_int8_t md5sum[16]);
+    bool FwDeleteRom(bool ignoreProdIdCheck,
+            ProgressCallBack progressFunc=(ProgressCallBack)NULL);
+    bool FwBurnRom(FImage* romImg, bool ignoreProdIdCheck = false,
+            bool ignoreDevidCheck = false,
+            ProgressCallBack progressFunc=(ProgressCallBack)NULL);
+    bool FwSetTimeStamp(struct tools_open_ts_entry& timestamp, struct tools_open_fw_version& fwVer);
+    bool FwQueryTimeStamp(struct tools_open_ts_entry& timestamp,
+            struct tools_open_fw_version& fwVer, bool queryRunning=false);
+    bool FwResetTimeStamp();
+
+
+protected:
+    struct fs4_toc_info {
+        u_int32_t entry_addr;
+        struct cx5fw_itoc_entry toc_entry;
+        u_int8_t  data[CX5FW_ITOC_ENTRY_SIZE];
+        std::vector<u_int8_t>  section_data;
+    };
+
+private:
+    #define PRE_CRC_OUTPUT   "    "
+    #define FS4_DEFAULT_SECTOR_SIZE 0x1000
+    #define DTOC_ASCII 0x44544f43
+
+    enum CRCTYPE {INITOCENTRY = 0, NOCRC = 1, INSECTION = 2};
+
+    class TocArray {
+    public:
+        int                 numOfTocs;
+        struct fs4_toc_info tocArr[MAX_TOCS_NUM];
+        u_int8_t            tocHeader[CX5FW_ITOC_HEADER_SIZE];
+        u_int32_t           tocArrayAddr;
+        u_int32_t           getSectionsTotalSize();
+    };
+
+    struct Fs4ImgInfo {
+        /*fs4_info_t ext_info;
+        std::vector<u_int8_t> imageCache;*/
+        TocArray        itocArr;
+        TocArray        dtocArr;
+        u_int8_t        firstItocArrayIsEmpty;
+        u_int32_t       smallestDTocAddr;
+
+    };
+
+    bool CheckSignatures(u_int32_t a[], u_int32_t b[], int n);
+    bool FsVerifyAux(VerifyCallBack verifyCallBackFunc, bool show_itoc, struct QueryOptions queryOptions);
+    bool CheckTocSignature(struct cx5fw_itoc_header *itoc_header, u_int32_t first_signature);
+    bool CheckDevInfoSignature(u_int32_t* buff);
+    bool FsBurnAux(FwOperations *imageOps, ExtBurnParams& burnParams);
+    bool BurnFs4Image(Fs4Operations &imageOps, ExtBurnParams& burnParams);
+    bool Fs4GetItocInfo(struct fs4_toc_info  *tocArr, int num_of_itocs,
+        fs3_section_t sect_type, struct fs4_toc_info *&curr_toc);
+    bool Fs4GetItocInfo(struct fs4_toc_info  *tocArr, int num_of_itocs,
+            fs3_section_t sect_type, struct fs4_toc_info *&curr_toc,
+            int& toc_index);
+    bool Fs4GetItocInfo(struct fs4_toc_info  *tocArr, int num_of_itocs,
+            fs3_section_t sect_type, vector<struct fs4_toc_info *>& curr_toc);
+    bool Fs3UpdateSection(void *new_info, fs3_section_t sect_type=FS3_DEV_INFO, bool is_sect_failsafe=true, CommandType cmd_type=CMD_UNKNOWN, PrintCallBack callBackFunc=(PrintCallBack)NULL );
+    bool Fs4UpdateMfgUidsSection(struct fs4_toc_info *curr_toc,
+            std::vector<u_int8_t>  section_data, fs3_uid_t base_uid,
+            std::vector<u_int8_t>  &newSectionData);
+    bool Fs4ChangeUidsFromBase(fs3_uid_t base_uid, struct cx5fw_guids& guids);
+    bool Fs4UpdateUidsSection(std::vector<u_int8_t>  section_data, fs3_uid_t base_uid,
+            std::vector<u_int8_t>  &newSectionData);
+    bool Fs4UpdateVsdSection(std::vector<u_int8_t>  section_data, char* user_vsd,
+            std::vector<u_int8_t>  &newSectionData);
+    bool Fs4UpdateVpdSection(struct fs4_toc_info *curr_toc, char *vpd,
+                                   std::vector<u_int8_t>  &newSectionData);
+    bool Fs4ReburnSection(u_int32_t newSectionAddr,
+        u_int32_t newSectionSize, std::vector<u_int8_t>  newSectionData,
+        const char *msg, PrintCallBack callBackFunc);
+    bool Fs4ReburnTocSection(bool isDtoc, PrintCallBack callBackFunc);
+    bool reburnDTocSection(PrintCallBack callBackFunc);
+    bool reburnITocSection(PrintCallBack callBackFunc, bool isFailSafe);
+    bool Fs4UpdateItocInfo(struct fs4_toc_info *curr_toc, u_int32_t NewSectSize,
+            std::vector<u_int8_t>&  newSectionData);
+    bool FwReadData(void* image, u_int32_t* imageSize);
+
+    bool Fs4RemoveSectionAux(fs3_section_t sectionType);
+    bool CreateImageData(vector<u_int8_t>& newImageData);
+    bool Fs4RemoveSection(fs3_section_t sectionType,
+                ProgressCallBack progressFunc);
+    bool Fs4AddSectionAux(fs3_section_t sectionType,
+            enum CRCTYPE crcType, u_int8_t zippedImage, u_int32_t* newSectData,
+            u_int32_t newSectSize);
+    bool Fs4AddSection(fs3_section_t sectionType, enum CRCTYPE crcType,
+            u_int8_t zippedImage, u_int32_t* newSectData, u_int32_t newSectSize,
+            ProgressCallBack progressFunc);
+    void updateTocEndEntryInImgCache(u_int32_t lastItocSectAddress);
+    void updateTocEntryCRC(struct fs4_toc_info *tocEntry);
+    void updateTocEntryData(struct fs4_toc_info *tocEntry);
+    void updateTocEntrySectionData(struct fs4_toc_info *tocEntry,
+            u_int8_t* data, u_int32_t dataSize);
+
+
+    bool CheckFs4ImgSize(Fs4Operations& imageOps, bool useImageDevData=false);
+
+    u_int32_t getAbsAddr(fs4_toc_info* toc);
+    u_int32_t getAbsAddr(fs4_toc_info* toc, u_int32_t imgStart);
+    bool getImgStart();
+    bool getHWPtrs(VerifyCallBack verifyCallBackFunc);
+    bool verifyToolsArea(VerifyCallBack verifyCallBackFunc);
+    bool verifyTocHeader(u_int32_t tocAddr, bool isDtoc, VerifyCallBack verifyCallBackFunc);
+    bool verifyTocEntries(u_int32_t tocAddr, bool show_itoc, bool isDtoc,
+            struct QueryOptions queryOptions, VerifyCallBack verifyCallBackFunc);
+    bool CheckTocArrConsistency(TocArray& tocArr, u_int32_t imageStartAddr);
+    bool CheckITocArray();
+    bool CheckDTocArray();
+    u_int32_t getImageSize();
+    bool isDTocSection(fs3_section_t sect_type, bool& isDtoc);
+
+
+    // Members
+    Fs4ImgInfo _fs4ImgInfo;
+    u_int32_t _boot2_ptr;
+    u_int32_t _itoc_ptr;
+    u_int32_t _tools_ptr;
+
+    //This class is for sorting the itoc array by ascending absolute flash_addr used in FwShiftDevData
+    class TocComp {
+        public:
+            TocComp(u_int32_t startAdd):  _startAdd(startAdd) {};
+            ~TocComp() {};
+            bool operator() (fs4_toc_info* elem1, fs4_toc_info* elem2);
+        private:
+            u_int32_t _startAdd;
+    };
+
+};
+
+
+
+#endif // FS4_OPS_
diff --git a/mlxfwops/lib/fw_ops.cpp b/mlxfwops/lib/fw_ops.cpp
index aac87fe..2c989ee 100644
--- a/mlxfwops/lib/fw_ops.cpp
+++ b/mlxfwops/lib/fw_ops.cpp
@@ -38,6 +38,7 @@
 #include "flint_base.h"
 #include "flint_io.h"
 #include "fw_ops.h"
+#include "fs4_ops.h"
 #include "fs3_ops.h"
 #include "fs2_ops.h"
 
@@ -553,7 +554,7 @@ u_int8_t FwOperations::IsFS4Image(FBase& f, u_int32_t* found_images) {
         READ4_NOERRMSG(f, image_start[0] + 0x10, &data);
         TOCPU1(data);
         image_version = data >> 24;
-        if(image_version == 1) {//1 is the current version
+        if(image_version == 1){//1 is the current version
             return FS_FS4_GEN;
         } else {
             return FS_UNKNOWN_IMG;
@@ -609,6 +610,8 @@ u_int8_t FwOperations::CheckFwFormat(FBase& f, bool getFwFormatFromImg) {
                     (((Flash*)&f)->get_dev_id() == SPECTRUM_HW_ID)   ||
                     (((Flash*)&f)->get_dev_id() == SWITCH_IB2_HW_ID)) {
             return FS_FS3_GEN;
+        } else if (((Flash*)&f)->get_dev_id() == CX5_HW_ID){
+            return FS_FS4_GEN;
         }
     } else {
         v = IsCableImage(f);
@@ -747,6 +750,10 @@ FwOperations* FwOperations::FwOperationsCreate(fw_ops_params_t& fwParams)
                 fwops = new Fs3Operations(ioAccess);
                 break;
             }
+            case FS_FS4_GEN: {
+                fwops = new Fs4Operations(ioAccess);
+                break;
+            }
 #ifdef CABLES_SUPP
             case FS_FC1_GEN: {
                 fwops = new CableFwOperations(ioAccess);
@@ -837,7 +844,7 @@ bool FwOperations::writeImage(ProgressCallBack progressFunc, u_int32_t addr, voi
             u_int32_t new_perc = ((cnt - towrite + alreadyWrittenSz) * 100) / totalSz;
 
                     if (progressFunc((int)new_perc)) {
-                        return errmsg("Aborting... recieved interrupt signal");
+                        return errmsg("Aborting... received interrupt signal");
                     }
             }
         }
@@ -932,7 +939,7 @@ const FwOperations::HwDevData FwOperations::hwDevData[] = {
     { "Switch_IB",        SWITCH_IB_HW_ID,  CT_SWITCH_IB, CFT_SWITCH,   0, {52000, 0}},
     { "ConnectX-4",       CX4_HW_ID,        CT_CONNECTX4, CFT_HCA,    0, {4115, 0}},
     { "ConnectX-4LX",     CX4LX_HW_ID,      CT_CONNECTX4_LX, CFT_HCA,    0, {4117, 0}},
-    { "ConnectX-5",       CX5_HW_ID,        CT_CONNECTX5, CFT_HCA,    0, {4119, 0}},
+    { "ConnectX-5",       CX5_HW_ID,        CT_CONNECTX5, CFT_HCA,    0, {4119, 4121, 0}},
     { "Spectrum",         SPECTRUM_HW_ID,   CT_SPECTRUM, CFT_SWITCH,   0, {52100, 0}},
     { "Switch_IB2",       SWITCH_IB2_HW_ID, CT_SWITCH_IB2, CFT_SWITCH,   0, {53000, 0}},
     { (char*)NULL ,              0, CT_UNKNOWN, CFT_UNKNOWN, 0, {0}},// zero devid terminator
@@ -954,6 +961,7 @@ const FwOperations::HwDev2Str FwOperations::hwDev2Str[] = {
         {"SwitchIB A0",       SWITCH_IB_HW_ID,  0x00},
         {"Spectrum A0",       SPECTRUM_HW_ID,   0x00},
         {"SwitchIB2 A0",      SWITCH_IB2_HW_ID, 0x00},
+        {"Spectrum A1",       SPECTRUM_HW_ID,   0x01},
         { (char*)NULL ,       (u_int32_t)0, (u_int8_t)0x00}, // zero device ID terminator
 };
 
@@ -982,7 +990,7 @@ bool FwOperations::HWIdRevToName(u_int32_t hw_id, u_int8_t rev_id, char *hw_name
 
 // This function gets the HW ID of the target device and the dev ID from
 // the image. It then matches the 2 IDs and returns an error in case of
-// missmatch. The match is not 1:1 , since the FW image contains the SW
+// mismatch. The match is not 1:1 , since the FW image contains the SW
 // dev id, and a single hw dev id may match multiple SW dev IDs.
 //
 bool FwOperations::CheckMatchingHwDevId(u_int32_t hwDevId, u_int32_t rev_id, u_int32_t* supportedHwId, u_int32_t supportedHwIdNum) {
@@ -1031,7 +1039,7 @@ bool FwOperations::CheckMatchingHwDevId(u_int32_t hwDevId, u_int32_t rev_id, u_i
         return false;
     }
 
-    return errmsg(MLXFW_DEVICE_IMAGE_MISSMATCH_ERR, "FW image file cannot be programmed to device %s, it is intended for: %s only",
+    return errmsg(MLXFW_DEVICE_IMAGE_MISMATCH_ERR, "FW image file cannot be programmed to device %s, it is intended for: %s only",
             curr_hw_id_name, supp_hw_id_list);
 }
 bool FwOperations::CheckMatchingDevId(u_int32_t hwDevId, u_int32_t imageDevId) {
@@ -1085,7 +1093,7 @@ bool FwOperations::CheckPSID(FwOperations &imageOps, u_int8_t allow_psid_change)
 {
     if (!allow_psid_change) {
         if (strncmp( _fwImgInfo.ext_info.psid, imageOps._fwImgInfo.ext_info.psid, PSID_LEN)) {
-            return errmsg(MLXFW_PSID_MISSMATCH_ERR, "Image PSID is %s, it cannot be burnt into current device (PSID: %s)",
+            return errmsg(MLXFW_PSID_MISMATCH_ERR, "Image PSID is %s, it cannot be burnt into current device (PSID: %s)",
                     imageOps._fwImgInfo.ext_info.psid, _fwImgInfo.ext_info.psid);
         }
     }
@@ -1416,7 +1424,7 @@ bool FwOperations::RomInfo::GetExpRomVerForOneRom(u_int32_t verOffset)
         }
     } else if (romInfo->exp_rom_product_id == 0xf) {
         // get string length
-        u_int32_ba tmp_ba = *((u_int32_t*) &romSect[verOffset + 0xc]);
+        u_int32_ba tmp_ba = __le32_to_cpu(*((u_int32_t*) &romSect[verOffset + 0xc]));
         u_int32_t str_len = u_int32_t(tmp_ba.range(15, 8));
         u_int32_t sign_length = u_int32_t(tmp_ba.range(7, 0));
         u_int32_t dws_num = ((str_len + 3) / 4) + 4;
diff --git a/mlxfwops/lib/mlxfwops.cpp b/mlxfwops/lib/mlxfwops.cpp
index 681076a..4e387a3 100755
--- a/mlxfwops/lib/mlxfwops.cpp
+++ b/mlxfwops/lib/mlxfwops.cpp
@@ -105,7 +105,7 @@ MLXFWOP_API const char* MLXFWOPCALL mlxfw_err2str(int err)
         return "Memory allocation Error";
     case MLXFW_ERR_IN_STR:
         return "Error in String";
-    case MLXFW_PSID_MISSMATCH_ERR:
+    case MLXFW_PSID_MISMATCH_ERR:
         return "PSID Mismatch";
     case MLXFW_FLASH_WRITE_ERR:
         return "Flash write Failed";
@@ -127,11 +127,11 @@ MLXFWOP_API const char* MLXFWOPCALL mlxfw_err2str(int err)
         return "Image too large";
     case MLXFW_IMAGE_FORMAT_ERR:
         return "Incompatible image format";
-    case MLXFW_DEVICE_IMAGE_MISSMATCH_ERR:
+    case MLXFW_DEVICE_IMAGE_MISMATCH_ERR:
         return "FW image does not match device";
     case MLXFW_IMAGE_CORRUPTED_ERR:
         return "FW image corrupted";
-    case MLXFW_FS_INFO_MISSMATCH_ERR:
+    case MLXFW_FS_INFO_MISMATCH_ERR:
         return "Failsafe information mismatch";
     case MLXFW_DEV_ID_ERR:
         return "Unsupported device ID";
diff --git a/mlxfwops/lib/mlxfwops_com.h b/mlxfwops/lib/mlxfwops_com.h
index 0935904..2517e48 100644
--- a/mlxfwops/lib/mlxfwops_com.h
+++ b/mlxfwops/lib/mlxfwops_com.h
@@ -94,7 +94,7 @@ enum {
     MLXFW_ERR,
     MLXFW_MEM_ERR,
     MLXFW_ERR_IN_STR,
-    MLXFW_PSID_MISSMATCH_ERR,
+    MLXFW_PSID_MISMATCH_ERR,
     MLXFW_FLASH_WRITE_ERR,
     MLXFW_NO_VALID_IMAGE_ERR,
     MLXFW_MULTIPLE_VALID_IMAGES_ERR,
@@ -105,9 +105,9 @@ enum {
     MLXFW_IMAGE_NOT_FS_ERR,
     MLXFW_IMAGE_TOO_LARGE_ERR,
     MLXFW_IMAGE_FORMAT_ERR,
-    MLXFW_DEVICE_IMAGE_MISSMATCH_ERR,
+    MLXFW_DEVICE_IMAGE_MISMATCH_ERR,
     MLXFW_IMAGE_CORRUPTED_ERR,
-    MLXFW_FS_INFO_MISSMATCH_ERR,
+    MLXFW_FS_INFO_MISMATCH_ERR,
     MLXFW_DEV_ID_ERR,
     MLXFW_UNSUPPORTED_BIN_VER_ERR,
     MLXFW_NO_VALID_ITOC_ERR,
@@ -120,7 +120,7 @@ enum {
     MLXFW_GET_SECT_ERR,
     MLXFW_UPDATE_SECT_ERR,
     MLXFW_BAD_PARAM_ERR,
-    MLXFW_PRS_MISSMATCH_ERR,
+    MLXFW_PRS_MISMATCH_ERR,
     MLXFW_NO_VALID_DEVICE_INFO_ERR,
     MLXFW_TWO_VALID_DEVICE_INFO_ERR,
     MLXFW_DTOC_OVERWRITE_CHUNK
@@ -308,6 +308,9 @@ typedef struct fw_info_com {
     chip_type_t  chip_type;
     roms_info_t  roms_info;
     u_int16_t    running_fw_ver[3];
+    u_int8_t     image_info_minor_version;
+    u_int8_t     image_info_major_version;
+    u_int16_t    pci_device_id;
 } fw_info_com_t;
 
 
diff --git a/mstdump/crd_main/mstdump.c b/mstdump/crd_main/mstdump.c
index 01c894b..32e2c28 100755
--- a/mstdump/crd_main/mstdump.c
+++ b/mstdump/crd_main/mstdump.c
@@ -76,7 +76,7 @@ int main(int argc, char* argv[]) {
     char device[MAX_DEV_LEN] = {0};
 #if defined(linux)
     if (geteuid() != 0) {
-        printf("Permission denied, you need to run this tool as root\n");
+        printf("-E- Permission denied: User is not root\n");
         return 1;
     }
 #endif
diff --git a/mstdump/mstdump_dbs/ConnectX4.csv b/mstdump/mstdump_dbs/ConnectX4.csv
index 87d9904..82221d0 100644
--- a/mstdump/mstdump_dbs/ConnectX4.csv
+++ b/mstdump/mstdump_dbs/ConnectX4.csv
@@ -2718,7 +2718,7 @@
 0x0f01a8,1,
 0x0f01c0,2,
 0x0f01d0,10,
-0x0f0200,61,
+0x0f0200,62,
 0x0f0404,9,
 0x0f0440,12,
 0x0f0480,5,
diff --git a/mstdump/mstdump_dbs/ConnectX4LX.csv b/mstdump/mstdump_dbs/ConnectX4LX.csv
index 0a15268..52656b1 100644
--- a/mstdump/mstdump_dbs/ConnectX4LX.csv
+++ b/mstdump/mstdump_dbs/ConnectX4LX.csv
@@ -2424,7 +2424,7 @@
 0x0f01a8,1,
 0x0f01c0,2,
 0x0f01d0,10,
-0x0f0200,62,
+0x0f0200,63,
 0x0f0404,9,
 0x0f0440,8,
 0x0f0480,5,
diff --git a/mstdump/mstdump_dbs/ConnectX5.csv b/mstdump/mstdump_dbs/ConnectX5.csv
new file mode 100644
index 0000000..8d8ae89
--- /dev/null
+++ b/mstdump/mstdump_dbs/ConnectX5.csv
@@ -0,0 +1,4440 @@
+#Addr, Size, Enable addr
+0x000000,16418,
+0x010100,10,
+0x010140,17,
+0x011000,35,
+0x011100,40,
+0x011200,2,
+0x011400,3,
+0x011414,2,
+0x011420,1,
+0x011444,5,
+0x011480,2,
+0x011490,3,
+0x011590,1,
+0x011600,2,
+0x011800,24,
+0x012000,4,
+0x012014,1,
+0x012020,4,
+0x012034,1,
+0x012040,4,
+0x012054,1,
+0x012060,4,
+0x012074,1,
+0x012080,4,
+0x012094,1,
+0x0120a0,4,
+0x0120b4,1,
+0x0120c0,4,
+0x0120d4,1,
+0x0120e0,4,
+0x0120f4,1,
+0x012100,4,
+0x012114,1,
+0x012120,4,
+0x012134,1,
+0x012140,4,
+0x012154,1,
+0x012160,4,
+0x012174,1,
+0x012180,4,
+0x012194,1,
+0x0121a0,4,
+0x0121b4,1,
+0x0121c0,4,
+0x0121d4,1,
+0x0121e0,4,
+0x0121f4,1,
+0x012200,4,
+0x012214,1,
+0x012220,4,
+0x012234,1,
+0x012240,54,
+0x012400,4,
+0x012414,1,
+0x012420,4,
+0x012434,1,
+0x012440,4,
+0x012454,1,
+0x012460,4,
+0x012474,1,
+0x012480,4,
+0x012494,1,
+0x0124a0,4,
+0x0124b4,1,
+0x0124c0,4,
+0x0124d4,1,
+0x0124e0,4,
+0x0124f4,1,
+0x012500,4,
+0x012514,1,
+0x012520,4,
+0x012534,1,
+0x012540,4,
+0x012554,1,
+0x012560,4,
+0x012574,1,
+0x012580,4,
+0x012594,1,
+0x0125a0,4,
+0x0125b4,1,
+0x0125c0,4,
+0x0125d4,1,
+0x0125e0,4,
+0x0125f4,1,
+0x012600,4,
+0x012614,1,
+0x012620,4,
+0x012634,1,
+0x012640,54,
+0x012800,4,
+0x012814,1,
+0x012820,4,
+0x012834,1,
+0x012840,4,
+0x012854,1,
+0x012860,4,
+0x012874,1,
+0x012880,4,
+0x012894,1,
+0x0128a0,4,
+0x0128b4,1,
+0x0128c0,4,
+0x0128d4,1,
+0x0128e0,4,
+0x0128f4,1,
+0x012900,4,
+0x012914,1,
+0x012920,4,
+0x012934,1,
+0x012940,4,
+0x012954,1,
+0x012960,4,
+0x012974,1,
+0x012980,4,
+0x012994,1,
+0x0129a0,4,
+0x0129b4,1,
+0x0129c0,4,
+0x0129d4,1,
+0x0129e0,4,
+0x0129f4,1,
+0x012a00,4,
+0x012a14,1,
+0x012a20,4,
+0x012a34,1,
+0x012a40,54,
+0x012c00,4,
+0x012c14,1,
+0x012c20,4,
+0x012c34,1,
+0x012c40,4,
+0x012c54,1,
+0x012c60,4,
+0x012c74,1,
+0x012c80,4,
+0x012c94,1,
+0x012ca0,4,
+0x012cb4,1,
+0x012cc0,4,
+0x012cd4,1,
+0x012ce0,4,
+0x012cf4,1,
+0x012d00,4,
+0x012d14,1,
+0x012d20,4,
+0x012d34,1,
+0x012d40,4,
+0x012d54,1,
+0x012d60,4,
+0x012d74,1,
+0x012d80,4,
+0x012d94,1,
+0x012da0,4,
+0x012db4,1,
+0x012dc0,4,
+0x012dd4,1,
+0x012de0,4,
+0x012df4,1,
+0x012e00,4,
+0x012e14,1,
+0x012e20,4,
+0x012e34,1,
+0x012e40,54,
+0x013000,144,
+0x013400,144,
+0x013800,1,
+0x013810,1,
+0x013820,1,
+0x013830,1,
+0x013840,1,
+0x013850,1,
+0x013860,1,
+0x013870,1,
+0x013880,1,
+0x013890,1,
+0x0138a0,1,
+0x0138b0,1,
+0x0138c0,1,
+0x0138d0,1,
+0x0138e0,1,
+0x0138f0,1,
+0x013900,1,
+0x013910,1,
+0x013a00,4,
+0x013a14,1,
+0x013a20,4,
+0x013a34,1,
+0x013a40,7,
+0x013a80,4,
+0x013a94,1,
+0x013aa0,4,
+0x013ab4,1,
+0x013ac0,7,
+0x013b00,4,
+0x013b14,1,
+0x013b20,4,
+0x013b34,1,
+0x013b40,7,
+0x013b80,4,
+0x013b94,1,
+0x013ba0,4,
+0x013bb4,1,
+0x013bc0,7,
+0x013c00,11,
+0x013c30,11,
+0x013c60,31,
+0x013ce0,3,
+0x013cf0,1,
+0x013d04,1,
+0x013d14,5,
+0x014000,65,
+0x014108,4,
+0x014124,4,
+0x014140,6,
+0x014160,1,
+0x014170,1,
+0x014180,5,
+0x014198,5,
+0x015000,33,
+0x015090,1,
+0x0150a0,1,
+0x0150b4,4,
+0x0150d0,3,
+0x0150e0,5,
+0x015100,1,
+0x015110,15,
+0x015400,7,
+0x015420,7,
+0x015440,7,
+0x015460,7,
+0x015480,7,
+0x0154a0,7,
+0x0154c0,7,
+0x0154e0,7,
+0x015500,7,
+0x015520,7,
+0x015540,7,
+0x015560,7,
+0x015580,7,
+0x0155a0,7,
+0x0155c0,7,
+0x0155e0,7,
+0x015600,7,
+0x015620,7,
+0x015640,7,
+0x015660,7,
+0x015680,7,
+0x0156a0,7,
+0x0156c0,7,
+0x0156e0,7,
+0x015700,7,
+0x015720,7,
+0x015740,7,
+0x015760,7,
+0x015780,7,
+0x0157a0,7,
+0x0157c0,7,
+0x0157e0,7,
+0x016000,1,
+0x016008,4,
+0x016024,4,
+0x016044,1,
+0x016054,7,
+0x016080,2,
+0x016090,1,
+0x0160a0,1,
+0x0160b0,2,
+0x016100,1,
+0x016108,4,
+0x016124,4,
+0x016144,1,
+0x016154,5,
+0x016180,2,
+0x016190,1,
+0x0161a0,1,
+0x0161b0,2,
+0x016200,29,
+0x017000,72,
+0x017180,1,
+0x017190,1,
+0x0171a0,1,
+0x0171b0,1,
+0x0171c0,1,
+0x0171d0,1,
+0x0171e0,1,
+0x0171f0,1,
+0x017200,23,
+0x018000,1,
+0x018008,4,
+0x018024,4,
+0x018044,1,
+0x018054,9,
+0x018090,2,
+0x0180a0,1,
+0x0180b0,1,
+0x0180c0,2,
+0x018100,33,
+0x018188,13,
+0x0181c0,4,
+0x0181e0,5,
+0x019000,3,
+0x019010,3,
+0x019020,3,
+0x019030,3,
+0x019040,3,
+0x019050,3,
+0x019060,3,
+0x019070,3,
+0x019080,3,
+0x019090,3,
+0x0190a0,3,
+0x0190b0,3,
+0x0190c0,3,
+0x0190d0,3,
+0x0190e0,3,
+0x0190f0,3,
+0x019100,3,
+0x019110,3,
+0x019120,3,
+0x019130,3,
+0x019140,3,
+0x019150,3,
+0x019160,3,
+0x019170,3,
+0x019180,3,
+0x019190,3,
+0x0191a0,3,
+0x0191b0,3,
+0x0191c0,3,
+0x0191d0,3,
+0x0191e0,3,
+0x0191f0,3,
+0x019200,129,
+0x019408,4,
+0x019424,4,
+0x019440,6,
+0x019460,1,
+0x019470,14,
+0x01a004,2,
+0x01a034,19,
+0x01a084,1,
+0x01a08c,4,
+0x01a0c0,1,
+0x01a0d0,8,
+0x01a100,32,
+0x01a184,2,
+0x01a198,2,
+0x01a1a4,2,
+0x01a1b8,2,
+0x01a1c8,3,
+0x01a1dc,1,
+0x01a1e8,5,
+0x01a200,4,
+0x01a404,1,
+0x01a40c,4,
+0x01a444,1,
+0x01a450,4,
+0x01a464,1,
+0x01a474,3,
+0x01a484,1,
+0x01a48c,1,
+0x01a494,9,
+0x01a500,8,
+0x01a608,3,
+0x01a618,4,
+0x01a63c,2,
+0x01a650,4,
+0x01a680,4,
+0x01a6a0,20,
+0x01a704,2,
+0x01a730,20,
+0x01a784,2,
+0x01a790,2,
+0x01a7a0,6,
+0x01a7c0,2,
+0x01a800,3,
+0x01a810,3,
+0x01a820,3,
+0x01a830,3,
+0x01a840,3,
+0x01a850,3,
+0x01a860,3,
+0x01a870,3,
+0x01a880,9,
+0x01a900,3,
+0x01a910,3,
+0x01a920,3,
+0x01a930,3,
+0x01a940,3,
+0x01a950,3,
+0x01a960,3,
+0x01a970,3,
+0x01a980,2,
+0x01aa04,1,
+0x01aa3c,19,
+0x01ac00,1,
+0x01ac28,1,
+0x01ac50,1,
+0x01ac78,1,
+0x01aca0,12,
+0x01ada8,2,
+0x01add8,4,
+0x01ae00,19,
+0x01ae50,6,
+0x01b000,13,
+0x01b040,6,
+0x01b060,1,
+0x01b080,3,
+0x01b090,6,
+0x01b100,9,
+0x01b128,1,
+0x01b130,1,
+0x01b140,2,
+0x01b150,3,
+0x01b160,4,
+0x01b400,14,
+0x01b440,14,
+0x01b480,14,
+0x01b4c0,14,
+0x01b500,14,
+0x01b540,14,
+0x01b580,14,
+0x01b5c0,14,
+0x01b600,14,
+0x01b640,14,
+0x01b680,14,
+0x01b6c0,14,
+0x01b800,2,
+0x020004,1,
+0x02000c,4,
+0x020080,3,
+0x020094,3,
+0x020800,224,
+0x020c00,16,
+0x021004,1,
+0x02100c,4,
+0x021400,5,
+0x021418,5,
+0x021480,1,
+0x021704,2,
+0x02173c,17,
+0x0217fc,2,
+0x021844,1,
+0x021884,5,
+0x0218c0,16,
+0x022280,14,
+0x022408,6,
+0x022424,1,
+0x022444,1,
+0x022454,5,
+0x022504,1,
+0x02250c,4,
+0x022624,1,
+0x02262c,3,
+0x02263c,1,
+0x022804,1,
+0x02280c,4,
+0x022904,4,
+0x022924,4,
+0x022a04,5,
+0x022a80,36,
+0x024000,32,
+0x024084,7,
+0x0240c0,16,
+0x024108,3,
+0x024120,11,
+0x024200,5,
+0x024220,1,
+0x024230,8,
+0x024258,1,
+0x024260,1,
+0x024270,9,
+0x0242a0,1,
+0x0242b0,4,
+0x0242c8,2,
+0x024300,7,
+0x024320,4,
+0x024398,9,
+0x0243c0,16,
+0x024424,4,
+0x024464,20,
+0x0244b8,2,
+0x0244c4,1,
+0x0244cc,3,
+0x0244e0,2,
+0x0244f0,3,
+0x024500,3,
+0x024510,3,
+0x024520,3,
+0x024530,3,
+0x024540,3,
+0x024550,3,
+0x024560,3,
+0x024600,3,
+0x024884,11,
+0x0248b4,3,
+0x0248c4,1,
+0x0248cc,1,
+0x0248d4,1,
+0x0248dc,1,
+0x0248f0,2,
+0x024908,6,
+0x024928,6,
+0x024968,6,
+0x024984,3,
+0x024994,1,
+0x02499c,6,
+0x0249b8,16,
+0x024a08,6,
+0x024a28,6,
+0x024a68,6,
+0x024a84,1,
+0x024a8c,1,
+0x024a94,1,
+0x024a9c,3,
+0x024ab4,3,
+0x024ac8,2,
+0x024b00,8,
+0x024b60,4,
+0x024b78,2,
+0x024b84,1,
+0x024b8c,1,
+0x024c00,2,
+0x024c24,3,
+0x024c34,3,
+0x025004,5,
+0x0257f0,42,
+0x0258d8,2,
+0x025904,1,
+0x02590c,1,
+0x026000,131,
+0x026400,2,
+0x0267fc,9,
+0x026824,6,
+0x026840,2,
+0x026864,1,
+0x02686c,1,
+0x026874,3,
+0x026884,1,
+0x0268a4,7,
+0x0268c4,2,
+0x0268d4,3,
+0x0268e4,1,
+0x0268f0,4,
+0x026904,1,
+0x02690c,4,
+0x026940,1,
+0x026980,33,
+0x026a0c,7,
+0x026a30,1,
+0x026a44,4,
+0x026a60,1,
+0x026a70,1,
+0x026b00,10,
+0x026b44,2,
+0x026b68,6,
+0x026b84,2,
+0x026ba8,14,
+0x026c00,10,
+0x026c60,8,
+0x026c84,1,
+0x026c8c,4,
+0x026cc4,1,
+0x026ccc,4,
+0x026d04,1,
+0x026d58,42,
+0x026e04,1,
+0x026e0c,3,
+0x028000,1,
+0x02aa04,1,
+0x02aa0c,4,
+0x02ab00,40,
+0x02aba4,1,
+0x02abac,1,
+0x02abb4,1,
+0x02abbc,1,
+0x02abc4,1,
+0x02abcc,1,
+0x02abe0,3,
+0x02abf8,4,
+0x02ac10,3,
+0x02ac44,3,
+0x02ad00,1,
+0x02ad08,1,
+0x02ad10,1,
+0x02ad18,1,
+0x02ad20,1,
+0x02ad28,1,
+0x02ad30,1,
+0x02ad38,1,
+0x02ad40,1,
+0x02ad48,1,
+0x02ad50,1,
+0x02ad58,1,
+0x02ad60,1,
+0x02ad68,1,
+0x02ad70,1,
+0x02ad78,1,
+0x02ad80,1,
+0x02ad88,1,
+0x02ad90,1,
+0x02ad98,1,
+0x02ada0,1,
+0x02ada8,1,
+0x02adb0,1,
+0x02adb8,1,
+0x02adc0,1,
+0x02adc8,1,
+0x02add0,1,
+0x02add8,1,
+0x02ade0,1,
+0x02ade8,1,
+0x02adf0,1,
+0x02adf8,1,
+0x02ae00,6,
+0x02ae40,6,
+0x02ae80,8,
+0x02c000,6,
+0x02c024,2,
+0x02c030,4,
+0x02c100,6,
+0x02c204,1,
+0x02c214,3,
+0x02c224,1,
+0x02c22c,4,
+0x02c244,3,
+0x02c254,1,
+0x02c264,5,
+0x02c280,4,
+0x02c400,1,
+0x02c428,1,
+0x02c450,1,
+0x02c478,1,
+0x02c4a0,16,
+0x02c5a8,2,
+0x02c5d8,4,
+0x02c600,19,
+0x02c650,6,
+0x02c800,235,
+0x02cbb0,6,
+0x02cc40,8,
+0x02ccf8,11,
+0x02cd40,18,
+0x030004,2,
+0x030034,19,
+0x030084,2,
+0x0300bc,17,
+0x030104,2,
+0x030138,27,
+0x030310,3,
+0x030340,2,
+0x03034c,2,
+0x030358,3,
+0x030384,1,
+0x0303c0,16,
+0x030404,1,
+0x03040c,4,
+0x030444,1,
+0x03044c,4,
+0x030484,1,
+0x03048c,4,
+0x0304c0,4,
+0x030500,1,
+0x030508,4,
+0x030520,3,
+0x030540,1,
+0x030548,4,
+0x030560,3,
+0x030580,3,
+0x031480,19,
+0x031500,12,
+0x031600,16,
+0x031704,5,
+0x031800,24,
+0x031c00,6,
+0x031c1c,1,
+0x031c40,10,
+0x031c80,6,
+0x031c9c,1,
+0x031cc0,10,
+0x031d00,6,
+0x031d1c,1,
+0x031d40,10,
+0x031d80,6,
+0x031d9c,1,
+0x031dc0,10,
+0x031e00,6,
+0x031e1c,1,
+0x031e40,10,
+0x031e80,6,
+0x031e9c,1,
+0x031ec0,10,
+0x031f00,6,
+0x031f1c,1,
+0x031f40,10,
+0x031f80,6,
+0x031f9c,1,
+0x031fc0,10,
+0x032000,11,
+0x032100,11,
+0x032200,18,
+0x032280,6,
+0x032304,1,
+0x03230c,3,
+0x03231c,1,
+0x032400,6,
+0x032420,1,
+0x032444,2,
+0x032454,3,
+0x032464,2,
+0x032474,11,
+0x032610,1,
+0x032618,1,
+0x032640,6,
+0x034000,24,
+0x034080,10,
+0x0340ac,2,
+0x0340f0,18,
+0x034200,35,
+0x034400,24,
+0x034480,10,
+0x0344ac,2,
+0x0344f0,18,
+0x034600,35,
+0x034c00,7,
+0x034c20,4,
+0x034c40,9,
+0x034c80,9,
+0x034cc0,3,
+0x034cd0,3,
+0x034e04,3,
+0x034e44,5,
+0x034e80,6,
+0x034ea0,4,
+0x035000,2,
+0x035010,3,
+0x035044,3,
+0x035100,66,
+0x035210,3,
+0x035244,3,
+0x035300,64,
+0x035404,1,
+0x03540c,8,
+0x035600,2,
+0x035610,3,
+0x035644,3,
+0x035700,64,
+0x035804,5,
+0x035900,2,
+0x037000,1,
+0x037080,9,
+0x0370ac,4,
+0x037100,1,
+0x037108,2,
+0x037400,1,
+0x037480,9,
+0x0374ac,4,
+0x037500,1,
+0x037508,2,
+0x037800,4,
+0x037824,1,
+0x038000,6,
+0x038020,5,
+0x038104,4,
+0x038120,3,
+0x038130,1,
+0x038180,14,
+0x0381c0,4,
+0x038400,3,
+0x038428,3,
+0x038450,3,
+0x038478,3,
+0x0384a0,37,
+0x0385a8,2,
+0x0385d8,4,
+0x038600,51,
+0x0386d0,6,
+0x038800,31,
+0x03893c,26,
+0x0389c0,19,
+0x038a24,4,
+0x038a84,14,
+0x038c00,75,
+0x038d30,6,
+0x038e00,12,
+0x039040,9,
+0x039070,1,
+0x039100,1,
+0x039110,5,
+0x039130,5,
+0x039150,1,
+0x039224,6,
+0x039240,16,
+0x039284,1,
+0x0392c0,22,
+0x039320,6,
+0x039344,1,
+0x03934c,4,
+0x039384,1,
+0x03938c,4,
+0x0393c4,1,
+0x0393cc,4,
+0x039400,8,
+0x039600,7,
+0x039620,1,
+0x039640,13,
+0x039704,1,
+0x03970c,13,
+0x03a000,35,
+0x03a090,3,
+0x03a100,35,
+0x03a190,3,
+0x03a200,35,
+0x03a290,3,
+0x03a300,35,
+0x03a390,3,
+0x03a400,35,
+0x03a490,3,
+0x03a500,1,
+0x03a800,4,
+0x03a884,1,
+0x03a8c0,16,
+0x03a980,1,
+0x03a9e4,2,
+0x03a9f0,4,
+0x03aa04,2,
+0x03aa10,4,
+0x03aa24,2,
+0x03aa30,4,
+0x03aa44,2,
+0x03aa50,4,
+0x03aa64,2,
+0x03aa70,5,
+0x03aa88,1,
+0x03ac00,2,
+0x03ac0c,3,
+0x03ac24,2,
+0x03ac44,3,
+0x03ad00,11,
+0x03ad40,11,
+0x03ad84,1,
+0x03adc0,26,
+0x03ae30,2,
+0x03ae44,3,
+0x03ae54,1,
+0x03ae5c,2,
+0x03ae80,2,
+0x03ae94,2,
+0x03aea4,1,
+0x03aeac,3,
+0x03aec0,3,
+0x03aee0,17,
+0x03af40,30,
+0x03afc0,14,
+0x03b000,2,
+0x03b00c,3,
+0x03b01c,3,
+0x03b02c,3,
+0x03b03c,3,
+0x03b04c,3,
+0x03b05c,3,
+0x03b06c,3,
+0x03b07c,3,
+0x03b08c,3,
+0x03b09c,3,
+0x03b104,1,
+0x03b140,38,
+0x03b204,1,
+0x03b214,5,
+0x03b234,1,
+0x03b23c,3,
+0x03b2c0,4,
+0x03b400,35,
+0x03b490,6,
+0x03b500,13,
+0x03c000,3,
+0x03c010,3,
+0x03c020,3,
+0x03c040,9,
+0x03c068,6,
+0x03c090,2,
+0x03c0a0,3,
+0x03c0c0,12,
+0x03c0f4,1,
+0x03c100,2,
+0x03c110,3,
+0x03c120,1,
+0x03c130,11,
+0x03c160,2,
+0x03c180,4,
+0x03c194,3,
+0x03c1a4,2,
+0x03c1b0,4,
+0x03c2e0,5,
+0x03c2f8,2,
+0x03c30c,13,
+0x03c34c,77,
+0x03c48c,18,
+0x03c500,32,
+0x03c800,16,
+0x03c84c,18,
+0x03c8e0,2,
+0x03c8ec,3,
+0x03c900,1,
+0x03c910,5,
+0x03c930,5,
+0x03c950,5,
+0x03c970,5,
+0x03c9a4,3,
+0x03ca78,34,
+0x03cb3c,18,
+0x03cb94,3,
+0x03cba4,3,
+0x03cbf0,1,
+0x03cbf8,10,
+0x03cc30,1,
+0x03cc44,4,
+0x03cc60,1,
+0x03cc80,1,
+0x03cc90,1,
+0x03d004,6,
+0x03e004,1,
+0x03e00c,4,
+0x03e404,1,
+0x03e40c,4,
+0x03e604,1,
+0x03e60c,4,
+0x03e800,2,
+0x03f034,19,
+0x03f084,2,
+0x03f0c0,16,
+0x03f200,1,
+0x03f210,1,
+0x03f280,9,
+0x03f2c0,30,
+0x03f340,14,
+0x03f380,14,
+0x040000,6,
+0x040020,1,
+0x040040,13,
+0x040104,1,
+0x040130,20,
+0x040204,1,
+0x04020c,1,
+0x040214,1,
+0x040224,1,
+0x04022c,1,
+0x040234,1,
+0x040244,1,
+0x04024c,3,
+0x040304,1,
+0x040340,16,
+0x040390,1,
+0x0403a0,1,
+0x0403b0,1,
+0x0403c0,1,
+0x0403d0,6,
+0x040400,8,
+0x040440,24,
+0x040500,5,
+0x040600,5,
+0x040800,4,
+0x040818,6,
+0x040928,9,
+0x040954,4,
+0x040970,1,
+0x040980,3,
+0x040990,12,
+0x0409c4,13,
+0x040a04,1,
+0x040a0c,4,
+0x040a40,1,
+0x040a50,5,
+0x040a70,1,
+0x040a80,1,
+0x040a90,4,
+0x040c04,1,
+0x040c0c,4,
+0x040c40,1,
+0x040c60,8,
+0x040d40,1,
+0x040d80,7,
+0x040e04,1,
+0x040e0c,4,
+0x040e40,1,
+0x040e60,8,
+0x040f40,1,
+0x040f80,7,
+0x041008,6,
+0x041028,10,
+0x041080,26,
+0x041100,8,
+0x041180,13,
+0x0411c0,11,
+0x041400,6,
+0x04141c,1,
+0x041440,10,
+0x041480,6,
+0x04149c,1,
+0x0414c0,10,
+0x041500,6,
+0x04151c,1,
+0x041540,10,
+0x041580,6,
+0x04159c,1,
+0x0415c0,10,
+0x041600,6,
+0x04161c,1,
+0x041640,10,
+0x041680,6,
+0x04169c,1,
+0x0416c0,10,
+0x041700,6,
+0x04171c,1,
+0x041740,10,
+0x041780,6,
+0x04179c,1,
+0x0417c0,10,
+0x041804,1,
+0x04180c,5,
+0x042000,3,
+0x042024,4,
+0x042084,14,
+0x042500,51,
+0x0425d0,6,
+0x042800,1,
+0x042828,1,
+0x042850,1,
+0x042878,1,
+0x0428a0,9,
+0x0429a8,2,
+0x0429d8,4,
+0x042a00,19,
+0x042a50,6,
+0x043000,9,
+0x043040,18,
+0x043100,5,
+0x043118,6,
+0x043134,3,
+0x050000,1,
+0x050008,4,
+0x050024,4,
+0x050084,8,
+0x0500a8,2,
+0x0500c4,5,
+0x050104,1,
+0x050178,34,
+0x050204,1,
+0x05020c,1,
+0x050214,1,
+0x050224,1,
+0x05022c,1,
+0x050234,1,
+0x05023c,1,
+0x050244,1,
+0x05024c,1,
+0x050254,1,
+0x050264,1,
+0x05026c,1,
+0x050274,1,
+0x050284,1,
+0x050290,4,
+0x0502a4,1,
+0x0502b4,3,
+0x0502c4,1,
+0x0502cc,1,
+0x0502e4,1,
+0x0502ec,1,
+0x0502f4,1,
+0x0502fc,1,
+0x050304,1,
+0x05030c,1,
+0x050314,1,
+0x05031c,1,
+0x050324,1,
+0x05032c,1,
+0x050334,1,
+0x05033c,1,
+0x050344,3,
+0x050354,3,
+0x050364,6,
+0x050380,32,
+0x050404,1,
+0x050438,18,
+0x050500,3,
+0x050524,4,
+0x050584,2,
+0x050598,2,
+0x0505a4,1,
+0x0505b0,4,
+0x0505c4,1,
+0x0505cc,1,
+0x0505d4,1,
+0x0505e0,1,
+0x0505f0,17,
+0x050700,2,
+0x050800,1,
+0x050820,9,
+0x050850,5,
+0x050870,5,
+0x0508a0,8,
+0x050900,1,
+0x050920,9,
+0x050950,4,
+0x05096c,37,
+0x050a04,4,
+0x050a40,1,
+0x050a50,3,
+0x050a60,25,
+0x050ad4,1,
+0x050ae0,1,
+0x050ae8,6,
+0x050b04,1,
+0x050b0c,1,
+0x050b14,1,
+0x050b20,2,
+0x050b30,5,
+0x050b50,4,
+0x050b64,1,
+0x050b70,11,
+0x050ba4,4,
+0x050bc0,5,
+0x050be0,1,
+0x050bf0,1,
+0x050c00,1,
+0x050c14,4,
+0x050c30,1,
+0x050c40,1,
+0x050c50,1,
+0x050c64,1,
+0x050c6c,2,
+0x050c90,1,
+0x050ca0,1,
+0x050cb0,1,
+0x050cc0,1,
+0x050cd0,1,
+0x050ce0,1,
+0x050cf0,1,
+0x050d00,1,
+0x050d10,1,
+0x050d20,1,
+0x050d30,1,
+0x050d40,1,
+0x050d50,1,
+0x050d60,1,
+0x050d70,1,
+0x050d80,1,
+0x050d90,1,
+0x050db0,1,
+0x050dc0,1,
+0x050de0,1,
+0x050df0,1,
+0x050e00,1,
+0x050e10,1,
+0x050e20,1,
+0x050e30,1,
+0x050e40,1,
+0x050e50,1,
+0x050e60,1,
+0x050e70,1,
+0x050e80,1,
+0x050e90,1,
+0x050ea4,5,
+0x050ec0,1,
+0x050ed0,1,
+0x050f00,65,
+0x051010,7,
+0x051030,2,
+0x051040,1,
+0x051060,10,
+0x051180,4,
+0x0511a0,10,
+0x051200,7,
+0x051220,4,
+0x051234,1,
+0x05123c,4,
+0x051250,2,
+0x051260,1,
+0x051270,1,
+0x051280,2,
+0x051300,1,
+0x051320,8,
+0x051348,3,
+0x051400,9,
+0x051440,3,
+0x051460,1,
+0x051480,3,
+0x051504,5,
+0x051580,32,
+0x052000,210,
+0x052400,2,
+0x053000,50,
+0x053400,59,
+0x0534f0,6,
+0x053604,7,
+0x053624,7,
+0x053664,7,
+0x053704,1,
+0x053740,18,
+0x0537a0,10,
+0x0537e0,29,
+0x053860,11,
+0x0538a4,7,
+0x054000,3,
+0x054024,4,
+0x054084,3,
+0x0540c0,6,
+0x0540e0,1,
+0x055400,107,
+0x0555b0,6,
+0x058004,5,
+0x058300,9,
+0x058400,1,
+0x058408,5,
+0x058420,6,
+0x058444,2,
+0x058460,14,
+0x0587f0,1,
+0x058800,1,
+0x058810,1,
+0x058820,1,
+0x058830,1,
+0x058840,1,
+0x058850,1,
+0x058860,1,
+0x058870,1,
+0x058880,1,
+0x058890,1,
+0x058904,3,
+0x058978,66,
+0x058a84,1,
+0x058a8c,1,
+0x058a94,1,
+0x058aa4,1,
+0x058aac,1,
+0x058ab4,1,
+0x058ac0,2,
+0x058acc,2,
+0x058c00,3,
+0x058c24,4,
+0x058d04,1,
+0x058d0c,11,
+0x058d40,2,
+0x058f04,5,
+0x058f40,16,
+0x058fe8,6,
+0x059004,5,
+0x059080,39,
+0x059120,1,
+0x059130,1,
+0x059140,1,
+0x059150,1,
+0x059160,1,
+0x059170,1,
+0x059180,1,
+0x059190,1,
+0x0591b0,2,
+0x059800,1,
+0x059810,1,
+0x059820,1,
+0x059830,1,
+0x059840,1,
+0x059850,1,
+0x059860,1,
+0x059870,1,
+0x059880,1,
+0x059890,1,
+0x0598a0,1,
+0x0598b0,1,
+0x0598c0,1,
+0x0598d0,1,
+0x0598e0,1,
+0x0598f0,1,
+0x059900,1,
+0x059910,1,
+0x059920,1,
+0x059930,1,
+0x059940,1,
+0x059998,2,
+0x059a08,6,
+0x059b00,16,
+0x059b44,3,
+0x059b54,1,
+0x059b5c,2,
+0x059c00,2,
+0x059c28,2,
+0x059c50,2,
+0x059c78,2,
+0x059ca0,20,
+0x059da8,2,
+0x059dd8,4,
+0x059e00,35,
+0x059e90,6,
+0x05a000,7,
+0x05a04c,3,
+0x05a070,4,
+0x05a088,3,
+0x05a0a0,1,
+0x05a0b0,1,
+0x05a0c0,1,
+0x05a0e0,4,
+0x05a200,9,
+0x05a240,16,
+0x060020,8,
+0x060120,4,
+0x060160,2,
+0x060174,1,
+0x06017c,3,
+0x060190,8,
+0x0601b8,3,
+0x060240,16,
+0x060300,1,
+0x060310,4,
+0x060328,1,
+0x060330,1,
+0x060344,8,
+0x060380,5,
+0x0603b4,3,
+0x060800,4,
+0x060820,4,
+0x060838,3,
+0x060860,8,
+0x060900,1,
+0x060914,1,
+0x06091c,2,
+0x060930,1,
+0x060a00,32,
+0x060a84,1,
+0x060a8c,1,
+0x060a94,1,
+0x060a9c,5,
+0x060ac4,1,
+0x060ae4,7,
+0x060b04,1,
+0x060b14,18,
+0x060bf0,12,
+0x060c24,1,
+0x060c2c,1,
+0x060c34,1,
+0x062008,5,
+0x062024,3,
+0x062034,1,
+0x06203c,1,
+0x062044,1,
+0x06204c,1,
+0x062054,1,
+0x06205c,3,
+0x06206c,1,
+0x062080,2,
+0x062094,1,
+0x06209c,2,
+0x0620b0,1,
+0x0620c0,1,
+0x0620d0,1,
+0x0620e0,1,
+0x0620f4,4,
+0x0621c0,2,
+0x0621e4,3,
+0x0621f4,7,
+0x062404,5,
+0x062800,12,
+0x062834,1,
+0x06283c,5,
+0x062854,8,
+0x062900,4,
+0x062914,1,
+0x06291c,1,
+0x062924,1,
+0x06292c,1,
+0x062934,1,
+0x06293c,2,
+0x062950,3,
+0x063000,1,
+0x063010,4,
+0x063024,1,
+0x06302c,1,
+0x063034,1,
+0x063044,1,
+0x06304c,1,
+0x063054,1,
+0x06305c,2,
+0x063070,1,
+0x063080,1,
+0x063090,1,
+0x0630a4,4,
+0x0630c4,1,
+0x0630cc,1,
+0x0630d4,3,
+0x0630e4,1,
+0x0630ec,1,
+0x0630f4,1,
+0x063100,2,
+0x063144,1,
+0x06314c,1,
+0x063154,1,
+0x063164,1,
+0x06316c,1,
+0x063174,1,
+0x063180,19,
+0x063208,1,
+0x063210,1,
+0x063218,1,
+0x063224,7,
+0x063248,8,
+0x063270,4,
+0x063300,8,
+0x064004,1,
+0x06400c,4,
+0x064200,3,
+0x064300,1,
+0x064308,6,
+0x064324,2,
+0x064338,2,
+0x064380,3,
+0x064394,1,
+0x06439c,2,
+0x064400,2,
+0x064420,3,
+0x064430,1,
+0x064440,1,
+0x064484,2,
+0x0644b8,18,
+0x064504,1,
+0x06450c,1,
+0x064514,1,
+0x064804,1,
+0x064884,2,
+0x0648c8,14,
+0x065018,4,
+0x065078,11,
+0x0650c0,16,
+0x065114,1,
+0x065200,43,
+0x0652b0,6,
+0x065300,1,
+0x065f00,2,
+0x066000,2,
+0x066028,2,
+0x066050,2,
+0x066078,2,
+0x0660a0,25,
+0x0661a8,2,
+0x0661d8,4,
+0x066200,35,
+0x066290,6,
+0x066400,6,
+0x070004,5,
+0x070400,7,
+0x070420,10,
+0x070450,7,
+0x070500,5,
+0x070524,1,
+0x07052c,1,
+0x070534,1,
+0x070540,4,
+0x070600,142,
+0x070884,2,
+0x0708a8,22,
+0x070904,1,
+0x070940,16,
+0x071000,1,
+0x071094,1,
+0x071104,2,
+0x071140,16,
+0x071204,1,
+0x07120c,4,
+0x071404,1,
+0x07140c,1,
+0x071414,1,
+0x07141c,1,
+0x071424,1,
+0x07142c,1,
+0x071434,1,
+0x07143c,1,
+0x071800,2,
+0x071904,1,
+0x071940,16,
+0x071a04,1,
+0x071a40,16,
+0x071b04,1,
+0x071b40,16,
+0x072000,4,
+0x072804,1,
+0x07280c,4,
+0x072880,1,
+0x072888,4,
+0x073000,1,
+0x073020,1,
+0x073040,1,
+0x073060,1,
+0x073080,1,
+0x0730a0,1,
+0x0730c0,1,
+0x0730e0,1,
+0x073100,1,
+0x073120,1,
+0x073140,1,
+0x073160,1,
+0x073180,1,
+0x0731a0,1,
+0x0731c0,1,
+0x0731e0,1,
+0x073200,1,
+0x073220,1,
+0x073240,1,
+0x073260,1,
+0x073280,1,
+0x0732a0,1,
+0x0732c0,1,
+0x0732e0,1,
+0x073300,1,
+0x073320,1,
+0x073340,1,
+0x073360,1,
+0x073380,1,
+0x0733a0,1,
+0x0733c0,1,
+0x0733e0,1,
+0x073800,16,
+0x074830,4,
+0x074884,1,
+0x074890,4,
+0x074900,19,
+0x074950,6,
+0x074980,9,
+0x0749c0,20,
+0x075000,5,
+0x075020,3,
+0x075030,9,
+0x075100,4,
+0x075200,4,
+0x076000,1,
+0x076028,1,
+0x076050,1,
+0x076078,1,
+0x0760a0,12,
+0x0761a8,2,
+0x0761d8,4,
+0x076200,19,
+0x076250,6,
+0x078000,20,
+0x078054,9,
+0x07807c,3,
+0x07808c,7,
+0x078100,5,
+0x078118,4,
+0x078130,2,
+0x078204,2,
+0x078244,15,
+0x078284,2,
+0x0782c4,17,
+0x07830c,4,
+0x078320,2,
+0x078340,2,
+0x078360,2,
+0x078380,2,
+0x0783a0,2,
+0x0783d4,1,
+0x0783dc,1,
+0x078404,1,
+0x07840c,4,
+0x078804,18,
+0x078850,4,
+0x078884,1,
+0x07889c,1,
+0x0788a4,23,
+0x079000,9,
+0x079040,16,
+0x079700,14,
+0x079740,14,
+0x079780,14,
+0x0797c0,14,
+0x079804,2,
+0x079828,6,
+0x079844,2,
+0x079868,6,
+0x079884,2,
+0x0798a8,7,
+0x0798d0,7,
+0x079904,1,
+0x07990c,1,
+0x079914,1,
+0x079a04,2,
+0x079a40,16,
+0x079a84,2,
+0x079a90,2,
+0x079a9c,13,
+0x079b04,2,
+0x079b3c,17,
+0x079c04,2,
+0x079c40,16,
+0x079c84,2,
+0x079c98,2,
+0x079cc4,13,
+0x079cfc,7,
+0x079d24,1,
+0x079d2c,1,
+0x079d80,2,
+0x079d8c,1,
+0x079fa0,3,
+0x079fb0,1,
+0x07a000,3,
+0x07a010,3,
+0x07a020,3,
+0x07a040,9,
+0x07a068,6,
+0x07a090,2,
+0x07a0a0,3,
+0x07a0c0,12,
+0x07a0f4,1,
+0x07a100,2,
+0x07a110,3,
+0x07a120,1,
+0x07a130,11,
+0x07a160,2,
+0x07a180,4,
+0x07a194,3,
+0x07a1a4,2,
+0x07a1b0,4,
+0x07a2e0,5,
+0x07a2f8,2,
+0x07a30c,13,
+0x07a34c,77,
+0x07a48c,18,
+0x07a500,32,
+0x07a800,16,
+0x07a84c,18,
+0x07a8e0,2,
+0x07a8ec,3,
+0x07a900,1,
+0x07a910,5,
+0x07a930,5,
+0x07a950,5,
+0x07a970,5,
+0x07a9a4,3,
+0x07aa78,34,
+0x07ab3c,18,
+0x07ab94,3,
+0x07aba4,3,
+0x07abf0,1,
+0x07abf8,10,
+0x07ac30,1,
+0x07ac44,4,
+0x07ac60,1,
+0x07ac80,1,
+0x07ac90,1,
+0x07b004,6,
+0x080000,29,
+0x080340,14,
+0x08037c,3,
+0x08038c,1,
+0x0803c0,2,
+0x0803e4,3,
+0x0803f4,3,
+0x080404,5,
+0x080804,2,
+0x080874,35,
+0x081000,129,
+0x081210,4,
+0x081228,3,
+0x081240,2,
+0x081264,2,
+0x081270,4,
+0x081284,2,
+0x081298,2,
+0x0812a4,1,
+0x0812b4,21,
+0x08130c,9,
+0x081344,1,
+0x08134c,1,
+0x081354,1,
+0x081364,2,
+0x081370,4,
+0x081384,2,
+0x081390,4,
+0x0813a4,2,
+0x0813b0,4,
+0x0813c4,2,
+0x0813d8,2,
+0x081404,2,
+0x081478,34,
+0x081504,2,
+0x081518,15,
+0x081558,3,
+0x08156c,1,
+0x081580,5,
+0x081598,2,
+0x0815a4,6,
+0x0815c0,5,
+0x0815e0,5,
+0x081600,5,
+0x081620,5,
+0x081640,5,
+0x081660,5,
+0x081680,5,
+0x0816a0,5,
+0x0816c0,5,
+0x082000,29,
+0x082340,14,
+0x08237c,3,
+0x08238c,1,
+0x0823c0,2,
+0x0823e4,3,
+0x0823f4,3,
+0x082404,4,
+0x082804,2,
+0x082874,35,
+0x082904,2,
+0x082974,35,
+0x083000,129,
+0x083210,7,
+0x083244,2,
+0x083250,8,
+0x083274,3,
+0x083284,1,
+0x08328c,1,
+0x083294,1,
+0x0832a4,1,
+0x0832b4,19,
+0x083304,2,
+0x083310,4,
+0x083324,2,
+0x083330,14,
+0x083384,2,
+0x08339c,9,
+0x084000,29,
+0x084340,14,
+0x08437c,3,
+0x08438c,1,
+0x0843c0,2,
+0x0843e4,3,
+0x0843f4,3,
+0x084404,4,
+0x084804,2,
+0x084874,35,
+0x084904,2,
+0x084974,35,
+0x085000,32,
+0x085200,1,
+0x085210,8,
+0x085240,12,
+0x085280,3,
+0x0852a4,1,
+0x0852b4,3,
+0x085304,1,
+0x08530c,1,
+0x085314,1,
+0x085324,2,
+0x085334,3,
+0x085344,2,
+0x085358,2,
+0x085364,2,
+0x085378,2,
+0x085384,2,
+0x085398,2,
+0x0853c0,23,
+0x086000,2,
+0x086020,2,
+0x086040,4,
+0x086054,1,
+0x086400,11,
+0x086800,67,
+0x086910,6,
+0x086a00,9,
+0x086a40,20,
+0x087000,26,
+0x087100,1,
+0x087108,1,
+0x087110,1,
+0x087118,1,
+0x087120,1,
+0x087128,1,
+0x087130,1,
+0x087138,1,
+0x087140,1,
+0x087148,1,
+0x087150,1,
+0x087158,1,
+0x087160,1,
+0x087168,1,
+0x087170,1,
+0x087178,1,
+0x087180,10,
+0x0871b0,9,
+0x087200,1,
+0x087208,1,
+0x087210,2,
+0x090000,17,
+0x090060,2,
+0x09006c,1,
+0x090104,1,
+0x090140,25,
+0x0901a8,2,
+0x0901c0,9,
+0x0901e8,2,
+0x090204,1,
+0x090220,24,
+0x090300,6,
+0x090320,10,
+0x090350,3,
+0x090360,3,
+0x090370,1,
+0x090400,6,
+0x090420,10,
+0x090450,3,
+0x090460,3,
+0x090470,1,
+0x090500,14,
+0x090540,14,
+0x090580,2,
+0x0905a4,2,
+0x0905b8,3,
+0x0905d0,4,
+0x091004,3,
+0x091800,8,
+0x091824,2,
+0x091830,10,
+0x091860,6,
+0x092000,32,
+0x093000,1,
+0x093020,1,
+0x093040,1,
+0x093060,1,
+0x093080,1,
+0x0930a0,1,
+0x0930c0,1,
+0x0930e0,1,
+0x093100,1,
+0x0931a0,1,
+0x0931c0,1,
+0x093200,4,
+0x093404,1,
+0x093440,16,
+0x093504,1,
+0x09353c,28,
+0x0935b0,2,
+0x0935c0,3,
+0x093600,4,
+0x094000,9,
+0x094040,19,
+0x094090,6,
+0x0940c0,1,
+0x0940c8,4,
+0x094800,1,
+0x094828,1,
+0x094850,1,
+0x094878,1,
+0x0948a0,8,
+0x0949a8,2,
+0x0949d8,4,
+0x094a00,19,
+0x094a50,6,
+0x096000,1,
+0x096010,4,
+0x096028,3,
+0x096104,1,
+0x09610c,7,
+0x096204,1,
+0x09620c,4,
+0x096488,1,
+0x096498,4,
+0x0964b0,4,
+0x096504,1,
+0x09650c,4,
+0x096584,4,
+0x096600,16,
+0x096644,2,
+0x096658,10,
+0x096684,2,
+0x0966bc,51,
+0x096800,11,
+0x096884,3,
+0x0968a0,12,
+0x097100,14,
+0x097140,1,
+0x0a1000,70,
+0x0a1120,32,
+0x0a1200,13,
+0x0a1244,4,
+0x0a1260,9,
+0x0a1288,8,
+0x0a12b0,1,
+0x0a12bc,1,
+0x0a12c4,1,
+0x0a12cc,7,
+0x0a1310,3,
+0x0a1324,6,
+0x0a135c,8,
+0x0a1380,3,
+0x0a1390,3,
+0x0a13a0,3,
+0x0a13b4,1,
+0x0a13bc,2,
+0x0a13e0,8,
+0x0a1404,1,
+0x0a140c,3,
+0x0a1420,2,
+0x0a1430,18,
+0x0a147c,17,
+0x0a2004,1,
+0x0a200c,4,
+0x0a2400,2,
+0x0a240c,4,
+0x0a2420,3,
+0x0a2440,1,
+0x0a2450,4,
+0x0a2468,3,
+0x0a2480,1,
+0x0a24a0,10,
+0x0a24d0,4,
+0x0a24e4,5,
+0x0a2500,12,
+0x0a2804,1,
+0x0a280c,4,
+0x0a2c00,2,
+0x0a2c0c,2,
+0x0a2c40,1,
+0x0a2c50,4,
+0x0a2c68,3,
+0x0a2c88,2,
+0x0a2cf0,1,
+0x0a3004,1,
+0x0a300c,4,
+0x0a3040,2,
+0x0a3064,3,
+0x0a3074,3,
+0x0a3200,9,
+0x0a3230,2,
+0x0a323c,2,
+0x0a3248,4,
+0x0a3260,1,
+0x0a3270,6,
+0x0a3300,1,
+0x0a3310,6,
+0x0a3804,1,
+0x0a3818,12,
+0x0a3884,1,
+0x0a3898,12,
+0x0a3900,3,
+0x0a3910,6,
+0x0a392c,2,
+0x0a3984,1,
+0x0a3998,12,
+0x0a3a04,1,
+0x0a3a0c,34,
+0x0a3b00,48,
+0x0a4000,48,
+0x0a4100,3,
+0x0a4110,6,
+0x0a412c,4,
+0x0a4140,1,
+0x0a4304,1,
+0x0a4318,10,
+0x0a4804,1,
+0x0a480c,4,
+0x0a4840,2,
+0x0a4864,3,
+0x0a4874,3,
+0x0a4c04,2,
+0x0a4c10,2,
+0x0a4c1c,9,
+0x0a4c50,8,
+0x0a4c78,19,
+0x0a4d04,2,
+0x0a4d40,21,
+0x0a4da4,1,
+0x0a4dac,1,
+0x0a4db4,1,
+0x0a4dc0,1,
+0x0a5000,20,
+0x0a6000,2,
+0x0a6028,2,
+0x0a6050,2,
+0x0a6078,2,
+0x0a60a0,36,
+0x0a61a8,2,
+0x0a61d8,4,
+0x0a6200,35,
+0x0a6290,6,
+0x0a6400,67,
+0x0a6510,6,
+0x0a6600,9,
+0x0a6640,18,
+0x0a66c0,7,
+0x0a8000,10,
+0x0a802c,15,
+0x0a806c,5,
+0x0a8408,5,
+0x0a8424,3,
+0x0a8434,6,
+0x0a8450,2,
+0x0a845c,5,
+0x0a84c4,1,
+0x0a84cc,4,
+0x0a8604,1,
+0x0a860c,4,
+0x0a8700,17,
+0x0a8750,4,
+0x0a8800,4,
+0x0a8880,1,
+0x0a88a0,1,
+0x0a88c0,1,
+0x0a8900,1,
+0x0a8960,1,
+0x0a8980,4,
+0x0a8994,1,
+0x0a899c,1,
+0x0a89a4,3,
+0x0a89c0,1,
+0x0a8a00,4,
+0x0a8aa4,1,
+0x0a8aac,1,
+0x0a8ab4,1,
+0x0a8ad4,10,
+0x0a8b00,2,
+0x0a8b80,4,
+0x0a8c04,6,
+0x0a9000,3,
+0x0a9010,21,
+0x0a9080,4,
+0x0a9100,10,
+0x0a91f4,3,
+0x0a920c,35,
+0x0a92a4,7,
+0x0a930c,39,
+0x0a940c,35,
+0x0a949c,9,
+0x0a9500,2,
+0x0a950c,3,
+0x0a951c,3,
+0x0a954c,13,
+0x0a9804,1,
+0x0a980c,4,
+0x0a9c00,2,
+0x0a9c0c,3,
+0x0a9c1c,2,
+0x0a9c28,1,
+0x0a9c44,1,
+0x0a9c60,17,
+0x0a9d00,1,
+0x0a9d20,8,
+0x0a9d48,3,
+0x0a9d80,1,
+0x0a9dc4,3,
+0x0a9dd4,3,
+0x0a9de4,3,
+0x0a9df4,4,
+0x0a9e20,8,
+0x0a9e48,3,
+0x0a9e84,1,
+0x0a9e98,1,
+0x0a9ea0,8,
+0x0a9f80,9,
+0x0a9fc0,32,
+0x0aa204,1,
+0x0aa20c,4,
+0x0aa400,14,
+0x0aa440,14,
+0x0aa480,14,
+0x0aa4c0,14,
+0x0aa500,10,
+0x0ac000,3,
+0x0ac010,2,
+0x0b0000,27,
+0x0b0080,22,
+0x0b0100,2,
+0x0b0110,2,
+0x0b0120,2,
+0x0b0160,2,
+0x0b016c,1,
+0x0b0180,3,
+0x0b0190,3,
+0x0b01a0,3,
+0x0b01e0,2,
+0x0b01ec,1,
+0x0b0200,8,
+0x0b0260,2,
+0x0b026c,1,
+0x0b0280,2,
+0x0b0290,2,
+0x0b02e0,2,
+0x0b02ec,1,
+0x0b0300,3,
+0x0b0310,3,
+0x0b0360,2,
+0x0b036c,1,
+0x0b0380,2,
+0x0b0390,2,
+0x0b03a0,2,
+0x0b03e0,2,
+0x0b03ec,1,
+0x0b0400,3,
+0x0b0410,3,
+0x0b0460,2,
+0x0b046c,1,
+0x0b0480,3,
+0x0b0490,3,
+0x0b04e0,2,
+0x0b04ec,1,
+0x0b0500,3,
+0x0b0510,7,
+0x0b0530,4,
+0x0b0560,2,
+0x0b056c,1,
+0x0b0580,3,
+0x0b0590,3,
+0x0b05e0,2,
+0x0b05ec,1,
+0x0b0600,3,
+0x0b0610,3,
+0x0b0660,2,
+0x0b066c,1,
+0x0b0680,2,
+0x0b0690,2,
+0x0b06e0,2,
+0x0b06ec,1,
+0x0b0700,3,
+0x0b0710,3,
+0x0b0760,2,
+0x0b076c,1,
+0x0b0780,3,
+0x0b0790,3,
+0x0b07e0,2,
+0x0b07ec,1,
+0x0b0800,8,
+0x0b0860,2,
+0x0b086c,1,
+0x0b0880,3,
+0x0b0890,3,
+0x0b08e0,2,
+0x0b08ec,1,
+0x0b0900,3,
+0x0b0910,3,
+0x0b0960,2,
+0x0b096c,1,
+0x0b0980,3,
+0x0b0990,3,
+0x0b09e0,2,
+0x0b09ec,1,
+0x0b1000,9,
+0x0b1040,16,
+0x0b2000,9,
+0x0b2040,48,
+0x0b2104,7,
+0x0b2200,9,
+0x0b2240,48,
+0x0b2304,7,
+0x0b2400,9,
+0x0b2440,48,
+0x0b2504,7,
+0x0b2600,9,
+0x0b2640,48,
+0x0b2704,7,
+0x0b2800,9,
+0x0b2840,48,
+0x0b2904,7,
+0x0b2a00,9,
+0x0b2a40,48,
+0x0b2b04,7,
+0x0b2c00,9,
+0x0b2c40,48,
+0x0b2d04,7,
+0x0b2e00,9,
+0x0b2e40,48,
+0x0b2f04,7,
+0x0b3000,88,
+0x0b3180,34,
+0x0b4000,196,
+0x0b4340,13,
+0x0b4378,26,
+0x0b4400,9,
+0x0b4480,32,
+0x0b4804,1,
+0x0b480c,4,
+0x0b4844,1,
+0x0b484c,4,
+0x0b4884,1,
+0x0b488c,4,
+0x0b48c4,3,
+0x0b4900,73,
+0x0b4a40,28,
+0x0b4ac4,5,
+0x0b4b00,1,
+0x0b4b20,16,
+0x0b4b80,1,
+0x0b4ba0,9,
+0x0b4bd0,1,
+0x0b4c00,2,
+0x0b5000,7,
+0x0b5040,12,
+0x0b5100,9,
+0x0b5140,16,
+0x0b5800,2,
+0x0b5828,2,
+0x0b5850,2,
+0x0b5878,2,
+0x0b58a0,7,
+0x0b59a8,2,
+0x0b59d8,4,
+0x0b5a00,35,
+0x0b5a90,6,
+0x0b5c00,83,
+0x0b5d50,6,
+0x0b5e00,9,
+0x0b5f00,4,
+0x0d0000,2,
+0x0d000c,1,
+0x0d0020,20,
+0x0d0080,1,
+0x0d00a0,16,
+0x0d0100,2,
+0x0d010c,1,
+0x0d0120,20,
+0x0d0180,1,
+0x0d01a0,16,
+0x0d0200,2,
+0x0d020c,1,
+0x0d0220,20,
+0x0d0280,1,
+0x0d02a0,16,
+0x0d0300,2,
+0x0d030c,1,
+0x0d0320,20,
+0x0d0380,1,
+0x0d03a0,16,
+0x0d0400,3,
+0x0d0410,15,
+0x0d0450,6,
+0x0d0484,13,
+0x0d0504,25,
+0x0d0580,20,
+0x0d0600,6,
+0x0d0640,3,
+0x0d0680,8,
+0x0d0700,2,
+0x0d070c,4,
+0x0d0800,8,
+0x0d0840,3,
+0x0d0850,7,
+0x0d0880,5,
+0x0d08a0,3,
+0x0d08c0,7,
+0x0d08e0,11,
+0x0d0910,6,
+0x0d0a00,1,
+0x0d0a08,13,
+0x0d0a40,11,
+0x0d0c00,24,
+0x0d0c64,6,
+0x0d0c80,4,
+0x0d0d00,12,
+0x0d0d40,15,
+0x0d0d90,2,
+0x0d0d9c,1,
+0x0d0dc0,12,
+0x0d0e00,1,
+0x0d0e20,1,
+0x0d0e28,12,
+0x0d0e5c,1,
+0x0d0e80,8,
+0x0d0f00,8,
+0x0d0f24,5,
+0x0d1000,19,
+0x0d1080,3,
+0x0d1090,11,
+0x0d1180,4,
+0x0d11a0,16,
+0x0d2000,2,
+0x0d200c,1,
+0x0d2020,20,
+0x0d2080,1,
+0x0d20a0,16,
+0x0d2100,2,
+0x0d210c,1,
+0x0d2120,20,
+0x0d2180,1,
+0x0d21a0,16,
+0x0d2200,2,
+0x0d220c,1,
+0x0d2220,20,
+0x0d2280,1,
+0x0d22a0,16,
+0x0d2300,2,
+0x0d230c,1,
+0x0d2320,20,
+0x0d2380,1,
+0x0d23a0,16,
+0x0d2400,3,
+0x0d2410,15,
+0x0d2450,6,
+0x0d2484,13,
+0x0d2504,25,
+0x0d2580,20,
+0x0d2600,6,
+0x0d2640,3,
+0x0d2680,8,
+0x0d2700,2,
+0x0d270c,4,
+0x0d2800,8,
+0x0d2840,3,
+0x0d2850,7,
+0x0d2880,5,
+0x0d28a0,3,
+0x0d28c0,7,
+0x0d28e0,11,
+0x0d2910,6,
+0x0d2a00,1,
+0x0d2a08,13,
+0x0d2a40,11,
+0x0d2c00,24,
+0x0d2c64,6,
+0x0d2c80,4,
+0x0d2d00,12,
+0x0d2d40,15,
+0x0d2d90,2,
+0x0d2d9c,1,
+0x0d2dc0,12,
+0x0d2e00,1,
+0x0d2e20,1,
+0x0d2e28,12,
+0x0d2e5c,1,
+0x0d2e80,8,
+0x0d2f00,8,
+0x0d2f24,5,
+0x0d3000,19,
+0x0d3080,3,
+0x0d3090,11,
+0x0d3180,4,
+0x0d31a0,16,
+0x0d4000,29,
+0x0d4078,4,
+0x0d4090,2,
+0x0d40a0,7,
+0x0d40c0,11,
+0x0d4100,14,
+0x0d4140,14,
+0x0d4180,61,
+0x0d4278,4,
+0x0d4290,2,
+0x0d42a0,7,
+0x0d42c0,11,
+0x0d4300,14,
+0x0d4340,14,
+0x0d4380,61,
+0x0d4478,4,
+0x0d4490,2,
+0x0d44a0,7,
+0x0d44c0,11,
+0x0d4500,14,
+0x0d4540,14,
+0x0d4580,61,
+0x0d4678,4,
+0x0d4690,2,
+0x0d46a0,7,
+0x0d46c0,11,
+0x0d4700,14,
+0x0d4740,14,
+0x0d4780,69,
+0x0d4a00,8,
+0x0d4a24,15,
+0x0d4a64,30,
+0x0d4b00,4,
+0x0d4b20,2,
+0x0d4c00,6,
+0x0d4c40,14,
+0x0d4c80,9,
+0x0d4d00,9,
+0x0d4d2c,1,
+0x0d4d40,3,
+0x0d4d60,1,
+0x0d4d80,3,
+0x0d4e00,2,
+0x0d4e0c,1,
+0x0d4e14,5,
+0x0d4e2c,1,
+0x0d4e34,5,
+0x0d4e4c,1,
+0x0d4e54,5,
+0x0d4e6c,1,
+0x0d4e74,5,
+0x0d4e8c,1,
+0x0d4e94,5,
+0x0d4eac,1,
+0x0d4eb4,3,
+0x0d5000,29,
+0x0d5078,4,
+0x0d5090,2,
+0x0d50a0,7,
+0x0d50c0,11,
+0x0d5100,14,
+0x0d5140,14,
+0x0d5180,61,
+0x0d5278,4,
+0x0d5290,2,
+0x0d52a0,7,
+0x0d52c0,11,
+0x0d5300,14,
+0x0d5340,14,
+0x0d5380,61,
+0x0d5478,4,
+0x0d5490,2,
+0x0d54a0,7,
+0x0d54c0,11,
+0x0d5500,14,
+0x0d5540,14,
+0x0d5580,61,
+0x0d5678,4,
+0x0d5690,2,
+0x0d56a0,7,
+0x0d56c0,11,
+0x0d5700,14,
+0x0d5740,14,
+0x0d5780,69,
+0x0d5a00,8,
+0x0d5a24,15,
+0x0d5a64,30,
+0x0d5b00,4,
+0x0d5b20,2,
+0x0d5c00,6,
+0x0d5c40,14,
+0x0d5c80,9,
+0x0d5d00,9,
+0x0d5d2c,1,
+0x0d5d40,3,
+0x0d5d60,1,
+0x0d5d80,3,
+0x0d5e00,2,
+0x0d5e0c,1,
+0x0d5e14,5,
+0x0d5e2c,1,
+0x0d5e34,5,
+0x0d5e4c,1,
+0x0d5e54,5,
+0x0d5e6c,1,
+0x0d5e74,5,
+0x0d5e8c,1,
+0x0d5e94,5,
+0x0d5eac,1,
+0x0d5eb4,3,
+0x0d6000,15,
+0x0d6040,6,
+0x0d6060,6,
+0x0d6080,11,
+0x0d6100,9,
+0x0d6204,8,
+0x0d6240,13,
+0x0d6280,16,
+0x0d6400,8,
+0x0d6424,15,
+0x0d6464,15,
+0x0d64a4,15,
+0x0d64e4,30,
+0x0d6580,10,
+0x0d65ac,1,
+0x0d65b4,5,
+0x0d65cc,1,
+0x0d65d4,5,
+0x0d65ec,1,
+0x0d65f4,13,
+0x0d6680,4,
+0x0d6694,2,
+0x0d66a0,5,
+0x0d66c0,5,
+0x0d66e0,4,
+0x0d6800,19,
+0x0d6850,31,
+0x0d68d0,31,
+0x0d6950,31,
+0x0d69d0,31,
+0x0d6a50,31,
+0x0d6ad0,31,
+0x0d6b50,31,
+0x0d6bd0,31,
+0x0d6c50,12,
+0x0d6c84,1,
+0x0d6c94,23,
+0x0d7000,1,
+0x0d7028,1,
+0x0d7050,1,
+0x0d7078,1,
+0x0d70a0,5,
+0x0d71a8,2,
+0x0d71d8,4,
+0x0d7200,19,
+0x0d7250,6,
+0x0d7400,1,
+0x0d7408,3,
+0x0d7428,1,
+0x0d7434,1,
+0x0d7440,2,
+0x0d7500,8,
+0x0d7580,7,
+0x0d7600,3,
+0x0d7618,1,
+0x0d7620,4,
+0x0d8000,11,
+0x0d8030,10,
+0x0d8060,17,
+0x0d80c0,49,
+0x0d8188,4,
+0x0d8400,2,
+0x0d8428,2,
+0x0d8450,2,
+0x0d8478,2,
+0x0d84a0,17,
+0x0d85a8,2,
+0x0d85d8,4,
+0x0d8600,35,
+0x0d8690,6,
+0x0d8800,2,
+0x0d9000,37,
+0x0d9100,26,
+0x0d916c,7,
+0x0d91a0,1,
+0x0d91c0,9,
+0x0d91e8,1,
+0x0d9200,16,
+0x0d9248,4,
+0x0d9280,6,
+0x0d929c,1,
+0x0d92a4,2,
+0x0d92b8,9,
+0x0d92e0,4,
+0x0d9304,4,
+0x0d9328,3,
+0x0d9340,8,
+0x0d9400,7,
+0x0d9424,3,
+0x0d9438,17,
+0x0d9480,3,
+0x0d9490,24,
+0x0d9500,20,
+0x0d9700,7,
+0x0d9744,9,
+0x0d976c,2,
+0x0d9780,10,
+0x0d9800,37,
+0x0d9900,26,
+0x0d996c,7,
+0x0d99a0,1,
+0x0d99c0,9,
+0x0d99e8,1,
+0x0d9a00,16,
+0x0d9a48,4,
+0x0d9a80,6,
+0x0d9a9c,1,
+0x0d9aa4,2,
+0x0d9ab8,9,
+0x0d9ae0,4,
+0x0d9b04,4,
+0x0d9b28,3,
+0x0d9b40,8,
+0x0d9c00,7,
+0x0d9c24,3,
+0x0d9c38,17,
+0x0d9c80,3,
+0x0d9c90,24,
+0x0d9d00,20,
+0x0d9f00,7,
+0x0d9f44,9,
+0x0d9f6c,2,
+0x0d9f80,10,
+0x0da000,562,
+0x0db000,562,
+0x0dc000,4,
+0x0dc018,18,
+0x0dc100,4,
+0x0dc118,18,
+0x0dc200,12,
+0x0dc300,6,
+0x0dc320,5,
+0x0dc340,6,
+0x0dc360,5,
+0x0dc380,6,
+0x0dc400,9,
+0x0dc440,32,
+0x0dc4c4,1,
+0x0dc4cc,1,
+0x0dc4d4,1,
+0x0dc50c,7,
+0x0dc544,2,
+0x0dc55c,9,
+0x0dc584,2,
+0x0dc5a4,7,
+0x0dc5c4,2,
+0x0dc5d8,2,
+0x0dc5e4,2,
+0x0dc5f8,2,
+0x0dc604,2,
+0x0dc614,11,
+0x0dc644,5,
+0x0dc660,2,
+0x0dcf00,14,
+0x0dcfbc,9,
+0x0dd000,2,
+0x0dd00c,3,
+0x0dd024,2,
+0x0dd044,3,
+0x0dd104,1,
+0x0dd10c,1,
+0x0dd200,8,
+0x0dd244,2,
+0x0dd268,16,
+0x0dd2d0,2,
+0x0dd404,1,
+0x0dd438,42,
+0x0dd508,1,
+0x0dd518,1,
+0x0dd528,1,
+0x0dd538,1,
+0x0dd548,1,
+0x0dd558,1,
+0x0dd568,1,
+0x0dd578,1,
+0x0dd588,1,
+0x0dd598,1,
+0x0dd5a8,1,
+0x0dd5b8,1,
+0x0dd604,2,
+0x0dd638,18,
+0x0dd688,1,
+0x0dd704,2,
+0x0dd740,18,
+0x0dd804,1,
+0x0dd82c,21,
+0x0dd900,3,
+0x0dd910,3,
+0x0dd920,3,
+0x0dd930,3,
+0x0dda00,23,
+0x0dda60,32,
+0x0ddb00,6,
+0x0ddc00,3,
+0x0ddcc0,13,
+0x0ddd00,14,
+0x0ddd40,14,
+0x0ddd80,14,
+0x0dde00,5,
+0x0dde1c,1,
+0x0dde50,8,
+0x0dde80,9,
+0x0ddec0,51,
+0x0ddf90,6,
+0x0de000,135,
+0x0de300,2,
+0x0de30c,3,
+0x0de320,2,
+0x0de32c,3,
+0x0de340,2,
+0x0de34c,3,
+0x0de360,2,
+0x0de36c,3,
+0x0de380,2,
+0x0de38c,3,
+0x0de3a0,2,
+0x0de3ac,3,
+0x0de3c0,2,
+0x0de3cc,3,
+0x0de3e0,2,
+0x0de3ec,3,
+0x0de400,2,
+0x0de40c,3,
+0x0de420,2,
+0x0de42c,3,
+0x0de440,2,
+0x0de44c,3,
+0x0de460,2,
+0x0de46c,3,
+0x0de480,2,
+0x0de48c,3,
+0x0de4a0,2,
+0x0de4ac,3,
+0x0de4c0,2,
+0x0de4cc,3,
+0x0de4e0,2,
+0x0de4ec,3,
+0x0de500,135,
+0x0de800,2,
+0x0de80c,3,
+0x0de820,2,
+0x0de82c,3,
+0x0de840,2,
+0x0de84c,3,
+0x0de860,2,
+0x0de86c,3,
+0x0de880,2,
+0x0de88c,3,
+0x0de8a0,2,
+0x0de8ac,3,
+0x0de8c0,2,
+0x0de8cc,3,
+0x0de8e0,2,
+0x0de8ec,3,
+0x0de900,2,
+0x0de90c,3,
+0x0de920,2,
+0x0de92c,3,
+0x0de940,2,
+0x0de94c,3,
+0x0de960,2,
+0x0de96c,3,
+0x0de980,2,
+0x0de98c,3,
+0x0de9a0,2,
+0x0de9ac,3,
+0x0de9c0,2,
+0x0de9cc,3,
+0x0de9e0,2,
+0x0de9ec,3,
+0x0dea00,135,
+0x0ded00,2,
+0x0ded0c,3,
+0x0ded20,2,
+0x0ded2c,3,
+0x0ded40,2,
+0x0ded4c,3,
+0x0ded60,2,
+0x0ded6c,3,
+0x0ded80,2,
+0x0ded8c,3,
+0x0deda0,2,
+0x0dedac,3,
+0x0dedc0,2,
+0x0dedcc,3,
+0x0dede0,2,
+0x0dedec,3,
+0x0dee00,2,
+0x0dee0c,3,
+0x0dee20,2,
+0x0dee2c,3,
+0x0dee40,2,
+0x0dee4c,3,
+0x0dee60,2,
+0x0dee6c,3,
+0x0dee80,2,
+0x0dee8c,3,
+0x0deea0,2,
+0x0deeac,3,
+0x0deec0,2,
+0x0deecc,3,
+0x0deee0,2,
+0x0deeec,3,
+0x0def00,135,
+0x0df200,2,
+0x0df20c,3,
+0x0df220,2,
+0x0df22c,3,
+0x0df240,2,
+0x0df24c,3,
+0x0df260,2,
+0x0df26c,3,
+0x0df280,2,
+0x0df28c,3,
+0x0df2a0,2,
+0x0df2ac,3,
+0x0df2c0,2,
+0x0df2cc,3,
+0x0df2e0,2,
+0x0df2ec,3,
+0x0df300,2,
+0x0df30c,3,
+0x0df320,2,
+0x0df32c,3,
+0x0df340,2,
+0x0df34c,3,
+0x0df360,2,
+0x0df36c,3,
+0x0df380,2,
+0x0df38c,3,
+0x0df3a0,2,
+0x0df3ac,3,
+0x0df3c0,2,
+0x0df3cc,3,
+0x0df3e0,2,
+0x0df3ec,3,
+0x0df400,135,
+0x0df700,2,
+0x0df70c,3,
+0x0df720,2,
+0x0df72c,3,
+0x0df740,2,
+0x0df74c,3,
+0x0df760,2,
+0x0df76c,3,
+0x0df780,2,
+0x0df78c,3,
+0x0df7a0,2,
+0x0df7ac,3,
+0x0df7c0,2,
+0x0df7cc,3,
+0x0df7e0,2,
+0x0df7ec,3,
+0x0df800,2,
+0x0df80c,3,
+0x0df820,2,
+0x0df82c,3,
+0x0df840,2,
+0x0df84c,3,
+0x0df860,2,
+0x0df86c,3,
+0x0df880,2,
+0x0df88c,3,
+0x0df8a0,2,
+0x0df8ac,3,
+0x0df8c0,2,
+0x0df8cc,3,
+0x0df8e0,2,
+0x0df8ec,3,
+0x0df900,2,
+0x0e0000,3,
+0x0e0010,4,
+0x0e0024,6,
+0x0e0060,27,
+0x0e00d0,3,
+0x0e00e0,3,
+0x0e00f0,3,
+0x0e0100,4,
+0x0e0114,3,
+0x0e0140,3,
+0x0e0150,1,
+0x0e015c,2,
+0x0e0180,4,
+0x0e019c,18,
+0x0e01e8,5,
+0x0e0200,3,
+0x0e0210,3,
+0x0e0220,3,
+0x0e0230,3,
+0x0e0400,3,
+0x0e0410,4,
+0x0e0424,6,
+0x0e0460,27,
+0x0e04d0,3,
+0x0e04e0,3,
+0x0e04f0,3,
+0x0e0500,4,
+0x0e0514,3,
+0x0e0540,3,
+0x0e0550,1,
+0x0e055c,2,
+0x0e0580,4,
+0x0e059c,18,
+0x0e05e8,5,
+0x0e0600,3,
+0x0e0610,3,
+0x0e0620,3,
+0x0e0630,3,
+0x0e0800,3,
+0x0e0810,4,
+0x0e0824,6,
+0x0e0860,27,
+0x0e08d0,3,
+0x0e08e0,3,
+0x0e08f0,3,
+0x0e0900,4,
+0x0e0914,3,
+0x0e0940,3,
+0x0e0950,1,
+0x0e095c,2,
+0x0e0980,4,
+0x0e099c,18,
+0x0e09e8,5,
+0x0e0a00,3,
+0x0e0a10,3,
+0x0e0a20,3,
+0x0e0a30,3,
+0x0e0c00,3,
+0x0e0c10,4,
+0x0e0c24,6,
+0x0e0c60,27,
+0x0e0cd0,3,
+0x0e0ce0,3,
+0x0e0cf0,3,
+0x0e0d00,4,
+0x0e0d14,3,
+0x0e0d40,3,
+0x0e0d50,1,
+0x0e0d5c,2,
+0x0e0d80,4,
+0x0e0d9c,18,
+0x0e0de8,5,
+0x0e0e00,3,
+0x0e0e10,3,
+0x0e0e20,3,
+0x0e0e30,3,
+0x0e1000,3,
+0x0e1010,4,
+0x0e1024,6,
+0x0e1060,27,
+0x0e10d0,3,
+0x0e10e0,3,
+0x0e10f0,3,
+0x0e1100,4,
+0x0e1114,3,
+0x0e1140,3,
+0x0e1150,1,
+0x0e115c,2,
+0x0e1180,4,
+0x0e119c,18,
+0x0e11e8,5,
+0x0e1200,3,
+0x0e1210,3,
+0x0e1220,3,
+0x0e1230,3,
+0x0e1400,3,
+0x0e1410,4,
+0x0e1424,6,
+0x0e1460,27,
+0x0e14d0,3,
+0x0e14e0,3,
+0x0e14f0,3,
+0x0e1500,4,
+0x0e1514,3,
+0x0e1540,3,
+0x0e1550,1,
+0x0e155c,2,
+0x0e1580,4,
+0x0e159c,18,
+0x0e15e8,5,
+0x0e1600,3,
+0x0e1610,3,
+0x0e1620,3,
+0x0e1630,3,
+0x0e1800,3,
+0x0e1810,4,
+0x0e1824,6,
+0x0e1860,27,
+0x0e18d0,3,
+0x0e18e0,3,
+0x0e18f0,3,
+0x0e1900,4,
+0x0e1914,3,
+0x0e1940,3,
+0x0e1950,1,
+0x0e195c,2,
+0x0e1980,4,
+0x0e199c,18,
+0x0e19e8,5,
+0x0e1a00,3,
+0x0e1a10,3,
+0x0e1a20,3,
+0x0e1a30,3,
+0x0e1c00,3,
+0x0e1c10,4,
+0x0e1c24,6,
+0x0e1c60,27,
+0x0e1cd0,3,
+0x0e1ce0,3,
+0x0e1cf0,3,
+0x0e1d00,4,
+0x0e1d14,3,
+0x0e1d40,3,
+0x0e1d50,1,
+0x0e1d5c,2,
+0x0e1d80,4,
+0x0e1d9c,18,
+0x0e1de8,5,
+0x0e1e00,3,
+0x0e1e10,3,
+0x0e1e20,3,
+0x0e1e30,3,
+0x0e2000,3,
+0x0e2010,4,
+0x0e2024,6,
+0x0e2060,27,
+0x0e20d0,3,
+0x0e20e0,3,
+0x0e20f0,3,
+0x0e2100,4,
+0x0e2114,3,
+0x0e2140,3,
+0x0e2150,1,
+0x0e215c,2,
+0x0e2180,4,
+0x0e219c,18,
+0x0e21e8,5,
+0x0e2200,3,
+0x0e2210,3,
+0x0e2220,3,
+0x0e2230,3,
+0x0e2400,3,
+0x0e2410,4,
+0x0e2424,6,
+0x0e2460,27,
+0x0e24d0,3,
+0x0e24e0,3,
+0x0e24f0,3,
+0x0e2500,4,
+0x0e2514,3,
+0x0e2540,3,
+0x0e2550,1,
+0x0e255c,2,
+0x0e2580,4,
+0x0e259c,18,
+0x0e25e8,5,
+0x0e2600,3,
+0x0e2610,3,
+0x0e2620,3,
+0x0e2630,3,
+0x0e2800,3,
+0x0e2810,4,
+0x0e2824,6,
+0x0e2860,27,
+0x0e28d0,3,
+0x0e28e0,3,
+0x0e28f0,3,
+0x0e2900,4,
+0x0e2914,3,
+0x0e2940,3,
+0x0e2950,1,
+0x0e295c,2,
+0x0e2980,4,
+0x0e299c,18,
+0x0e29e8,5,
+0x0e2a00,3,
+0x0e2a10,3,
+0x0e2a20,3,
+0x0e2a30,3,
+0x0e3008,16,
+0x0e3070,1,
+0x0e3080,2,
+0x0e308c,1,
+0x0e3404,1,
+0x0e3440,22,
+0x0e349c,1,
+0x0e34e4,88,
+0x0e3650,5,
+0x0e3a00,6,
+0x0e3a20,2,
+0x0e3a30,1,
+0x0e3a40,8,
+0x0e3a64,5,
+0x0e3c00,1,
+0x0e3c28,1,
+0x0e3c50,1,
+0x0e3c78,1,
+0x0e3ca0,3,
+0x0e3da8,2,
+0x0e3dd8,4,
+0x0e3e00,19,
+0x0e3e50,6,
+0x0e4010,12,
+0x0e4044,3,
+0x0e4084,2,
+0x0e40bc,84,
+0x0e4240,18,
+0x0e45f0,4,
+0x0e4604,1,
+0x0e4640,16,
+0x0e46f0,4,
+0x0e4704,1,
+0x0e4740,16,
+0x0e4900,9,
+0x0e4980,16,
+0x0e4a04,3,
+0x0e4b00,33,
+0x0e4b90,3,
+0x0e4e00,2,
+0x0e5000,8,
+0x0e5050,8,
+0x0e6000,13,
+0x0e6040,1,
+0x0e6200,14,
+0x0e6240,1,
+0x0e6248,1,
+0x0e6258,10,
+0x0e6284,3,
+0x0e6300,10,
+0x0e6340,1,
+0x0e6400,17,
+0x0e6478,14,
+0x0e64bc,1,
+0x0e7450,3,
+0x0e7464,3,
+0x0e74d0,3,
+0x0e7510,12,
+0x0e7580,3,
+0x0e7590,6,
+0x0e75c0,3,
+0x0e75d0,6,
+0x0e7600,19,
+0x0e7650,6,
+0x0e76c0,14,
+0x0e7700,43,
+0x0e77b0,6,
+0x0e7800,99,
+0x0e7a00,14,
+0x0e7a40,14,
+0x0e7a80,18,
+0x0e7b00,1,
+0x0e7b80,10,
+0x0e7bc8,14,
+0x0e7e00,44,
+0x0e7f00,9,
+0x0e7f30,4,
+0x0e7f48,1,
+0x0e8000,10,
+0x0e8080,14,
+0x0f0000,3,
+0x0f0010,13,
+0x0f006c,3,
+0x0f0080,8,
+0x0f00c0,1,
+0x0f00c8,10,
+0x0f0100,1,
+0x0f0140,20,
+0x0f0200,62,
+0x0f02fc,1,
+0x0f0404,9,
+0x0f0440,14,
+0x0f0480,6,
+0x0f04b8,24,
+0x0f0520,1,
+0x0f0528,2,
+0x0f0540,2,
+0x0f0580,7,
+0x0f0af0,3,
+0x0f0b00,1,
+0x0f0b0c,2,
+0x0f0b18,1,
+0x0f0b30,4,
+0x0f0b80,3,
+0x0f0b90,2,
+0x0f0ba8,2,
+0x0f0bc0,2,
+0x0f0bd0,10,
+0x0f0c00,128,
+0x0f0e04,1,
+0x0f0e14,9,
+0x0f0e3c,1,
+0x0f1000,16,
+0x0f1060,2,
+0x0f1080,10,
+0x0f10c0,1,
+0x0f10e0,2,
+0x0f10ec,1,
+0x0f10f4,4,
+0x0f1140,16,
+0x0f1400,131,
+0x0f1610,6,
+0x0f1800,3,
+0x0f1810,6,
+0x0f1880,20,
+0x0f2000,5,
+0x0f201c,12,
+0x0f2080,14,
+0x0f2100,5,
+0x0f211c,12,
+0x0f2180,14,
+0x0f2200,5,
+0x0f221c,12,
+0x0f2280,14,
+0x0f2300,5,
+0x0f231c,12,
+0x0f2380,14,
+0x0f2400,5,
+0x0f241c,12,
+0x0f2480,14,
+0x0f2500,5,
+0x0f251c,12,
+0x0f2580,14,
+0x0f2600,5,
+0x0f261c,12,
+0x0f2680,14,
+0x0f2700,5,
+0x0f271c,12,
+0x0f2780,14,
+0x0f2800,5,
+0x0f281c,12,
+0x0f2880,14,
+0x0f2900,5,
+0x0f291c,12,
+0x0f2980,14,
+0x0f2a00,5,
+0x0f2a1c,12,
+0x0f2a80,14,
+0x0f2b00,5,
+0x0f2b1c,12,
+0x0f2b80,14,
+0x0f2c00,5,
+0x0f2c1c,12,
+0x0f2c80,14,
+0x0f2d00,5,
+0x0f2d1c,12,
+0x0f2d80,14,
+0x0f2e00,5,
+0x0f2e1c,12,
+0x0f2e80,14,
+0x0f2f00,5,
+0x0f2f1c,12,
+0x0f2f80,14,
+0x0f3000,5,
+0x0f301c,12,
+0x0f3080,14,
+0x0f3100,5,
+0x0f311c,12,
+0x0f3180,14,
+0x0f3200,5,
+0x0f321c,12,
+0x0f3280,14,
+0x0f3300,5,
+0x0f331c,12,
+0x0f3380,14,
+0x0f4000,7,
+0x0f4020,4,
+0x0f4204,1,
+0x0f4280,35,
+0x0f4310,4,
+0x0f4404,1,
+0x0f4480,34,
+0x0f4510,10,
+0x0f453c,3,
+0x0f4800,7,
+0x0f4820,4,
+0x0f4a04,1,
+0x0f4a80,35,
+0x0f4b10,4,
+0x0f4c04,1,
+0x0f4c80,34,
+0x0f4d10,10,
+0x0f4d3c,3,
+0x0f5000,7,
+0x0f5020,4,
+0x0f5204,1,
+0x0f5280,35,
+0x0f5310,4,
+0x0f5404,1,
+0x0f5480,34,
+0x0f5510,10,
+0x0f553c,3,
+0x0f5800,7,
+0x0f5820,4,
+0x0f5a04,1,
+0x0f5a80,35,
+0x0f5b10,4,
+0x0f5c04,1,
+0x0f5c80,34,
+0x0f5d10,10,
+0x0f5d3c,3,
+0x0f6000,7,
+0x0f6020,4,
+0x0f6204,1,
+0x0f6280,35,
+0x0f6310,4,
+0x0f6404,1,
+0x0f6480,34,
+0x0f6510,10,
+0x0f653c,3,
+0x0f6800,7,
+0x0f6820,4,
+0x0f6a04,1,
+0x0f6a80,35,
+0x0f6b10,4,
+0x0f6c04,1,
+0x0f6c80,34,
+0x0f6d10,10,
+0x0f6d3c,3,
+0x0f7000,7,
+0x0f7020,4,
+0x0f7204,1,
+0x0f7280,35,
+0x0f7310,4,
+0x0f7404,1,
+0x0f7480,34,
+0x0f7510,10,
+0x0f753c,3,
+0x100000,7,
+0x100040,7,
+0x100080,7,
+0x1000c0,7,
+0x100100,7,
+0x100140,7,
+0x100180,7,
+0x1001c0,7,
+0x100200,1,
+0x100300,13,
+0x100338,8,
+0x10035c,6,
+0x100380,13,
+0x1003b8,8,
+0x1003dc,6,
+0x100400,13,
+0x100438,8,
+0x10045c,6,
+0x100480,13,
+0x1004b8,8,
+0x1004dc,6,
+0x100500,13,
+0x100538,8,
+0x10055c,6,
+0x100580,13,
+0x1005b8,8,
+0x1005dc,6,
+0x100600,13,
+0x100638,8,
+0x10065c,6,
+0x100680,13,
+0x1006b8,8,
+0x1006dc,6,
+0x100700,13,
+0x100738,8,
+0x10075c,6,
+0x100780,13,
+0x1007b8,8,
+0x1007dc,6,
+0x100800,13,
+0x100838,8,
+0x10085c,6,
+0x100880,13,
+0x1008b8,8,
+0x1008dc,6,
+0x100900,13,
+0x100938,8,
+0x10095c,6,
+0x100980,13,
+0x1009b8,8,
+0x1009dc,6,
+0x100a00,13,
+0x100a38,8,
+0x100a5c,6,
+0x100a80,13,
+0x100ab8,8,
+0x100adc,6,
+0x100b00,13,
+0x100b38,8,
+0x100b5c,6,
+0x100b80,13,
+0x100bb8,8,
+0x100bdc,6,
+0x100c00,13,
+0x100c38,8,
+0x100c5c,6,
+0x100d00,3,
+0x100d10,2,
+0x101100,1,
+0x101108,1,
+0x101110,1,
+0x101118,1,
+0x101120,1,
+0x101128,1,
+0x101130,1,
+0x101138,1,
+0x101140,3,
+0x101200,18,
+0x10124c,11,
+0x101300,18,
+0x10134c,11,
+0x101400,18,
+0x10144c,11,
+0x101500,18,
+0x10154c,11,
+0x101600,18,
+0x10164c,11,
+0x101700,18,
+0x10174c,11,
+0x101800,18,
+0x10184c,11,
+0x101900,18,
+0x10194c,11,
+0x102008,1,
+0x102014,3,
+0x102304,1,
+0x10232c,23,
+0x102400,4,
+0x102420,4,
+0x102440,4,
+0x102460,4,
+0x102480,4,
+0x1024a0,4,
+0x1024c0,4,
+0x1024e0,4,
+0x102600,1,
+0x102608,1,
+0x102680,6,
+0x1026a8,2,
+0x102700,4,
+0x10275c,1,
+0x102768,1,
+0x102770,4,
+0x102790,1,
+0x10279c,1,
+0x102800,3,
+0x102820,3,
+0x102840,3,
+0x102860,3,
+0x102880,3,
+0x1028a0,3,
+0x1028c0,3,
+0x1028e0,3,
+0x102908,1,
+0x102a00,1,
+0x102a40,9,
+0x102a80,9,
+0x102ac0,1,
+0x102b00,9,
+0x102b40,9,
+0x102b84,1,
+0x102b9c,9,
+0x102be0,5,
+0x102c00,20,
+0x102cd8,5,
+0x102d00,33,
+0x102e00,1,
+0x103000,7,
+0x103020,3,
+0x103030,4,
+0x103080,7,
+0x1030a0,3,
+0x1030b0,4,
+0x103100,7,
+0x103120,3,
+0x103130,4,
+0x103180,7,
+0x1031a0,3,
+0x1031b0,4,
+0x103200,7,
+0x103220,3,
+0x103230,4,
+0x103280,7,
+0x1032a0,3,
+0x1032b0,4,
+0x103300,7,
+0x103320,3,
+0x103330,4,
+0x103380,7,
+0x1033a0,3,
+0x1033b0,4,
+0x103400,7,
+0x103420,3,
+0x103430,5,
+0x10344c,9,
+0x103474,2,
+0x103484,1,
+0x103500,67,
+0x103700,34,
+0x103800,39,
+0x103900,39,
+0x103a00,39,
+0x103c04,1,
+0x103c18,10,
+0x103d04,1,
+0x103d7c,35,
+0x104000,1,
+0x10406c,3,
+0x10407c,1,
+0x104084,1,
+0x1040a4,7,
+0x1040e4,4,
+0x104104,1,
+0x104170,36,
+0x104400,1,
+0x10446c,3,
+0x10447c,1,
+0x104484,1,
+0x1044a4,7,
+0x1044e4,4,
+0x104504,1,
+0x104570,36,
+0x104800,1,
+0x10486c,3,
+0x10487c,1,
+0x104884,1,
+0x1048a4,7,
+0x1048e4,4,
+0x104904,1,
+0x104970,36,
+0x104c00,1,
+0x104c6c,3,
+0x104c7c,1,
+0x104c84,1,
+0x104ca4,7,
+0x104ce4,4,
+0x104d04,1,
+0x104d70,36,
+0x105000,1,
+0x10506c,3,
+0x10507c,1,
+0x105084,1,
+0x1050a4,7,
+0x1050e4,4,
+0x105104,1,
+0x105170,36,
+0x105400,1,
+0x10546c,3,
+0x10547c,1,
+0x105484,1,
+0x1054a4,7,
+0x1054e4,4,
+0x105504,1,
+0x105570,36,
+0x105800,1,
+0x10586c,3,
+0x10587c,1,
+0x105884,1,
+0x1058a4,7,
+0x1058e4,4,
+0x105904,1,
+0x105970,36,
+0x105c00,1,
+0x105c6c,3,
+0x105c7c,1,
+0x105c84,1,
+0x105ca4,7,
+0x105ce4,4,
+0x105d04,1,
+0x105d70,36,
+0x106000,9,
+0x106044,7,
+0x106080,10,
+0x106100,1,
+0x10610c,7,
+0x106130,3,
+0x106174,19,
+0x106200,2,
+0x106210,4,
+0x107000,3,
+0x107018,7,
+0x107040,3,
+0x107050,2,
+0x107200,3,
+0x107218,7,
+0x107240,3,
+0x107250,2,
+0x107400,3,
+0x107418,7,
+0x107440,3,
+0x107450,2,
+0x107600,3,
+0x107618,7,
+0x107640,3,
+0x107650,2,
+0x107800,3,
+0x107818,7,
+0x107840,3,
+0x107850,2,
+0x107a00,3,
+0x107a18,7,
+0x107a40,3,
+0x107a50,2,
+0x107c00,3,
+0x107c18,7,
+0x107c40,3,
+0x107c50,2,
+0x107e00,3,
+0x107e18,7,
+0x107e40,3,
+0x107e50,2,
+0x108000,48,
+0x108100,48,
+0x108204,1,
+0x10820c,4,
+0x108240,9,
+0x108280,1,
+0x108298,3,
+0x1082a8,3,
+0x1082b8,2,
+0x1082c4,13,
+0x108300,1,
+0x108308,1,
+0x108310,1,
+0x108318,1,
+0x108320,1,
+0x108328,1,
+0x108330,1,
+0x108338,1,
+0x108340,2,
+0x108350,2,
+0x108360,2,
+0x108370,2,
+0x108380,2,
+0x108390,2,
+0x1083a0,2,
+0x1083b0,2,
+0x1083c0,2,
+0x1083d8,1,
+0x1083e8,9,
+0x108410,6,
+0x108500,3,
+0x108510,3,
+0x108520,1,
+0x108800,25,
+0x108870,3,
+0x108880,18,
+0x108930,3,
+0x108940,18,
+0x1089f0,3,
+0x108a00,18,
+0x108ab0,3,
+0x108ac0,18,
+0x108b70,3,
+0x108b80,18,
+0x108c30,3,
+0x108c40,18,
+0x108cf0,3,
+0x108d00,18,
+0x108db0,3,
+0x108dc0,18,
+0x108ff4,27,
+0x109080,4,
+0x10909c,6,
+0x1090c0,1,
+0x1090c8,1,
+0x1090d0,1,
+0x1090d8,1,
+0x1090e0,1,
+0x1090e8,1,
+0x1090f0,1,
+0x1090f8,1,
+0x109800,27,
+0x109900,27,
+0x109a00,27,
+0x109b00,27,
+0x109c00,27,
+0x109d00,27,
+0x109e00,27,
+0x109f00,27,
+0x10a000,12,
+0x10a11c,10,
+0x10a200,8,
+0x10a240,8,
+0x10a280,8,
+0x10a2c0,8,
+0x10a300,8,
+0x10a340,8,
+0x10a380,8,
+0x10a3c0,8,
+0x10a800,19,
+0x10a900,19,
+0x10aa00,19,
+0x10ab00,19,
+0x10ac00,19,
+0x10ad00,19,
+0x10ae00,19,
+0x10af00,19,
+0x10b000,13,
+0x10b800,19,
+0x10b900,19,
+0x10ba00,19,
+0x10bb00,19,
+0x10bc00,19,
+0x10bd00,19,
+0x10be00,19,
+0x10bf00,19,
+0x10c000,1,
+0x10c008,1,
+0x10c010,1,
+0x10c018,1,
+0x10c020,1,
+0x10c028,1,
+0x10c030,1,
+0x10c038,1,
+0x10c040,1,
+0x10c100,2,
+0x10c110,2,
+0x10c120,2,
+0x10c130,2,
+0x10c140,2,
+0x10c150,2,
+0x10c160,2,
+0x10c170,2,
+0x10c408,1,
+0x10c410,15,
+0x10c604,1,
+0x10c6ec,72,
+0x10c884,1,
+0x10c8ac,21,
+0x10c904,1,
+0x10c924,8,
+0x10ca00,14,
+0x10ca40,14,
+0x10cb00,14,
+0x10cb40,14,
+0x10cc00,14,
+0x10cc40,14,
+0x10cd00,14,
+0x10cd40,14,
+0x10ce00,14,
+0x10ce40,14,
+0x10cf00,14,
+0x10cf40,14,
+0x10d000,14,
+0x10d040,14,
+0x10d100,14,
+0x10d140,14,
+0x10d200,14,
+0x10d240,14,
+0x10d280,14,
+0x10d2c0,14,
+0x10d300,14,
+0x10d400,19,
+0x10d480,3,
+0x10d490,6,
+0x10d6fc,1,
+0x10d704,7,
+0x10d744,7,
+0x10d784,7,
+0x10d7c4,7,
+0x10d804,7,
+0x10d844,7,
+0x10d884,7,
+0x10d8c4,7,
+0x10d904,7,
+0x10d944,7,
+0x10d984,7,
+0x10d9c4,7,
+0x10da04,7,
+0x10da44,7,
+0x10da84,7,
+0x10dac4,7,
+0x10dbf8,36,
+0x10dc90,2,
+0x10dca0,14,
+0x10dd38,2,
+0x10dd48,2,
+0x10dd58,2,
+0x10dd68,2,
+0x10dd78,2,
+0x10dd88,2,
+0x10dd98,2,
+0x10dda8,2,
+0x10fa00,14,
+0x10fa40,2,
+0x10fa4c,1,
+0x10fa80,9,
+0x10fac0,20,
+0x10fc00,1,
+0x10fc28,1,
+0x10fc50,1,
+0x10fc78,1,
+0x10fca0,13,
+0x10fda8,2,
+0x10fdd8,4,
+0x10fe00,19,
+0x10fe50,6,
+0x110000,288,
+0x110700,2,
+0x110710,2,
+0x110ffc,8,
+0x111020,7,
+0x111040,7,
+0x111060,7,
+0x111080,7,
+0x1110a0,7,
+0x1110c0,7,
+0x1110e0,7,
+0x111100,7,
+0x111120,7,
+0x111140,7,
+0x111160,7,
+0x111180,7,
+0x1111a0,7,
+0x1111c0,7,
+0x1111e0,7,
+0x111200,7,
+0x111400,4,
+0x112004,3,
+0x112014,3,
+0x112024,3,
+0x112034,3,
+0x112044,3,
+0x112054,3,
+0x112064,3,
+0x112074,3,
+0x112084,3,
+0x112094,3,
+0x1120a4,3,
+0x1120b4,3,
+0x1120c4,3,
+0x1120d4,3,
+0x1120e4,3,
+0x1120f4,3,
+0x112104,3,
+0x112114,3,
+0x112124,3,
+0x112134,3,
+0x112144,3,
+0x112154,3,
+0x112164,3,
+0x112174,3,
+0x112184,3,
+0x112194,3,
+0x1121a4,3,
+0x1121b4,3,
+0x1121c4,3,
+0x1121d4,3,
+0x1121e4,3,
+0x1121f4,3,
+0x112204,3,
+0x112214,3,
+0x112224,3,
+0x112234,3,
+0x112244,3,
+0x112254,3,
+0x112264,3,
+0x112274,3,
+0x112284,3,
+0x112294,3,
+0x1122a4,3,
+0x1122b4,3,
+0x1122c4,3,
+0x1122d4,3,
+0x1122e4,3,
+0x1122f4,3,
+0x112304,3,
+0x112314,3,
+0x112324,3,
+0x112334,3,
+0x112344,3,
+0x112354,3,
+0x112364,3,
+0x112374,3,
+0x112384,3,
+0x112394,3,
+0x1123a4,3,
+0x1123b4,3,
+0x1123c4,3,
+0x1123d4,3,
+0x1123e4,3,
+0x1123f4,3,
+0x112404,3,
+0x112414,3,
+0x112424,3,
+0x112434,3,
+0x112444,3,
+0x112454,3,
+0x112464,3,
+0x112474,3,
+0x112ffc,8,
+0x113020,7,
+0x113040,7,
+0x113060,7,
+0x113080,7,
+0x1130a0,7,
+0x1130c0,7,
+0x1130e0,7,
+0x113100,7,
+0x113120,7,
+0x113140,7,
+0x113160,7,
+0x113180,7,
+0x1131a0,7,
+0x1131c0,7,
+0x1131e0,7,
+0x113200,7,
+0x113400,2,
+0x113420,3,
+0x113604,12,
+0x1136e0,33,
+0x11f800,1,
+0x120014,9,
+0x120040,7,
+0x120064,12,
+0x1200a0,1,
+0x120100,12,
+0x120180,14,
+0x1201c0,14,
+0x120414,9,
+0x120440,7,
+0x120464,12,
+0x1204a0,1,
+0x120500,12,
+0x120580,14,
+0x1205c0,14,
+0x120814,9,
+0x120840,7,
+0x120864,12,
+0x1208a0,1,
+0x120900,12,
+0x120980,14,
+0x1209c0,14,
+0x120c14,9,
+0x120c40,7,
+0x120c64,12,
+0x120ca0,1,
+0x120d00,12,
+0x120d80,14,
+0x120dc0,14,
+0x121014,9,
+0x121040,7,
+0x121064,12,
+0x1210a0,1,
+0x121100,12,
+0x121180,14,
+0x1211c0,14,
+0x121414,9,
+0x121440,7,
+0x121464,12,
+0x1214a0,1,
+0x121500,12,
+0x121580,14,
+0x1215c0,14,
+0x121814,9,
+0x121840,7,
+0x121864,12,
+0x1218a0,1,
+0x121900,12,
+0x121980,14,
+0x1219c0,14,
+0x121c14,9,
+0x121c40,7,
+0x121c64,12,
+0x121ca0,1,
+0x121d00,12,
+0x121d80,14,
+0x121dc0,14,
+0x122000,33,
+0x122088,14,
+0x123000,2,
+0x123010,2,
+0x123020,2,
+0x123040,3,
+0x123050,6,
+0x123ffc,1,
+0x126000,1,
+0x126028,1,
+0x126050,1,
+0x126078,1,
+0x1260a0,5,
+0x1261a8,2,
+0x1261d8,4,
+0x126200,19,
+0x126250,6,
+0x126400,9,
+0x126440,25,
+0x1264c0,25,
+0x126540,25,
+0x1265c0,25,
+0x126640,25,
+0x1266c0,25,
+0x126740,25,
+0x1267c0,16,
+0x126a00,14,
+0x126c20,3,
+0x126c30,1,
+0x126c38,6,
+0x126c60,2,
+0x126d00,17,
+0x130000,29,
+0x130078,4,
+0x130090,2,
+0x1300a0,7,
+0x1300c0,11,
+0x130100,14,
+0x130140,14,
+0x130180,61,
+0x130278,4,
+0x130290,2,
+0x1302a0,7,
+0x1302c0,11,
+0x130300,14,
+0x130340,14,
+0x130380,61,
+0x130478,4,
+0x130490,2,
+0x1304a0,7,
+0x1304c0,11,
+0x130500,14,
+0x130540,14,
+0x130580,61,
+0x130678,4,
+0x130690,2,
+0x1306a0,7,
+0x1306c0,11,
+0x130700,14,
+0x130740,14,
+0x130780,69,
+0x130c00,6,
+0x130c40,14,
+0x130c80,9,
+0x130d00,9,
+0x130d2c,1,
+0x130d40,3,
+0x130d60,1,
+0x130d80,3,
+0x130e00,2,
+0x130e0c,1,
+0x130e14,5,
+0x130e2c,1,
+0x130e34,5,
+0x130e4c,1,
+0x130e54,5,
+0x130e6c,1,
+0x130e74,5,
+0x130e8c,1,
+0x130e94,5,
+0x130eac,1,
+0x130eb4,3,
+0x131000,29,
+0x131078,4,
+0x131090,2,
+0x1310a0,7,
+0x1310c0,11,
+0x131100,14,
+0x131140,14,
+0x131180,61,
+0x131278,4,
+0x131290,2,
+0x1312a0,7,
+0x1312c0,11,
+0x131300,14,
+0x131340,14,
+0x131380,61,
+0x131478,4,
+0x131490,2,
+0x1314a0,7,
+0x1314c0,11,
+0x131500,14,
+0x131540,14,
+0x131580,61,
+0x131678,4,
+0x131690,2,
+0x1316a0,7,
+0x1316c0,11,
+0x131700,14,
+0x131740,14,
+0x131780,69,
+0x131c00,6,
+0x131c40,14,
+0x131c80,9,
+0x131d00,9,
+0x131d2c,1,
+0x131d40,3,
+0x131d60,1,
+0x131d80,3,
+0x131e00,2,
+0x131e0c,1,
+0x131e14,5,
+0x131e2c,1,
+0x131e34,5,
+0x131e4c,1,
+0x131e54,5,
+0x131e6c,1,
+0x131e74,5,
+0x131e8c,1,
+0x131e94,5,
+0x131eac,1,
+0x131eb4,3,
+0x132000,29,
+0x132078,4,
+0x132090,2,
+0x1320a0,7,
+0x1320c0,11,
+0x132100,14,
+0x132140,14,
+0x132180,61,
+0x132278,4,
+0x132290,2,
+0x1322a0,7,
+0x1322c0,11,
+0x132300,14,
+0x132340,14,
+0x132380,61,
+0x132478,4,
+0x132490,2,
+0x1324a0,7,
+0x1324c0,11,
+0x132500,14,
+0x132540,14,
+0x132580,61,
+0x132678,4,
+0x132690,2,
+0x1326a0,7,
+0x1326c0,11,
+0x132700,14,
+0x132740,14,
+0x132780,69,
+0x132c00,6,
+0x132c40,14,
+0x132c80,9,
+0x132d00,9,
+0x132d2c,1,
+0x132d40,3,
+0x132d60,1,
+0x132d80,3,
+0x132e00,2,
+0x132e0c,1,
+0x132e14,5,
+0x132e2c,1,
+0x132e34,5,
+0x132e4c,1,
+0x132e54,5,
+0x132e6c,1,
+0x132e74,5,
+0x132e8c,1,
+0x132e94,5,
+0x132eac,1,
+0x132eb4,3,
+0x133000,29,
+0x133078,4,
+0x133090,2,
+0x1330a0,7,
+0x1330c0,11,
+0x133100,14,
+0x133140,14,
+0x133180,61,
+0x133278,4,
+0x133290,2,
+0x1332a0,7,
+0x1332c0,11,
+0x133300,14,
+0x133340,14,
+0x133380,61,
+0x133478,4,
+0x133490,2,
+0x1334a0,7,
+0x1334c0,11,
+0x133500,14,
+0x133540,14,
+0x133580,61,
+0x133678,4,
+0x133690,2,
+0x1336a0,7,
+0x1336c0,11,
+0x133700,14,
+0x133740,14,
+0x133780,69,
+0x133c00,6,
+0x133c40,14,
+0x133c80,9,
+0x133d00,9,
+0x133d2c,1,
+0x133d40,3,
+0x133d60,1,
+0x133d80,3,
+0x133e00,2,
+0x133e0c,1,
+0x133e14,5,
+0x133e2c,1,
+0x133e34,5,
+0x133e4c,1,
+0x133e54,5,
+0x133e6c,1,
+0x133e74,5,
+0x133e8c,1,
+0x133e94,5,
+0x133eac,1,
+0x133eb4,3,
+0x134000,19,
+0x134050,31,
+0x1340d0,31,
+0x134150,31,
+0x1341d0,31,
+0x134250,31,
+0x1342d0,31,
+0x134350,31,
+0x1343d0,31,
+0x134450,31,
+0x1344d0,31,
+0x134550,31,
+0x1345d0,31,
+0x134650,31,
+0x1346d0,31,
+0x134750,31,
+0x1347d0,31,
+0x134850,12,
+0x134884,1,
+0x134894,23,
+0x134900,7,
+0x135000,72,
+0x135400,72,
+0x135800,72,
+0x135c00,72,
+0x136000,72,
+0x136400,72,
+0x136800,72,
+0x136c00,72,
+0x137000,17,
+0x137048,9,
+0x137070,3,
+0x137090,13,
+0x1370d0,1,
+0x1370e0,5,
+0x137200,17,
+0x137248,9,
+0x137270,3,
+0x137290,13,
+0x1372d0,1,
+0x1372e0,5,
+0x137400,17,
+0x137448,9,
+0x137470,3,
+0x137490,13,
+0x1374d0,1,
+0x1374e0,5,
+0x137600,17,
+0x137648,9,
+0x137670,3,
+0x137690,13,
+0x1376d0,1,
+0x1376e0,5,
+0x137800,17,
+0x137848,9,
+0x137870,3,
+0x137890,13,
+0x1378d0,1,
+0x1378e0,5,
+0x137a00,17,
+0x137a48,9,
+0x137a70,3,
+0x137a90,13,
+0x137ad0,1,
+0x137ae0,5,
+0x137c00,17,
+0x137c48,9,
+0x137c70,3,
+0x137c90,13,
+0x137cd0,1,
+0x137ce0,5,
+0x137e00,17,
+0x137e48,9,
+0x137e70,3,
+0x137e90,13,
+0x137ed0,1,
+0x137ee0,5,
+0x138000,7,
+0x138020,15,
+0x138060,15,
+0x1380a0,15,
+0x1380e0,15,
+0x138120,15,
+0x138160,15,
+0x1381a0,15,
+0x1381e0,15,
+0x138220,15,
+0x138260,15,
+0x1382a0,15,
+0x1382e0,15,
+0x138320,15,
+0x138360,15,
+0x1383a0,15,
+0x1383e0,15,
+0x138420,9,
+0x138500,7,
+0x138520,9,
+0x138600,7,
+0x138620,9,
+0x138700,7,
+0x138720,9,
+0x138800,7,
+0x138820,9,
+0x138900,7,
+0x138920,9,
+0x138a00,7,
+0x138a20,9,
+0x138b00,7,
+0x138b20,9,
+0x138c00,14,
+0x138c40,14,
+0x138c80,14,
+0x138cc0,14,
+0x138d00,14,
+0x138d40,14,
+0x138d80,14,
+0x138dc0,14,
+0x138e00,14,
+0x138e40,14,
+0x138e80,14,
+0x138ec0,14,
+0x138f00,14,
+0x139000,12,
+0x139034,1,
+0x13903c,4,
+0x139050,2,
+0x1390a0,2,
+0x1390ac,1,
+0x1390b4,9,
+0x139200,14,
+0x139240,14,
+0x139280,14,
+0x1392c0,14,
+0x139300,14,
+0x139340,14,
+0x13a000,104,
+0x13a200,3,
+0x13a210,2,
+0x13a21c,16,
+0x13a300,3,
+0x13a310,2,
+0x13a31c,16,
+0x13a400,3,
+0x13a410,2,
+0x13a41c,16,
+0x13a500,3,
+0x13a510,2,
+0x13a51c,16,
+0x13a600,3,
+0x13a610,2,
+0x13a61c,16,
+0x13a700,3,
+0x13a710,2,
+0x13a71c,16,
+0x13a800,3,
+0x13a810,2,
+0x13a81c,16,
+0x13a900,3,
+0x13a910,2,
+0x13a91c,16,
+0x13aa00,21,
+0x13ab00,25,
+0x13ab80,7,
+0x13ac00,16,
+0x13b000,14,
+0x13b040,14,
+0x13b080,14,
+0x13b0c0,14,
+0x13b100,14,
+0x13b140,14,
+0x13b180,14,
+0x13b1c0,14,
+0x13b200,14,
+0x13b240,14,
+0x13b280,14,
+0x13b2c0,14,
+0x13b300,1,
+0x13b800,14,
+0x13b840,14,
+0x13b880,14,
+0x13b8c0,14,
+0x13b900,14,
+0x13b940,14,
+0x13b980,14,
+0x13b9c0,14,
+0x13ba00,14,
+0x13ba40,14,
+0x13ba80,14,
+0x13bac0,14,
+0x13bb00,1,
+0x13c000,14,
+0x13c040,14,
+0x13c080,14,
+0x13c0c0,14,
+0x13c100,14,
+0x13c140,14,
+0x13c180,14,
+0x13c1c0,14,
+0x13c200,14,
+0x13c240,14,
+0x13c280,14,
+0x13c2c0,14,
+0x13c300,1,
+0x13c800,14,
+0x13c840,14,
+0x13c880,14,
+0x13c8c0,14,
+0x13c900,14,
+0x13c940,14,
+0x13c980,14,
+0x13c9c0,14,
+0x13ca00,14,
+0x13ca40,14,
+0x13ca80,14,
+0x13cac0,14,
+0x13cb00,1,
+0x13d000,14,
+0x13d040,14,
+0x13d080,14,
+0x13d0c0,14,
+0x13d100,14,
+0x13d140,14,
+0x13d180,14,
+0x13d1c0,14,
+0x13d200,14,
+0x13d240,14,
+0x13d280,14,
+0x13d2c0,14,
+0x13d300,1,
+0x13d800,14,
+0x13d840,14,
+0x13d880,14,
+0x13d8c0,14,
+0x13d900,14,
+0x13d940,14,
+0x13d980,14,
+0x13d9c0,14,
+0x13da00,14,
+0x13da40,14,
+0x13da80,14,
+0x13dac0,14,
+0x13db00,1,
+0x13e000,14,
+0x13e040,14,
+0x13e080,14,
+0x13e0c0,14,
+0x13e100,14,
+0x13e140,14,
+0x13e180,14,
+0x13e1c0,14,
+0x13e200,14,
+0x13e240,14,
+0x13e280,14,
+0x13e2c0,14,
+0x13e300,1,
+0x13e800,14,
+0x13e840,14,
+0x13e880,14,
+0x13e8c0,14,
+0x13e900,14,
+0x13e940,14,
+0x13e980,14,
+0x13e9c0,14,
+0x13ea00,14,
+0x13ea40,14,
+0x13ea80,14,
+0x13eac0,14,
+0x13eb00,1,
+0x13f800,8,
+0x13f824,15,
+0x13f864,15,
+0x13f8a4,15,
+0x13f8e4,30,
+0x13f980,10,
+0x13f9ac,1,
+0x13f9b4,5,
+0x13f9cc,1,
+0x13f9d4,5,
+0x13f9ec,1,
+0x13f9f4,13,
+0x13fa80,4,
+0x13fa94,2,
+0x13faa0,5,
+0x13fac0,5,
+0x13fae0,4,
+0x13fc04,8,
+0x13fc40,13,
+0x13fc80,16,
+0x13fd00,14,
+0x13fd40,3,
+0x13fd50,3,
+0x13fd60,3,
+0x13fd70,11,
+0x13fdc0,35,
+0x13fe50,1,
+0x13fe58,1,
+0x13fe60,1,
+0x13fe68,1,
+0x13fe70,1,
+0x13fe78,1,
+0x13fe80,1,
+0x13fe88,5,
diff --git a/mstdump/mstdump_dbs/Spectrum.csv b/mstdump/mstdump_dbs/Spectrum.csv
index 83f58fb..ea7e3cc 100644
--- a/mstdump/mstdump_dbs/Spectrum.csv
+++ b/mstdump/mstdump_dbs/Spectrum.csv
@@ -3772,8 +3772,7 @@
 0x0a001c,6,
 0x0a0038,2,
 0x0a0048,2,
-0x0a0058,19,
-0x0a00ac,14,
+0x0a0058,35,
 0x0a00f0,1,
 0x0a00fc,35,
 0x0a01e0,1,
@@ -3783,8 +3782,7 @@
 0x0a021c,6,
 0x0a0238,2,
 0x0a0248,2,
-0x0a0258,19,
-0x0a02ac,14,
+0x0a0258,35,
 0x0a02f0,1,
 0x0a02fc,35,
 0x0a03e0,1,
@@ -3794,8 +3792,7 @@
 0x0a041c,6,
 0x0a0438,2,
 0x0a0448,2,
-0x0a0458,19,
-0x0a04ac,14,
+0x0a0458,35,
 0x0a04f0,1,
 0x0a04fc,35,
 0x0a05e0,1,
@@ -3805,8 +3802,7 @@
 0x0a061c,6,
 0x0a0638,2,
 0x0a0648,2,
-0x0a0658,19,
-0x0a06ac,14,
+0x0a0658,35,
 0x0a06f0,1,
 0x0a06fc,35,
 0x0a07e0,1,
@@ -3816,8 +3812,7 @@
 0x0a081c,6,
 0x0a0838,2,
 0x0a0848,2,
-0x0a0858,19,
-0x0a08ac,14,
+0x0a0858,35,
 0x0a08f0,1,
 0x0a08fc,35,
 0x0a09e0,1,
@@ -3827,8 +3822,7 @@
 0x0a0a1c,6,
 0x0a0a38,2,
 0x0a0a48,2,
-0x0a0a58,19,
-0x0a0aac,14,
+0x0a0a58,35,
 0x0a0af0,1,
 0x0a0afc,35,
 0x0a0be0,1,
@@ -3838,8 +3832,7 @@
 0x0a0c1c,6,
 0x0a0c38,2,
 0x0a0c48,2,
-0x0a0c58,19,
-0x0a0cac,14,
+0x0a0c58,35,
 0x0a0cf0,1,
 0x0a0cfc,35,
 0x0a0de0,1,
@@ -3849,8 +3842,7 @@
 0x0a0e1c,6,
 0x0a0e38,2,
 0x0a0e48,2,
-0x0a0e58,19,
-0x0a0eac,14,
+0x0a0e58,35,
 0x0a0ef0,1,
 0x0a0efc,35,
 0x0a0fe0,1,
diff --git a/mstdump/mstdump_dbs/SwitchIB.csv b/mstdump/mstdump_dbs/SwitchIB.csv
index 296e8c4..7cc6b5f 100644
--- a/mstdump/mstdump_dbs/SwitchIB.csv
+++ b/mstdump/mstdump_dbs/SwitchIB.csv
@@ -2645,8 +2645,7 @@
 0x0a0038,2,
 0x0a0048,2,
 0x0a0058,2,
-0x0a0068,15,
-0x0a00ac,14,
+0x0a0068,31,
 0x0a00f0,1,
 0x0a00fc,35,
 0x0a01e0,1,
@@ -2657,8 +2656,7 @@
 0x0a0238,2,
 0x0a0248,2,
 0x0a0258,2,
-0x0a0268,15,
-0x0a02ac,14,
+0x0a0268,31,
 0x0a02f0,1,
 0x0a02fc,35,
 0x0a03e0,1,
@@ -2669,8 +2667,7 @@
 0x0a0438,2,
 0x0a0448,2,
 0x0a0458,2,
-0x0a0468,15,
-0x0a04ac,14,
+0x0a0468,31,
 0x0a04f0,1,
 0x0a04fc,35,
 0x0a05e0,1,
@@ -2681,8 +2678,7 @@
 0x0a0638,2,
 0x0a0648,2,
 0x0a0658,2,
-0x0a0668,15,
-0x0a06ac,14,
+0x0a0668,31,
 0x0a06f0,1,
 0x0a06fc,35,
 0x0a07e0,1,
@@ -2693,8 +2689,7 @@
 0x0a0838,2,
 0x0a0848,2,
 0x0a0858,2,
-0x0a0868,15,
-0x0a08ac,14,
+0x0a0868,31,
 0x0a08f0,1,
 0x0a08fc,35,
 0x0a09e0,1,
@@ -2705,8 +2700,7 @@
 0x0a0a38,2,
 0x0a0a48,2,
 0x0a0a58,2,
-0x0a0a68,15,
-0x0a0aac,14,
+0x0a0a68,31,
 0x0a0af0,1,
 0x0a0afc,35,
 0x0a0be0,1,
@@ -2717,8 +2711,7 @@
 0x0a0c38,2,
 0x0a0c48,2,
 0x0a0c58,2,
-0x0a0c68,15,
-0x0a0cac,14,
+0x0a0c68,31,
 0x0a0cf0,1,
 0x0a0cfc,35,
 0x0a0de0,1,
@@ -2729,8 +2722,7 @@
 0x0a0e38,2,
 0x0a0e48,2,
 0x0a0e58,2,
-0x0a0e68,15,
-0x0a0eac,14,
+0x0a0e68,31,
 0x0a0ef0,1,
 0x0a0efc,35,
 0x0a0fe0,1,
@@ -2938,7 +2930,7 @@
 0x0ca0b0,2,
 0x0ca0c0,14,
 0x0ca100,12,
-0x0ca140,4,
+0x0ca140,2,
 0x0ca160,1,
 0x0ca184,1,
 0x0ca194,2,
@@ -3041,9 +3033,9 @@
 0x0d1900,13,
 0x0d1980,4,
 0x0d19a0,6,
-0x0d19c0,6,
+0x0d19d0,2,
 0x0d19dc,1,
-0x0d1a00,6,
+0x0d1a10,2,
 0x0d1a1c,1,
 0x0d1a40,1,
 0x0d1a60,1,
@@ -3111,13 +3103,7 @@
 0x0d9558,2,
 0x0d9600,17,
 0x0d9800,410,
-0x0da000,6,
-0x0da020,6,
-0x0da040,3,
-0x0da080,14,
-0x0da0bc,1,
-0x0da0c4,13,
-0x0da0fc,5,
+0x0da100,4,
 0x0da120,4,
 0x0da140,3,
 0x0da180,3,
@@ -3135,10 +3121,6 @@
 0x0da460,3,
 0x0da480,6,
 0x0da500,6,
-0x0da520,6,
-0x0da540,1,
-0x0da558,2,
-0x0da600,17,
 0x0da800,410,
 0x0db800,5,
 0x0db818,1,
@@ -3298,7 +3280,7 @@
 0x0f0404,9,
 0x0f0440,12,
 0x0f0480,5,
-0x0f04b8,19,
+0x0f04b8,18,
 0x0f05a0,1,
 0x0f05c0,8,
 0x0f0800,17,
@@ -4555,15 +4537,12 @@
 0x200540,1,
 0x200c00,13,
 0x200c40,12,
-0x200c80,13,
-0x200cc0,12,
 0x200d00,6,
-0x200d20,6,
 0x200d80,14,
 0x200dc0,2,
-0x200e40,11,
+0x200e40,4,
+0x200e60,3,
 0x200e80,6,
-0x200ea0,6,
 0x201000,2,
 0x201010,5,
 0x201060,32,
@@ -4581,8 +4560,6 @@
 0x201424,2,
 0x201500,5,
 0x201520,4,
-0x201540,5,
-0x201560,4,
 0x201800,24,
 0x201864,5,
 0x201880,8,
@@ -4593,8 +4570,6 @@
 0x201a60,1,
 0x201a68,23,
 0x201ac8,6,
-0x201b00,17,
-0x201b48,6,
 0x201b80,12,
 0x201c00,6,
 0x201c20,6,
@@ -4628,15 +4603,12 @@
 0x202540,1,
 0x202c00,13,
 0x202c40,12,
-0x202c80,13,
-0x202cc0,12,
 0x202d00,6,
-0x202d20,6,
 0x202d80,14,
 0x202dc0,2,
-0x202e40,11,
+0x202e40,4,
+0x202e60,3,
 0x202e80,6,
-0x202ea0,6,
 0x203000,2,
 0x203010,5,
 0x203060,32,
@@ -4654,8 +4626,6 @@
 0x203424,2,
 0x203500,5,
 0x203520,4,
-0x203540,5,
-0x203560,4,
 0x203800,24,
 0x203864,5,
 0x203880,8,
@@ -4666,8 +4636,6 @@
 0x203a60,1,
 0x203a68,23,
 0x203ac8,6,
-0x203b00,17,
-0x203b48,6,
 0x203b80,12,
 0x203c00,6,
 0x203c20,6,
@@ -5033,15 +5001,12 @@
 0x210540,1,
 0x210c00,13,
 0x210c40,12,
-0x210c80,13,
-0x210cc0,12,
 0x210d00,6,
-0x210d20,6,
 0x210d80,14,
 0x210dc0,2,
-0x210e40,11,
+0x210e40,4,
+0x210e60,3,
 0x210e80,6,
-0x210ea0,6,
 0x211000,2,
 0x211010,5,
 0x211060,32,
@@ -5059,8 +5024,6 @@
 0x211424,2,
 0x211500,5,
 0x211520,4,
-0x211540,5,
-0x211560,4,
 0x211800,24,
 0x211864,5,
 0x211880,8,
@@ -5071,8 +5034,6 @@
 0x211a60,1,
 0x211a68,23,
 0x211ac8,6,
-0x211b00,17,
-0x211b48,6,
 0x211b80,12,
 0x211c00,6,
 0x211c20,6,
@@ -5106,15 +5067,12 @@
 0x212540,1,
 0x212c00,13,
 0x212c40,12,
-0x212c80,13,
-0x212cc0,12,
 0x212d00,6,
-0x212d20,6,
 0x212d80,14,
 0x212dc0,2,
-0x212e40,11,
+0x212e40,4,
+0x212e60,3,
 0x212e80,6,
-0x212ea0,6,
 0x213000,2,
 0x213010,5,
 0x213060,32,
@@ -5132,8 +5090,6 @@
 0x213424,2,
 0x213500,5,
 0x213520,4,
-0x213540,5,
-0x213560,4,
 0x213800,24,
 0x213864,5,
 0x213880,8,
@@ -5144,8 +5100,6 @@
 0x213a60,1,
 0x213a68,23,
 0x213ac8,6,
-0x213b00,17,
-0x213b48,6,
 0x213b80,12,
 0x213c00,6,
 0x213c20,6,
@@ -5511,15 +5465,12 @@
 0x220540,1,
 0x220c00,13,
 0x220c40,12,
-0x220c80,13,
-0x220cc0,12,
 0x220d00,6,
-0x220d20,6,
 0x220d80,14,
 0x220dc0,2,
-0x220e40,11,
+0x220e40,4,
+0x220e60,3,
 0x220e80,6,
-0x220ea0,6,
 0x221000,2,
 0x221010,5,
 0x221060,32,
@@ -5537,8 +5488,6 @@
 0x221424,2,
 0x221500,5,
 0x221520,4,
-0x221540,5,
-0x221560,4,
 0x221800,24,
 0x221864,5,
 0x221880,8,
@@ -5549,8 +5498,6 @@
 0x221a60,1,
 0x221a68,23,
 0x221ac8,6,
-0x221b00,17,
-0x221b48,6,
 0x221b80,12,
 0x221c00,6,
 0x221c20,6,
@@ -5584,15 +5531,12 @@
 0x222540,1,
 0x222c00,13,
 0x222c40,12,
-0x222c80,13,
-0x222cc0,12,
 0x222d00,6,
-0x222d20,6,
 0x222d80,14,
 0x222dc0,2,
-0x222e40,11,
+0x222e40,4,
+0x222e60,3,
 0x222e80,6,
-0x222ea0,6,
 0x223000,2,
 0x223010,5,
 0x223060,32,
@@ -5610,8 +5554,6 @@
 0x223424,2,
 0x223500,5,
 0x223520,4,
-0x223540,5,
-0x223560,4,
 0x223800,24,
 0x223864,5,
 0x223880,8,
@@ -5622,8 +5564,6 @@
 0x223a60,1,
 0x223a68,23,
 0x223ac8,6,
-0x223b00,17,
-0x223b48,6,
 0x223b80,12,
 0x223c00,6,
 0x223c20,6,
@@ -5989,15 +5929,12 @@
 0x230540,1,
 0x230c00,13,
 0x230c40,12,
-0x230c80,13,
-0x230cc0,12,
 0x230d00,6,
-0x230d20,6,
 0x230d80,14,
 0x230dc0,2,
-0x230e40,11,
+0x230e40,4,
+0x230e60,3,
 0x230e80,6,
-0x230ea0,6,
 0x231000,2,
 0x231010,5,
 0x231060,32,
@@ -6015,8 +5952,6 @@
 0x231424,2,
 0x231500,5,
 0x231520,4,
-0x231540,5,
-0x231560,4,
 0x231800,24,
 0x231864,5,
 0x231880,8,
@@ -6027,8 +5962,6 @@
 0x231a60,1,
 0x231a68,23,
 0x231ac8,6,
-0x231b00,17,
-0x231b48,6,
 0x231b80,12,
 0x231c00,6,
 0x231c20,6,
@@ -6062,15 +5995,12 @@
 0x232540,1,
 0x232c00,13,
 0x232c40,12,
-0x232c80,13,
-0x232cc0,12,
 0x232d00,6,
-0x232d20,6,
 0x232d80,14,
 0x232dc0,2,
-0x232e40,11,
+0x232e40,4,
+0x232e60,3,
 0x232e80,6,
-0x232ea0,6,
 0x233000,2,
 0x233010,5,
 0x233060,32,
@@ -6088,8 +6018,6 @@
 0x233424,2,
 0x233500,5,
 0x233520,4,
-0x233540,5,
-0x233560,4,
 0x233800,24,
 0x233864,5,
 0x233880,8,
@@ -6100,8 +6028,6 @@
 0x233a60,1,
 0x233a68,23,
 0x233ac8,6,
-0x233b00,17,
-0x233b48,6,
 0x233b80,12,
 0x233c00,6,
 0x233c20,6,
@@ -6467,15 +6393,12 @@
 0x240540,1,
 0x240c00,13,
 0x240c40,12,
-0x240c80,13,
-0x240cc0,12,
 0x240d00,6,
-0x240d20,6,
 0x240d80,14,
 0x240dc0,2,
-0x240e40,11,
+0x240e40,4,
+0x240e60,3,
 0x240e80,6,
-0x240ea0,6,
 0x241000,2,
 0x241010,5,
 0x241060,32,
@@ -6493,8 +6416,6 @@
 0x241424,2,
 0x241500,5,
 0x241520,4,
-0x241540,5,
-0x241560,4,
 0x241800,24,
 0x241864,5,
 0x241880,8,
@@ -6505,8 +6426,6 @@
 0x241a60,1,
 0x241a68,23,
 0x241ac8,6,
-0x241b00,17,
-0x241b48,6,
 0x241b80,12,
 0x241c00,6,
 0x241c20,6,
@@ -6540,15 +6459,12 @@
 0x242540,1,
 0x242c00,13,
 0x242c40,12,
-0x242c80,13,
-0x242cc0,12,
 0x242d00,6,
-0x242d20,6,
 0x242d80,14,
 0x242dc0,2,
-0x242e40,11,
+0x242e40,4,
+0x242e60,3,
 0x242e80,6,
-0x242ea0,6,
 0x243000,2,
 0x243010,5,
 0x243060,32,
@@ -6566,8 +6482,6 @@
 0x243424,2,
 0x243500,5,
 0x243520,4,
-0x243540,5,
-0x243560,4,
 0x243800,24,
 0x243864,5,
 0x243880,8,
@@ -6578,8 +6492,6 @@
 0x243a60,1,
 0x243a68,23,
 0x243ac8,6,
-0x243b00,17,
-0x243b48,6,
 0x243b80,12,
 0x243c00,6,
 0x243c20,6,
@@ -6962,15 +6874,12 @@
 0x250540,1,
 0x250c00,13,
 0x250c40,12,
-0x250c80,13,
-0x250cc0,12,
 0x250d00,6,
-0x250d20,6,
 0x250d80,14,
 0x250dc0,2,
-0x250e40,11,
+0x250e40,4,
+0x250e60,3,
 0x250e80,6,
-0x250ea0,6,
 0x251000,2,
 0x251010,5,
 0x251060,32,
@@ -6988,8 +6897,6 @@
 0x251424,2,
 0x251500,5,
 0x251520,4,
-0x251540,5,
-0x251560,4,
 0x251800,24,
 0x251864,5,
 0x251880,8,
@@ -7000,8 +6907,6 @@
 0x251a60,1,
 0x251a68,23,
 0x251ac8,6,
-0x251b00,17,
-0x251b48,6,
 0x251b80,12,
 0x251c00,6,
 0x251c20,6,
@@ -7035,15 +6940,12 @@
 0x252540,1,
 0x252c00,13,
 0x252c40,12,
-0x252c80,13,
-0x252cc0,12,
 0x252d00,6,
-0x252d20,6,
 0x252d80,14,
 0x252dc0,2,
-0x252e40,11,
+0x252e40,4,
+0x252e60,3,
 0x252e80,6,
-0x252ea0,6,
 0x253000,2,
 0x253010,5,
 0x253060,32,
@@ -7061,8 +6963,6 @@
 0x253424,2,
 0x253500,5,
 0x253520,4,
-0x253540,5,
-0x253560,4,
 0x253800,24,
 0x253864,5,
 0x253880,8,
@@ -7073,8 +6973,6 @@
 0x253a60,1,
 0x253a68,23,
 0x253ac8,6,
-0x253b00,17,
-0x253b48,6,
 0x253b80,12,
 0x253c00,6,
 0x253c20,6,
@@ -7440,15 +7338,12 @@
 0x260540,1,
 0x260c00,13,
 0x260c40,12,
-0x260c80,13,
-0x260cc0,12,
 0x260d00,6,
-0x260d20,6,
 0x260d80,14,
 0x260dc0,2,
-0x260e40,11,
+0x260e40,4,
+0x260e60,3,
 0x260e80,6,
-0x260ea0,6,
 0x261000,2,
 0x261010,5,
 0x261060,32,
@@ -7466,8 +7361,6 @@
 0x261424,2,
 0x261500,5,
 0x261520,4,
-0x261540,5,
-0x261560,4,
 0x261800,24,
 0x261864,5,
 0x261880,8,
@@ -7478,8 +7371,6 @@
 0x261a60,1,
 0x261a68,23,
 0x261ac8,6,
-0x261b00,17,
-0x261b48,6,
 0x261b80,12,
 0x261c00,6,
 0x261c20,6,
@@ -7513,15 +7404,12 @@
 0x262540,1,
 0x262c00,13,
 0x262c40,12,
-0x262c80,13,
-0x262cc0,12,
 0x262d00,6,
-0x262d20,6,
 0x262d80,14,
 0x262dc0,2,
-0x262e40,11,
+0x262e40,4,
+0x262e60,3,
 0x262e80,6,
-0x262ea0,6,
 0x263000,2,
 0x263010,5,
 0x263060,32,
@@ -7539,8 +7427,6 @@
 0x263424,2,
 0x263500,5,
 0x263520,4,
-0x263540,5,
-0x263560,4,
 0x263800,24,
 0x263864,5,
 0x263880,8,
@@ -7551,8 +7437,6 @@
 0x263a60,1,
 0x263a68,23,
 0x263ac8,6,
-0x263b00,17,
-0x263b48,6,
 0x263b80,12,
 0x263c00,6,
 0x263c20,6,
@@ -7918,15 +7802,12 @@
 0x270540,1,
 0x270c00,13,
 0x270c40,12,
-0x270c80,13,
-0x270cc0,12,
 0x270d00,6,
-0x270d20,6,
 0x270d80,14,
 0x270dc0,2,
-0x270e40,11,
+0x270e40,4,
+0x270e60,3,
 0x270e80,6,
-0x270ea0,6,
 0x271000,2,
 0x271010,5,
 0x271060,32,
@@ -7944,8 +7825,6 @@
 0x271424,2,
 0x271500,5,
 0x271520,4,
-0x271540,5,
-0x271560,4,
 0x271800,24,
 0x271864,5,
 0x271880,8,
@@ -7956,8 +7835,6 @@
 0x271a60,1,
 0x271a68,23,
 0x271ac8,6,
-0x271b00,17,
-0x271b48,6,
 0x271b80,12,
 0x271c00,6,
 0x271c20,6,
@@ -7991,15 +7868,12 @@
 0x272540,1,
 0x272c00,13,
 0x272c40,12,
-0x272c80,13,
-0x272cc0,12,
 0x272d00,6,
-0x272d20,6,
 0x272d80,14,
 0x272dc0,2,
-0x272e40,11,
+0x272e40,4,
+0x272e60,3,
 0x272e80,6,
-0x272ea0,6,
 0x273000,2,
 0x273010,5,
 0x273060,32,
@@ -8017,8 +7891,6 @@
 0x273424,2,
 0x273500,5,
 0x273520,4,
-0x273540,5,
-0x273560,4,
 0x273800,24,
 0x273864,5,
 0x273880,8,
@@ -8029,8 +7901,6 @@
 0x273a60,1,
 0x273a68,23,
 0x273ac8,6,
-0x273b00,17,
-0x273b48,6,
 0x273b80,12,
 0x273c00,6,
 0x273c20,6,
@@ -8396,15 +8266,12 @@
 0x280540,1,
 0x280c00,13,
 0x280c40,12,
-0x280c80,13,
-0x280cc0,12,
 0x280d00,6,
-0x280d20,6,
 0x280d80,14,
 0x280dc0,2,
-0x280e40,11,
+0x280e40,4,
+0x280e60,3,
 0x280e80,6,
-0x280ea0,6,
 0x281000,2,
 0x281010,5,
 0x281060,32,
@@ -8422,8 +8289,6 @@
 0x281424,2,
 0x281500,5,
 0x281520,4,
-0x281540,5,
-0x281560,4,
 0x281800,24,
 0x281864,5,
 0x281880,8,
@@ -8434,8 +8299,6 @@
 0x281a60,1,
 0x281a68,23,
 0x281ac8,6,
-0x281b00,17,
-0x281b48,6,
 0x281b80,12,
 0x281c00,6,
 0x281c20,6,
@@ -8469,15 +8332,12 @@
 0x282540,1,
 0x282c00,13,
 0x282c40,12,
-0x282c80,13,
-0x282cc0,12,
 0x282d00,6,
-0x282d20,6,
 0x282d80,14,
 0x282dc0,2,
-0x282e40,11,
+0x282e40,4,
+0x282e60,3,
 0x282e80,6,
-0x282ea0,6,
 0x283000,2,
 0x283010,5,
 0x283060,32,
@@ -8495,8 +8355,6 @@
 0x283424,2,
 0x283500,5,
 0x283520,4,
-0x283540,5,
-0x283560,4,
 0x283800,24,
 0x283864,5,
 0x283880,8,
@@ -8507,8 +8365,6 @@
 0x283a60,1,
 0x283a68,23,
 0x283ac8,6,
-0x283b00,17,
-0x283b48,6,
 0x283b80,12,
 0x283c00,6,
 0x283c20,6,
@@ -8874,15 +8730,12 @@
 0x290540,1,
 0x290c00,13,
 0x290c40,12,
-0x290c80,13,
-0x290cc0,12,
 0x290d00,6,
-0x290d20,6,
 0x290d80,14,
 0x290dc0,2,
-0x290e40,11,
+0x290e40,4,
+0x290e60,3,
 0x290e80,6,
-0x290ea0,6,
 0x291000,2,
 0x291010,5,
 0x291060,32,
@@ -8900,8 +8753,6 @@
 0x291424,2,
 0x291500,5,
 0x291520,4,
-0x291540,5,
-0x291560,4,
 0x291800,24,
 0x291864,5,
 0x291880,8,
@@ -8912,8 +8763,6 @@
 0x291a60,1,
 0x291a68,23,
 0x291ac8,6,
-0x291b00,17,
-0x291b48,6,
 0x291b80,12,
 0x291c00,6,
 0x291c20,6,
@@ -8947,15 +8796,12 @@
 0x292540,1,
 0x292c00,13,
 0x292c40,12,
-0x292c80,13,
-0x292cc0,12,
 0x292d00,6,
-0x292d20,6,
 0x292d80,14,
 0x292dc0,2,
-0x292e40,11,
+0x292e40,4,
+0x292e60,3,
 0x292e80,6,
-0x292ea0,6,
 0x293000,2,
 0x293010,5,
 0x293060,32,
@@ -8973,8 +8819,6 @@
 0x293424,2,
 0x293500,5,
 0x293520,4,
-0x293540,5,
-0x293560,4,
 0x293800,24,
 0x293864,5,
 0x293880,8,
@@ -8985,8 +8829,6 @@
 0x293a60,1,
 0x293a68,23,
 0x293ac8,6,
-0x293b00,17,
-0x293b48,6,
 0x293b80,12,
 0x293c00,6,
 0x293c20,6,
@@ -9352,15 +9194,12 @@
 0x2a0540,1,
 0x2a0c00,13,
 0x2a0c40,12,
-0x2a0c80,13,
-0x2a0cc0,12,
 0x2a0d00,6,
-0x2a0d20,6,
 0x2a0d80,14,
 0x2a0dc0,2,
-0x2a0e40,11,
+0x2a0e40,4,
+0x2a0e60,3,
 0x2a0e80,6,
-0x2a0ea0,6,
 0x2a1000,2,
 0x2a1010,5,
 0x2a1060,32,
@@ -9378,8 +9217,6 @@
 0x2a1424,2,
 0x2a1500,5,
 0x2a1520,4,
-0x2a1540,5,
-0x2a1560,4,
 0x2a1800,24,
 0x2a1864,5,
 0x2a1880,8,
@@ -9390,8 +9227,6 @@
 0x2a1a60,1,
 0x2a1a68,23,
 0x2a1ac8,6,
-0x2a1b00,17,
-0x2a1b48,6,
 0x2a1b80,12,
 0x2a1c00,6,
 0x2a1c20,6,
@@ -9425,15 +9260,12 @@
 0x2a2540,1,
 0x2a2c00,13,
 0x2a2c40,12,
-0x2a2c80,13,
-0x2a2cc0,12,
 0x2a2d00,6,
-0x2a2d20,6,
 0x2a2d80,14,
 0x2a2dc0,2,
-0x2a2e40,11,
+0x2a2e40,4,
+0x2a2e60,3,
 0x2a2e80,6,
-0x2a2ea0,6,
 0x2a3000,2,
 0x2a3010,5,
 0x2a3060,32,
@@ -9451,8 +9283,6 @@
 0x2a3424,2,
 0x2a3500,5,
 0x2a3520,4,
-0x2a3540,5,
-0x2a3560,4,
 0x2a3800,24,
 0x2a3864,5,
 0x2a3880,8,
@@ -9463,8 +9293,6 @@
 0x2a3a60,1,
 0x2a3a68,23,
 0x2a3ac8,6,
-0x2a3b00,17,
-0x2a3b48,6,
 0x2a3b80,12,
 0x2a3c00,6,
 0x2a3c20,6,
@@ -9830,15 +9658,12 @@
 0x2b0540,1,
 0x2b0c00,13,
 0x2b0c40,12,
-0x2b0c80,13,
-0x2b0cc0,12,
 0x2b0d00,6,
-0x2b0d20,6,
 0x2b0d80,14,
 0x2b0dc0,2,
-0x2b0e40,11,
+0x2b0e40,4,
+0x2b0e60,3,
 0x2b0e80,6,
-0x2b0ea0,6,
 0x2b1000,2,
 0x2b1010,5,
 0x2b1060,32,
@@ -9856,8 +9681,6 @@
 0x2b1424,2,
 0x2b1500,5,
 0x2b1520,4,
-0x2b1540,5,
-0x2b1560,4,
 0x2b1800,24,
 0x2b1864,5,
 0x2b1880,8,
@@ -9868,8 +9691,6 @@
 0x2b1a60,1,
 0x2b1a68,23,
 0x2b1ac8,6,
-0x2b1b00,17,
-0x2b1b48,6,
 0x2b1b80,12,
 0x2b1c00,6,
 0x2b1c20,6,
@@ -9903,15 +9724,12 @@
 0x2b2540,1,
 0x2b2c00,13,
 0x2b2c40,12,
-0x2b2c80,13,
-0x2b2cc0,12,
 0x2b2d00,6,
-0x2b2d20,6,
 0x2b2d80,14,
 0x2b2dc0,2,
-0x2b2e40,11,
+0x2b2e40,4,
+0x2b2e60,3,
 0x2b2e80,6,
-0x2b2ea0,6,
 0x2b3000,2,
 0x2b3010,5,
 0x2b3060,32,
@@ -9929,8 +9747,6 @@
 0x2b3424,2,
 0x2b3500,5,
 0x2b3520,4,
-0x2b3540,5,
-0x2b3560,4,
 0x2b3800,24,
 0x2b3864,5,
 0x2b3880,8,
@@ -9941,8 +9757,6 @@
 0x2b3a60,1,
 0x2b3a68,23,
 0x2b3ac8,6,
-0x2b3b00,17,
-0x2b3b48,6,
 0x2b3b80,12,
 0x2b3c00,6,
 0x2b3c20,6,
@@ -10308,15 +10122,12 @@
 0x2c0540,1,
 0x2c0c00,13,
 0x2c0c40,12,
-0x2c0c80,13,
-0x2c0cc0,12,
 0x2c0d00,6,
-0x2c0d20,6,
 0x2c0d80,14,
 0x2c0dc0,2,
-0x2c0e40,11,
+0x2c0e40,4,
+0x2c0e60,3,
 0x2c0e80,6,
-0x2c0ea0,6,
 0x2c1000,2,
 0x2c1010,5,
 0x2c1060,32,
@@ -10334,8 +10145,6 @@
 0x2c1424,2,
 0x2c1500,5,
 0x2c1520,4,
-0x2c1540,5,
-0x2c1560,4,
 0x2c1800,24,
 0x2c1864,5,
 0x2c1880,8,
@@ -10346,8 +10155,6 @@
 0x2c1a60,1,
 0x2c1a68,23,
 0x2c1ac8,6,
-0x2c1b00,17,
-0x2c1b48,6,
 0x2c1b80,12,
 0x2c1c00,6,
 0x2c1c20,6,
@@ -10381,15 +10188,12 @@
 0x2c2540,1,
 0x2c2c00,13,
 0x2c2c40,12,
-0x2c2c80,13,
-0x2c2cc0,12,
 0x2c2d00,6,
-0x2c2d20,6,
 0x2c2d80,14,
 0x2c2dc0,2,
-0x2c2e40,11,
+0x2c2e40,4,
+0x2c2e60,3,
 0x2c2e80,6,
-0x2c2ea0,6,
 0x2c3000,2,
 0x2c3010,5,
 0x2c3060,32,
@@ -10407,8 +10211,6 @@
 0x2c3424,2,
 0x2c3500,5,
 0x2c3520,4,
-0x2c3540,5,
-0x2c3560,4,
 0x2c3800,24,
 0x2c3864,5,
 0x2c3880,8,
@@ -10419,8 +10221,6 @@
 0x2c3a60,1,
 0x2c3a68,23,
 0x2c3ac8,6,
-0x2c3b00,17,
-0x2c3b48,6,
 0x2c3b80,12,
 0x2c3c00,6,
 0x2c3c20,6,
@@ -10786,15 +10586,12 @@
 0x2d0540,1,
 0x2d0c00,13,
 0x2d0c40,12,
-0x2d0c80,13,
-0x2d0cc0,12,
 0x2d0d00,6,
-0x2d0d20,6,
 0x2d0d80,14,
 0x2d0dc0,2,
-0x2d0e40,11,
+0x2d0e40,4,
+0x2d0e60,3,
 0x2d0e80,6,
-0x2d0ea0,6,
 0x2d1000,2,
 0x2d1010,5,
 0x2d1060,32,
@@ -10812,8 +10609,6 @@
 0x2d1424,2,
 0x2d1500,5,
 0x2d1520,4,
-0x2d1540,5,
-0x2d1560,4,
 0x2d1800,24,
 0x2d1864,5,
 0x2d1880,8,
@@ -10824,8 +10619,6 @@
 0x2d1a60,1,
 0x2d1a68,23,
 0x2d1ac8,6,
-0x2d1b00,17,
-0x2d1b48,6,
 0x2d1b80,12,
 0x2d1c00,6,
 0x2d1c20,6,
@@ -10859,15 +10652,12 @@
 0x2d2540,1,
 0x2d2c00,13,
 0x2d2c40,12,
-0x2d2c80,13,
-0x2d2cc0,12,
 0x2d2d00,6,
-0x2d2d20,6,
 0x2d2d80,14,
 0x2d2dc0,2,
-0x2d2e40,11,
+0x2d2e40,4,
+0x2d2e60,3,
 0x2d2e80,6,
-0x2d2ea0,6,
 0x2d3000,2,
 0x2d3010,5,
 0x2d3060,32,
@@ -10885,8 +10675,6 @@
 0x2d3424,2,
 0x2d3500,5,
 0x2d3520,4,
-0x2d3540,5,
-0x2d3560,4,
 0x2d3800,24,
 0x2d3864,5,
 0x2d3880,8,
@@ -10897,8 +10685,6 @@
 0x2d3a60,1,
 0x2d3a68,23,
 0x2d3ac8,6,
-0x2d3b00,17,
-0x2d3b48,6,
 0x2d3b80,12,
 0x2d3c00,6,
 0x2d3c20,6,
@@ -11281,15 +11067,12 @@
 0x2e0540,1,
 0x2e0c00,13,
 0x2e0c40,12,
-0x2e0c80,13,
-0x2e0cc0,12,
 0x2e0d00,6,
-0x2e0d20,6,
 0x2e0d80,14,
 0x2e0dc0,2,
-0x2e0e40,11,
+0x2e0e40,4,
+0x2e0e60,3,
 0x2e0e80,6,
-0x2e0ea0,6,
 0x2e1000,2,
 0x2e1010,5,
 0x2e1060,32,
@@ -11307,8 +11090,6 @@
 0x2e1424,2,
 0x2e1500,5,
 0x2e1520,4,
-0x2e1540,5,
-0x2e1560,4,
 0x2e1800,24,
 0x2e1864,5,
 0x2e1880,8,
@@ -11319,8 +11100,6 @@
 0x2e1a60,1,
 0x2e1a68,23,
 0x2e1ac8,6,
-0x2e1b00,17,
-0x2e1b48,6,
 0x2e1b80,12,
 0x2e1c00,6,
 0x2e1c20,6,
@@ -11354,15 +11133,12 @@
 0x2e2540,1,
 0x2e2c00,13,
 0x2e2c40,12,
-0x2e2c80,13,
-0x2e2cc0,12,
 0x2e2d00,6,
-0x2e2d20,6,
 0x2e2d80,14,
 0x2e2dc0,2,
-0x2e2e40,11,
+0x2e2e40,4,
+0x2e2e60,3,
 0x2e2e80,6,
-0x2e2ea0,6,
 0x2e3000,2,
 0x2e3010,5,
 0x2e3060,32,
@@ -11380,8 +11156,6 @@
 0x2e3424,2,
 0x2e3500,5,
 0x2e3520,4,
-0x2e3540,5,
-0x2e3560,4,
 0x2e3800,24,
 0x2e3864,5,
 0x2e3880,8,
@@ -11392,8 +11166,6 @@
 0x2e3a60,1,
 0x2e3a68,23,
 0x2e3ac8,6,
-0x2e3b00,17,
-0x2e3b48,6,
 0x2e3b80,12,
 0x2e3c00,6,
 0x2e3c20,6,
@@ -11759,15 +11531,12 @@
 0x2f0540,1,
 0x2f0c00,13,
 0x2f0c40,12,
-0x2f0c80,13,
-0x2f0cc0,12,
 0x2f0d00,6,
-0x2f0d20,6,
 0x2f0d80,14,
 0x2f0dc0,2,
-0x2f0e40,11,
+0x2f0e40,4,
+0x2f0e60,3,
 0x2f0e80,6,
-0x2f0ea0,6,
 0x2f1000,2,
 0x2f1010,5,
 0x2f1060,32,
@@ -11785,8 +11554,6 @@
 0x2f1424,2,
 0x2f1500,5,
 0x2f1520,4,
-0x2f1540,5,
-0x2f1560,4,
 0x2f1800,24,
 0x2f1864,5,
 0x2f1880,8,
@@ -11797,8 +11564,6 @@
 0x2f1a60,1,
 0x2f1a68,23,
 0x2f1ac8,6,
-0x2f1b00,17,
-0x2f1b48,6,
 0x2f1b80,12,
 0x2f1c00,6,
 0x2f1c20,6,
@@ -11832,15 +11597,12 @@
 0x2f2540,1,
 0x2f2c00,13,
 0x2f2c40,12,
-0x2f2c80,13,
-0x2f2cc0,12,
 0x2f2d00,6,
-0x2f2d20,6,
 0x2f2d80,14,
 0x2f2dc0,2,
-0x2f2e40,11,
+0x2f2e40,4,
+0x2f2e60,3,
 0x2f2e80,6,
-0x2f2ea0,6,
 0x2f3000,2,
 0x2f3010,5,
 0x2f3060,32,
@@ -11858,8 +11620,6 @@
 0x2f3424,2,
 0x2f3500,5,
 0x2f3520,4,
-0x2f3540,5,
-0x2f3560,4,
 0x2f3800,24,
 0x2f3864,5,
 0x2f3880,8,
@@ -11870,8 +11630,6 @@
 0x2f3a60,1,
 0x2f3a68,23,
 0x2f3ac8,6,
-0x2f3b00,17,
-0x2f3b48,6,
 0x2f3b80,12,
 0x2f3c00,6,
 0x2f3c20,6,
@@ -12237,15 +11995,12 @@
 0x300540,1,
 0x300c00,13,
 0x300c40,12,
-0x300c80,13,
-0x300cc0,12,
 0x300d00,6,
-0x300d20,6,
 0x300d80,14,
 0x300dc0,2,
-0x300e40,11,
+0x300e40,4,
+0x300e60,3,
 0x300e80,6,
-0x300ea0,6,
 0x301000,2,
 0x301010,5,
 0x301060,32,
@@ -12263,8 +12018,6 @@
 0x301424,2,
 0x301500,5,
 0x301520,4,
-0x301540,5,
-0x301560,4,
 0x301800,24,
 0x301864,5,
 0x301880,8,
@@ -12275,8 +12028,6 @@
 0x301a60,1,
 0x301a68,23,
 0x301ac8,6,
-0x301b00,17,
-0x301b48,6,
 0x301b80,12,
 0x301c00,6,
 0x301c20,6,
@@ -12310,15 +12061,12 @@
 0x302540,1,
 0x302c00,13,
 0x302c40,12,
-0x302c80,13,
-0x302cc0,12,
 0x302d00,6,
-0x302d20,6,
 0x302d80,14,
 0x302dc0,2,
-0x302e40,11,
+0x302e40,4,
+0x302e60,3,
 0x302e80,6,
-0x302ea0,6,
 0x303000,2,
 0x303010,5,
 0x303060,32,
@@ -12336,8 +12084,6 @@
 0x303424,2,
 0x303500,5,
 0x303520,4,
-0x303540,5,
-0x303560,4,
 0x303800,24,
 0x303864,5,
 0x303880,8,
@@ -12348,8 +12094,6 @@
 0x303a60,1,
 0x303a68,23,
 0x303ac8,6,
-0x303b00,17,
-0x303b48,6,
 0x303b80,12,
 0x303c00,6,
 0x303c20,6,
@@ -12715,15 +12459,12 @@
 0x310540,1,
 0x310c00,13,
 0x310c40,12,
-0x310c80,13,
-0x310cc0,12,
 0x310d00,6,
-0x310d20,6,
 0x310d80,14,
 0x310dc0,2,
-0x310e40,11,
+0x310e40,4,
+0x310e60,3,
 0x310e80,6,
-0x310ea0,6,
 0x311000,2,
 0x311010,5,
 0x311060,32,
@@ -12741,8 +12482,6 @@
 0x311424,2,
 0x311500,5,
 0x311520,4,
-0x311540,5,
-0x311560,4,
 0x311800,24,
 0x311864,5,
 0x311880,8,
@@ -12753,8 +12492,6 @@
 0x311a60,1,
 0x311a68,23,
 0x311ac8,6,
-0x311b00,17,
-0x311b48,6,
 0x311b80,12,
 0x311c00,6,
 0x311c20,6,
@@ -12788,15 +12525,12 @@
 0x312540,1,
 0x312c00,13,
 0x312c40,12,
-0x312c80,13,
-0x312cc0,12,
 0x312d00,6,
-0x312d20,6,
 0x312d80,14,
 0x312dc0,2,
-0x312e40,11,
+0x312e40,4,
+0x312e60,3,
 0x312e80,6,
-0x312ea0,6,
 0x313000,2,
 0x313010,5,
 0x313060,32,
@@ -12814,8 +12548,6 @@
 0x313424,2,
 0x313500,5,
 0x313520,4,
-0x313540,5,
-0x313560,4,
 0x313800,24,
 0x313864,5,
 0x313880,8,
@@ -12826,8 +12558,6 @@
 0x313a60,1,
 0x313a68,23,
 0x313ac8,6,
-0x313b00,17,
-0x313b48,6,
 0x313b80,12,
 0x313c00,6,
 0x313c20,6,
diff --git a/mstdump/mstdump_dbs/SwitchIB2.csv b/mstdump/mstdump_dbs/SwitchIB2.csv
index cd74222..e1d2433 100644
--- a/mstdump/mstdump_dbs/SwitchIB2.csv
+++ b/mstdump/mstdump_dbs/SwitchIB2.csv
@@ -1733,7 +1733,10 @@
 0x01d160,3,
 0x01d170,26,
 0x01d1e0,3,
-0x01d1f0,6,
+0x01d1f0,26,
+0x01d260,3,
+0x01d270,4,
+0x01d400,2,
 0x01d800,6,
 0x01d820,4,
 0x01d840,8,
@@ -1861,8 +1864,8 @@
 0x01f828,4,
 0x01f850,4,
 0x01f878,4,
-0x01f8a0,4,
-0x01f9ac,1,
+0x01f8a0,5,
+0x01f9a8,2,
 0x01f9d8,4,
 0x01fa00,6,
 0x01fa20,6,
@@ -1944,16 +1947,18 @@
 0x0497a0,1,
 0x0497c8,2,
 0x0497e0,1,
-0x049804,28,
-0x049880,3,
-0x0498a0,2,
-0x0498c0,1,
-0x0498e0,3,
+0x049804,3,
+0x049814,1,
+0x04981c,26,
+0x049890,2,
+0x0498b0,2,
+0x0498d0,1,
+0x0498f0,5,
 0x049a00,13,
 0x049a40,2,
 0x049a4c,4,
 0x050400,11,
-0x050430,6,
+0x050430,8,
 0x050460,3,
 0x0504a0,3,
 0x050700,13,
@@ -2619,12 +2624,13 @@
 0x074060,4,
 0x074080,8,
 0x075000,1025,
-0x07600c,1,
+0x076008,2,
+0x076020,7,
 0x07f000,2,
 0x07f028,2,
 0x07f050,2,
 0x07f078,2,
-0x07f0a0,23,
+0x07f0a0,28,
 0x07f1ac,1,
 0x07f1d8,4,
 0x07f200,6,
@@ -2646,8 +2652,7 @@
 0x0a0038,2,
 0x0a0048,2,
 0x0a0058,2,
-0x0a0064,16,
-0x0a00ac,14,
+0x0a0064,32,
 0x0a00f0,1,
 0x0a00fc,35,
 0x0a01e0,1,
@@ -2658,8 +2663,7 @@
 0x0a0238,2,
 0x0a0248,2,
 0x0a0258,2,
-0x0a0264,16,
-0x0a02ac,14,
+0x0a0264,32,
 0x0a02f0,1,
 0x0a02fc,35,
 0x0a03e0,1,
@@ -2670,8 +2674,7 @@
 0x0a0438,2,
 0x0a0448,2,
 0x0a0458,2,
-0x0a0464,16,
-0x0a04ac,14,
+0x0a0464,32,
 0x0a04f0,1,
 0x0a04fc,35,
 0x0a05e0,1,
@@ -2682,8 +2685,7 @@
 0x0a0638,2,
 0x0a0648,2,
 0x0a0658,2,
-0x0a0664,16,
-0x0a06ac,14,
+0x0a0664,32,
 0x0a06f0,1,
 0x0a06fc,35,
 0x0a07e0,1,
@@ -2694,8 +2696,7 @@
 0x0a0838,2,
 0x0a0848,2,
 0x0a0858,2,
-0x0a0864,16,
-0x0a08ac,14,
+0x0a0864,32,
 0x0a08f0,1,
 0x0a08fc,35,
 0x0a09e0,1,
@@ -2706,8 +2707,7 @@
 0x0a0a38,2,
 0x0a0a48,2,
 0x0a0a58,2,
-0x0a0a64,16,
-0x0a0aac,14,
+0x0a0a64,32,
 0x0a0af0,1,
 0x0a0afc,35,
 0x0a0be0,1,
@@ -2718,8 +2718,7 @@
 0x0a0c38,2,
 0x0a0c48,2,
 0x0a0c58,2,
-0x0a0c64,16,
-0x0a0cac,14,
+0x0a0c64,32,
 0x0a0cf0,1,
 0x0a0cfc,35,
 0x0a0de0,1,
@@ -2730,8 +2729,7 @@
 0x0a0e38,2,
 0x0a0e48,2,
 0x0a0e58,2,
-0x0a0e64,16,
-0x0a0eac,14,
+0x0a0e64,32,
 0x0a0ef0,1,
 0x0a0efc,35,
 0x0a0fe0,1,
@@ -2935,7 +2933,7 @@
 0x0ca0b0,2,
 0x0ca0c0,14,
 0x0ca100,12,
-0x0ca140,4,
+0x0ca140,2,
 0x0ca160,1,
 0x0ca184,1,
 0x0ca194,2,
@@ -3038,9 +3036,9 @@
 0x0d1900,13,
 0x0d1980,4,
 0x0d19a0,6,
-0x0d19c0,6,
+0x0d19d0,2,
 0x0d19dc,1,
-0x0d1a00,6,
+0x0d1a10,2,
 0x0d1a1c,1,
 0x0d1a40,1,
 0x0d1a60,1,
@@ -3066,7 +3064,7 @@
 0x0d4100,6,
 0x0d8000,6,
 0x0d8020,3,
-0x0d8030,8,
+0x0d8030,4,
 0x0d8100,6,
 0x0d8120,10,
 0x0d8150,8,
@@ -3104,17 +3102,9 @@
 0x0d9480,6,
 0x0d9500,6,
 0x0d9520,6,
-0x0d9540,1,
-0x0d9558,2,
 0x0d9600,17,
 0x0d9800,410,
-0x0da000,6,
-0x0da020,6,
-0x0da040,3,
-0x0da080,14,
-0x0da0bc,1,
-0x0da0c4,13,
-0x0da0fc,5,
+0x0da100,4,
 0x0da120,4,
 0x0da140,3,
 0x0da180,3,
@@ -3132,10 +3122,6 @@
 0x0da460,3,
 0x0da480,6,
 0x0da500,6,
-0x0da520,6,
-0x0da540,1,
-0x0da558,2,
-0x0da600,17,
 0x0da800,410,
 0x0db800,5,
 0x0db818,1,
@@ -3143,36 +3129,12 @@
 0x0db880,2,
 0x0db8a4,1,
 0x0db8ac,2,
-0x0dba00,28,
-0x0dba7c,13,
-0x0dbab4,1,
-0x0dbabc,10,
-0x0dbb04,1,
-0x0dbb0c,5,
-0x0dbb24,1,
-0x0dbb34,9,
-0x0dbb60,6,
-0x0dbb80,22,
-0x0dbbe0,3,
-0x0dbbf0,2,
 0x0dbc00,5,
 0x0dbc18,1,
 0x0dbc54,6,
 0x0dbc80,2,
 0x0dbca4,1,
 0x0dbcac,2,
-0x0dbe00,28,
-0x0dbe7c,13,
-0x0dbeb4,1,
-0x0dbebc,10,
-0x0dbf04,1,
-0x0dbf0c,5,
-0x0dbf24,1,
-0x0dbf34,9,
-0x0dbf60,6,
-0x0dbf80,22,
-0x0dbfe0,3,
-0x0dbff0,2,
 0x0dc000,1,
 0x0e8000,1,
 0x0e8008,2,
@@ -3291,11 +3253,12 @@
 0x0f01a0,3,
 0x0f01c0,2,
 0x0f01d0,10,
-0x0f0200,61,
+0x0f0200,57,
+0x0f02e8,3,
 0x0f0404,9,
 0x0f0440,12,
 0x0f0480,5,
-0x0f04b8,19,
+0x0f04b8,18,
 0x0f05a0,1,
 0x0f05c0,8,
 0x0f0800,17,
@@ -3673,8 +3636,7 @@
 0x0fb100,6,
 0x0fb120,6,
 0x0fb140,3,
-0x0fb180,4,
-0x0fb1a8,2,
+0x0fb180,6,
 0x0fb1c0,3,
 0x0fb1d0,2,
 0x100000,6,
@@ -4536,68 +4498,71 @@
 0x1800c0,3,
 0x180100,1,
 0x180110,1,
-0x188000,11,
-0x188040,61,
-0x188140,2,
-0x188190,67,
-0x1882a0,3,
-0x1882b0,2,
-0x1882cc,24,
-0x188330,2,
-0x188604,1,
-0x188630,40,
-0x188764,1,
-0x18876c,1,
+0x188000,14,
+0x188040,69,
+0x188180,80,
+0x1882c8,3,
+0x1882d8,6,
+0x1882f8,1,
+0x188300,38,
+0x1883a0,7,
+0x1883c8,2,
+0x188400,36,
+0x188500,19,
+0x188584,1,
+0x1885ac,42,
+0x188684,1,
+0x18868c,1,
+0x188694,3,
 0x188800,1,
-0x189004,1,
-0x18900c,13,
+0x189004,15,
 0x189044,1,
 0x18904c,3,
 0x189084,1,
 0x189090,4,
 0x1890a4,1,
 0x1890ac,1,
-0x1890b4,1,
-0x1890bc,1,
 0x189404,1,
 0x189474,35,
-0x189504,1,
-0x18950c,3,
-0x189604,16,
+0x189504,5,
+0x189604,21,
+0x189680,33,
 0x189804,1,
 0x18982c,23,
-0x189904,27,
-0x189980,12,
-0x1899c4,1,
-0x1899cc,2,
-0x189c00,2,
+0x189904,20,
+0x189980,17,
+0x189a00,17,
+0x189a84,1,
+0x189a8c,2,
+0x189c00,3,
 0x189ffc,1,
 0x18a004,1,
 0x18a07c,33,
 0x18a104,1,
 0x18a120,11,
 0x18a184,3,
-0x18a194,31,
+0x18a194,41,
 0x18a8e0,1,
 0x18b004,1,
 0x18b020,8,
 0x18b044,1,
 0x18b060,10,
-0x18b104,1,
-0x18b178,34,
+0x18b100,34,
 0x18b204,1,
-0x18b218,12,
-0x18b280,2,
+0x18b214,13,
+0x18b280,4,
 0x18b304,1,
 0x18b30c,1,
 0x18b314,1,
 0x18b31c,1,
 0x18b324,1,
-0x18b32c,2,
-0x18b340,2,
-0x18b400,2,
-0x18b808,1,
-0x18c000,298,
+0x18b32c,3,
+0x18b340,3,
+0x18b400,5,
+0x18b800,73,
+0x18ba00,18,
+0x18ba80,9,
+0x18c000,364,
 0x18c804,6,
 0x18c8e0,1,
 0x18d000,1,
@@ -4610,7 +4575,7 @@
 0x18d200,6,
 0x18d220,6,
 0x18d240,3,
-0x18d400,2,
+0x18d400,3,
 0x18d500,6,
 0x18d520,6,
 0x18d540,6,
@@ -4645,25 +4610,19 @@
 0x20051c,7,
 0x200540,1,
 0x200c00,13,
-0x200c40,12,
-0x200c80,13,
-0x200cc0,12,
+0x200c40,13,
 0x200d00,6,
-0x200d20,6,
 0x200d80,14,
 0x200dc0,2,
-0x200e40,11,
+0x200e20,6,
+0x200e60,3,
 0x200e80,6,
-0x200ea0,6,
 0x201000,2,
 0x201010,5,
 0x201060,32,
 0x201100,8,
-0x201180,3,
-0x201190,2,
-0x20119c,5,
-0x201218,9,
-0x201240,3,
+0x201180,12,
+0x201218,13,
 0x201250,6,
 0x201280,1,
 0x201288,6,
@@ -4672,8 +4631,6 @@
 0x201424,2,
 0x201500,5,
 0x201520,4,
-0x201540,5,
-0x201560,4,
 0x201800,24,
 0x201864,5,
 0x201880,8,
@@ -4684,8 +4641,6 @@
 0x201a60,1,
 0x201a68,23,
 0x201ac8,6,
-0x201b00,17,
-0x201b48,6,
 0x201b80,12,
 0x201c00,6,
 0x201c20,6,
@@ -4718,25 +4673,19 @@
 0x20251c,7,
 0x202540,1,
 0x202c00,13,
-0x202c40,12,
-0x202c80,13,
-0x202cc0,12,
+0x202c40,13,
 0x202d00,6,
-0x202d20,6,
 0x202d80,14,
 0x202dc0,2,
-0x202e40,11,
+0x202e20,6,
+0x202e60,3,
 0x202e80,6,
-0x202ea0,6,
 0x203000,2,
 0x203010,5,
 0x203060,32,
 0x203100,8,
-0x203180,3,
-0x203190,2,
-0x20319c,5,
-0x203218,9,
-0x203240,3,
+0x203180,12,
+0x203218,13,
 0x203250,6,
 0x203280,1,
 0x203288,6,
@@ -4745,8 +4694,6 @@
 0x203424,2,
 0x203500,5,
 0x203520,4,
-0x203540,5,
-0x203560,4,
 0x203800,24,
 0x203864,5,
 0x203880,8,
@@ -4757,8 +4704,6 @@
 0x203a60,1,
 0x203a68,23,
 0x203ac8,6,
-0x203b00,17,
-0x203b48,6,
 0x203b80,12,
 0x203c00,6,
 0x203c20,6,
@@ -4944,13 +4889,13 @@
 0x2088b4,3,
 0x209000,6,
 0x209020,6,
-0x209040,3,
+0x209040,4,
 0x209080,14,
 0x2090bc,1,
 0x2090c4,13,
 0x2090fc,1,
 0x209200,20,
-0x20925c,30,
+0x20925c,31,
 0x209300,24,
 0x209380,2,
 0x2093a0,1,
@@ -4959,21 +4904,21 @@
 0x209420,11,
 0x209460,3,
 0x209480,6,
-0x209500,6,
+0x209500,7,
 0x209520,6,
 0x209540,1,
 0x209558,2,
 0x209600,17,
-0x209800,410,
+0x209800,496,
 0x20a000,6,
 0x20a020,6,
-0x20a040,3,
+0x20a040,4,
 0x20a080,14,
 0x20a0bc,1,
 0x20a0c4,13,
 0x20a0fc,1,
 0x20a200,20,
-0x20a25c,30,
+0x20a25c,31,
 0x20a300,24,
 0x20a380,2,
 0x20a3a0,1,
@@ -4982,12 +4927,12 @@
 0x20a420,11,
 0x20a460,3,
 0x20a480,6,
-0x20a500,6,
+0x20a500,7,
 0x20a520,6,
 0x20a540,1,
 0x20a558,2,
 0x20a600,17,
-0x20a800,410,
+0x20a800,496,
 0x20b000,4,
 0x20b020,25,
 0x20b088,8,
@@ -5113,25 +5058,19 @@
 0x21051c,7,
 0x210540,1,
 0x210c00,13,
-0x210c40,12,
-0x210c80,13,
-0x210cc0,12,
+0x210c40,13,
 0x210d00,6,
-0x210d20,6,
 0x210d80,14,
 0x210dc0,2,
-0x210e40,11,
+0x210e20,6,
+0x210e60,3,
 0x210e80,6,
-0x210ea0,6,
 0x211000,2,
 0x211010,5,
 0x211060,32,
 0x211100,8,
-0x211180,3,
-0x211190,2,
-0x21119c,5,
-0x211218,9,
-0x211240,3,
+0x211180,12,
+0x211218,13,
 0x211250,6,
 0x211280,1,
 0x211288,6,
@@ -5140,8 +5079,6 @@
 0x211424,2,
 0x211500,5,
 0x211520,4,
-0x211540,5,
-0x211560,4,
 0x211800,24,
 0x211864,5,
 0x211880,8,
@@ -5152,8 +5089,6 @@
 0x211a60,1,
 0x211a68,23,
 0x211ac8,6,
-0x211b00,17,
-0x211b48,6,
 0x211b80,12,
 0x211c00,6,
 0x211c20,6,
@@ -5186,25 +5121,19 @@
 0x21251c,7,
 0x212540,1,
 0x212c00,13,
-0x212c40,12,
-0x212c80,13,
-0x212cc0,12,
+0x212c40,13,
 0x212d00,6,
-0x212d20,6,
 0x212d80,14,
 0x212dc0,2,
-0x212e40,11,
+0x212e20,6,
+0x212e60,3,
 0x212e80,6,
-0x212ea0,6,
 0x213000,2,
 0x213010,5,
 0x213060,32,
 0x213100,8,
-0x213180,3,
-0x213190,2,
-0x21319c,5,
-0x213218,9,
-0x213240,3,
+0x213180,12,
+0x213218,13,
 0x213250,6,
 0x213280,1,
 0x213288,6,
@@ -5213,8 +5142,6 @@
 0x213424,2,
 0x213500,5,
 0x213520,4,
-0x213540,5,
-0x213560,4,
 0x213800,24,
 0x213864,5,
 0x213880,8,
@@ -5225,8 +5152,6 @@
 0x213a60,1,
 0x213a68,23,
 0x213ac8,6,
-0x213b00,17,
-0x213b48,6,
 0x213b80,12,
 0x213c00,6,
 0x213c20,6,
@@ -5412,13 +5337,13 @@
 0x2188b4,3,
 0x219000,6,
 0x219020,6,
-0x219040,3,
+0x219040,4,
 0x219080,14,
 0x2190bc,1,
 0x2190c4,13,
 0x2190fc,1,
 0x219200,20,
-0x21925c,30,
+0x21925c,31,
 0x219300,24,
 0x219380,2,
 0x2193a0,1,
@@ -5427,21 +5352,21 @@
 0x219420,11,
 0x219460,3,
 0x219480,6,
-0x219500,6,
+0x219500,7,
 0x219520,6,
 0x219540,1,
 0x219558,2,
 0x219600,17,
-0x219800,410,
+0x219800,496,
 0x21a000,6,
 0x21a020,6,
-0x21a040,3,
+0x21a040,4,
 0x21a080,14,
 0x21a0bc,1,
 0x21a0c4,13,
 0x21a0fc,1,
 0x21a200,20,
-0x21a25c,30,
+0x21a25c,31,
 0x21a300,24,
 0x21a380,2,
 0x21a3a0,1,
@@ -5450,12 +5375,12 @@
 0x21a420,11,
 0x21a460,3,
 0x21a480,6,
-0x21a500,6,
+0x21a500,7,
 0x21a520,6,
 0x21a540,1,
 0x21a558,2,
 0x21a600,17,
-0x21a800,410,
+0x21a800,496,
 0x21b000,4,
 0x21b020,25,
 0x21b088,8,
@@ -5581,25 +5506,19 @@
 0x22051c,7,
 0x220540,1,
 0x220c00,13,
-0x220c40,12,
-0x220c80,13,
-0x220cc0,12,
+0x220c40,13,
 0x220d00,6,
-0x220d20,6,
 0x220d80,14,
 0x220dc0,2,
-0x220e40,11,
+0x220e20,6,
+0x220e60,3,
 0x220e80,6,
-0x220ea0,6,
 0x221000,2,
 0x221010,5,
 0x221060,32,
 0x221100,8,
-0x221180,3,
-0x221190,2,
-0x22119c,5,
-0x221218,9,
-0x221240,3,
+0x221180,12,
+0x221218,13,
 0x221250,6,
 0x221280,1,
 0x221288,6,
@@ -5608,8 +5527,6 @@
 0x221424,2,
 0x221500,5,
 0x221520,4,
-0x221540,5,
-0x221560,4,
 0x221800,24,
 0x221864,5,
 0x221880,8,
@@ -5620,8 +5537,6 @@
 0x221a60,1,
 0x221a68,23,
 0x221ac8,6,
-0x221b00,17,
-0x221b48,6,
 0x221b80,12,
 0x221c00,6,
 0x221c20,6,
@@ -5654,25 +5569,19 @@
 0x22251c,7,
 0x222540,1,
 0x222c00,13,
-0x222c40,12,
-0x222c80,13,
-0x222cc0,12,
+0x222c40,13,
 0x222d00,6,
-0x222d20,6,
 0x222d80,14,
 0x222dc0,2,
-0x222e40,11,
+0x222e20,6,
+0x222e60,3,
 0x222e80,6,
-0x222ea0,6,
 0x223000,2,
 0x223010,5,
 0x223060,32,
 0x223100,8,
-0x223180,3,
-0x223190,2,
-0x22319c,5,
-0x223218,9,
-0x223240,3,
+0x223180,12,
+0x223218,13,
 0x223250,6,
 0x223280,1,
 0x223288,6,
@@ -5681,8 +5590,6 @@
 0x223424,2,
 0x223500,5,
 0x223520,4,
-0x223540,5,
-0x223560,4,
 0x223800,24,
 0x223864,5,
 0x223880,8,
@@ -5693,8 +5600,6 @@
 0x223a60,1,
 0x223a68,23,
 0x223ac8,6,
-0x223b00,17,
-0x223b48,6,
 0x223b80,12,
 0x223c00,6,
 0x223c20,6,
@@ -5880,13 +5785,13 @@
 0x2288b4,3,
 0x229000,6,
 0x229020,6,
-0x229040,3,
+0x229040,4,
 0x229080,14,
 0x2290bc,1,
 0x2290c4,13,
 0x2290fc,1,
 0x229200,20,
-0x22925c,30,
+0x22925c,31,
 0x229300,24,
 0x229380,2,
 0x2293a0,1,
@@ -5895,21 +5800,21 @@
 0x229420,11,
 0x229460,3,
 0x229480,6,
-0x229500,6,
+0x229500,7,
 0x229520,6,
 0x229540,1,
 0x229558,2,
 0x229600,17,
-0x229800,410,
+0x229800,496,
 0x22a000,6,
 0x22a020,6,
-0x22a040,3,
+0x22a040,4,
 0x22a080,14,
 0x22a0bc,1,
 0x22a0c4,13,
 0x22a0fc,1,
 0x22a200,20,
-0x22a25c,30,
+0x22a25c,31,
 0x22a300,24,
 0x22a380,2,
 0x22a3a0,1,
@@ -5918,12 +5823,12 @@
 0x22a420,11,
 0x22a460,3,
 0x22a480,6,
-0x22a500,6,
+0x22a500,7,
 0x22a520,6,
 0x22a540,1,
 0x22a558,2,
 0x22a600,17,
-0x22a800,410,
+0x22a800,496,
 0x22b000,4,
 0x22b020,25,
 0x22b088,8,
@@ -6049,25 +5954,19 @@
 0x23051c,7,
 0x230540,1,
 0x230c00,13,
-0x230c40,12,
-0x230c80,13,
-0x230cc0,12,
+0x230c40,13,
 0x230d00,6,
-0x230d20,6,
 0x230d80,14,
 0x230dc0,2,
-0x230e40,11,
+0x230e20,6,
+0x230e60,3,
 0x230e80,6,
-0x230ea0,6,
 0x231000,2,
 0x231010,5,
 0x231060,32,
 0x231100,8,
-0x231180,3,
-0x231190,2,
-0x23119c,5,
-0x231218,9,
-0x231240,3,
+0x231180,12,
+0x231218,13,
 0x231250,6,
 0x231280,1,
 0x231288,6,
@@ -6076,8 +5975,6 @@
 0x231424,2,
 0x231500,5,
 0x231520,4,
-0x231540,5,
-0x231560,4,
 0x231800,24,
 0x231864,5,
 0x231880,8,
@@ -6088,8 +5985,6 @@
 0x231a60,1,
 0x231a68,23,
 0x231ac8,6,
-0x231b00,17,
-0x231b48,6,
 0x231b80,12,
 0x231c00,6,
 0x231c20,6,
@@ -6122,25 +6017,19 @@
 0x23251c,7,
 0x232540,1,
 0x232c00,13,
-0x232c40,12,
-0x232c80,13,
-0x232cc0,12,
+0x232c40,13,
 0x232d00,6,
-0x232d20,6,
 0x232d80,14,
 0x232dc0,2,
-0x232e40,11,
+0x232e20,6,
+0x232e60,3,
 0x232e80,6,
-0x232ea0,6,
 0x233000,2,
 0x233010,5,
 0x233060,32,
 0x233100,8,
-0x233180,3,
-0x233190,2,
-0x23319c,5,
-0x233218,9,
-0x233240,3,
+0x233180,12,
+0x233218,13,
 0x233250,6,
 0x233280,1,
 0x233288,6,
@@ -6149,8 +6038,6 @@
 0x233424,2,
 0x233500,5,
 0x233520,4,
-0x233540,5,
-0x233560,4,
 0x233800,24,
 0x233864,5,
 0x233880,8,
@@ -6161,8 +6048,6 @@
 0x233a60,1,
 0x233a68,23,
 0x233ac8,6,
-0x233b00,17,
-0x233b48,6,
 0x233b80,12,
 0x233c00,6,
 0x233c20,6,
@@ -6348,13 +6233,13 @@
 0x2388b4,3,
 0x239000,6,
 0x239020,6,
-0x239040,3,
+0x239040,4,
 0x239080,14,
 0x2390bc,1,
 0x2390c4,13,
 0x2390fc,1,
 0x239200,20,
-0x23925c,30,
+0x23925c,31,
 0x239300,24,
 0x239380,2,
 0x2393a0,1,
@@ -6363,21 +6248,21 @@
 0x239420,11,
 0x239460,3,
 0x239480,6,
-0x239500,6,
+0x239500,7,
 0x239520,6,
 0x239540,1,
 0x239558,2,
 0x239600,17,
-0x239800,410,
+0x239800,496,
 0x23a000,6,
 0x23a020,6,
-0x23a040,3,
+0x23a040,4,
 0x23a080,14,
 0x23a0bc,1,
 0x23a0c4,13,
 0x23a0fc,1,
 0x23a200,20,
-0x23a25c,30,
+0x23a25c,31,
 0x23a300,24,
 0x23a380,2,
 0x23a3a0,1,
@@ -6386,12 +6271,12 @@
 0x23a420,11,
 0x23a460,3,
 0x23a480,6,
-0x23a500,6,
+0x23a500,7,
 0x23a520,6,
 0x23a540,1,
 0x23a558,2,
 0x23a600,17,
-0x23a800,410,
+0x23a800,496,
 0x23b000,4,
 0x23b020,25,
 0x23b088,8,
@@ -6517,25 +6402,19 @@
 0x24051c,7,
 0x240540,1,
 0x240c00,13,
-0x240c40,12,
-0x240c80,13,
-0x240cc0,12,
+0x240c40,13,
 0x240d00,6,
-0x240d20,6,
 0x240d80,14,
 0x240dc0,2,
-0x240e40,11,
+0x240e20,6,
+0x240e60,3,
 0x240e80,6,
-0x240ea0,6,
 0x241000,2,
 0x241010,5,
 0x241060,32,
 0x241100,8,
-0x241180,3,
-0x241190,2,
-0x24119c,5,
-0x241218,9,
-0x241240,3,
+0x241180,12,
+0x241218,13,
 0x241250,6,
 0x241280,1,
 0x241288,6,
@@ -6544,8 +6423,6 @@
 0x241424,2,
 0x241500,5,
 0x241520,4,
-0x241540,5,
-0x241560,4,
 0x241800,24,
 0x241864,5,
 0x241880,8,
@@ -6556,8 +6433,6 @@
 0x241a60,1,
 0x241a68,23,
 0x241ac8,6,
-0x241b00,17,
-0x241b48,6,
 0x241b80,12,
 0x241c00,6,
 0x241c20,6,
@@ -6590,25 +6465,19 @@
 0x24251c,7,
 0x242540,1,
 0x242c00,13,
-0x242c40,12,
-0x242c80,13,
-0x242cc0,12,
+0x242c40,13,
 0x242d00,6,
-0x242d20,6,
 0x242d80,14,
 0x242dc0,2,
-0x242e40,11,
+0x242e20,6,
+0x242e60,3,
 0x242e80,6,
-0x242ea0,6,
 0x243000,2,
 0x243010,5,
 0x243060,32,
 0x243100,8,
-0x243180,3,
-0x243190,2,
-0x24319c,5,
-0x243218,9,
-0x243240,3,
+0x243180,12,
+0x243218,13,
 0x243250,6,
 0x243280,1,
 0x243288,6,
@@ -6617,8 +6486,6 @@
 0x243424,2,
 0x243500,5,
 0x243520,4,
-0x243540,5,
-0x243560,4,
 0x243800,24,
 0x243864,5,
 0x243880,8,
@@ -6629,8 +6496,6 @@
 0x243a60,1,
 0x243a68,23,
 0x243ac8,6,
-0x243b00,17,
-0x243b48,6,
 0x243b80,12,
 0x243c00,6,
 0x243c20,6,
@@ -6833,13 +6698,13 @@
 0x2488b4,3,
 0x249000,6,
 0x249020,6,
-0x249040,3,
+0x249040,4,
 0x249080,14,
 0x2490bc,1,
 0x2490c4,13,
 0x2490fc,1,
 0x249200,20,
-0x24925c,30,
+0x24925c,31,
 0x249300,24,
 0x249380,2,
 0x2493a0,1,
@@ -6848,21 +6713,21 @@
 0x249420,11,
 0x249460,3,
 0x249480,6,
-0x249500,6,
+0x249500,7,
 0x249520,6,
 0x249540,1,
 0x249558,2,
 0x249600,17,
-0x249800,410,
+0x249800,496,
 0x24a000,6,
 0x24a020,6,
-0x24a040,3,
+0x24a040,4,
 0x24a080,14,
 0x24a0bc,1,
 0x24a0c4,13,
 0x24a0fc,1,
 0x24a200,20,
-0x24a25c,30,
+0x24a25c,31,
 0x24a300,24,
 0x24a380,2,
 0x24a3a0,1,
@@ -6871,12 +6736,12 @@
 0x24a420,11,
 0x24a460,3,
 0x24a480,6,
-0x24a500,6,
+0x24a500,7,
 0x24a520,6,
 0x24a540,1,
 0x24a558,2,
 0x24a600,17,
-0x24a800,410,
+0x24a800,496,
 0x24b000,4,
 0x24b020,25,
 0x24b088,8,
@@ -7002,25 +6867,19 @@
 0x25051c,7,
 0x250540,1,
 0x250c00,13,
-0x250c40,12,
-0x250c80,13,
-0x250cc0,12,
+0x250c40,13,
 0x250d00,6,
-0x250d20,6,
 0x250d80,14,
 0x250dc0,2,
-0x250e40,11,
+0x250e20,6,
+0x250e60,3,
 0x250e80,6,
-0x250ea0,6,
 0x251000,2,
 0x251010,5,
 0x251060,32,
 0x251100,8,
-0x251180,3,
-0x251190,2,
-0x25119c,5,
-0x251218,9,
-0x251240,3,
+0x251180,12,
+0x251218,13,
 0x251250,6,
 0x251280,1,
 0x251288,6,
@@ -7029,8 +6888,6 @@
 0x251424,2,
 0x251500,5,
 0x251520,4,
-0x251540,5,
-0x251560,4,
 0x251800,24,
 0x251864,5,
 0x251880,8,
@@ -7041,8 +6898,6 @@
 0x251a60,1,
 0x251a68,23,
 0x251ac8,6,
-0x251b00,17,
-0x251b48,6,
 0x251b80,12,
 0x251c00,6,
 0x251c20,6,
@@ -7075,25 +6930,19 @@
 0x25251c,7,
 0x252540,1,
 0x252c00,13,
-0x252c40,12,
-0x252c80,13,
-0x252cc0,12,
+0x252c40,13,
 0x252d00,6,
-0x252d20,6,
 0x252d80,14,
 0x252dc0,2,
-0x252e40,11,
+0x252e20,6,
+0x252e60,3,
 0x252e80,6,
-0x252ea0,6,
 0x253000,2,
 0x253010,5,
 0x253060,32,
 0x253100,8,
-0x253180,3,
-0x253190,2,
-0x25319c,5,
-0x253218,9,
-0x253240,3,
+0x253180,12,
+0x253218,13,
 0x253250,6,
 0x253280,1,
 0x253288,6,
@@ -7102,8 +6951,6 @@
 0x253424,2,
 0x253500,5,
 0x253520,4,
-0x253540,5,
-0x253560,4,
 0x253800,24,
 0x253864,5,
 0x253880,8,
@@ -7114,8 +6961,6 @@
 0x253a60,1,
 0x253a68,23,
 0x253ac8,6,
-0x253b00,17,
-0x253b48,6,
 0x253b80,12,
 0x253c00,6,
 0x253c20,6,
@@ -7301,13 +7146,13 @@
 0x2588b4,3,
 0x259000,6,
 0x259020,6,
-0x259040,3,
+0x259040,4,
 0x259080,14,
 0x2590bc,1,
 0x2590c4,13,
 0x2590fc,1,
 0x259200,20,
-0x25925c,30,
+0x25925c,31,
 0x259300,24,
 0x259380,2,
 0x2593a0,1,
@@ -7316,21 +7161,21 @@
 0x259420,11,
 0x259460,3,
 0x259480,6,
-0x259500,6,
+0x259500,7,
 0x259520,6,
 0x259540,1,
 0x259558,2,
 0x259600,17,
-0x259800,410,
+0x259800,496,
 0x25a000,6,
 0x25a020,6,
-0x25a040,3,
+0x25a040,4,
 0x25a080,14,
 0x25a0bc,1,
 0x25a0c4,13,
 0x25a0fc,1,
 0x25a200,20,
-0x25a25c,30,
+0x25a25c,31,
 0x25a300,24,
 0x25a380,2,
 0x25a3a0,1,
@@ -7339,12 +7184,12 @@
 0x25a420,11,
 0x25a460,3,
 0x25a480,6,
-0x25a500,6,
+0x25a500,7,
 0x25a520,6,
 0x25a540,1,
 0x25a558,2,
 0x25a600,17,
-0x25a800,410,
+0x25a800,496,
 0x25b000,4,
 0x25b020,25,
 0x25b088,8,
@@ -7470,25 +7315,19 @@
 0x26051c,7,
 0x260540,1,
 0x260c00,13,
-0x260c40,12,
-0x260c80,13,
-0x260cc0,12,
+0x260c40,13,
 0x260d00,6,
-0x260d20,6,
 0x260d80,14,
 0x260dc0,2,
-0x260e40,11,
+0x260e20,6,
+0x260e60,3,
 0x260e80,6,
-0x260ea0,6,
 0x261000,2,
 0x261010,5,
 0x261060,32,
 0x261100,8,
-0x261180,3,
-0x261190,2,
-0x26119c,5,
-0x261218,9,
-0x261240,3,
+0x261180,12,
+0x261218,13,
 0x261250,6,
 0x261280,1,
 0x261288,6,
@@ -7497,8 +7336,6 @@
 0x261424,2,
 0x261500,5,
 0x261520,4,
-0x261540,5,
-0x261560,4,
 0x261800,24,
 0x261864,5,
 0x261880,8,
@@ -7509,8 +7346,6 @@
 0x261a60,1,
 0x261a68,23,
 0x261ac8,6,
-0x261b00,17,
-0x261b48,6,
 0x261b80,12,
 0x261c00,6,
 0x261c20,6,
@@ -7543,25 +7378,19 @@
 0x26251c,7,
 0x262540,1,
 0x262c00,13,
-0x262c40,12,
-0x262c80,13,
-0x262cc0,12,
+0x262c40,13,
 0x262d00,6,
-0x262d20,6,
 0x262d80,14,
 0x262dc0,2,
-0x262e40,11,
+0x262e20,6,
+0x262e60,3,
 0x262e80,6,
-0x262ea0,6,
 0x263000,2,
 0x263010,5,
 0x263060,32,
 0x263100,8,
-0x263180,3,
-0x263190,2,
-0x26319c,5,
-0x263218,9,
-0x263240,3,
+0x263180,12,
+0x263218,13,
 0x263250,6,
 0x263280,1,
 0x263288,6,
@@ -7570,8 +7399,6 @@
 0x263424,2,
 0x263500,5,
 0x263520,4,
-0x263540,5,
-0x263560,4,
 0x263800,24,
 0x263864,5,
 0x263880,8,
@@ -7582,8 +7409,6 @@
 0x263a60,1,
 0x263a68,23,
 0x263ac8,6,
-0x263b00,17,
-0x263b48,6,
 0x263b80,12,
 0x263c00,6,
 0x263c20,6,
@@ -7769,13 +7594,13 @@
 0x2688b4,3,
 0x269000,6,
 0x269020,6,
-0x269040,3,
+0x269040,4,
 0x269080,14,
 0x2690bc,1,
 0x2690c4,13,
 0x2690fc,1,
 0x269200,20,
-0x26925c,30,
+0x26925c,31,
 0x269300,24,
 0x269380,2,
 0x2693a0,1,
@@ -7784,21 +7609,21 @@
 0x269420,11,
 0x269460,3,
 0x269480,6,
-0x269500,6,
+0x269500,7,
 0x269520,6,
 0x269540,1,
 0x269558,2,
 0x269600,17,
-0x269800,410,
+0x269800,496,
 0x26a000,6,
 0x26a020,6,
-0x26a040,3,
+0x26a040,4,
 0x26a080,14,
 0x26a0bc,1,
 0x26a0c4,13,
 0x26a0fc,1,
 0x26a200,20,
-0x26a25c,30,
+0x26a25c,31,
 0x26a300,24,
 0x26a380,2,
 0x26a3a0,1,
@@ -7807,12 +7632,12 @@
 0x26a420,11,
 0x26a460,3,
 0x26a480,6,
-0x26a500,6,
+0x26a500,7,
 0x26a520,6,
 0x26a540,1,
 0x26a558,2,
 0x26a600,17,
-0x26a800,410,
+0x26a800,496,
 0x26b000,4,
 0x26b020,25,
 0x26b088,8,
@@ -7938,25 +7763,19 @@
 0x27051c,7,
 0x270540,1,
 0x270c00,13,
-0x270c40,12,
-0x270c80,13,
-0x270cc0,12,
+0x270c40,13,
 0x270d00,6,
-0x270d20,6,
 0x270d80,14,
 0x270dc0,2,
-0x270e40,11,
+0x270e20,6,
+0x270e60,3,
 0x270e80,6,
-0x270ea0,6,
 0x271000,2,
 0x271010,5,
 0x271060,32,
 0x271100,8,
-0x271180,3,
-0x271190,2,
-0x27119c,5,
-0x271218,9,
-0x271240,3,
+0x271180,12,
+0x271218,13,
 0x271250,6,
 0x271280,1,
 0x271288,6,
@@ -7965,8 +7784,6 @@
 0x271424,2,
 0x271500,5,
 0x271520,4,
-0x271540,5,
-0x271560,4,
 0x271800,24,
 0x271864,5,
 0x271880,8,
@@ -7977,8 +7794,6 @@
 0x271a60,1,
 0x271a68,23,
 0x271ac8,6,
-0x271b00,17,
-0x271b48,6,
 0x271b80,12,
 0x271c00,6,
 0x271c20,6,
@@ -8011,25 +7826,19 @@
 0x27251c,7,
 0x272540,1,
 0x272c00,13,
-0x272c40,12,
-0x272c80,13,
-0x272cc0,12,
+0x272c40,13,
 0x272d00,6,
-0x272d20,6,
 0x272d80,14,
 0x272dc0,2,
-0x272e40,11,
+0x272e20,6,
+0x272e60,3,
 0x272e80,6,
-0x272ea0,6,
 0x273000,2,
 0x273010,5,
 0x273060,32,
 0x273100,8,
-0x273180,3,
-0x273190,2,
-0x27319c,5,
-0x273218,9,
-0x273240,3,
+0x273180,12,
+0x273218,13,
 0x273250,6,
 0x273280,1,
 0x273288,6,
@@ -8038,8 +7847,6 @@
 0x273424,2,
 0x273500,5,
 0x273520,4,
-0x273540,5,
-0x273560,4,
 0x273800,24,
 0x273864,5,
 0x273880,8,
@@ -8050,8 +7857,6 @@
 0x273a60,1,
 0x273a68,23,
 0x273ac8,6,
-0x273b00,17,
-0x273b48,6,
 0x273b80,12,
 0x273c00,6,
 0x273c20,6,
@@ -8237,13 +8042,13 @@
 0x2788b4,3,
 0x279000,6,
 0x279020,6,
-0x279040,3,
+0x279040,4,
 0x279080,14,
 0x2790bc,1,
 0x2790c4,13,
 0x2790fc,1,
 0x279200,20,
-0x27925c,30,
+0x27925c,31,
 0x279300,24,
 0x279380,2,
 0x2793a0,1,
@@ -8252,21 +8057,21 @@
 0x279420,11,
 0x279460,3,
 0x279480,6,
-0x279500,6,
+0x279500,7,
 0x279520,6,
 0x279540,1,
 0x279558,2,
 0x279600,17,
-0x279800,410,
+0x279800,496,
 0x27a000,6,
 0x27a020,6,
-0x27a040,3,
+0x27a040,4,
 0x27a080,14,
 0x27a0bc,1,
 0x27a0c4,13,
 0x27a0fc,1,
 0x27a200,20,
-0x27a25c,30,
+0x27a25c,31,
 0x27a300,24,
 0x27a380,2,
 0x27a3a0,1,
@@ -8275,12 +8080,12 @@
 0x27a420,11,
 0x27a460,3,
 0x27a480,6,
-0x27a500,6,
+0x27a500,7,
 0x27a520,6,
 0x27a540,1,
 0x27a558,2,
 0x27a600,17,
-0x27a800,410,
+0x27a800,496,
 0x27b000,4,
 0x27b020,25,
 0x27b088,8,
@@ -8406,25 +8211,19 @@
 0x28051c,7,
 0x280540,1,
 0x280c00,13,
-0x280c40,12,
-0x280c80,13,
-0x280cc0,12,
+0x280c40,13,
 0x280d00,6,
-0x280d20,6,
 0x280d80,14,
 0x280dc0,2,
-0x280e40,11,
+0x280e20,6,
+0x280e60,3,
 0x280e80,6,
-0x280ea0,6,
 0x281000,2,
 0x281010,5,
 0x281060,32,
 0x281100,8,
-0x281180,3,
-0x281190,2,
-0x28119c,5,
-0x281218,9,
-0x281240,3,
+0x281180,12,
+0x281218,13,
 0x281250,6,
 0x281280,1,
 0x281288,6,
@@ -8433,8 +8232,6 @@
 0x281424,2,
 0x281500,5,
 0x281520,4,
-0x281540,5,
-0x281560,4,
 0x281800,24,
 0x281864,5,
 0x281880,8,
@@ -8445,8 +8242,6 @@
 0x281a60,1,
 0x281a68,23,
 0x281ac8,6,
-0x281b00,17,
-0x281b48,6,
 0x281b80,12,
 0x281c00,6,
 0x281c20,6,
@@ -8479,25 +8274,19 @@
 0x28251c,7,
 0x282540,1,
 0x282c00,13,
-0x282c40,12,
-0x282c80,13,
-0x282cc0,12,
+0x282c40,13,
 0x282d00,6,
-0x282d20,6,
 0x282d80,14,
 0x282dc0,2,
-0x282e40,11,
+0x282e20,6,
+0x282e60,3,
 0x282e80,6,
-0x282ea0,6,
 0x283000,2,
 0x283010,5,
 0x283060,32,
 0x283100,8,
-0x283180,3,
-0x283190,2,
-0x28319c,5,
-0x283218,9,
-0x283240,3,
+0x283180,12,
+0x283218,13,
 0x283250,6,
 0x283280,1,
 0x283288,6,
@@ -8506,8 +8295,6 @@
 0x283424,2,
 0x283500,5,
 0x283520,4,
-0x283540,5,
-0x283560,4,
 0x283800,24,
 0x283864,5,
 0x283880,8,
@@ -8518,8 +8305,6 @@
 0x283a60,1,
 0x283a68,23,
 0x283ac8,6,
-0x283b00,17,
-0x283b48,6,
 0x283b80,12,
 0x283c00,6,
 0x283c20,6,
@@ -8705,13 +8490,13 @@
 0x2888b4,3,
 0x289000,6,
 0x289020,6,
-0x289040,3,
+0x289040,4,
 0x289080,14,
 0x2890bc,1,
 0x2890c4,13,
 0x2890fc,1,
 0x289200,20,
-0x28925c,30,
+0x28925c,31,
 0x289300,24,
 0x289380,2,
 0x2893a0,1,
@@ -8720,21 +8505,21 @@
 0x289420,11,
 0x289460,3,
 0x289480,6,
-0x289500,6,
+0x289500,7,
 0x289520,6,
 0x289540,1,
 0x289558,2,
 0x289600,17,
-0x289800,410,
+0x289800,496,
 0x28a000,6,
 0x28a020,6,
-0x28a040,3,
+0x28a040,4,
 0x28a080,14,
 0x28a0bc,1,
 0x28a0c4,13,
 0x28a0fc,1,
 0x28a200,20,
-0x28a25c,30,
+0x28a25c,31,
 0x28a300,24,
 0x28a380,2,
 0x28a3a0,1,
@@ -8743,12 +8528,12 @@
 0x28a420,11,
 0x28a460,3,
 0x28a480,6,
-0x28a500,6,
+0x28a500,7,
 0x28a520,6,
 0x28a540,1,
 0x28a558,2,
 0x28a600,17,
-0x28a800,410,
+0x28a800,496,
 0x28b000,4,
 0x28b020,25,
 0x28b088,8,
@@ -8874,25 +8659,19 @@
 0x29051c,7,
 0x290540,1,
 0x290c00,13,
-0x290c40,12,
-0x290c80,13,
-0x290cc0,12,
+0x290c40,13,
 0x290d00,6,
-0x290d20,6,
 0x290d80,14,
 0x290dc0,2,
-0x290e40,11,
+0x290e20,6,
+0x290e60,3,
 0x290e80,6,
-0x290ea0,6,
 0x291000,2,
 0x291010,5,
 0x291060,32,
 0x291100,8,
-0x291180,3,
-0x291190,2,
-0x29119c,5,
-0x291218,9,
-0x291240,3,
+0x291180,12,
+0x291218,13,
 0x291250,6,
 0x291280,1,
 0x291288,6,
@@ -8901,8 +8680,6 @@
 0x291424,2,
 0x291500,5,
 0x291520,4,
-0x291540,5,
-0x291560,4,
 0x291800,24,
 0x291864,5,
 0x291880,8,
@@ -8913,8 +8690,6 @@
 0x291a60,1,
 0x291a68,23,
 0x291ac8,6,
-0x291b00,17,
-0x291b48,6,
 0x291b80,12,
 0x291c00,6,
 0x291c20,6,
@@ -8947,25 +8722,19 @@
 0x29251c,7,
 0x292540,1,
 0x292c00,13,
-0x292c40,12,
-0x292c80,13,
-0x292cc0,12,
+0x292c40,13,
 0x292d00,6,
-0x292d20,6,
 0x292d80,14,
 0x292dc0,2,
-0x292e40,11,
+0x292e20,6,
+0x292e60,3,
 0x292e80,6,
-0x292ea0,6,
 0x293000,2,
 0x293010,5,
 0x293060,32,
 0x293100,8,
-0x293180,3,
-0x293190,2,
-0x29319c,5,
-0x293218,9,
-0x293240,3,
+0x293180,12,
+0x293218,13,
 0x293250,6,
 0x293280,1,
 0x293288,6,
@@ -8974,8 +8743,6 @@
 0x293424,2,
 0x293500,5,
 0x293520,4,
-0x293540,5,
-0x293560,4,
 0x293800,24,
 0x293864,5,
 0x293880,8,
@@ -8986,8 +8753,6 @@
 0x293a60,1,
 0x293a68,23,
 0x293ac8,6,
-0x293b00,17,
-0x293b48,6,
 0x293b80,12,
 0x293c00,6,
 0x293c20,6,
@@ -9173,13 +8938,13 @@
 0x2988b4,3,
 0x299000,6,
 0x299020,6,
-0x299040,3,
+0x299040,4,
 0x299080,14,
 0x2990bc,1,
 0x2990c4,13,
 0x2990fc,1,
 0x299200,20,
-0x29925c,30,
+0x29925c,31,
 0x299300,24,
 0x299380,2,
 0x2993a0,1,
@@ -9188,21 +8953,21 @@
 0x299420,11,
 0x299460,3,
 0x299480,6,
-0x299500,6,
+0x299500,7,
 0x299520,6,
 0x299540,1,
 0x299558,2,
 0x299600,17,
-0x299800,410,
+0x299800,496,
 0x29a000,6,
 0x29a020,6,
-0x29a040,3,
+0x29a040,4,
 0x29a080,14,
 0x29a0bc,1,
 0x29a0c4,13,
 0x29a0fc,1,
 0x29a200,20,
-0x29a25c,30,
+0x29a25c,31,
 0x29a300,24,
 0x29a380,2,
 0x29a3a0,1,
@@ -9211,12 +8976,12 @@
 0x29a420,11,
 0x29a460,3,
 0x29a480,6,
-0x29a500,6,
+0x29a500,7,
 0x29a520,6,
 0x29a540,1,
 0x29a558,2,
 0x29a600,17,
-0x29a800,410,
+0x29a800,496,
 0x29b000,4,
 0x29b020,25,
 0x29b088,8,
@@ -9342,25 +9107,19 @@
 0x2a051c,7,
 0x2a0540,1,
 0x2a0c00,13,
-0x2a0c40,12,
-0x2a0c80,13,
-0x2a0cc0,12,
+0x2a0c40,13,
 0x2a0d00,6,
-0x2a0d20,6,
 0x2a0d80,14,
 0x2a0dc0,2,
-0x2a0e40,11,
+0x2a0e20,6,
+0x2a0e60,3,
 0x2a0e80,6,
-0x2a0ea0,6,
 0x2a1000,2,
 0x2a1010,5,
 0x2a1060,32,
 0x2a1100,8,
-0x2a1180,3,
-0x2a1190,2,
-0x2a119c,5,
-0x2a1218,9,
-0x2a1240,3,
+0x2a1180,12,
+0x2a1218,13,
 0x2a1250,6,
 0x2a1280,1,
 0x2a1288,6,
@@ -9369,8 +9128,6 @@
 0x2a1424,2,
 0x2a1500,5,
 0x2a1520,4,
-0x2a1540,5,
-0x2a1560,4,
 0x2a1800,24,
 0x2a1864,5,
 0x2a1880,8,
@@ -9381,8 +9138,6 @@
 0x2a1a60,1,
 0x2a1a68,23,
 0x2a1ac8,6,
-0x2a1b00,17,
-0x2a1b48,6,
 0x2a1b80,12,
 0x2a1c00,6,
 0x2a1c20,6,
@@ -9415,25 +9170,19 @@
 0x2a251c,7,
 0x2a2540,1,
 0x2a2c00,13,
-0x2a2c40,12,
-0x2a2c80,13,
-0x2a2cc0,12,
+0x2a2c40,13,
 0x2a2d00,6,
-0x2a2d20,6,
 0x2a2d80,14,
 0x2a2dc0,2,
-0x2a2e40,11,
+0x2a2e20,6,
+0x2a2e60,3,
 0x2a2e80,6,
-0x2a2ea0,6,
 0x2a3000,2,
 0x2a3010,5,
 0x2a3060,32,
 0x2a3100,8,
-0x2a3180,3,
-0x2a3190,2,
-0x2a319c,5,
-0x2a3218,9,
-0x2a3240,3,
+0x2a3180,12,
+0x2a3218,13,
 0x2a3250,6,
 0x2a3280,1,
 0x2a3288,6,
@@ -9442,8 +9191,6 @@
 0x2a3424,2,
 0x2a3500,5,
 0x2a3520,4,
-0x2a3540,5,
-0x2a3560,4,
 0x2a3800,24,
 0x2a3864,5,
 0x2a3880,8,
@@ -9454,8 +9201,6 @@
 0x2a3a60,1,
 0x2a3a68,23,
 0x2a3ac8,6,
-0x2a3b00,17,
-0x2a3b48,6,
 0x2a3b80,12,
 0x2a3c00,6,
 0x2a3c20,6,
@@ -9641,13 +9386,13 @@
 0x2a88b4,3,
 0x2a9000,6,
 0x2a9020,6,
-0x2a9040,3,
+0x2a9040,4,
 0x2a9080,14,
 0x2a90bc,1,
 0x2a90c4,13,
 0x2a90fc,1,
 0x2a9200,20,
-0x2a925c,30,
+0x2a925c,31,
 0x2a9300,24,
 0x2a9380,2,
 0x2a93a0,1,
@@ -9656,21 +9401,21 @@
 0x2a9420,11,
 0x2a9460,3,
 0x2a9480,6,
-0x2a9500,6,
+0x2a9500,7,
 0x2a9520,6,
 0x2a9540,1,
 0x2a9558,2,
 0x2a9600,17,
-0x2a9800,410,
+0x2a9800,496,
 0x2aa000,6,
 0x2aa020,6,
-0x2aa040,3,
+0x2aa040,4,
 0x2aa080,14,
 0x2aa0bc,1,
 0x2aa0c4,13,
 0x2aa0fc,1,
 0x2aa200,20,
-0x2aa25c,30,
+0x2aa25c,31,
 0x2aa300,24,
 0x2aa380,2,
 0x2aa3a0,1,
@@ -9679,12 +9424,12 @@
 0x2aa420,11,
 0x2aa460,3,
 0x2aa480,6,
-0x2aa500,6,
+0x2aa500,7,
 0x2aa520,6,
 0x2aa540,1,
 0x2aa558,2,
 0x2aa600,17,
-0x2aa800,410,
+0x2aa800,496,
 0x2ab000,4,
 0x2ab020,25,
 0x2ab088,8,
@@ -9810,25 +9555,19 @@
 0x2b051c,7,
 0x2b0540,1,
 0x2b0c00,13,
-0x2b0c40,12,
-0x2b0c80,13,
-0x2b0cc0,12,
+0x2b0c40,13,
 0x2b0d00,6,
-0x2b0d20,6,
 0x2b0d80,14,
 0x2b0dc0,2,
-0x2b0e40,11,
+0x2b0e20,6,
+0x2b0e60,3,
 0x2b0e80,6,
-0x2b0ea0,6,
 0x2b1000,2,
 0x2b1010,5,
 0x2b1060,32,
 0x2b1100,8,
-0x2b1180,3,
-0x2b1190,2,
-0x2b119c,5,
-0x2b1218,9,
-0x2b1240,3,
+0x2b1180,12,
+0x2b1218,13,
 0x2b1250,6,
 0x2b1280,1,
 0x2b1288,6,
@@ -9837,8 +9576,6 @@
 0x2b1424,2,
 0x2b1500,5,
 0x2b1520,4,
-0x2b1540,5,
-0x2b1560,4,
 0x2b1800,24,
 0x2b1864,5,
 0x2b1880,8,
@@ -9849,8 +9586,6 @@
 0x2b1a60,1,
 0x2b1a68,23,
 0x2b1ac8,6,
-0x2b1b00,17,
-0x2b1b48,6,
 0x2b1b80,12,
 0x2b1c00,6,
 0x2b1c20,6,
@@ -9883,25 +9618,19 @@
 0x2b251c,7,
 0x2b2540,1,
 0x2b2c00,13,
-0x2b2c40,12,
-0x2b2c80,13,
-0x2b2cc0,12,
+0x2b2c40,13,
 0x2b2d00,6,
-0x2b2d20,6,
 0x2b2d80,14,
 0x2b2dc0,2,
-0x2b2e40,11,
+0x2b2e20,6,
+0x2b2e60,3,
 0x2b2e80,6,
-0x2b2ea0,6,
 0x2b3000,2,
 0x2b3010,5,
 0x2b3060,32,
 0x2b3100,8,
-0x2b3180,3,
-0x2b3190,2,
-0x2b319c,5,
-0x2b3218,9,
-0x2b3240,3,
+0x2b3180,12,
+0x2b3218,13,
 0x2b3250,6,
 0x2b3280,1,
 0x2b3288,6,
@@ -9910,8 +9639,6 @@
 0x2b3424,2,
 0x2b3500,5,
 0x2b3520,4,
-0x2b3540,5,
-0x2b3560,4,
 0x2b3800,24,
 0x2b3864,5,
 0x2b3880,8,
@@ -9922,8 +9649,6 @@
 0x2b3a60,1,
 0x2b3a68,23,
 0x2b3ac8,6,
-0x2b3b00,17,
-0x2b3b48,6,
 0x2b3b80,12,
 0x2b3c00,6,
 0x2b3c20,6,
@@ -10109,13 +9834,13 @@
 0x2b88b4,3,
 0x2b9000,6,
 0x2b9020,6,
-0x2b9040,3,
+0x2b9040,4,
 0x2b9080,14,
 0x2b90bc,1,
 0x2b90c4,13,
 0x2b90fc,1,
 0x2b9200,20,
-0x2b925c,30,
+0x2b925c,31,
 0x2b9300,24,
 0x2b9380,2,
 0x2b93a0,1,
@@ -10124,21 +9849,21 @@
 0x2b9420,11,
 0x2b9460,3,
 0x2b9480,6,
-0x2b9500,6,
+0x2b9500,7,
 0x2b9520,6,
 0x2b9540,1,
 0x2b9558,2,
 0x2b9600,17,
-0x2b9800,410,
+0x2b9800,496,
 0x2ba000,6,
 0x2ba020,6,
-0x2ba040,3,
+0x2ba040,4,
 0x2ba080,14,
 0x2ba0bc,1,
 0x2ba0c4,13,
 0x2ba0fc,1,
 0x2ba200,20,
-0x2ba25c,30,
+0x2ba25c,31,
 0x2ba300,24,
 0x2ba380,2,
 0x2ba3a0,1,
@@ -10147,12 +9872,12 @@
 0x2ba420,11,
 0x2ba460,3,
 0x2ba480,6,
-0x2ba500,6,
+0x2ba500,7,
 0x2ba520,6,
 0x2ba540,1,
 0x2ba558,2,
 0x2ba600,17,
-0x2ba800,410,
+0x2ba800,496,
 0x2bb000,4,
 0x2bb020,25,
 0x2bb088,8,
@@ -10278,25 +10003,19 @@
 0x2c051c,7,
 0x2c0540,1,
 0x2c0c00,13,
-0x2c0c40,12,
-0x2c0c80,13,
-0x2c0cc0,12,
+0x2c0c40,13,
 0x2c0d00,6,
-0x2c0d20,6,
 0x2c0d80,14,
 0x2c0dc0,2,
-0x2c0e40,11,
+0x2c0e20,6,
+0x2c0e60,3,
 0x2c0e80,6,
-0x2c0ea0,6,
 0x2c1000,2,
 0x2c1010,5,
 0x2c1060,32,
 0x2c1100,8,
-0x2c1180,3,
-0x2c1190,2,
-0x2c119c,5,
-0x2c1218,9,
-0x2c1240,3,
+0x2c1180,12,
+0x2c1218,13,
 0x2c1250,6,
 0x2c1280,1,
 0x2c1288,6,
@@ -10305,8 +10024,6 @@
 0x2c1424,2,
 0x2c1500,5,
 0x2c1520,4,
-0x2c1540,5,
-0x2c1560,4,
 0x2c1800,24,
 0x2c1864,5,
 0x2c1880,8,
@@ -10317,8 +10034,6 @@
 0x2c1a60,1,
 0x2c1a68,23,
 0x2c1ac8,6,
-0x2c1b00,17,
-0x2c1b48,6,
 0x2c1b80,12,
 0x2c1c00,6,
 0x2c1c20,6,
@@ -10351,25 +10066,19 @@
 0x2c251c,7,
 0x2c2540,1,
 0x2c2c00,13,
-0x2c2c40,12,
-0x2c2c80,13,
-0x2c2cc0,12,
+0x2c2c40,13,
 0x2c2d00,6,
-0x2c2d20,6,
 0x2c2d80,14,
 0x2c2dc0,2,
-0x2c2e40,11,
+0x2c2e20,6,
+0x2c2e60,3,
 0x2c2e80,6,
-0x2c2ea0,6,
 0x2c3000,2,
 0x2c3010,5,
 0x2c3060,32,
 0x2c3100,8,
-0x2c3180,3,
-0x2c3190,2,
-0x2c319c,5,
-0x2c3218,9,
-0x2c3240,3,
+0x2c3180,12,
+0x2c3218,13,
 0x2c3250,6,
 0x2c3280,1,
 0x2c3288,6,
@@ -10378,8 +10087,6 @@
 0x2c3424,2,
 0x2c3500,5,
 0x2c3520,4,
-0x2c3540,5,
-0x2c3560,4,
 0x2c3800,24,
 0x2c3864,5,
 0x2c3880,8,
@@ -10390,8 +10097,6 @@
 0x2c3a60,1,
 0x2c3a68,23,
 0x2c3ac8,6,
-0x2c3b00,17,
-0x2c3b48,6,
 0x2c3b80,12,
 0x2c3c00,6,
 0x2c3c20,6,
@@ -10577,13 +10282,13 @@
 0x2c88b4,3,
 0x2c9000,6,
 0x2c9020,6,
-0x2c9040,3,
+0x2c9040,4,
 0x2c9080,14,
 0x2c90bc,1,
 0x2c90c4,13,
 0x2c90fc,1,
 0x2c9200,20,
-0x2c925c,30,
+0x2c925c,31,
 0x2c9300,24,
 0x2c9380,2,
 0x2c93a0,1,
@@ -10592,21 +10297,21 @@
 0x2c9420,11,
 0x2c9460,3,
 0x2c9480,6,
-0x2c9500,6,
+0x2c9500,7,
 0x2c9520,6,
 0x2c9540,1,
 0x2c9558,2,
 0x2c9600,17,
-0x2c9800,410,
+0x2c9800,496,
 0x2ca000,6,
 0x2ca020,6,
-0x2ca040,3,
+0x2ca040,4,
 0x2ca080,14,
 0x2ca0bc,1,
 0x2ca0c4,13,
 0x2ca0fc,1,
 0x2ca200,20,
-0x2ca25c,30,
+0x2ca25c,31,
 0x2ca300,24,
 0x2ca380,2,
 0x2ca3a0,1,
@@ -10615,12 +10320,12 @@
 0x2ca420,11,
 0x2ca460,3,
 0x2ca480,6,
-0x2ca500,6,
+0x2ca500,7,
 0x2ca520,6,
 0x2ca540,1,
 0x2ca558,2,
 0x2ca600,17,
-0x2ca800,410,
+0x2ca800,496,
 0x2cb000,4,
 0x2cb020,25,
 0x2cb088,8,
@@ -10746,25 +10451,19 @@
 0x2d051c,7,
 0x2d0540,1,
 0x2d0c00,13,
-0x2d0c40,12,
-0x2d0c80,13,
-0x2d0cc0,12,
+0x2d0c40,13,
 0x2d0d00,6,
-0x2d0d20,6,
 0x2d0d80,14,
 0x2d0dc0,2,
-0x2d0e40,11,
+0x2d0e20,6,
+0x2d0e60,3,
 0x2d0e80,6,
-0x2d0ea0,6,
 0x2d1000,2,
 0x2d1010,5,
 0x2d1060,32,
 0x2d1100,8,
-0x2d1180,3,
-0x2d1190,2,
-0x2d119c,5,
-0x2d1218,9,
-0x2d1240,3,
+0x2d1180,12,
+0x2d1218,13,
 0x2d1250,6,
 0x2d1280,1,
 0x2d1288,6,
@@ -10773,8 +10472,6 @@
 0x2d1424,2,
 0x2d1500,5,
 0x2d1520,4,
-0x2d1540,5,
-0x2d1560,4,
 0x2d1800,24,
 0x2d1864,5,
 0x2d1880,8,
@@ -10785,8 +10482,6 @@
 0x2d1a60,1,
 0x2d1a68,23,
 0x2d1ac8,6,
-0x2d1b00,17,
-0x2d1b48,6,
 0x2d1b80,12,
 0x2d1c00,6,
 0x2d1c20,6,
@@ -10819,25 +10514,19 @@
 0x2d251c,7,
 0x2d2540,1,
 0x2d2c00,13,
-0x2d2c40,12,
-0x2d2c80,13,
-0x2d2cc0,12,
+0x2d2c40,13,
 0x2d2d00,6,
-0x2d2d20,6,
 0x2d2d80,14,
 0x2d2dc0,2,
-0x2d2e40,11,
+0x2d2e20,6,
+0x2d2e60,3,
 0x2d2e80,6,
-0x2d2ea0,6,
 0x2d3000,2,
 0x2d3010,5,
 0x2d3060,32,
 0x2d3100,8,
-0x2d3180,3,
-0x2d3190,2,
-0x2d319c,5,
-0x2d3218,9,
-0x2d3240,3,
+0x2d3180,12,
+0x2d3218,13,
 0x2d3250,6,
 0x2d3280,1,
 0x2d3288,6,
@@ -10846,8 +10535,6 @@
 0x2d3424,2,
 0x2d3500,5,
 0x2d3520,4,
-0x2d3540,5,
-0x2d3560,4,
 0x2d3800,24,
 0x2d3864,5,
 0x2d3880,8,
@@ -10858,8 +10545,6 @@
 0x2d3a60,1,
 0x2d3a68,23,
 0x2d3ac8,6,
-0x2d3b00,17,
-0x2d3b48,6,
 0x2d3b80,12,
 0x2d3c00,6,
 0x2d3c20,6,
@@ -11062,13 +10747,13 @@
 0x2d88b4,3,
 0x2d9000,6,
 0x2d9020,6,
-0x2d9040,3,
+0x2d9040,4,
 0x2d9080,14,
 0x2d90bc,1,
 0x2d90c4,13,
 0x2d90fc,1,
 0x2d9200,20,
-0x2d925c,30,
+0x2d925c,31,
 0x2d9300,24,
 0x2d9380,2,
 0x2d93a0,1,
@@ -11077,21 +10762,21 @@
 0x2d9420,11,
 0x2d9460,3,
 0x2d9480,6,
-0x2d9500,6,
+0x2d9500,7,
 0x2d9520,6,
 0x2d9540,1,
 0x2d9558,2,
 0x2d9600,17,
-0x2d9800,410,
+0x2d9800,496,
 0x2da000,6,
 0x2da020,6,
-0x2da040,3,
+0x2da040,4,
 0x2da080,14,
 0x2da0bc,1,
 0x2da0c4,13,
 0x2da0fc,1,
 0x2da200,20,
-0x2da25c,30,
+0x2da25c,31,
 0x2da300,24,
 0x2da380,2,
 0x2da3a0,1,
@@ -11100,12 +10785,12 @@
 0x2da420,11,
 0x2da460,3,
 0x2da480,6,
-0x2da500,6,
+0x2da500,7,
 0x2da520,6,
 0x2da540,1,
 0x2da558,2,
 0x2da600,17,
-0x2da800,410,
+0x2da800,496,
 0x2db000,4,
 0x2db020,25,
 0x2db088,8,
@@ -11231,25 +10916,19 @@
 0x2e051c,7,
 0x2e0540,1,
 0x2e0c00,13,
-0x2e0c40,12,
-0x2e0c80,13,
-0x2e0cc0,12,
+0x2e0c40,13,
 0x2e0d00,6,
-0x2e0d20,6,
 0x2e0d80,14,
 0x2e0dc0,2,
-0x2e0e40,11,
+0x2e0e20,6,
+0x2e0e60,3,
 0x2e0e80,6,
-0x2e0ea0,6,
 0x2e1000,2,
 0x2e1010,5,
 0x2e1060,32,
 0x2e1100,8,
-0x2e1180,3,
-0x2e1190,2,
-0x2e119c,5,
-0x2e1218,9,
-0x2e1240,3,
+0x2e1180,12,
+0x2e1218,13,
 0x2e1250,6,
 0x2e1280,1,
 0x2e1288,6,
@@ -11258,8 +10937,6 @@
 0x2e1424,2,
 0x2e1500,5,
 0x2e1520,4,
-0x2e1540,5,
-0x2e1560,4,
 0x2e1800,24,
 0x2e1864,5,
 0x2e1880,8,
@@ -11270,8 +10947,6 @@
 0x2e1a60,1,
 0x2e1a68,23,
 0x2e1ac8,6,
-0x2e1b00,17,
-0x2e1b48,6,
 0x2e1b80,12,
 0x2e1c00,6,
 0x2e1c20,6,
@@ -11304,25 +10979,19 @@
 0x2e251c,7,
 0x2e2540,1,
 0x2e2c00,13,
-0x2e2c40,12,
-0x2e2c80,13,
-0x2e2cc0,12,
+0x2e2c40,13,
 0x2e2d00,6,
-0x2e2d20,6,
 0x2e2d80,14,
 0x2e2dc0,2,
-0x2e2e40,11,
+0x2e2e20,6,
+0x2e2e60,3,
 0x2e2e80,6,
-0x2e2ea0,6,
 0x2e3000,2,
 0x2e3010,5,
 0x2e3060,32,
 0x2e3100,8,
-0x2e3180,3,
-0x2e3190,2,
-0x2e319c,5,
-0x2e3218,9,
-0x2e3240,3,
+0x2e3180,12,
+0x2e3218,13,
 0x2e3250,6,
 0x2e3280,1,
 0x2e3288,6,
@@ -11331,8 +11000,6 @@
 0x2e3424,2,
 0x2e3500,5,
 0x2e3520,4,
-0x2e3540,5,
-0x2e3560,4,
 0x2e3800,24,
 0x2e3864,5,
 0x2e3880,8,
@@ -11343,8 +11010,6 @@
 0x2e3a60,1,
 0x2e3a68,23,
 0x2e3ac8,6,
-0x2e3b00,17,
-0x2e3b48,6,
 0x2e3b80,12,
 0x2e3c00,6,
 0x2e3c20,6,
@@ -11530,13 +11195,13 @@
 0x2e88b4,3,
 0x2e9000,6,
 0x2e9020,6,
-0x2e9040,3,
+0x2e9040,4,
 0x2e9080,14,
 0x2e90bc,1,
 0x2e90c4,13,
 0x2e90fc,1,
 0x2e9200,20,
-0x2e925c,30,
+0x2e925c,31,
 0x2e9300,24,
 0x2e9380,2,
 0x2e93a0,1,
@@ -11545,21 +11210,21 @@
 0x2e9420,11,
 0x2e9460,3,
 0x2e9480,6,
-0x2e9500,6,
+0x2e9500,7,
 0x2e9520,6,
 0x2e9540,1,
 0x2e9558,2,
 0x2e9600,17,
-0x2e9800,410,
+0x2e9800,496,
 0x2ea000,6,
 0x2ea020,6,
-0x2ea040,3,
+0x2ea040,4,
 0x2ea080,14,
 0x2ea0bc,1,
 0x2ea0c4,13,
 0x2ea0fc,1,
 0x2ea200,20,
-0x2ea25c,30,
+0x2ea25c,31,
 0x2ea300,24,
 0x2ea380,2,
 0x2ea3a0,1,
@@ -11568,12 +11233,12 @@
 0x2ea420,11,
 0x2ea460,3,
 0x2ea480,6,
-0x2ea500,6,
+0x2ea500,7,
 0x2ea520,6,
 0x2ea540,1,
 0x2ea558,2,
 0x2ea600,17,
-0x2ea800,410,
+0x2ea800,496,
 0x2eb000,4,
 0x2eb020,25,
 0x2eb088,8,
@@ -11699,25 +11364,19 @@
 0x2f051c,7,
 0x2f0540,1,
 0x2f0c00,13,
-0x2f0c40,12,
-0x2f0c80,13,
-0x2f0cc0,12,
+0x2f0c40,13,
 0x2f0d00,6,
-0x2f0d20,6,
 0x2f0d80,14,
 0x2f0dc0,2,
-0x2f0e40,11,
+0x2f0e20,6,
+0x2f0e60,3,
 0x2f0e80,6,
-0x2f0ea0,6,
 0x2f1000,2,
 0x2f1010,5,
 0x2f1060,32,
 0x2f1100,8,
-0x2f1180,3,
-0x2f1190,2,
-0x2f119c,5,
-0x2f1218,9,
-0x2f1240,3,
+0x2f1180,12,
+0x2f1218,13,
 0x2f1250,6,
 0x2f1280,1,
 0x2f1288,6,
@@ -11726,8 +11385,6 @@
 0x2f1424,2,
 0x2f1500,5,
 0x2f1520,4,
-0x2f1540,5,
-0x2f1560,4,
 0x2f1800,24,
 0x2f1864,5,
 0x2f1880,8,
@@ -11738,8 +11395,6 @@
 0x2f1a60,1,
 0x2f1a68,23,
 0x2f1ac8,6,
-0x2f1b00,17,
-0x2f1b48,6,
 0x2f1b80,12,
 0x2f1c00,6,
 0x2f1c20,6,
@@ -11772,25 +11427,19 @@
 0x2f251c,7,
 0x2f2540,1,
 0x2f2c00,13,
-0x2f2c40,12,
-0x2f2c80,13,
-0x2f2cc0,12,
+0x2f2c40,13,
 0x2f2d00,6,
-0x2f2d20,6,
 0x2f2d80,14,
 0x2f2dc0,2,
-0x2f2e40,11,
+0x2f2e20,6,
+0x2f2e60,3,
 0x2f2e80,6,
-0x2f2ea0,6,
 0x2f3000,2,
 0x2f3010,5,
 0x2f3060,32,
 0x2f3100,8,
-0x2f3180,3,
-0x2f3190,2,
-0x2f319c,5,
-0x2f3218,9,
-0x2f3240,3,
+0x2f3180,12,
+0x2f3218,13,
 0x2f3250,6,
 0x2f3280,1,
 0x2f3288,6,
@@ -11799,8 +11448,6 @@
 0x2f3424,2,
 0x2f3500,5,
 0x2f3520,4,
-0x2f3540,5,
-0x2f3560,4,
 0x2f3800,24,
 0x2f3864,5,
 0x2f3880,8,
@@ -11811,8 +11458,6 @@
 0x2f3a60,1,
 0x2f3a68,23,
 0x2f3ac8,6,
-0x2f3b00,17,
-0x2f3b48,6,
 0x2f3b80,12,
 0x2f3c00,6,
 0x2f3c20,6,
@@ -11998,13 +11643,13 @@
 0x2f88b4,3,
 0x2f9000,6,
 0x2f9020,6,
-0x2f9040,3,
+0x2f9040,4,
 0x2f9080,14,
 0x2f90bc,1,
 0x2f90c4,13,
 0x2f90fc,1,
 0x2f9200,20,
-0x2f925c,30,
+0x2f925c,31,
 0x2f9300,24,
 0x2f9380,2,
 0x2f93a0,1,
@@ -12013,21 +11658,21 @@
 0x2f9420,11,
 0x2f9460,3,
 0x2f9480,6,
-0x2f9500,6,
+0x2f9500,7,
 0x2f9520,6,
 0x2f9540,1,
 0x2f9558,2,
 0x2f9600,17,
-0x2f9800,410,
+0x2f9800,496,
 0x2fa000,6,
 0x2fa020,6,
-0x2fa040,3,
+0x2fa040,4,
 0x2fa080,14,
 0x2fa0bc,1,
 0x2fa0c4,13,
 0x2fa0fc,1,
 0x2fa200,20,
-0x2fa25c,30,
+0x2fa25c,31,
 0x2fa300,24,
 0x2fa380,2,
 0x2fa3a0,1,
@@ -12036,12 +11681,12 @@
 0x2fa420,11,
 0x2fa460,3,
 0x2fa480,6,
-0x2fa500,6,
+0x2fa500,7,
 0x2fa520,6,
 0x2fa540,1,
 0x2fa558,2,
 0x2fa600,17,
-0x2fa800,410,
+0x2fa800,496,
 0x2fb000,4,
 0x2fb020,25,
 0x2fb088,8,
@@ -12167,25 +11812,19 @@
 0x30051c,7,
 0x300540,1,
 0x300c00,13,
-0x300c40,12,
-0x300c80,13,
-0x300cc0,12,
+0x300c40,13,
 0x300d00,6,
-0x300d20,6,
 0x300d80,14,
 0x300dc0,2,
-0x300e40,11,
+0x300e20,6,
+0x300e60,3,
 0x300e80,6,
-0x300ea0,6,
 0x301000,2,
 0x301010,5,
 0x301060,32,
 0x301100,8,
-0x301180,3,
-0x301190,2,
-0x30119c,5,
-0x301218,9,
-0x301240,3,
+0x301180,12,
+0x301218,13,
 0x301250,6,
 0x301280,1,
 0x301288,6,
@@ -12194,8 +11833,6 @@
 0x301424,2,
 0x301500,5,
 0x301520,4,
-0x301540,5,
-0x301560,4,
 0x301800,24,
 0x301864,5,
 0x301880,8,
@@ -12206,8 +11843,6 @@
 0x301a60,1,
 0x301a68,23,
 0x301ac8,6,
-0x301b00,17,
-0x301b48,6,
 0x301b80,12,
 0x301c00,6,
 0x301c20,6,
@@ -12240,25 +11875,19 @@
 0x30251c,7,
 0x302540,1,
 0x302c00,13,
-0x302c40,12,
-0x302c80,13,
-0x302cc0,12,
+0x302c40,13,
 0x302d00,6,
-0x302d20,6,
 0x302d80,14,
 0x302dc0,2,
-0x302e40,11,
+0x302e20,6,
+0x302e60,3,
 0x302e80,6,
-0x302ea0,6,
 0x303000,2,
 0x303010,5,
 0x303060,32,
 0x303100,8,
-0x303180,3,
-0x303190,2,
-0x30319c,5,
-0x303218,9,
-0x303240,3,
+0x303180,12,
+0x303218,13,
 0x303250,6,
 0x303280,1,
 0x303288,6,
@@ -12267,8 +11896,6 @@
 0x303424,2,
 0x303500,5,
 0x303520,4,
-0x303540,5,
-0x303560,4,
 0x303800,24,
 0x303864,5,
 0x303880,8,
@@ -12279,8 +11906,6 @@
 0x303a60,1,
 0x303a68,23,
 0x303ac8,6,
-0x303b00,17,
-0x303b48,6,
 0x303b80,12,
 0x303c00,6,
 0x303c20,6,
@@ -12466,13 +12091,13 @@
 0x3088b4,3,
 0x309000,6,
 0x309020,6,
-0x309040,3,
+0x309040,4,
 0x309080,14,
 0x3090bc,1,
 0x3090c4,13,
 0x3090fc,1,
 0x309200,20,
-0x30925c,30,
+0x30925c,31,
 0x309300,24,
 0x309380,2,
 0x3093a0,1,
@@ -12481,21 +12106,21 @@
 0x309420,11,
 0x309460,3,
 0x309480,6,
-0x309500,6,
+0x309500,7,
 0x309520,6,
 0x309540,1,
 0x309558,2,
 0x309600,17,
-0x309800,410,
+0x309800,496,
 0x30a000,6,
 0x30a020,6,
-0x30a040,3,
+0x30a040,4,
 0x30a080,14,
 0x30a0bc,1,
 0x30a0c4,13,
 0x30a0fc,1,
 0x30a200,20,
-0x30a25c,30,
+0x30a25c,31,
 0x30a300,24,
 0x30a380,2,
 0x30a3a0,1,
@@ -12504,12 +12129,12 @@
 0x30a420,11,
 0x30a460,3,
 0x30a480,6,
-0x30a500,6,
+0x30a500,7,
 0x30a520,6,
 0x30a540,1,
 0x30a558,2,
 0x30a600,17,
-0x30a800,410,
+0x30a800,496,
 0x30b000,4,
 0x30b020,25,
 0x30b088,8,
@@ -12635,25 +12260,19 @@
 0x31051c,7,
 0x310540,1,
 0x310c00,13,
-0x310c40,12,
-0x310c80,13,
-0x310cc0,12,
+0x310c40,13,
 0x310d00,6,
-0x310d20,6,
 0x310d80,14,
 0x310dc0,2,
-0x310e40,11,
+0x310e20,6,
+0x310e60,3,
 0x310e80,6,
-0x310ea0,6,
 0x311000,2,
 0x311010,5,
 0x311060,32,
 0x311100,8,
-0x311180,3,
-0x311190,2,
-0x31119c,5,
-0x311218,9,
-0x311240,3,
+0x311180,12,
+0x311218,13,
 0x311250,6,
 0x311280,1,
 0x311288,6,
@@ -12662,8 +12281,6 @@
 0x311424,2,
 0x311500,5,
 0x311520,4,
-0x311540,5,
-0x311560,4,
 0x311800,24,
 0x311864,5,
 0x311880,8,
@@ -12674,8 +12291,6 @@
 0x311a60,1,
 0x311a68,23,
 0x311ac8,6,
-0x311b00,17,
-0x311b48,6,
 0x311b80,12,
 0x311c00,6,
 0x311c20,6,
@@ -12708,25 +12323,19 @@
 0x31251c,7,
 0x312540,1,
 0x312c00,13,
-0x312c40,12,
-0x312c80,13,
-0x312cc0,12,
+0x312c40,13,
 0x312d00,6,
-0x312d20,6,
 0x312d80,14,
 0x312dc0,2,
-0x312e40,11,
+0x312e20,6,
+0x312e60,3,
 0x312e80,6,
-0x312ea0,6,
 0x313000,2,
 0x313010,5,
 0x313060,32,
 0x313100,8,
-0x313180,3,
-0x313190,2,
-0x31319c,5,
-0x313218,9,
-0x313240,3,
+0x313180,12,
+0x313218,13,
 0x313250,6,
 0x313280,1,
 0x313288,6,
@@ -12735,8 +12344,6 @@
 0x313424,2,
 0x313500,5,
 0x313520,4,
-0x313540,5,
-0x313560,4,
 0x313800,24,
 0x313864,5,
 0x313880,8,
@@ -12747,8 +12354,6 @@
 0x313a60,1,
 0x313a68,23,
 0x313ac8,6,
-0x313b00,17,
-0x313b48,6,
 0x313b80,12,
 0x313c00,6,
 0x313c20,6,
@@ -12934,13 +12539,13 @@
 0x3188b4,3,
 0x319000,6,
 0x319020,6,
-0x319040,3,
+0x319040,4,
 0x319080,14,
 0x3190bc,1,
 0x3190c4,13,
 0x3190fc,1,
 0x319200,20,
-0x31925c,30,
+0x31925c,31,
 0x319300,24,
 0x319380,2,
 0x3193a0,1,
@@ -12949,21 +12554,21 @@
 0x319420,11,
 0x319460,3,
 0x319480,6,
-0x319500,6,
+0x319500,7,
 0x319520,6,
 0x319540,1,
 0x319558,2,
 0x319600,17,
-0x319800,410,
+0x319800,496,
 0x31a000,6,
 0x31a020,6,
-0x31a040,3,
+0x31a040,4,
 0x31a080,14,
 0x31a0bc,1,
 0x31a0c4,13,
 0x31a0fc,1,
 0x31a200,20,
-0x31a25c,30,
+0x31a25c,31,
 0x31a300,24,
 0x31a380,2,
 0x31a3a0,1,
@@ -12972,12 +12577,12 @@
 0x31a420,11,
 0x31a460,3,
 0x31a480,6,
-0x31a500,6,
+0x31a500,7,
 0x31a520,6,
 0x31a540,1,
 0x31a558,2,
 0x31a600,17,
-0x31a800,410,
+0x31a800,496,
 0x31b000,4,
 0x31b020,25,
 0x31b088,8,
diff --git a/mstflint.spec b/mstflint.spec
index 778458f..7e1e6aa 100644
--- a/mstflint.spec
+++ b/mstflint.spec
@@ -1,6 +1,6 @@
 %{!?ibmadlib: %define ibmadlib libibmad-devel}
 %{!?name: %define name mstflint}
-%{!?version: %define version 4.4.0}
+%{!?version: %define version 4.6.0}
 %{!?release: %define release 1}
 %{!?buildtype: %define buildtype "native"}
 %{!?noinband: %define noinband 0}
@@ -12,13 +12,13 @@
 
 Summary: Mellanox firmware burning application
 Name: %{name}
-Version: 4.5.0
-Release: 1.17.g8a0c39d
+Version: 4.6.0
+Release: 1
 License: GPL/BSD
 Url: http://openfabrics.org
 Group: System Environment/Base
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
-Source: http://www.openfabrics.org/downloads/mstflint-4.5.0-1.17.g8a0c39d.tar.gz
+Source: http://www.openfabrics.org/downloads/mstflint-4.6.0.tar.gz
 ExclusiveArch: i386 i486 i586 i686 x86_64 ia64 ppc ppc64 ppc64le arm64 aarch64
 BuildRequires: zlib-devel %{ibmadlib}
 
@@ -90,7 +90,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_bindir}/mstvpd
 %{_bindir}/mstmcra
 %{_bindir}/mstconfig
-%{_bindir}/hca_self_test.ofed
 
 %{_includedir}/mstflint/mtcr.h
 %{_includedir}/mstflint/mtcr_com_defs.h
@@ -103,6 +102,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/*
 
 %changelog
+* Mon Jan 10 2017 Adham Masarwah <adham at dev.mellanox.co.il>
+   Removed hca_self_test.ofed installation from the package
+    
+* Mon Jan 9 2017 Adham Masarwah <adham at dev.mellanox.co.il>
+   MFT 4.6.0 Updates
+    
 * Wed May 17 2016 Adrian Chiris <adrianc at dev.mellanox.co.il>
    MFT 4.4.0 Updates
    
diff --git a/mstflint.spec.in b/mstflint.spec.in
index 18807a8..75b7c36 100644
--- a/mstflint.spec.in
+++ b/mstflint.spec.in
@@ -1,6 +1,6 @@
 %{!?ibmadlib: %define ibmadlib libibmad-devel}
 %{!?name: %define name mstflint}
-%{!?version: %define version 4.4.0}
+%{!?version: %define version 4.6.0}
 %{!?release: %define release 1}
 %{!?buildtype: %define buildtype "native"}
 %{!?noinband: %define noinband 0}
@@ -90,7 +90,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_bindir}/mstvpd
 %{_bindir}/mstmcra
 %{_bindir}/mstconfig
-%{_bindir}/hca_self_test.ofed
 
 %{_includedir}/mstflint/mtcr.h
 %{_includedir}/mstflint/mtcr_com_defs.h
@@ -103,6 +102,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/*
 
 %changelog
+* Mon Jan 10 2017 Adham Masarwah <adham at dev.mellanox.co.il>
+   Removed hca_self_test.ofed installation from the package
+    
+* Mon Jan 9 2017 Adham Masarwah <adham at dev.mellanox.co.il>
+   MFT 4.6.0 Updates
+    
 * Wed May 17 2016 Adrian Chiris <adrianc at dev.mellanox.co.il>
    MFT 4.4.0 Updates
    
diff --git a/mtcr_ul/mtcr_ib_ofed.c b/mtcr_ul/mtcr_ib_ofed.c
index 971d4b8..3ba1b89 100644
--- a/mtcr_ul/mtcr_ib_ofed.c
+++ b/mtcr_ul/mtcr_ib_ofed.c
@@ -782,7 +782,7 @@ mib_close(mfile *mf)
     return 0;
 }
 
-#define CHECK_ALLIGN(length) { \
+#define CHECK_ALIGN(length) { \
     if (length % 4) {                                       \
         IBERROR(("Size must be 4 aligned, got %d", length));\
         return -1;                                          \
@@ -857,7 +857,7 @@ MTCR_API int mib_readblock(mfile *mf, unsigned int offset, u_int32_t *data, int
     }
     ibvs_mad* h = (ibvs_mad*)(mf->ctx);
 
-    CHECK_ALLIGN(length);
+    CHECK_ALIGN(length);
 
     if (ibvsmad_craccess_rw(h, offset, IB_MAD_METHOD_GET, (length / 4), data) == ~0ull) {
         IBERROR(("cr access read to %s failed", h->portid2str(&h->portid)));
@@ -874,7 +874,7 @@ MTCR_API int mib_writeblock(mfile *mf, unsigned int offset, u_int32_t *data, int
     }
     ibvs_mad* h = (ibvs_mad*)(mf->ctx);
 
-    CHECK_ALLIGN(length);
+    CHECK_ALIGN(length);
 
     if (ibvsmad_craccess_rw(h, offset, IB_MAD_METHOD_SET, (length / 4), data) == ~0ull) {
         IBERROR(("cr access read to %s failed", h->portid2str(&h->portid)));
diff --git a/mtcr_ul/mtcr_int_defs.h b/mtcr_ul/mtcr_int_defs.h
index 09c75cc..7dfb068 100644
--- a/mtcr_ul/mtcr_int_defs.h
+++ b/mtcr_ul/mtcr_int_defs.h
@@ -54,7 +54,7 @@ typedef struct ul_ctx {
     f_mwrite4_block  mwrite4_block;
     f_maccess_reg    maccess_reg;
     f_mclose         mclose;
-
+    int              wo_addr; /* Is write Only Addr GW */
     /******** RESERVED FIELDS FOR SWITCHING METHOD IF NEEDED ******/
     int              res_access_type;
     int              res_fdlock;
diff --git a/mtcr_ul/mtcr_tools_cif.c b/mtcr_ul/mtcr_tools_cif.c
index 926054f..176454a 100644
--- a/mtcr_ul/mtcr_tools_cif.c
+++ b/mtcr_ul/mtcr_tools_cif.c
@@ -301,7 +301,7 @@ int tools_cmdif_send_inline_cmd(mfile* mf,
 // read from mailbox method. output[2] is in BigEndian
 static int tools_cmdif_mbox_read(mfile* mf, u_int32_t offset, u_int32_t output[2])
 {
-	if (!mf || (offset & 0x1) != 0 || !output) {// offset should be quad word alligned (i.e only even dwords)
+	if (!mf || (offset & 0x1) != 0 || !output) {// offset should be quad word aligned (i.e only even dwords)
 		return ME_BAD_PARAMS;
 	}
 	tools_cmdif cmdif;
@@ -324,7 +324,7 @@ static int tools_cmdif_mbox_read(mfile* mf, u_int32_t offset, u_int32_t output[2
 // write to mailbox method. input[2] is in BigEndian
 static int tools_cmdif_mbox_write(mfile* mf, u_int32_t offset, u_int32_t input[2])
 {
-	if (!mf || (offset & 0x1) != 0) {// offset should be quad word alligned (i.e only even dwords)
+	if (!mf || (offset & 0x1) != 0) {// offset should be quad word aligned (i.e only even dwords)
 		return ME_BAD_PARAMS;
 	}
 	tools_cmdif cmdif;
@@ -411,7 +411,7 @@ cleanup_no_sem:
     return val == MAGIC ? ME_OK : ME_CMDIF_NOT_SUPP;
 }
 
-#define COMPLEMENT_TO_QUAD_ALLIGNED(byte_sz) \
+#define COMPLEMENT_TO_QUAD_ALIGNED(byte_sz) \
         ((byte_sz) + ((8 - ((byte_sz) & 7) == 8) ? 0 : (8 - ((byte_sz) & 7))))
 
 int tools_cmdif_send_mbox_command_int(mfile* mf,
@@ -425,16 +425,16 @@ int tools_cmdif_send_mbox_command_int(mfile* mf,
                                            int skip_write,
                                            int use_cr_mbox)
 {
-    int read_data_size_quad_alligned =  COMPLEMENT_TO_QUAD_ALLIGNED(read_data_size);
-    int write_data_size_quad_alligned =  COMPLEMENT_TO_QUAD_ALLIGNED(write_data_size);
+    int read_data_size_quad_aligned =  COMPLEMENT_TO_QUAD_ALIGNED(read_data_size);
+    int write_data_size_quad_aligned =  COMPLEMENT_TO_QUAD_ALIGNED(write_data_size);
     int rc,
         i;
     /*printf("-D- opcode: 0x%x, opcode mod: 0x%x, data_offs_in_mbox: 0x%x, write_data_size: 0x%x(0x%x), read_data_size 0x%x(0x%x), skip_write: %d\n",\
-    		opcode, opcode_modifier, data_offs_in_mbox, write_data_size, write_data_size_quad_alligned, read_data_size, read_data_size_quad_alligned, skip_write);*/
+             opcode, opcode_modifier, data_offs_in_mbox, write_data_size, write_data_size_quad_aligned, read_data_size, read_data_size_quad_aligned, skip_write);*/
     // check params
     if (!mf || !data || data_offs_in_mbox < 0 || (data_offs_in_mbox & 7) != 0 || \
-            data_offs_in_mbox + read_data_size_quad_alligned > TOOLS_HCR_MAX_MBOX || \
-            data_offs_in_mbox + write_data_size_quad_alligned > TOOLS_HCR_MAX_MBOX) {
+            data_offs_in_mbox + read_data_size_quad_aligned > TOOLS_HCR_MAX_MBOX || \
+            data_offs_in_mbox + write_data_size_quad_aligned > TOOLS_HCR_MAX_MBOX) {
         return ME_BAD_PARAMS;
     }
     mpci_change(mf);
@@ -486,12 +486,12 @@ int tools_cmdif_send_mbox_command_int(mfile* mf,
     // read read_data_size bytes from mbox and update our data
      if (use_cr_mbox == 1) {
          // read mailbox from virtual CR-space
-         rc = tools_cmdif_cr_mbox_read(mf, data_offs_in_mbox, &mailbox[data_offs_in_mbox], read_data_size_quad_alligned);
+         rc = tools_cmdif_cr_mbox_read(mf, data_offs_in_mbox, &mailbox[data_offs_in_mbox], read_data_size_quad_aligned);
          if (rc) {
              goto cleanup;
          }
      } else {
-         for (i = data_offs_in_mbox ; i< (data_offs_in_mbox + read_data_size_quad_alligned); i+=8) { // it is required to write in quad word chunks (64bits each time)
+         for (i = data_offs_in_mbox ; i< (data_offs_in_mbox + read_data_size_quad_aligned); i+=8) { // it is required to write in quad word chunks (64bits each time)
              rc = tools_cmdif_mbox_read(mf, i/4, (u_int32_t*)&(mailbox[i]));
              if (rc) {
                  goto cleanup;
diff --git a/mtcr_ul/mtcr_ul.c b/mtcr_ul/mtcr_ul.c
index dddd1b5..a7620ce 100644
--- a/mtcr_ul/mtcr_ul.c
+++ b/mtcr_ul/mtcr_ul.c
@@ -94,6 +94,11 @@ dev_info* mdevices_info(int mask, int* len)
     return mdevices_info_ul(mask, len);
 }
 
+dev_info* mdevices_info_v(int mask, int* len, int verbosity)
+{
+    return mdevices_info_v_ul(mask, len, verbosity);
+}
+
 void mdevices_info_destroy(dev_info* dev_info, int len)
 {
     int i, j;
diff --git a/mtcr_ul/mtcr_ul_com.c b/mtcr_ul/mtcr_ul_com.c
index 7eeee31..50a663f 100644
--- a/mtcr_ul/mtcr_ul_com.c
+++ b/mtcr_ul/mtcr_ul_com.c
@@ -651,6 +651,30 @@ enum {
             }                                                               \
         } while (0)
 
+
+#define WO_REG_ADDR_DATA 0xbadacce5
+#define DEVID_OFFSET     0xf0014
+#define PCICONF_ADDR_OFF 0x58
+#define PCICONF_DATA_OFF 0x5c
+
+static int is_wo_pciconf_gw(mfile* mf)
+{
+    unsigned offset = DEVID_OFFSET;
+    u_int32_t data = 0;
+    int rc = pwrite(mf->fd, &offset, 4, PCICONF_ADDR_OFF);
+    if (rc < 0) {
+        return 0;
+    }
+    rc = pread(mf->fd, &data, 4, PCICONF_ADDR_OFF);
+    if (rc < 0) {
+        return 0;
+    }
+    if ( data == WO_REG_ADDR_DATA) {
+        return 1;
+    }
+    return 0;
+}
+
 int pci_find_capability(mfile* mf, int cap_id)
 {
     unsigned offset;
@@ -898,14 +922,18 @@ static int mwrite4_block_pciconf(mfile *mf, unsigned int offset, u_int32_t* data
 int mtcr_pciconf_mread4_old(mfile *mf, unsigned int offset, u_int32_t *value)
 {
     ul_ctx_t *ctx = mf->ul_ctx;
+    unsigned int new_offset = offset;
     int rc;
+    if (ctx->wo_addr) {
+        new_offset |= 0x1;
+    }
     // adrianc: PCI registers always in le32
-    offset = __cpu_to_le32(offset);
+    offset = __cpu_to_le32(new_offset);
     rc = _flock_int(ctx->fdlock, LOCK_EX);
     if (rc) {
         goto pciconf_read_cleanup;
     }
-    rc = pwrite(mf->fd, &offset, 4, 22 * 4);
+    rc = pwrite(mf->fd, &offset, 4, PCICONF_ADDR_OFF);
     if (rc < 0) {
         perror("write offset");
         goto pciconf_read_cleanup;
@@ -915,7 +943,7 @@ int mtcr_pciconf_mread4_old(mfile *mf, unsigned int offset, u_int32_t *value)
         goto pciconf_read_cleanup;
     }
 
-    rc = pread(mf->fd, value, 4, 23 * 4);
+    rc = pread(mf->fd, value, 4, PCICONF_DATA_OFF);
     if (rc < 0) {
         perror("read value");
         goto pciconf_read_cleanup;
@@ -934,20 +962,39 @@ int mtcr_pciconf_mwrite4_old(mfile *mf, unsigned int offset, u_int32_t value)
     if (rc) {
         goto pciconf_write_cleanup;
     }
-    rc = pwrite(mf->fd, &offset, 4, 22 * 4);
-    if (rc < 0) {
-        perror("write offset");
-        goto pciconf_write_cleanup;
-    }
-    if (rc != 4) {
-        rc = 0;
-        goto pciconf_write_cleanup;
-    }
-    value = __cpu_to_le32(value);
-    rc = pwrite(mf->fd, &value, 4, 23 * 4);
-    if (rc < 0) {
-        perror("write value");
-        goto pciconf_write_cleanup;
+    if (ctx->wo_addr) {
+        rc = pwrite(mf->fd, &value, 4, PCICONF_DATA_OFF);
+        if (rc < 0) {
+            perror("write value");
+            goto pciconf_write_cleanup;
+        }
+        if (rc != 4) {
+            rc = 0;
+            goto pciconf_write_cleanup;
+        }
+        value = __cpu_to_le32(value);
+        rc = pwrite(mf->fd, &offset, 4, PCICONF_ADDR_OFF);
+        if (rc < 0) {
+            perror("write offset");
+            goto pciconf_write_cleanup;
+        }
+
+    } else {
+        rc = pwrite(mf->fd, &offset, 4, PCICONF_ADDR_OFF);
+        if (rc < 0) {
+            perror("write offset");
+            goto pciconf_write_cleanup;
+        }
+        if (rc != 4) {
+            rc = 0;
+            goto pciconf_write_cleanup;
+        }
+        value = __cpu_to_le32(value);
+        rc = pwrite(mf->fd, &value, 4, PCICONF_DATA_OFF);
+        if (rc < 0) {
+            perror("write value");
+            goto pciconf_write_cleanup;
+        }
     }
     pciconf_write_cleanup: _flock_int(ctx->fdlock, LOCK_UN);
     return rc;
@@ -1006,6 +1053,8 @@ int mtcr_pciconf_open(mfile *mf, const char *name, u_int32_t adv_opt)
         ctx->mread4_block = mread4_block_pciconf;
         ctx->mwrite4_block = mwrite4_block_pciconf;
     } else {
+        ctx->wo_addr = is_wo_pciconf_gw(mf);
+        //printf("Write Only Address: %#x\n", ctx->wo_addr);
         ctx->mread4 = mtcr_pciconf_mread4_old;
         ctx->mwrite4 = mtcr_pciconf_mwrite4_old;
         ctx->mread4_block = mread_chunk_as_multi_mread4;
@@ -1032,6 +1081,7 @@ int mtcr_inband_open(mfile* mf, const char* name)
 #ifndef NO_INBAND
     ul_ctx_t *ctx = mf->ul_ctx;
     mf->tp = MST_IB;
+    mf->flags |= MDEVS_IB;
     ctx->mread4 = mib_read4;
     ctx->mwrite4 = mib_write4;
     ctx->mread4_block = mib_readblock;
@@ -1216,6 +1266,8 @@ static long supported_dev_ids[] = {
         0x1011, //Connect-IB
         0x1013, //Connect-X4
         0x1015, //Connect-X4Lx
+        0x1017, //Connect-X5
+        0x1019, //Connect-X5Ex
         0xc738, //SwitchX
         0xcb20, //Switch-IB
         0xcb84, //Spectrum
@@ -1233,6 +1285,7 @@ static long live_fish_id_database[] = {
         0x247,
         0x209,
         0x20b,
+        0x20d,
         -1
 };
 
@@ -2262,7 +2315,7 @@ static int mreg_send_raw(mfile *mf, u_int16_t reg_id, maccess_reg_method_t metho
     memcpy(reg_data, buffer + OP_TLV_SIZE + REG_TLV_HEADER_LEN, reg_size);
 
 #ifdef _ENABLE_DEBUG_
-    fprintf(stdout, "-I-Tlv's of Data Received:\n");
+    fprintf(stdout, "-I-Tlv's of Data Recieved:\n");
     fprintf(stdout, "\tOperation Tlv\n");
     OperationTlv_dump(&tlv, stdout);
     fprintf(stdout, "\tReg Tlv\n");
diff --git a/mtcr_ul/mtcr_ul_icmd_cif.c b/mtcr_ul/mtcr_ul_icmd_cif.c
index fed5973..81a2420 100644
--- a/mtcr_ul/mtcr_ul_icmd_cif.c
+++ b/mtcr_ul/mtcr_ul_icmd_cif.c
@@ -49,14 +49,30 @@
 #define STAT_CFG_NOT_DONE_ADDR_CIB   0xb0004
 #define STAT_CFG_NOT_DONE_ADDR_CX4   0xb0004
 #define STAT_CFG_NOT_DONE_ADDR_SW_IB   0x80010
+#define STAT_CFG_NOT_DONE_ADDR_QUANTUM   0x100010
+#define STAT_CFG_NOT_DONE_ADDR_CX5   0xb5e04
 #define STAT_CFG_NOT_DONE_BITOFF_CIB   31
 #define STAT_CFG_NOT_DONE_BITOFF_CX4   31
 #define STAT_CFG_NOT_DONE_BITOFF_SW_IB 0
+#define STAT_CFG_NOT_DONE_BITOFF_CX5   31
+#define STAT_CFG_NOT_DONE_BITOFF_CX5 31
+#define SEMAPHORE_ADDR_CIB   0xe27f8 //sem62
+#define SEMAPHORE_ADDR_CX4   0xe250c // sem67 bit31 is the semaphore bit here (only one semaphore in this dword)
+#define SEMAPHORE_ADDR_SW_IB 0xa24f8 // sem 62
+#define SEMAPHORE_ADDR_QUANTUM 0xa68f8
+#define SEMAPHORE_ADDR_CX5   0xe74e0
+#define HCR_ADDR_CIB         0x0
+#define HCR_ADDR_CX4         HCR_ADDR_CIB
+#define HCR_ADDR_CX5         HCR_ADDR_CIB
+#define HCR_ADDR_SW_IB       0x80000
+#define HCR_ADDR_QUANTUM       0x100000
 #define ICMD_VERSION_BITOFF 24
 #define ICMD_VERSION_BITLEN 8
 #define CMD_PTR_ADDR_CIB        0x0
 #define CMD_PTR_ADDR_SW_IB      0x80000
+#define CMD_PTR_ADDR_QUANTUM      0x100000
 #define CMD_PTR_ADDR_CX4        CMD_PTR_ADDR_CIB
+#define CMD_PTR_ADDR_CX5        CMD_PTR_ADDR_CIB
 #define CMD_PTR_BITOFF      0
 #define CMD_PTR_BITLEN      24
 #define CTRL_OFFSET         0x3fc
@@ -192,15 +208,15 @@ enum {
 #define SW_IB_HW_ID 583
 #define SW_EN_HW_ID 585
 #define SW_IB2_HW_ID 587
+#define QUANTUM_HW_ID 589
 
-#define GET_ADDR(mf, addr_cib, addr_cx4, addr_sw_ib, addr)\
+#define GET_ADDR(mf, addr_cib, addr_cx4, addr_sw_ib, addr_cx5, addr_quantum, addr)\
     do {\
         u_int32_t _hw_id;\
         MREAD4((mf), (HW_ID_ADDR), &(_hw_id));\
         switch (_hw_id & 0xffff) {\
         case (CX4_HW_ID):\
         case (CX4LX_HW_ID):\
-        case (CX5_HW_ID):\
             addr = addr_cx4;\
             break;\
         case (SW_IB_HW_ID):\
@@ -208,12 +224,29 @@ enum {
         case (SW_IB2_HW_ID):\
             addr = addr_sw_ib;\
             break;\
+        case (QUANTUM_HW_ID):\
+            addr = addr_quantum;\
+            break;\
+        case (CX5_HW_ID):\
+            addr = addr_cx5;\
+            break;\
         default:\
             addr = addr_cib;\
             break;\
         }\
 	} while(0)
 
+/*************************************************************************************/
+/*
+ * get_version
+ */
+static int get_version(mfile *mf, u_int32_t hcr_address) {
+    u_int32_t reg;
+    if (MREAD4(mf, hcr_address, &reg)) return ME_ICMD_STATUS_CR_FAIL;
+    reg = EXTRACT(reg, ICMD_VERSION_BITOFF, ICMD_VERSION_BITLEN);
+    return reg;
+}
+
 /*
  * go - Sets the busy bit to 1, wait untill it is 0 again.
  */
@@ -320,8 +353,8 @@ static int icmd_is_cmd_ifc_ready(mfile *mf) {
     u_int32_t expected_val;
 
     {
-        //          CIB  CX4  SW-IB
-        GET_ADDR(mf, 0,   0,    0, expected_val); // we expect the bit_val to be : 0- CIB , 1- CX4/SWIB
+        //          CIB  CX4  SW-IB CX5
+        GET_ADDR(mf, 0,   0,    0, 0, 0, expected_val); // we expect the bit_val to be : 0- CIB , 1- CX4/SWIB
     }
     return (bit_val == expected_val) ?  ME_OK: ME_ICMD_STATUS_ICMD_NOT_READY;
 }
@@ -339,7 +372,27 @@ int icmd_clear_semaphore(mfile *mf)
     if ((ret = icmd_open(mf))) {
         return ret;
     }
-    MWRITE4_SEMAPHORE(mf, mf->icmd.semaphore_addr, 0, return ME_ICMD_STATUS_CR_FAIL);
+    int is_leaseable;
+    u_int8_t lease_exp;
+    if ((mf->icmd.semaphore_addr == SEMAPHORE_ADDR_CIB  ||
+         mf->icmd.semaphore_addr == SEMAPHORE_ADDR_CX4) &&
+         mf->icmd.ib_semaphore_lock_supported) {
+        if (!mf->icmd.lock_key) {
+            return ME_OK;
+        }
+        DBG_PRINTF("VS_MAD SEM Release .. ");
+        if (mib_semaphore_lock_vs_mad(mf, SMP_SEM_RELEASE, SMP_ICMD_SEM_ADDR, mf->icmd.lock_key,
+                &(mf->icmd.lock_key), &is_leaseable, &lease_exp, SEM_LOCK_SET)) {
+            DBG_PRINTF("Failed!\n");
+            return ME_ICMD_STATUS_CR_FAIL;
+        }
+        if (mf->icmd.lock_key != 0) {
+            return ME_ICMD_STATUS_CR_FAIL;
+        }
+        DBG_PRINTF("Succeeded!\n");
+    } else {
+        MWRITE4_SEMAPHORE(mf, mf->icmd.semaphore_addr, 0, return ME_ICMD_STATUS_CR_FAIL);
+    }
     mf->icmd.took_semaphore = 0;
     return ME_OK;
 }
@@ -347,7 +400,6 @@ int icmd_clear_semaphore(mfile *mf)
 /*
  * icmd_take_semaphore
  */
-
 static int icmd_take_semaphore_com(mfile *mf, u_int32_t expected_read_val)
 {
     u_int32_t read_val;
@@ -358,13 +410,33 @@ static int icmd_take_semaphore_com(mfile *mf, u_int32_t expected_read_val)
          if (++retries > 256) {
              return ME_ICMD_STATUS_SEMAPHORE_TO;
          }
-         if (mf->vsec_supp) {
-             //write expected val before reading it
-             MWRITE4_SEMAPHORE(mf, mf->icmd.semaphore_addr, expected_read_val, return ME_ICMD_STATUS_CR_FAIL);
+
+         int is_leaseable;
+         u_int8_t lease_exp;
+         if ((mf->icmd.semaphore_addr == SEMAPHORE_ADDR_CIB  ||
+              mf->icmd.semaphore_addr == SEMAPHORE_ADDR_CX4) &&
+              mf->icmd.ib_semaphore_lock_supported) {
+             DBG_PRINTF("VS_MAD SEM LOCK .. ");
+             read_val = mib_semaphore_lock_vs_mad(mf, SMP_SEM_LOCK, SMP_ICMD_SEM_ADDR, 0,
+                                                  &(mf->icmd.lock_key), &is_leaseable, &lease_exp, SEM_LOCK_SET);
+             if (read_val && read_val != ME_MAD_BUSY) {
+                 DBG_PRINTF("Failed!\n");
+                 return ME_ICMD_STATUS_ICMD_NOT_READY;
+             }
+             /* Fail to obtain the lock */
+             if (mf->icmd.lock_key == 0) {
+                 read_val = 1;
+             }
+             DBG_PRINTF("Succeeded!\n");
+         } else {
+             if (mf->vsec_supp) {
+                 //write expected val before reading it
+                 MWRITE4_SEMAPHORE(mf, mf->icmd.semaphore_addr, expected_read_val, return ME_ICMD_STATUS_CR_FAIL);
+             }
+             MREAD4_SEMAPHORE(mf, mf->icmd.semaphore_addr, &read_val, return ME_ICMD_STATUS_CR_FAIL);
+             if (read_val == expected_read_val)
+                 break;
          }
-         MREAD4_SEMAPHORE(mf, mf->icmd.semaphore_addr, &read_val, return ME_ICMD_STATUS_CR_FAIL);
-         if (read_val == expected_read_val)
-             break;
          msleep(rand() % 20);
      } while (read_val != expected_read_val);
 
@@ -461,6 +533,87 @@ cleanup:
     return ret;
 }
 
+
+static int icmd_init_cr(mfile *mf)
+{
+    int icmd_ver;
+    u_int32_t hcr_address;
+    u_int32_t cmd_ptr_addr;
+    u_int32_t reg;
+    u_int32_t hw_id;
+    u_int32_t dev_type = 0;
+
+    // get device specific addresses
+    MREAD4((mf), (HW_ID_ADDR), &(hw_id));
+    switch (hw_id & 0xffff) {
+    case (CIB_HW_ID):
+        cmd_ptr_addr = CMD_PTR_ADDR_CIB;
+        hcr_address = HCR_ADDR_CIB;
+        mf->icmd.semaphore_addr = SEMAPHORE_ADDR_CIB;
+        mf->icmd.static_cfg_not_done_addr = STAT_CFG_NOT_DONE_ADDR_CIB;
+        mf->icmd.static_cfg_not_done_offs = STAT_CFG_NOT_DONE_BITOFF_CIB;
+        break;
+    case (CX4LX_HW_ID):
+    case (CX4_HW_ID):
+        cmd_ptr_addr = CMD_PTR_ADDR_CX4;
+        hcr_address = HCR_ADDR_CX4;
+        mf->icmd.semaphore_addr = SEMAPHORE_ADDR_CX4;
+        mf->icmd.static_cfg_not_done_addr = STAT_CFG_NOT_DONE_ADDR_CX4;
+        mf->icmd.static_cfg_not_done_offs = STAT_CFG_NOT_DONE_BITOFF_CIB;
+        break;
+    case (CX5_HW_ID):
+        cmd_ptr_addr = CMD_PTR_ADDR_CX5;
+        hcr_address = HCR_ADDR_CX5;
+        mf->icmd.semaphore_addr = SEMAPHORE_ADDR_CX5;
+        mf->icmd.static_cfg_not_done_addr = STAT_CFG_NOT_DONE_ADDR_CX5;
+        mf->icmd.static_cfg_not_done_offs = STAT_CFG_NOT_DONE_BITOFF_CIB;
+        break;
+    case (SW_IB_HW_ID):
+    case (SW_EN_HW_ID):
+    case (SW_IB2_HW_ID):
+        cmd_ptr_addr = CMD_PTR_ADDR_SW_IB;
+        hcr_address = HCR_ADDR_SW_IB;
+        mf->icmd.semaphore_addr = SEMAPHORE_ADDR_SW_IB;
+        mf->icmd.static_cfg_not_done_addr = STAT_CFG_NOT_DONE_ADDR_SW_IB;
+        mf->icmd.static_cfg_not_done_offs = STAT_CFG_NOT_DONE_BITOFF_SW_IB;
+        break;
+    case (QUANTUM_HW_ID):
+        cmd_ptr_addr = CMD_PTR_ADDR_QUANTUM;
+        hcr_address = HCR_ADDR_QUANTUM;
+        mf->icmd.semaphore_addr = SEMAPHORE_ADDR_QUANTUM;
+        mf->icmd.static_cfg_not_done_addr = STAT_CFG_NOT_DONE_ADDR_QUANTUM;
+        mf->icmd.static_cfg_not_done_offs = STAT_CFG_NOT_DONE_BITOFF_SW_IB;
+        break;
+    default:
+        return ME_ICMD_NOT_SUPPORTED;
+    }
+    mf->icmd.max_cmd_size = ICMD_MAX_CMD_SIZE;
+    icmd_ver = get_version(mf, hcr_address);
+    // get command and control addresses
+    switch (icmd_ver) {
+    case 1:
+        if (MREAD4(mf, cmd_ptr_addr, &reg)){
+            return ME_ICMD_STATUS_CR_FAIL;
+        }
+        mf->icmd.cmd_addr  = EXTRACT(reg, CMD_PTR_BITOFF, CMD_PTR_BITLEN);
+        mf->icmd.ctrl_addr = mf->icmd.cmd_addr + CTRL_OFFSET;
+        break;
+    case ME_ICMD_STATUS_CR_FAIL:
+        return ME_ICMD_STATUS_CR_FAIL;
+    default:
+        return ME_ICMD_UNSUPPORTED_ICMD_VERSION;
+    }
+    // if IB check if we support locking via MAD
+#ifndef __FreeBSD__
+    mget_mdevs_flags(mf, &dev_type);
+    if ((dev_type & MDEVS_IB) && (mib_semaphore_lock_is_supported(mf))) {
+        mf->icmd.ib_semaphore_lock_supported = 1;
+    }
+#endif
+    mf->icmd.icmd_opened = 1;
+    return ME_OK;
+}
+
 static int icmd_init_vcr(mfile* mf)
 {
      mf->icmd.cmd_addr = VCR_CMD_ADDR;
@@ -471,8 +624,9 @@ static int icmd_init_vcr(mfile* mf)
      MREAD4_ICMD(mf,VCR_CMD_SIZE_ADDR, &(mf->icmd.max_cmd_size), return ME_ICMD_STATUS_CR_FAIL;);
 
      // adrianc: they should provide this bit as well in virtual cr-space atm get from cr-space
-     GET_ADDR(mf,STAT_CFG_NOT_DONE_ADDR_CIB, STAT_CFG_NOT_DONE_ADDR_CX4, STAT_CFG_NOT_DONE_ADDR_SW_IB, mf->icmd.static_cfg_not_done_addr);
-     GET_ADDR(mf, STAT_CFG_NOT_DONE_BITOFF_CIB, STAT_CFG_NOT_DONE_BITOFF_CIB, STAT_CFG_NOT_DONE_BITOFF_SW_IB, mf->icmd.static_cfg_not_done_offs);
+     // macro is getting ugly as more devices are added...
+     GET_ADDR(mf,STAT_CFG_NOT_DONE_ADDR_CIB, STAT_CFG_NOT_DONE_ADDR_CX4, STAT_CFG_NOT_DONE_ADDR_SW_IB, STAT_CFG_NOT_DONE_ADDR_CX5, STAT_CFG_NOT_DONE_ADDR_QUANTUM, mf->icmd.static_cfg_not_done_addr);
+     GET_ADDR(mf, STAT_CFG_NOT_DONE_BITOFF_CIB, STAT_CFG_NOT_DONE_BITOFF_CIB, STAT_CFG_NOT_DONE_BITOFF_SW_IB, STAT_CFG_NOT_DONE_BITOFF_CX5, STAT_CFG_NOT_DONE_BITOFF_SW_IB, mf->icmd.static_cfg_not_done_offs);
      mf->icmd.icmd_opened = 1;
      DBG_PRINTF("-D- iCMD command addr: 0x%x\n", mf->icmd.cmd_addr);
      DBG_PRINTF("-D- iCMD ctrl addr: 0x%x\n", mf->icmd.ctrl_addr);
@@ -496,6 +650,8 @@ int icmd_open(mfile *mf)
     if (mf->vsec_supp) {
         return icmd_init_vcr(mf);
     }
+    // ugly hack avoid compiler warrnings
+    if (0) icmd_init_cr(mf);
     return ME_ICMD_NOT_SUPPORTED;
 #else
     if (mf->vsec_supp) {
diff --git a/reg_access/reg_access.c b/reg_access/reg_access.c
index 6fb2a13..5e4c300 100644
--- a/reg_access/reg_access.c
+++ b/reg_access/reg_access.c
@@ -63,12 +63,12 @@
 # define DEBUG_PRINT_SEND(data_struct, struct_name, method, prefix)\
 	printf("-I- Data Sent (Method: %s):\n", method == REG_ACCESS_METHOD_SET ? "SET" : "GET");\
 	prefix##_##struct_name##_print(data_struct, stdout, 1)
-# define DEBUG_PRINT_RECIEVE(data_struct, struct_name, method, prefix)\
+# define DEBUG_PRINT_RECEIVE(data_struct, struct_name, method, prefix)\
 	printf("-I- Data Received (Mehtod: %s):\n", method == REG_ACCESS_METHOD_SET ? "SET" : "GET");\
 	prefix##_##struct_name##_print(data_struct, stdout, 1)
 #else
 # define DEBUG_PRINT_SEND(data_struct, struct_name, method, prefix)
-# define DEBUG_PRINT_RECIEVE(data_struct, struct_name, method, prefix)
+# define DEBUG_PRINT_RECEIVE(data_struct, struct_name, method, prefix)
 #endif
 
 /***************************************************/
@@ -88,7 +88,7 @@
     DEBUG_PRINT_SEND(data_struct, struct_name, method, print_func);\
     rc = maccess_reg(mf, reg_id, (maccess_reg_method_t)method, data, reg_size, r_reg_size, w_reg_size, status);\
     unpack_func(data_struct, data);\
-    DEBUG_PRINT_RECIEVE(data_struct, struct_name, method, print_func);
+    DEBUG_PRINT_RECEIVE(data_struct, struct_name, method, print_func);
 
 #define REG_ACCESS_GENERIC_VAR(mf, methdod, reg_id, data_struct, struct_name, reg_size , r_reg_size, w_reg_size, pack_func,\
         unpack_func, size_func, print_func)\
diff --git a/small_utils/Makefile.am b/small_utils/Makefile.am
index 24c36f9..3b7e9cc 100644
--- a/small_utils/Makefile.am
+++ b/small_utils/Makefile.am
@@ -40,7 +40,6 @@ bin_PROGRAMS = mstmread \
 					mstmtserver \
 					mstvpd
 
-bin_SCRIPTS = hca_self_test.ofed
 
 mstmread_SOURCES = mread.c
 
diff --git a/small_utils/Makefile.in b/small_utils/Makefile.in
index 61ba0c6..f3672df 100644
--- a/small_utils/Makefile.in
+++ b/small_utils/Makefile.in
@@ -46,7 +46,6 @@
 # SOFTWARE.
 #--
 
-
 VPATH = @srcdir@
 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 am__make_running_with_option = \
@@ -124,7 +123,7 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
+am__installdirs = "$(DESTDIR)$(bindir)"
 PROGRAMS = $(bin_PROGRAMS)
 am_mstmcra_OBJECTS = mcra.$(OBJEXT)
 mstmcra_OBJECTS = $(am_mstmcra_OBJECTS)
@@ -154,34 +153,6 @@ am_mstvpd_OBJECTS = vpd.$(OBJEXT)
 mstvpd_OBJECTS = $(am_mstvpd_OBJECTS)
 mstvpd_LDADD = $(LDADD)
 mstvpd_DEPENDENCIES = ../mtcr_ul/libmtcr_ul.a
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-SCRIPTS = $(bin_SCRIPTS)
 AM_V_P = $(am__v_P_ at AM_V@)
 am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -371,7 +342,6 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AM_CPPFLAGS = -I$(top_srcdir)/include/mtcr_ul -I$(top_srcdir)/common
 LDADD = ../mtcr_ul/libmtcr_ul.a -ldl
-bin_SCRIPTS = hca_self_test.ofed
 mstmread_SOURCES = mread.c
 mstmwrite_SOURCES = mwrite.c
 mstvpd_SOURCES = vpd.c
@@ -481,41 +451,6 @@ mstmwrite$(EXEEXT): $(mstmwrite_OBJECTS) $(mstmwrite_DEPENDENCIES) $(EXTRA_mstmw
 mstvpd$(EXEEXT): $(mstvpd_OBJECTS) $(mstvpd_DEPENDENCIES) $(EXTRA_mstvpd_DEPENDENCIES) 
 	@rm -f mstvpd$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(mstvpd_OBJECTS) $(mstvpd_LDADD) $(LIBS)
-install-binSCRIPTS: $(bin_SCRIPTS)
-	@$(NORMAL_INSTALL)
-	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n' \
-	    -e 'h;s|.*|.|' \
-	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-	      if (++n[d] == $(am__install_max)) { \
-		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-	    else { print "f", d "/" $$4, $$1 } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	     test -z "$$files" || { \
-	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-	     } \
-	; done
-
-uninstall-binSCRIPTS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	       sed -e 's,.*/,,;$(transform)'`; \
-	dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -669,9 +604,9 @@ distdir: $(DISTFILES)
 	done
 check-am: all-am
 check: check-am
-all-am: Makefile $(PROGRAMS) $(SCRIPTS)
+all-am: Makefile $(PROGRAMS)
 installdirs:
-	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"; do \
+	for dir in "$(DESTDIR)$(bindir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -732,7 +667,7 @@ install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-binPROGRAMS install-binSCRIPTS
+install-exec-am: install-binPROGRAMS
 
 install-html: install-html-am
 
@@ -772,7 +707,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS
+uninstall-am: uninstall-binPROGRAMS
 
 .MAKE: install-am install-strip
 
@@ -781,15 +716,14 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS
 	ctags ctags-am distclean distclean-compile distclean-generic \
 	distclean-libtool distclean-tags distdir dvi dvi-am html \
 	html-am info info-am install install-am install-binPROGRAMS \
-	install-binSCRIPTS install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
-	uninstall-binPROGRAMS uninstall-binSCRIPTS
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/small_utils/hca_self_test.ofed b/small_utils/hca_self_test.ofed
deleted file mode 100755
index 160bef8..0000000
--- a/small_utils/hca_self_test.ofed
+++ /dev/null
@@ -1,892 +0,0 @@
-#!/bin/bash
-
-#
-# Copyright (c) 2006-2007 Cisco Systems. All rights reserved.
-# Copyright (c) 2011      Mellanox Technologies LTD. All rights reserved.
-#
-# This Software is licensed under one of the following licenses:
-#
-# 1) under the terms of the "Common Public License 1.0" a copy of which is
-#    available from the Open Source Initiative, see
-#    http://www.opensource.org/licenses/cpl.php.
-#
-# 2) under the terms of the "The BSD License" a copy of which is
-#    available from the Open Source Initiative, see
-#    http://www.opensource.org/licenses/bsd-license.php.
-#
-# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
-#    copy of which is available from the Open Source Initiative, see
-#    http://www.opensource.org/licenses/gpl-license.php.
-#
-# Licensee has the right to choose one of the above licenses.
-#
-# Redistributions of source code must retain the above copyright
-# notice and one of the license notices.
-#
-# Redistributions in binary form must reproduce both the above copyright
-# notice, one of the license notices in the documentation
-# and/or other materials provided with the distribution.
-#
-#
-# Description: Test health of HCA
-
-# For colored text
-green='\E[32m'
-red='\E[31m'
-cyan='\E[36m'
-
-bold_start='\033[1m'
-bold_stop='\033[0m'
-
-#TODO: ask vlad about the path .
-INSTALL_PREFIX=/usr
-
-MTHCA_DRIVER_NEEDED=mthca
-HERMON_DRIVER_NEEDED=mlx4_
-CONNECTIB_DRIVER_NEEDED=mlx5_
-DRIVER_NEEDED=$MTHCA_DRIVER_NEEDED
-INFINI_CLASS_PATH=/sys/class/infiniband
-G_LSPCI_OUTPUT_FILE=/tmp/hca_self_test_lspci.output
-
-########################################################################################
-# Required FW version definitions. These lines below are optionally set by the installer
-ARBEL_FW_NEEDED=
-ARBEL_MF_FW_NEEDED=
-TAVOR_FW_NEEDED=
-SINAI_FW_NEEDED=
-HERMON_FW_NEEDED=
-CX3_FW_NEEDED=
-CX3_PRO_FW_NEEDED=
-CONNECTIB_FW_NEEDED=
-CONNECTX4_FW_NEEDED=
-CONNECTX4LX_FW_NEEDED=
-########################################################################################
-
-
-# Color echo
-cecho () {
-    message=${1}     # argument 1 - message
-    color=${2}       # argument 2 - color
-    echo -e "$color"
-    echo "$message"
-    tput sgr0        # Reset to normal
-    return
-}
-
-# Exit code
-EXIT_CODE=0
-
-# Check whether the script is being run as root and exit if otherwise
-if [ `id -g` -ne 0 ]; then
-    echo "Error: hca_self_test must be run as root."
-    EXIT_CODE=1
-    exit $EXIT_CODE
-fi
-
-echo
-g_pkg_cmd="rpm"
-
-# Get OS type
-if [ -f /etc/redhat-release -o -f /etc/fedora-release ]; then
-    OS_TYPE="RED_HAT"
-elif [ -f /etc/SuSE-release ]; then
-    OS_TYPE="SUSE"
-elif [ -f /etc/debian_version ]; then
-    OS_TYPE="DEBIAN"
-    INSTALL_PREFIX=/opt/topspin
-    g_pkg_cmd="dpkg"
-else
-    OUT=`grep -q "Wind River" /etc/issue`
-    is_wind_river=$?
-    if [ "$is_wind_river" -eq "0" ]; then
-        OS_TYPE="RED_HAT"
-    else
-        echo "Error: hca_self_test does not support this OS."
-        EXIT_CODE=1
-        exit $EXIT_CODE
-    fi
-fi
-
-for cmd in  lspci cat id $g_pkg_cmd uname grep ls awk egrep modprobe; do
-    cmd_exist=`which $cmd 2> /dev/null`
-    if [ "$cmd_exist" == "" ]; then
-            echo "Error: $cmd tool was not found in the PATH"
-            exit 1
-    fi
-done
-
-
-HCA_LSPCI_NAME="InfiniBand"
-HCA_LSPCI_NAME_NEW="Infiniband controller"
-VPI_LSPCI_NAME="Network controller"
-NIC_LSPCI_NAME="Ethernet controller"
-MEM_CON_LSPCI_NAME="Memory controller"
-
-MEL_LSPCI_NAME_EXP="${HCA_LSPCI_NAME}|${HCA_LSPCI_NAME_NEW}|${VPI_LSPCI_NAME}|${NIC_LSPCI_NAME}"
-
-echo "---- Performing Adapter Device Self Test ----"
-
-# HCA/PCI check
-NUM_IB_DEV=`lspci 2> /dev/null | grep -E "(${MEL_LSPCI_NAME_EXP})(\s\[[0-9]+\])?: Mellanox Technolog" | wc -l`
-NUM_MEM_CON=`lspci 2> /dev/null | grep "${MEM_CON_LSPCI_NAME}(\s\[[0-9]+\])?: Mellanox Technolog" | wc -l`
-
-let "NUM_HCAS=$NUM_IB_DEV + $NUM_MEM_CON"
-echo "Number of CAs Detected ................. $NUM_HCAS";
-
-if [ $NUM_HCAS -ne 0 ]; then
-    if [ $NUM_MEM_CON -ne 0 ]; then
-        echo -e "PCI Device Check ....................... ${red}FAIL"
-        tput sgr0
-        echo "    REASON: jumper set on CA or CA hardware failure"
-        EXIT_CODE=1
-    else
-        echo -e "PCI Device Check ....................... ${green}PASS"
-        tput sgr0
-    fi
-else
-    echo -e "PCI Device Check ....................... ${red}FAIL"
-    tput sgr0
-    echo "    REASON: no CAs in the system"
-    EXIT_CODE=1
-    exit $EXIT_CODE
-fi
-
-
-mlx4_core_ko=`modinfo mlx4_core | grep filename | awk '{print $NF}'`
-mlx4_core_ko=`readlink -f $mlx4_core_ko`
-
-# check for inbox driver
-is_inbox=0
-if [[ $mlx4_core_ko =~ "/kernel/drivers" ]]; then
-    is_inbox=1
-fi
-
-if [ $OS_TYPE = "DEBIAN" ]; then
-    RPM_CHECK_FAIL=0
-    RPM_CUR_BOOTED_KER=1
-    
-    RPM_USR_VER=`dpkg -s libibverbs1 2> /dev/null | wc -l`
-    RPM_KER_VER=`dpkg -l 2> /dev/null | grep -E "ofed-kernel" | wc -l`
-    RPM_KER_NAME=`echo $mlx4_core_ko | awk -F '/' '{print$4}'`
-    if [ $RPM_KER_VER -eq 0 ] && [ "$RPM_KER_NAME" != "" ]; then
-        RPM_KER_VER=1
-    fi
-    BOOTED_KER=`uname -r`
-    if [ "$BOOTED_KER" != "$RPM_KER_NAME" ]; then
-        RPM_CUR_BOOTED_KER=0
-    fi
-else
-    # RPM check
-    RPM_CHECK_FAIL=0
-    RPM_USR_VER=`rpm -q libibverbs 2> /dev/null | wc -l`
-    RPM_KER_VER=`rpm -qa 2> /dev/null | grep -E "kernel-ib|ofa_kernel" | wc -l`
-    KER_RPM=`rpm -qf $mlx4_core_ko 2> /dev/null | grep -E "kernel-ib|ofa_kernel"`
-
-    if [ ! -z $KER_RPM ]; then
-        RPM_KER_NAME=`echo $mlx4_core_ko | awk -F '/' '{print$4}'`
-        RPM_CUR_BOOTED_KER=1
-    else
-        if (rpm -q ofa_kernel_dkms > /dev/null 2>&1); then
-            IS_DKMS=1
-            RPM_KER_NAME=`rpm -q --queryformat "[%{NAME}-%{VERSION}]\n" ofa_kernel_dkms`
-            RPM_CUR_BOOTED_KER=1
-        else
-            RPM_CUR_BOOTED_KER=0
-        fi
-    fi
-fi
-
-OFED_VERSION=$(ofed_info 2> /dev/null | head -1)    
-RPM_KER_ARCH=`uname -m`    
-if [ $OS_TYPE = "RED_HAT" ]; then    
-    BOOTED_KER=`uname -r`    
-elif [ $OS_TYPE = "SUSE" ]; then    
-    # Have to munge uname output a bit.    
-    BOOTED_KER=`uname -r | sed s at -@_ at g`    
-fi
-
-if [ $RPM_KER_VER -eq 0 ] && [ $is_inbox -eq 1 ]; then
-    RPM_KER_VER=1
-fi
-
-if [ $RPM_USR_VER -eq 0 ] && [ $RPM_KER_VER -eq 0 ]; then
-    echo -e "Host Driver RPM Check .................. ${red}FAIL"    
-    tput sgr0    
-    echo "    REASON: no RPMs found"    
-    RPM_CHECK_FAIL=1    
-    EXIT_CODE=1    
-elif [ $RPM_USR_VER -eq 0 ]; then    
-    echo -e "Host Driver RPM Check .................. ${red}FAIL"    
-    tput sgr0    
-    echo "    REASON: no user level RPMs found"    
-    RPM_CHECK_FAIL=1    
-    EXIT_CODE=1    
-elif [ $RPM_KER_VER -eq 0 ]; then    
-    echo -e "Host Driver RPM Check .................. ${red}FAIL"    
-    tput sgr0    
-    echo "    REASON: no kernel level RPMs found"    
-    RPM_CHECK_FAIL=1    
-    EXIT_CODE=1    
-fi    
-
-# if not inbox check if driver kernel RPM matches the booted kernel
-
-if [ $is_inbox -eq 0 ] && [ $RPM_KER_VER -ne 0 ]; then    
-    if [ $RPM_CUR_BOOTED_KER -eq 0 ]; then    
-        echo -e "Host Driver RPM Check .................. ${red}FAIL"    
-        tput sgr0    
-        echo "    REASON: no RPMs found for currently booted kernel $BOOTED_KER"    
-        RPM_CHECK_FAIL=1    
-        EXIT_CODE=1    
-    fi    
-fi    
-
-echo "Kernel Arch ............................ $RPM_KER_ARCH"    
-if [ "$RPM_KER_NAME" != "" ]; then    
-    echo "Host Driver Version .................... $OFED_VERSION $RPM_KER_NAME"    
-else    
-    echo "Host Driver Version .................... NA"    
-fi    
-
-if [ $RPM_CHECK_FAIL -eq 0 ]; then    
-    echo -e "Host Driver RPM Check .................. ${green}PASS"    
-    tput sgr0    
-fi    
-
-
-function get_curr_ca_pci_info () {
-    loop_cnt=$1
-
-    if [ "${g_lspci_was_ran}" == "" ]; then
-        lspci 2> /dev/null | grep -E "(${MEL_LSPCI_NAME_EXP}|${MEM_CON_LSPCI_NAME})(\s\[[0-9]+\])?: Mellanox Technolog" > ${G_LSPCI_OUTPUT_FILE}
-        g_lspci_was_ran=1
-    fi
-    current_pci_info=$(cat ${G_LSPCI_OUTPUT_FILE} | head -$(expr $loop_cnt + 1) | tail -1)
-    echo ${current_pci_info}
-}
-
-function get_ca_type() {
-    loop_cnt=$1
-
-    current_pci_info=`get_curr_ca_pci_info $loop_cnt`
-
-    if [[ ${current_pci_info} =~ ${HCA_LSPCI_NAME} ]] || [[ ${current_pci_info} =~ ${HCA_LSPCI_NAME_NEW} ]] || [[ ${current_pci_info} =~ ${MEM_CON_LSPCI_NAME} ]]; then
-        ca_type=HCA
-    elif [[ ${current_pci_info}  =~ ${VPI_LSPCI_NAME} ]]; then
-        ca_type=VPI
-    elif [[ ${current_pci_info}  =~ ${NIC_LSPCI_NAME} ]]; then
-        ca_type=NIC
-    else
-        ca_type="N/A"
-    fi
-    echo "${ca_type}"
-}
-#get the device ID
-function get_device_id {
-    loop_cnt=$1
-
-    current_pci_info=`get_curr_ca_pci_info $loop_cnt`
-    PCI_DEV=$(echo $current_pci_info | awk '{print $1}')
-
-    HexDevice_ID=$(lspci -D -n -d "15b3:"  2> /dev/null | grep $PCI_DEV |  tail -1 | cut -d ":" -f5 | cut -d " " -f1)
-    if [ "$HexDevice_ID" != "" ]; then
-        HexDevice_ID=0x$HexDevice_ID
-        let "tmp=$HexDevice_ID"
-        Device_ID=$(echo $tmp)
-    else
-        Device_ID=$(mstflint -d $PCI_DEV q 2> /dev/null | grep "Device ID" | awk '{print $3}')
-    fi
-    echo $Device_ID
-}
-#get the HCA NAME
-
-g_connectx="ConnectX"
-g_connectx3="ConnectX-3"
-g_connectx3_pro="ConnectX-3_Pro"
-g_connectib="Connect-IB"
-g_connectx4="ConnectX-4"
-g_connectx4lx="ConnectX-4_Lx"
-g_InfiniHost_III_Ex="InfiniHost_III_Ex"
-g_InfiniHost_III_Ex_memfree="InfiniHost_III_Ex_m"
-g_InfiniHost_III_Lx="InfiniHost_III_Lx"
-g_InfiniHost="InfiniHost"
-
-
-function  get_hca_name {
-    dev_id=$1
-    if [ $dev_id -eq 25208 ]; then
-        ret_val=$g_InfiniHost_III_Ex
-    elif [ $dev_id -eq 25218  ]; then
-        ret_val=$g_InfiniHost_III_Ex_memfree
-    elif [ $dev_id -eq 24204 -o $dev_id -eq 25204 ]; then
-        ret_val=$g_InfiniHost_III_Lx
-    elif [ $dev_id -eq 23108 ]; then
-        ret_val=$g_InfiniHost
-    elif [ $dev_id -eq 4099 ]; then
-        ret_val=$g_connectx3
-    elif [ $dev_id -eq 4103 ]; then
-        ret_val=$g_connectx3_pro
-    elif [ $dev_id -eq 4113 ]; then
-        ret_val=$g_connectib
-    elif [ $dev_id -eq 4115 ]; then
-        ret_val=$g_connectx4
-    elif [ $dev_id -eq 4117 ]; then
-        ret_val=$g_connectx4lx
-    else
-        ret_val=$g_connectx4
-    fi
-    echo $ret_val
-
-}
-
-#get the Driver Name
-function get_driver {
-    loop_cnt=$1
-    driver_need=""
-    Device_ID=$(get_device_id $LOOP_COUNT)
-    if [ "$Device_ID" != "" ]; then
-        hca_name=$(get_hca_name $Device_ID)
-        if [ "$hca_name" != "" ]; then
-            if [ "$hca_name" == "$g_connectx" ] || [ "$hca_name" == "$g_connectx3" ] || [ "$hca_name" == "$g_connectx3_pro" ]; then
-                driver_need=$HERMON_DRIVER_NEEDED
-            elif [ "$hca_name" == "$g_connectib" ] || [ "$hca_name" == "$g_connectx4" ] || [ "$hca_name" == "$g_connectx4lx" ]; then 
-                driver_need=$CONNECTIB_DRIVER_NEEDED
-            else
-                driver_need=$MTHCA_DRIVER_NEEDED
-            fi
-        fi
-    fi
-    echo $driver_need
-}
-
-
-function compare_fw  {
-    found=$1
-    needed=$2
-
-    n_1=$(echo $needed | cut -f1 -d"." | cut -b 2-)
-    n_2=$(echo $needed | cut -f2 -d".")
-    n_3=$(echo $needed | cut -f3 -d".")
-    f_1=$(echo $found  | cut -f1 -d"." | cut -b 2-)
-    f_2=$(echo $found  | cut -f2 -d".")
-    f_3=$(echo $found  | cut -f3 -d".")
-
-    if [ $n_1 -gt $f_1 ]; then
-        echo "required"
-    elif [ $f_1 -gt $n_1 ]; then
-        echo "found"
-    elif [ $n_2 -gt $f_2 ]; then
-        echo "required"
-    elif [ $f_2 -gt $n_2 ]; then
-        echo "found"
-   elif [ $n_3 -gt $f_3 ]; then
-        echo "required"
-    elif [ $f_3 -gt $n_3 ]; then
-        echo "found"
-    fi
-
-}
-
-
-
-# HCA firmware check
-echo_fw_check () {
-    LOOP_COUNT=$1
-    ca_type=$2
-    result=$3
-    echo -e "Firmware Check on CA #$LOOP_COUNT (${ca_type}) .......... ${result}"
-    tput sgr0
-}
-if [ $NUM_HCAS -ne 0 ]; then
-    mlx_dev_num=0
-    mlx5_dev_num=0
-    mthca_dev_num=0
-    LOOP_COUNT=0
-
-    # To take care of more than one HCA
-    while [ $LOOP_COUNT -lt $NUM_HCAS ]
-    do
-        ca_type=$(get_ca_type $LOOP_COUNT)
-        if [ $RPM_USR_VER -ne 0 ] && [ $RPM_CUR_BOOTED_KER -ne 0 ]; then
-
-            #default mthca0
-            device_num=$mthca_dev_num
-
-            ## get the Device Id
-            PCI_DEVICE=$(lspci 2> /dev/null | grep Mellanox | head -$(expr $LOOP_COUNT + 1) | tail -1 | awk '{print $1}')
-            Device_ID=$(get_device_id $LOOP_COUNT)
-            if [ "$Device_ID" != "" ]; then
-                hca_name=$(get_hca_name $Device_ID)
-                if [ "$hca_name" != "" ]; then
-
-                   # get the FW and the Expected FW
-                    if [ "$hca_name" == "$g_InfiniHost_III_Ex" ]; then
-                        FW_NEEDED=$ARBEL_FW_NEEDED
-                    elif [ "$hca_name" == $g_InfiniHost_III_Ex_memfree ]; then
-                        FW_NEEDED=$ARBEL_MF_FW_NEEDED
-                    elif [ "$hca_name" == "$g_InfiniHost_III_Lx" ]; then
-                        FW_NEEDED=$SINAI_FW_NEEDED
-                    elif [ "$hca_name" == "$g_connectx" ]; then
-                        FW_NEEDED=$HERMON_FW_NEEDED
-                        DRIVER_NEEDED=$HERMON_DRIVER_NEEDED
-                        device_num=$mlx_dev_num
-                    elif [ "$hca_name" == "$g_connectx3" ]; then
-                        FW_NEEDED=$CX3_FW_NEEDED
-                        DRIVER_NEEDED=$HERMON_DRIVER_NEEDED
-                        device_num=$mlx_dev_num
-                    elif [ "$hca_name" == "$g_connectx3_pro" ]; then
-                        FW_NEEDED=$CX3_PRO_FW_NEEDED
-                        DRIVER_NEEDED=$HERMON_DRIVER_NEEDED
-                        device_num=$mlx_dev_num
-                    elif [ "$hca_name" == "$g_connectib" ]; then
-                        FW_NEEDED=$CONNECTIB_FW_NEEDED
-                        DRIVER_NEEDED=$CONNECTIB_DRIVER_NEEDED
-                        device_num=$mlx5_dev_num
-                    elif [ "$hca_name" == "$g_connectx4" ]; then
-                        FW_NEEDED=$CONNECTX4_FW_NEEDED
-                        DRIVER_NEEDED=$CONNECTIB_DRIVER_NEEDED
-                        device_num=$mlx5_dev_num
-                    elif [ "$hca_name" == "$g_connectx4lx" ]; then
-                        FW_NEEDED=$CONNECTX4LX_FW_NEEDED
-                        DRIVER_NEEDED=$CONNECTIB_DRIVER_NEEDED
-                        device_num=$mlx5_dev_num
-                    elif [ "$hca_name" == "$g_InfiniHost" ]; then
-                        FW_NEEDED=$TAVOR_FW_NEEDED
-                    fi
-                    legal=$(echo $FW_NEEDED | grep v\[0-9\]\[0-9\]*.\[0-9\]\[0-9\]*.\[0-9\]\[0-9\]*)
-
-                    # increase the mlx and mthca counter
-                    case "$hca_name" in
-                    "$g_connectx"|"$g_connectx3"|"$g_connectx3_pro")
-                        let "mlx_dev_num=$mlx_dev_num + 1"
-                    ;;
-                    "$g_connectib"|"$g_connectx4"|"$g_connectx4lx")
-                        let "mlx5_dev_num=$mlx5_dev_num + 1"
-                    ;;                    *)
-                        let "mthca_dev_num=$mthca_dev_num + 1"
-                    ;;
-                    esac
-
-                    FW_FOUND=v$(mstflint -d $PCI_DEVICE q 2> /dev/null | grep "FW Version" | awk '{print $3}')
-                    if [ "$FW_FOUND" = "v" ]; then
-                        if [ -f "$INFINI_CLASS_PATH/$DRIVER_NEEDED$device_num/fw_ver" ]; then
-                            FW_FOUND=v`cat $INFINI_CLASS_PATH/$DRIVER_NEEDED$device_num/fw_ver 2> /dev/null`
-                        else
-                            echo_fw_check ${LOOP_COUNT} ${ca_type} "${red}FAIL"
-                            echo "    REASON: CA #$LOOP_COUNT: failed to get firmware version"
-                            EXIT_CODE=1
-                            no_firmware=1
-                        fi
-                    fi
-
-                    if [ "$no_firmware" != "1" ]; then
-                        echo -e "Firmware on CA #$LOOP_COUNT ${ca_type} .................. $FW_FOUND"
-                    fi
-                else
-                    echo_fw_check ${LOOP_COUNT} ${ca_type} "NA"
-                fi
-            else
-                echo_fw_check ${LOOP_COUNT} ${ca_type} "NA"
-            fi
-        else
-            echo_fw_check ${LOOP_COUNT} ${ca_type} "NA"
-        fi
-        let "LOOP_COUNT=$LOOP_COUNT + 1"
-    done
-else
-    echo_fw_check ${LOOP_COUNT} ${ca_type} "${red}FAIL"
-    echo "    REASON: no CAs in the system"
-    EXIT_CODE=1
-fi
-
-# Check host driver initialization
-HOST_DRIVER_INIT=0
-if [ $NUM_HCAS -ne 0 ] && [ $RPM_CHECK_FAIL -eq 0 ]; then
-    MODPROBE_OUT_FILE="/tmp/hca_self_test_modprobe.output"
-    # Save the output of modprobe ib_ipoib in a tmp file
-    modprobe ib_ipoib &> $MODPROBE_OUT_FILE
-    let RET_CODE=$?
-    if [ $RET_CODE -eq 0 ]; then
-        echo -e "Host Driver Initialization ............. ${green}PASS"
-        tput sgr0
-        HOST_DRIVER_INIT=1
-        # After successful initialization wait for IB SM sweep
-        sleep 5
-    else
-        echo -e "Host Driver Initialization ............. ${red}FAIL"
-        tput sgr0
-        EXIT_CODE=1
-        # "No such device"
-        if [ `grep "No such device" $MODPROBE_OUT_FILE 2> /dev/null | wc -l` -ne 0 ]; then
-            echo "    REASON: host driver initialization reported: No such device"
-        fi
-        # "No such file or directory"
-        if [ `grep "No such file or directory" $MODPROBE_OUT_FILE 2> /dev/null | wc -l` -ne 0 ]; then
-            echo "    REASON: host driver initialization reported: No such file or directory"
-            echo "            It is possible that driver rpm might be missing file(s)"
-        fi
-        # "kernel-module version mismatch"
-        if [ `grep "kernel-module version mismatch" $MODPROBE_OUT_FILE 2> /dev/null | wc -l` -ne 0 ]; then
-            echo "    REASON: host driver initialization reported: kernel-module version mismatch"
-        fi
-        # "unresolved symbol"
-        # Note: Could not test "unresolved symbol" error
-        if [ `grep "unresolved symbol" $MODPROBE_OUT_FILE 2> /dev/null | wc -l` -ne 0 ]; then
-            echo "    REASON: host driver initialization reported: unresolved symbol"
-        fi
-    fi
-else
-    echo "Host Driver Initialization ............. NA"
-    EXIT_CODE=1
-fi
-
-function get_link_layer() {
-    device_name=$1
-    port_num=$2
-    link_layer_file=$INFINI_CLASS_PATH/${device_name}/ports/${port_num}/link_layer
-    # Default value
-    link_layer=IB
-    if [ -f ${link_layer_file} ]; then
-        link_layer=`cat $link_layer_file 2> /dev/null`
-    fi
-    echo ${link_layer}
-}
-
-function report_port_state() {
-    port_num=$1;
-    LOOP_COUNT=$2
-    device_name=$3
-    ca_type=$4
-
-    port_dir=$INFINI_CLASS_PATH/${device_name}/ports/${port_num}
-    port_state_file=${port_dir}/state
-    port_rate_file=${port_dir}/rate
-
-if [ -f ${port_state_file} ]; then
-    PORT_STATE=`awk -F": " '{print $2}' ${port_state_file} 2> /dev/null`
-    link_layer=`get_link_layer ${device_name} ${port_num}`
-
-    if [ "x$PORT_STATE" == "xACTIVE" ]; then
-        PORT_SPEED=`awk -F\( '{print $2}' ${port_rate_file} 2> /dev/null | sed 's/)//'`
-        state="${green}UP $PORT_SPEED"
-    else
-        if [ "x$PORT_STATE" == "xINIT" ]; then
-            state="${cyan}INIT"
-        else
-            state="${red}DOWN"
-        fi
-    fi
-    echo -e "Port State of Port #${port_num} on CA #$LOOP_COUNT (${ca_type})..... ${state} (${link_layer})"
-    tput sgr0
-fi
-
-}
-
-# Port info
-if [ $HOST_DRIVER_INIT -eq 1 ]; then
-    NUM_HCAS_PROC=`ls $INFINI_CLASS_PATH 2> /dev/null | wc -l`
-    LOOP_COUNT=0
-    NUM_PORT_ACTIVE=0
-
-    mlx_dev_num=0
-    mlx5_dev_num=0
-    mthca_dev_num=0
-    LOOP_COUNT=0
-
-    # To take care of multiple HCAs
-    while [ $LOOP_COUNT -lt $NUM_HCAS_PROC ]
-    do
-        driver_need=$(get_driver $LOOP_COUNT)
-         if [ "$driver_need" != "" ]; then
-             if [ "$driver_need" == "$HERMON_DRIVER_NEEDED" ]; then
-                  device_num=$mlx_dev_num
-                  let "mlx_dev_num=$mlx_dev_num + 1"
-             elif [ "$driver_need" == "$CONNECTIB_DRIVER_NEEDED" ]; then
-                  device_num=$mlx5_dev_num
-                  let "mlx5_dev_num=$mlx5_dev_num + 1"
-              else
-                  device_num=$mthca_dev_num
-                  let "mthca_dev_num=$mthca_dev_num + 1"
-             fi
-
-             if [ -f $INFINI_CLASS_PATH/$driver_need$device_num/ports/1/state ]; then
-                let "NUM_PORT_ACTIVE+=`grep ACTIVE $INFINI_CLASS_PATH/$driver_need$device_num/ports/1/state 2> /dev/null | wc -l`"
-             fi
-             if [ -f $INFINI_CLASS_PATH/$driver_need$device_num/ports/2/state ]; then
-                let "NUM_PORT_ACTIVE+=`grep ACTIVE $INFINI_CLASS_PATH/$driver_need$device_num/ports/2/state 2> /dev/null | wc -l`"
-             fi
-        fi
-
-        let "LOOP_COUNT=$LOOP_COUNT + 1"
-    done
-    echo "Number of CA Ports Active .............. $NUM_PORT_ACTIVE"
-
-
-    # Get each port state
-
-    mlx_dev_num=0
-    mthca_dev_num=0
-    LOOP_COUNT=0
-    mlx5_dev_num=0
-    while [ $LOOP_COUNT -lt $NUM_HCAS_PROC ]
-    do
-
-        driver_need=$(get_driver $LOOP_COUNT)
-        ca_type=$(get_ca_type $LOOP_COUNT)
-        if [ "$driver_need" != "" ]; then
-            if [ "$driver_need" == "$HERMON_DRIVER_NEEDED" ]; then
-                device_num=$mlx_dev_num
-                let "mlx_dev_num=$mlx_dev_num + 1"
-            elif [ "$driver_need" == "$CONNECTIB_DRIVER_NEEDED" ]; then
-                  device_num=$mlx5_dev_num
-                  let "mlx5_dev_num=$mlx5_dev_num + 1"
-            else
-                device_num=$mthca_dev_num
-                let "mthca_dev_num=$mthca_dev_num + 1"
-            fi
-            device_name=${driver_need}${device_num}
-            report_port_state 1 ${LOOP_COUNT} ${device_name} ${ca_type}
-            report_port_state 2 ${LOOP_COUNT} ${device_name} ${ca_type}
-        fi
-        let "LOOP_COUNT=$LOOP_COUNT + 1"
-    done
-else
-    echo "Number of CA Ports Active .............. NA"
-fi
-
-# -D-
-
-# Error counters check
-
-echo_error_cnt () {
-    LOOP_COUNT=$1
-    ca_type=$2
-    result=$3
-    echo -e "Error Counter Check on CA #$LOOP_COUNT (${ca_type})...... ${result}"
-    tput sgr0
-}
-if [ $HOST_DRIVER_INIT -eq 1 ]; then
-
-    mlx_dev_num=0
-    mthca_dev_num=0
-    LOOP_COUNT=0
-    mlx5_dev_num=0
-    while [ $LOOP_COUNT -lt $NUM_HCAS_PROC ]; do
-
-        driver_need=$(get_driver $LOOP_COUNT)
-        ca_type=$(get_ca_type $LOOP_COUNT)
-        if [ "$driver_need" != "" ]; then
-            check_port1=1
-            check_port2=1
-
-            if [ "$driver_need" == "$HERMON_DRIVER_NEEDED" ]; then
-                 device_num=$mlx_dev_num
-                 let "mlx_dev_num=$mlx_dev_num + 1"
-            elif [ "$driver_need" == "$CONNECTIB_DRIVER_NEEDED" ]; then
-                  device_num=$mlx5_dev_num
-                  let "mlx5_dev_num=$mlx5_dev_num + 1"
-            else
-                 device_num=$mthca_dev_num
-                 let "mthca_dev_num=$mthca_dev_num + 1"
-            fi
-
-            for port in `seq 1 2`; do
-                link_layer_file="$INFINI_CLASS_PATH/$driver_need$device_num/ports/$port/link_layer"
-                if [ -f $link_layer_file ]; then
-                    proto=`cat $link_layer_file 2> /dev/null`
-                    if [ "$proto" == "Ethernet" ]; then
-                        let "check_port$port=0"
-                    fi
-                fi
-            done
-
-
-            # Error counters check
-            ERROR_COUNTER_PRINT=0
-            if [ -f $INFINI_CLASS_PATH/$driver_need$device_num/ports/1/state ] && [ $check_port1 -eq 1 ]; then
-                ERROR_COUNTER_PORT_1=0
-
-                for i in $INFINI_CLASS_PATH/$driver_need$device_num/ports/1/counters/*error*; do
-                    err_cnt=`cat $i 2> /dev/null`
-                    RET_CODE=$?
-                    if [ $RET_CODE -eq 0 ]; then
-                        if [ $err_cnt -gt 20 ]; then
-                            let "ERROR_COUNTER_PORT_1=$ERROR_COUNTER_PORT_1 + 1"
-                        fi;
-                    else
-                        echo "-W- Failed to read $i file"
-                    fi
-                done
-            fi
-            if [ -f $INFINI_CLASS_PATH/$driver_need$device_num/ports/2/state ] && [ $check_port2 -eq 1 ]; then
-
-                ERROR_COUNTER_PORT_2=0
-                for i in $INFINI_CLASS_PATH/$driver_need$device_num/ports/2/counters/*error*; do
-                    err_cnt=`cat $i 2> /dev/null`
-                    RET_CODE=$?
-                    if [ $RET_CODE -eq 0 ]; then
-                        if [ $err_cnt -gt 20 ]; then
-
-                            let "ERROR_COUNTER_PORT_2=$ERROR_COUNTER_PORT_2 + 1"
-                        fi;
-                    else
-                        echo "-W- Failed to read $i file"
-                    fi
-                done
-
-            else
-                let ERROR_COUNTER_PORT_2=0
-            fi
-
-            let "ERROR_COUNTER=$ERROR_COUNTER_PORT_1 + $ERROR_COUNTER_PORT_2"
-            # Print FAIL only once
-            if [ $ERROR_COUNTER -ne 0 ] && [ $ERROR_COUNTER_PRINT -ne 1 ]; then
-                echo_error_cnt ${LOOP_COUNT} ${ca_type} "${red}FAIL"
-                echo "    REASON: found errors in the following counters"
-                ERROR_COUNTER_PRINT=1
-                EXIT_CODE=1
-            fi
-
-            # List the counters which are non-zero
-            if [ $ERROR_COUNTER -ne 0 ]; then
-                # Print only if error counters are non-zero of a specific IB port
-                if [ $ERROR_COUNTER_PORT_1 -ne 0 ]; then
-                    echo "      Errors in $INFINI_CLASS_PATH/$driver_need$device_num/ports/1/counters"
-
-                    for i in $INFINI_CLASS_PATH/$driver_need$device_num/ports/1/counters/*error*; do
-                        err_cnt=`cat $i 2> /dev/null`
-                        RET_CODE=$?
-                        if [ $RET_CODE -eq 0 ]; then
-                            if [ $err_cnt -gt 20 ]; then
-                                echo "         $(basename $i): $err_cnt";
-                            fi;
-                        else
-                            echo "-W- Failed to read $i file"
-                        fi
-                    done
-
-                fi
-
-                if [ $ERROR_COUNTER_PORT_2 -ne 0 ]; then
-                    echo "      Errors in $INFINI_CLASS_PATH/$driver_need$device_num/ports/2/counters"
-
-                    for i in $INFINI_CLASS_PATH/$driver_need$device_num/ports/2/counters/*error*; do
-                        err_cnt=`cat $i 2> /dev/null`
-                        RET_CODE=$?
-                        if [ $RET_CODE -eq 0 ]; then
-                            if [ $err_cnt -gt 20 ]; then
-                                echo "         $(basename $i): $err_cnt";
-                            fi;
-                        else
-                            echo "-W- Failed to read $i file"
-                        fi
-                    done
-                fi
-            fi
-
-            if [ $ERROR_COUNTER -eq 0 ]; then
-                result="${green}PASS"
-                if [ $check_port1 -ne 1 ] && [ $check_port2 -ne 1 ]; then
-                    result="NA (Eth ports)"
-                fi
-                echo_error_cnt "${LOOP_COUNT}" "${ca_type}" "${result}"
-            fi
-
-            # Reset these variables for other HCAs
-            let ERROR_COUNTER_PORT_1=0
-            let ERROR_COUNTER_PORT_2=0
-
-
-        else
-            echo_error_cnt ${LOOP_COUNT} ${ca_type} "NA"
-        fi
-        let "LOOP_COUNT=$LOOP_COUNT + 1"
-    done
-
-else
-    echo "Error Counter Check .................... NA"
-fi
-
-
-# Kernel syslog check
-# Save the output of dmesg in a tmp file
-if [ $HOST_DRIVER_INIT -eq 1 ]; then
-    dmesg > /tmp/hca_self_test_dmesg.output
-    VAPI_ERROR_COUNT=`egrep oom-\|"Out of Memory"\|tsIb\|VAPI\|THH_\|THHUL\|KERNEL_IB\|IB_NET\|MOD_LNX_SDP /tmp/hca_self_test_dmesg.output 2> /dev/null | grep -v 'SOCK: GETSOCKOPT unimplemented option <2>' | wc -l`
-    OOPS_COUNT=`grep Oops /tmp/hca_self_test_dmesg.output 2> /dev/null | wc -l`
-    KERNEL_PANIC_COUNT=`grep "Kernel panic" /tmp/hca_self_test_dmesg.output 2> /dev/null | wc -l`
-
-    if [ $VAPI_ERROR_COUNT -eq 0 ] && [ $OOPS_COUNT -eq 0 ] && [ $KERNEL_PANIC_COUNT -eq 0 ]; then
-        echo -e "Kernel Syslog Check .................... ${green}PASS"
-        tput sgr0
-    else
-        echo -e "Kernel Syslog Check .................... ${red}FAIL"
-        tput sgr0
-        EXIT_CODE=1
-        if [ $OOPS_COUNT -ne 0 ]; then
-            echo "    REASON: Kernel syslog reported: Oops "
-            grep Oops /tmp/hca_self_test_dmesg.output | uniq | awk -F'\n' '{print "      " $1 }'
-        fi
-        if [ $KERNEL_PANIC_COUNT -ne 0 ]; then
-            echo "    REASON: Kernel syslog reported: Kernel panic "
-            grep "Kernel panic" /tmp/hca_self_test_dmesg.output | uniq | awk -F'\n' '{print "      " $1 }'
-        fi
-        if [ $VAPI_ERROR_COUNT -ne 0 ]; then
-            echo "    REASON: Kernel syslog reported: Driver messages "
-            egrep oom-\|"Out of Memory"\|tsIb\|VAPI\|THH_\|THHUL\|KERNEL_IB\|IB_NET\|MOD_LNX_SDP /tmp/hca_self_test_dmesg.output | grep -v 'SOCK: GETSOCKOPT unimplemented option <2>' | uniq | awk -F'\n' '{print "      " $1 }'
-        fi
-    fi
-else
-    echo "Kernel Syslog Check .................... NA"
-fi
-
-
-#get the NODE Guide
-
-if [ $NUM_HCAS -ne 0 ]; then
-    mlx_dev_num=0
-    mlx5_dev_num=0
-    mthca_dev_num=0
-    LOOP_COUNT=0
-
-    # To take care of more than one HCA
-    while [ $LOOP_COUNT -lt $NUM_HCAS ]
-    do
-        driver_need=$(get_driver $LOOP_COUNT)
-        ca_type=$(get_ca_type $LOOP_COUNT)
-
-        NODE_GUID="NA"
-        if [ "$driver_need" != "" ]; then
-            if [ "$driver_need" == "$HERMON_DRIVER_NEEDED" ]; then
-                device_num=${mlx_dev_num}
-                let "mlx_dev_num=$mlx_dev_num + 1"
-            elif [ "$driver_need" == "$CONNECTIB_DRIVER_NEEDED" ]; then
-                  device_num=$mlx5_dev_num
-                  let "mlx5_dev_num=$mlx5_dev_num + 1"
-            else
-                device_num=${mthca_dev_num}
-                let "mthca_dev_num=$mthca_dev_num + 1"
-            fi
-
-            if [ -f "$INFINI_CLASS_PATH/$driver_need$device_num/node_guid" ]; then
-                NODE_GUID=$(sed 's/\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)/\1\2:\3\4/g' < $INFINI_CLASS_PATH/$driver_need$device_num/node_guid)
-            else
-                PCI_DEVICE=$(lspci 2> /dev/null | grep Mellanox | head -$(expr $LOOP_COUNT + 1) | tail -1 | awk '{print $1}')
-                NODE_GUID1=$(mstflint -d $PCI_DEVICE q 2> /dev/null | grep "GUIDs:" | awk '{print $2}' | sed 's/\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)/\1\2:\3\4:/g' | cut -b -23)
-
-                if [ "$NODE_GUID1" != "" ]; then
-                    NODE_GUID=${NODE_GUID}
-                fi
-            fi
-        fi
-        echo "Node GUID on CA #$LOOP_COUNT (${ca_type}) ............... ${NODE_GUID}"
-        let "LOOP_COUNT=$LOOP_COUNT + 1"
-     done
-
-fi
-echo "------------------ DONE ---------------------"
-echo
-#rm -f /tmp/hca_self_test_modprobe.output
-rm -f /tmp/hca_self_test_dmesg.output
-rm -f ${G_LSPCI_OUTPUT_FILE}
-exit $EXIT_CODE
diff --git a/small_utils/hca_self_test.readme b/small_utils/hca_self_test.readme
deleted file mode 100755
index bc74d30..0000000
--- a/small_utils/hca_self_test.readme
+++ /dev/null
@@ -1,31 +0,0 @@
-
-NAME
-
-    hca_self_test.ofed    - checker for InfiniBand Adapter (HCA) health
-    
-DESCRIPTION
-    hca_self_test.ofed is a script that checks the health of the HCAs found on
-    the local host. The output of the script consists of information on the
-    discovered HCAs and various health attributes of the local host.
-
-    Output system information includes the following items:
-     - Number of HCAs
-     - Host driver version
-     - Host architecture type
-     - Node GUIDs of HCAs
-     - Number of active HCA ports
-     - State of HCA ports
-
-    Output of system checks includes the results of following items:
-     - Number of HCAs
-	 - Driver initialization status
-	 - HCA Firmware version
-	 - RPMs installation
-	 - Driver error messages in kernel logs
-	 - IB Port error counters 
-	 
-NOTES:
-     - hca_self_test.ofed must be run as root
-     - The version numbers of the most current HCA firmware releases should be
-       stated inside the file.
-            
diff --git a/small_utils/mcra.c b/small_utils/mcra.c
index 9cdf872..dd18b2c 100644
--- a/small_utils/mcra.c
+++ b/small_utils/mcra.c
@@ -76,7 +76,7 @@ void usage(const char *n, int with_exit)
     printf("  -v             : Display version info\n");
     printf("\n");
     printf("Environment Variables:\n");
-    printf("   ADB_DUMP      : Holds the path to adb dump, used for access by path (can be overriden by \"-a\").\n");
+    printf("   ADB_DUMP      : Holds the path to adb dump, used for access by path (can be overridden by \"-a\").\n");
     if (with_exit) {
         exit(1);
     }
diff --git a/small_utils/mtserver.c b/small_utils/mtserver.c
index 4436058..5ad1776 100644
--- a/small_utils/mtserver.c
+++ b/small_utils/mtserver.c
@@ -325,7 +325,7 @@ void usage(const char *s)
     printf("Usage:\n\t%s [switches]\n\n", s);
     printf("Switches may be:\n");
     printf("\t-p[ort] <port> - Listen to specify port (default is %d).\n", port);
-    printf("\t-d[ebug]       - Print all socket traffic (for debuging only).\n");
+    printf("\t-d[ebug]       - Print all socket traffic (for debugging only).\n");
     printf("%s", sim_str);
     printf("\t-h[elp]        - Print help message.\n");
     exit (1);
diff --git a/tools_layouts/Makefile.am b/tools_layouts/Makefile.am
index 7726c7f..8d9adfe 100644
--- a/tools_layouts/Makefile.am
+++ b/tools_layouts/Makefile.am
@@ -42,4 +42,5 @@ libtools_layouts_a_SOURCES = adb_to_c_utils.c adb_to_c_utils.h \
 				tools_open_layouts.c tools_open_layouts.h\
 				register_access_sib_layouts.h register_access_sib_layouts.c \
 				cx4fw_layouts.c cx4fw_layouts.h\
+				cx5fw_layouts.c cx5fw_layouts.h\
 				connectib_layouts.c connectib_layouts.h
diff --git a/tools_layouts/Makefile.in b/tools_layouts/Makefile.in
index c649813..77ce69a 100644
--- a/tools_layouts/Makefile.in
+++ b/tools_layouts/Makefile.in
@@ -126,7 +126,7 @@ libtools_layouts_a_LIBADD =
 am_libtools_layouts_a_OBJECTS = adb_to_c_utils.lo cibfw_layouts.lo \
 	register_access_open_layouts.lo tools_open_layouts.lo \
 	register_access_sib_layouts.lo cx4fw_layouts.lo \
-	connectib_layouts.lo
+	cx5fw_layouts.lo connectib_layouts.lo
 libtools_layouts_a_OBJECTS = $(am_libtools_layouts_a_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -328,6 +328,7 @@ libtools_layouts_a_SOURCES = adb_to_c_utils.c adb_to_c_utils.h \
 				tools_open_layouts.c tools_open_layouts.h\
 				register_access_sib_layouts.h register_access_sib_layouts.c \
 				cx4fw_layouts.c cx4fw_layouts.h\
+				cx5fw_layouts.c cx5fw_layouts.h\
 				connectib_layouts.c connectib_layouts.h
 
 all: all-am
@@ -389,6 +390,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cibfw_layouts.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/connectib_layouts.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cx4fw_layouts.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cx5fw_layouts.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/register_access_open_layouts.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/register_access_sib_layouts.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tools_open_layouts.Plo at am__quote@
diff --git a/tools_layouts/cibfw_layouts.c b/tools_layouts/cibfw_layouts.c
index 5abd23d..f6912e6 100644
--- a/tools_layouts/cibfw_layouts.c
+++ b/tools_layouts/cibfw_layouts.c
@@ -29,270 +29,221 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
- 
 
 /***
- *** This file was generated at "2015-06-17 12:05:15"
- *** by:
- ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cibfw/cibfw.adb --file-prefix cibfw --prefix cibfw_
- ***/
+         *** This file was generated at "2016-11-07 11:30:09"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cibfw/cibfw.adb --file-prefix cibfw --prefix cibfw_
+         ***/
 #include "cibfw_layouts.h"
 
-void cibfw_uint64_pack(const struct cibfw_uint64 *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hi);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->lo);
-
-}
-
-void cibfw_uint64_unpack(struct cibfw_uint64 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	ptr_struct->hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-}
-
-void cibfw_uint64_print(const struct cibfw_uint64 *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== cibfw_uint64 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hi                   : "U32H_FMT"\n", ptr_struct->hi);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lo                   : "U32H_FMT"\n", ptr_struct->lo);
-
-}
-
-int cibfw_uint64_size(void){
-	 return 8;
-}
-
-void cibfw_uint64_dump(const struct cibfw_uint64 *ptr_struct, FILE* file) {
-	cibfw_uint64_print(ptr_struct, file, 0);
-}
-
-void cibfw_module_version_pack(const struct cibfw_module_version *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_module_version_pack(const struct cibfw_module_version *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->branch);
 
-	offset=12;
+	offset = 12;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->minor);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->major);
 
 }
 
-void cibfw_module_version_unpack(struct cibfw_module_version *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_module_version_unpack(struct cibfw_module_version *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->branch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=12;
+	offset = 12;
 	ptr_struct->minor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->major = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
 }
 
-void cibfw_module_version_print(const struct cibfw_module_version *ptr_struct, FILE* file, int indent_level){
+void cibfw_module_version_print(const struct cibfw_module_version *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_module_version ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "branch               : "UH_FMT"\n", ptr_struct->branch);
+	fprintf(file, "branch               : " UH_FMT "\n", ptr_struct->branch);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor                : "UH_FMT"\n", ptr_struct->minor);
+	fprintf(file, "minor                : " UH_FMT "\n", ptr_struct->minor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major                : "UH_FMT"\n", ptr_struct->major);
+	fprintf(file, "major                : " UH_FMT "\n", ptr_struct->major);
 
 }
 
-int cibfw_module_version_size(void){
+int cibfw_module_version_size(void)
+{
 	 return 4;
 }
 
-void cibfw_module_version_dump(const struct cibfw_module_version *ptr_struct, FILE* file) {
+void cibfw_module_version_dump(const struct cibfw_module_version *ptr_struct, FILE* file)
+{
 	cibfw_module_version_print(ptr_struct, file, 0);
 }
 
-void cibfw_uid_entry_pack(const struct cibfw_uid_entry *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_uid_entry_pack(const struct cibfw_uid_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_allocated);
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->step);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->uid);
 
 }
 
-void cibfw_uid_entry_unpack(struct cibfw_uid_entry *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_uid_entry_unpack(struct cibfw_uid_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->num_allocated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=16;
+	offset = 16;
 	ptr_struct->step = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->uid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void cibfw_uid_entry_print(const struct cibfw_uid_entry *ptr_struct, FILE* file, int indent_level){
+void cibfw_uid_entry_print(const struct cibfw_uid_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_uid_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_allocated        : "UH_FMT"\n", ptr_struct->num_allocated);
+	fprintf(file, "num_allocated        : " UH_FMT "\n", ptr_struct->num_allocated);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "step                 : "UH_FMT"\n", ptr_struct->step);
+	fprintf(file, "step                 : " UH_FMT "\n", ptr_struct->step);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uid                  : "U64H_FMT"\n", ptr_struct->uid);
+	fprintf(file, "uid                  : " U64H_FMT "\n", ptr_struct->uid);
 
 }
 
-int cibfw_uid_entry_size(void){
+int cibfw_uid_entry_size(void)
+{
 	 return 16;
 }
 
-void cibfw_uid_entry_dump(const struct cibfw_uid_entry *ptr_struct, FILE* file) {
+void cibfw_uid_entry_dump(const struct cibfw_uid_entry *ptr_struct, FILE* file)
+{
 	cibfw_uid_entry_print(ptr_struct, file, 0);
 }
 
-void cibfw_module_versions_pack(const struct cibfw_module_versions *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_module_versions_pack(const struct cibfw_module_versions *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	cibfw_module_version_pack(&(ptr_struct->core), ptr_buff + offset/8);
 
-	offset=32;
+	offset = 32;
 	cibfw_module_version_pack(&(ptr_struct->phy), ptr_buff + offset/8);
 
-	offset=64;
+	offset = 64;
 	cibfw_module_version_pack(&(ptr_struct->kernel), ptr_buff + offset/8);
 
-	offset=96;
+	offset = 96;
 	cibfw_module_version_pack(&(ptr_struct->iron_image), ptr_buff + offset/8);
 
-	offset=128;
+	offset = 128;
 	cibfw_module_version_pack(&(ptr_struct->host_management), ptr_buff + offset/8);
 
-	offset=160;
+	offset = 160;
 	cibfw_module_version_pack(&(ptr_struct->mad), ptr_buff + offset/8);
 
 }
 
-void cibfw_module_versions_unpack(struct cibfw_module_versions *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_module_versions_unpack(struct cibfw_module_versions *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	cibfw_module_version_unpack(&(ptr_struct->core), ptr_buff + offset/8);
 
-	offset=32;
+	offset = 32;
 	cibfw_module_version_unpack(&(ptr_struct->phy), ptr_buff + offset/8);
 
-	offset=64;
+	offset = 64;
 	cibfw_module_version_unpack(&(ptr_struct->kernel), ptr_buff + offset/8);
 
-	offset=96;
+	offset = 96;
 	cibfw_module_version_unpack(&(ptr_struct->iron_image), ptr_buff + offset/8);
 
-	offset=128;
+	offset = 128;
 	cibfw_module_version_unpack(&(ptr_struct->host_management), ptr_buff + offset/8);
 
-	offset=160;
+	offset = 160;
 	cibfw_module_version_unpack(&(ptr_struct->mad), ptr_buff + offset/8);
 
 }
 
-void cibfw_module_versions_print(const struct cibfw_module_versions *ptr_struct, FILE* file, int indent_level){
+void cibfw_module_versions_print(const struct cibfw_module_versions *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_module_versions ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -322,317 +273,333 @@ void cibfw_module_versions_print(const struct cibfw_module_versions *ptr_struct,
 
 }
 
-int cibfw_module_versions_size(void){
+int cibfw_module_versions_size(void)
+{
 	 return 64;
 }
 
-void cibfw_module_versions_dump(const struct cibfw_module_versions *ptr_struct, FILE* file) {
+void cibfw_module_versions_dump(const struct cibfw_module_versions *ptr_struct, FILE* file)
+{
 	cibfw_module_versions_print(ptr_struct, file, 0);
 }
 
-void cibfw_image_size_pack(const struct cibfw_image_size *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_image_size_pack(const struct cibfw_image_size *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_step);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->max_size);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_size);
 
 }
 
-void cibfw_image_size_unpack(struct cibfw_image_size *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_image_size_unpack(struct cibfw_image_size *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->log_step = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->max_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void cibfw_image_size_print(const struct cibfw_image_size *ptr_struct, FILE* file, int indent_level){
+void cibfw_image_size_print(const struct cibfw_image_size *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_image_size ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_step             : "UH_FMT"\n", ptr_struct->log_step);
+	fprintf(file, "log_step             : " UH_FMT "\n", ptr_struct->log_step);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_size             : "U32H_FMT"\n", ptr_struct->max_size);
+	fprintf(file, "max_size             : " U32H_FMT "\n", ptr_struct->max_size);
 
 }
 
-int cibfw_image_size_size(void){
+int cibfw_image_size_size(void)
+{
 	 return 8;
 }
 
-void cibfw_image_size_dump(const struct cibfw_image_size *ptr_struct, FILE* file) {
+void cibfw_image_size_dump(const struct cibfw_image_size *ptr_struct, FILE* file)
+{
 	cibfw_image_size_print(ptr_struct, file, 0);
 }
 
-void cibfw_TRIPPLE_VERSION_pack(const struct cibfw_TRIPPLE_VERSION *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_TRIPPLE_VERSION_pack(const struct cibfw_TRIPPLE_VERSION *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MAJOR);
 
-	offset=48;
+	offset = 48;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->SUBMINOR);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MINOR);
 
 }
 
-void cibfw_TRIPPLE_VERSION_unpack(struct cibfw_TRIPPLE_VERSION *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_TRIPPLE_VERSION_unpack(struct cibfw_TRIPPLE_VERSION *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->MAJOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=48;
+	offset = 48;
 	ptr_struct->SUBMINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->MINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void cibfw_TRIPPLE_VERSION_print(const struct cibfw_TRIPPLE_VERSION *ptr_struct, FILE* file, int indent_level){
+void cibfw_TRIPPLE_VERSION_print(const struct cibfw_TRIPPLE_VERSION *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_TRIPPLE_VERSION ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "MAJOR                : "UH_FMT"\n", ptr_struct->MAJOR);
+	fprintf(file, "MAJOR                : " UH_FMT "\n", ptr_struct->MAJOR);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "SUBMINOR             : "UH_FMT"\n", ptr_struct->SUBMINOR);
+	fprintf(file, "SUBMINOR             : " UH_FMT "\n", ptr_struct->SUBMINOR);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "MINOR                : "UH_FMT"\n", ptr_struct->MINOR);
+	fprintf(file, "MINOR                : " UH_FMT "\n", ptr_struct->MINOR);
 
 }
 
-int cibfw_TRIPPLE_VERSION_size(void){
+int cibfw_TRIPPLE_VERSION_size(void)
+{
 	 return 8;
 }
 
-void cibfw_TRIPPLE_VERSION_dump(const struct cibfw_TRIPPLE_VERSION *ptr_struct, FILE* file) {
+void cibfw_TRIPPLE_VERSION_dump(const struct cibfw_TRIPPLE_VERSION *ptr_struct, FILE* file)
+{
 	cibfw_TRIPPLE_VERSION_print(ptr_struct, file, 0);
 }
 
-void cibfw_FW_VERSION_pack(const struct cibfw_FW_VERSION *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_FW_VERSION_pack(const struct cibfw_FW_VERSION *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MAJOR);
 
-	offset=48;
+	offset = 48;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->SUBMINOR);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MINOR);
 
-	offset=80;
+	offset = 80;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Hour);
 
-	offset=72;
+	offset = 72;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Minutes);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Seconds);
 
-	offset=120;
+	offset = 120;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Day);
 
-	offset=112;
+	offset = 112;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Month);
 
-	offset=96;
+	offset = 96;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->Year);
 
 }
 
-void cibfw_FW_VERSION_unpack(struct cibfw_FW_VERSION *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_FW_VERSION_unpack(struct cibfw_FW_VERSION *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->MAJOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=48;
+	offset = 48;
 	ptr_struct->SUBMINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->MINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=80;
+	offset = 80;
 	ptr_struct->Hour = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=72;
+	offset = 72;
 	ptr_struct->Minutes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->Seconds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=120;
+	offset = 120;
 	ptr_struct->Day = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=112;
+	offset = 112;
 	ptr_struct->Month = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->Year = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void cibfw_FW_VERSION_print(const struct cibfw_FW_VERSION *ptr_struct, FILE* file, int indent_level){
+void cibfw_FW_VERSION_print(const struct cibfw_FW_VERSION *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_FW_VERSION ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "MAJOR                : "UH_FMT"\n", ptr_struct->MAJOR);
+	fprintf(file, "MAJOR                : " UH_FMT "\n", ptr_struct->MAJOR);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "SUBMINOR             : "UH_FMT"\n", ptr_struct->SUBMINOR);
+	fprintf(file, "SUBMINOR             : " UH_FMT "\n", ptr_struct->SUBMINOR);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "MINOR                : "UH_FMT"\n", ptr_struct->MINOR);
+	fprintf(file, "MINOR                : " UH_FMT "\n", ptr_struct->MINOR);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Hour                 : "UH_FMT"\n", ptr_struct->Hour);
+	fprintf(file, "Hour                 : " UH_FMT "\n", ptr_struct->Hour);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Minutes              : "UH_FMT"\n", ptr_struct->Minutes);
+	fprintf(file, "Minutes              : " UH_FMT "\n", ptr_struct->Minutes);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Seconds              : "UH_FMT"\n", ptr_struct->Seconds);
+	fprintf(file, "Seconds              : " UH_FMT "\n", ptr_struct->Seconds);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Day                  : "UH_FMT"\n", ptr_struct->Day);
+	fprintf(file, "Day                  : " UH_FMT "\n", ptr_struct->Day);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Month                : "UH_FMT"\n", ptr_struct->Month);
+	fprintf(file, "Month                : " UH_FMT "\n", ptr_struct->Month);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Year                 : "UH_FMT"\n", ptr_struct->Year);
+	fprintf(file, "Year                 : " UH_FMT "\n", ptr_struct->Year);
 
 }
 
-int cibfw_FW_VERSION_size(void){
+int cibfw_FW_VERSION_size(void)
+{
 	 return 16;
 }
 
-void cibfw_FW_VERSION_dump(const struct cibfw_FW_VERSION *ptr_struct, FILE* file) {
+void cibfw_FW_VERSION_dump(const struct cibfw_FW_VERSION *ptr_struct, FILE* file)
+{
 	cibfw_FW_VERSION_print(ptr_struct, file, 0);
 }
 
-void cibfw_guids_pack(const struct cibfw_guids *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_guids_pack(const struct cibfw_guids *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 128, i, 512, 1);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 128, i, 512, 1);
 	cibfw_uid_entry_pack(&(ptr_struct->guids[i]), ptr_buff + offset/8);
 	}
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(256, 128, i, 512, 1);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(256, 128, i, 512, 1);
 	cibfw_uid_entry_pack(&(ptr_struct->macs[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void cibfw_guids_unpack(struct cibfw_guids *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_guids_unpack(struct cibfw_guids *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 128, i, 512, 1);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 128, i, 512, 1);
 	cibfw_uid_entry_unpack(&(ptr_struct->guids[i]), ptr_buff + offset/8);
 	}
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(256, 128, i, 512, 1);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(256, 128, i, 512, 1);
 	cibfw_uid_entry_unpack(&(ptr_struct->macs[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void cibfw_guids_print(const struct cibfw_guids *ptr_struct, FILE* file, int indent_level){
+void cibfw_guids_print(const struct cibfw_guids *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_guids ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 2; i++) {
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "guids_%03d:\n", i);
 	cibfw_uid_entry_print(&(ptr_struct->guids[i]), file, indent_level + 1);
 	}
 
-	for (i=0; i < 2; i++) {
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "macs_%03d:\n", i);
 	cibfw_uid_entry_print(&(ptr_struct->macs[i]), file, indent_level + 1);
@@ -640,198 +607,221 @@ void cibfw_guids_print(const struct cibfw_guids *ptr_struct, FILE* file, int ind
 
 }
 
-int cibfw_guids_size(void){
+int cibfw_guids_size(void)
+{
 	 return 64;
 }
 
-void cibfw_guids_dump(const struct cibfw_guids *ptr_struct, FILE* file) {
+void cibfw_guids_dump(const struct cibfw_guids *ptr_struct, FILE* file)
+{
 	cibfw_guids_print(ptr_struct, file, 0);
 }
 
-void cibfw_operation_key_pack(const struct cibfw_operation_key *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_operation_key_pack(const struct cibfw_operation_key *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->key_modifier);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->key);
 
 }
 
-void cibfw_operation_key_unpack(struct cibfw_operation_key *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_operation_key_unpack(struct cibfw_operation_key *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->key_modifier = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->key = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void cibfw_operation_key_print(const struct cibfw_operation_key *ptr_struct, FILE* file, int indent_level){
+void cibfw_operation_key_print(const struct cibfw_operation_key *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_operation_key ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "key_modifier         : "UH_FMT"\n", ptr_struct->key_modifier);
+	fprintf(file, "key_modifier         : " UH_FMT "\n", ptr_struct->key_modifier);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "key                  : "U64H_FMT"\n", ptr_struct->key);
+	fprintf(file, "key                  : " U64H_FMT "\n", ptr_struct->key);
 
 }
 
-int cibfw_operation_key_size(void){
+int cibfw_operation_key_size(void)
+{
 	 return 16;
 }
 
-void cibfw_operation_key_dump(const struct cibfw_operation_key *ptr_struct, FILE* file) {
+void cibfw_operation_key_dump(const struct cibfw_operation_key *ptr_struct, FILE* file)
+{
 	cibfw_operation_key_print(ptr_struct, file, 0);
 }
 
-void cibfw_image_info_pack(const struct cibfw_image_info *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_image_info_pack(const struct cibfw_image_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signed_fw);
+
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor_version);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->major_version);
 
-	offset=32;
+	offset = 32;
 	cibfw_FW_VERSION_pack(&(ptr_struct->FW_VERSION), ptr_buff + offset/8);
 
-	offset=160;
+	offset = 160;
 	cibfw_TRIPPLE_VERSION_pack(&(ptr_struct->mic_version), ptr_buff + offset/8);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(312, 8, i, 8192, 1);
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pci_device_id);
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(312, 8, i, 8192, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->psid[i]);
 	}
 
-	offset=432;
+	offset = 432;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vsd_vendor_id);
 
-	for (i=0; i < 208; i++) {
-	offset=adb2c_calc_array_field_address(472, 8, i, 8192, 1);
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(472, 8, i, 8192, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vsd[i]);
 	}
 
-	offset=2112;
+	offset = 2112;
 	cibfw_image_size_pack(&(ptr_struct->image_size), ptr_buff + offset/8);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(2240, 32, i, 8192, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->supported_hw_id[i]);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2240, 32, i, 8192, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->supported_hw_id[i]);
 	}
 
-	offset=2368;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ini_file_num);
+	offset = 2368;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ini_file_num);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(3608, 8, i, 8192, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(3608, 8, i, 8192, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->prod_ver[i]);
 	}
 
-	offset=6144;
+	offset = 6144;
 	cibfw_module_versions_pack(&(ptr_struct->module_versions), ptr_buff + offset/8);
 
 }
 
-void cibfw_image_info_unpack(struct cibfw_image_info *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_image_info_unpack(struct cibfw_image_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 17;
+	ptr_struct->signed_fw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 8;
 	ptr_struct->minor_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->major_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
+	offset = 32;
 	cibfw_FW_VERSION_unpack(&(ptr_struct->FW_VERSION), ptr_buff + offset/8);
 
-	offset=160;
+	offset = 160;
 	cibfw_TRIPPLE_VERSION_unpack(&(ptr_struct->mic_version), ptr_buff + offset/8);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(312, 8, i, 8192, 1);
+	offset = 224;
+	ptr_struct->pci_device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(312, 8, i, 8192, 1);
 	ptr_struct->psid[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->psid[16] = '\0';
-	offset=432;
+	offset = 432;
 	ptr_struct->vsd_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 208; i++) {
-	offset=adb2c_calc_array_field_address(472, 8, i, 8192, 1);
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(472, 8, i, 8192, 1);
 	ptr_struct->vsd[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->vsd[208] = '\0';
-	offset=2112;
+	offset = 2112;
 	cibfw_image_size_unpack(&(ptr_struct->image_size), ptr_buff + offset/8);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(2240, 32, i, 8192, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2240, 32, i, 8192, 1);
 	ptr_struct->supported_hw_id[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=2368;
+	offset = 2368;
 	ptr_struct->ini_file_num = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(3608, 8, i, 8192, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(3608, 8, i, 8192, 1);
 	ptr_struct->prod_ver[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->prod_ver[16] = '\0';
-	offset=6144;
+	offset = 6144;
 	cibfw_module_versions_unpack(&(ptr_struct->module_versions), ptr_buff + offset/8);
 
 }
 
-void cibfw_image_info_print(const struct cibfw_image_info *ptr_struct, FILE* file, int indent_level){
+void cibfw_image_info_print(const struct cibfw_image_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_image_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor_version        : "UH_FMT"\n", ptr_struct->minor_version);
+	fprintf(file, "signed_fw            : " UH_FMT "\n", ptr_struct->signed_fw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major_version        : "UH_FMT"\n", ptr_struct->major_version);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "FW_VERSION:\n");
@@ -841,22 +831,25 @@ void cibfw_image_info_print(const struct cibfw_image_info *ptr_struct, FILE* fil
 	fprintf(file, "mic_version:\n");
 	cibfw_TRIPPLE_VERSION_print(&(ptr_struct->mic_version), file, indent_level + 1);
 
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pci_device_id        : " UH_FMT "\n", ptr_struct->pci_device_id);
+
 	fprintf(file, "psid                 : \"%s\"\n", ptr_struct->psid);
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vsd_vendor_id        : "UH_FMT"\n", ptr_struct->vsd_vendor_id);
+	fprintf(file, "vsd_vendor_id        : " UH_FMT "\n", ptr_struct->vsd_vendor_id);
 
 	fprintf(file, "vsd                  : \"%s\"\n", ptr_struct->vsd);
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "image_size:\n");
 	cibfw_image_size_print(&(ptr_struct->image_size), file, indent_level + 1);
 
-	for (i=0; i < 4; i++) {
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "supported_hw_id_%03d : "U32H_FMT"\n", i, ptr_struct->supported_hw_id[i]);
+	fprintf(file, "supported_hw_id_%03d : " U32H_FMT "\n", i, ptr_struct->supported_hw_id[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ini_file_num         : "U32H_FMT"\n", ptr_struct->ini_file_num);
+	fprintf(file, "ini_file_num         : " U32H_FMT "\n", ptr_struct->ini_file_num);
 
 	fprintf(file, "prod_ver             : \"%s\"\n", ptr_struct->prod_ver);
 	adb2c_add_indentation(file, indent_level);
@@ -865,88 +858,92 @@ void cibfw_image_info_print(const struct cibfw_image_info *ptr_struct, FILE* fil
 
 }
 
-int cibfw_image_info_size(void){
+int cibfw_image_info_size(void)
+{
 	 return 1024;
 }
 
-void cibfw_image_info_dump(const struct cibfw_image_info *ptr_struct, FILE* file) {
+void cibfw_image_info_dump(const struct cibfw_image_info *ptr_struct, FILE* file)
+{
 	cibfw_image_info_print(ptr_struct, file, 0);
 }
 
-void cibfw_mfg_info_pack(const struct cibfw_mfg_info *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_mfg_info_pack(const struct cibfw_mfg_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(24, 8, i, 2560, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 2560, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->psid[i]);
 	}
 
-	offset=255;
+	offset = 255;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->guids_override_en);
 
-	offset=232;
+	offset = 232;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor_version);
 
-	offset=224;
+	offset = 224;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->major_version);
 
-	offset=256;
+	offset = 256;
 	cibfw_guids_pack(&(ptr_struct->guids), ptr_buff + offset/8);
 
 }
 
-void cibfw_mfg_info_unpack(struct cibfw_mfg_info *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_mfg_info_unpack(struct cibfw_mfg_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(24, 8, i, 2560, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 2560, 1);
 	ptr_struct->psid[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->psid[16] = '\0';
-	offset=255;
+	offset = 255;
 	ptr_struct->guids_override_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
+	offset = 232;
 	ptr_struct->minor_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->major_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=256;
+	offset = 256;
 	cibfw_guids_unpack(&(ptr_struct->guids), ptr_buff + offset/8);
 
 }
 
-void cibfw_mfg_info_print(const struct cibfw_mfg_info *ptr_struct, FILE* file, int indent_level){
+void cibfw_mfg_info_print(const struct cibfw_mfg_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_mfg_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	fprintf(file, "psid                 : \"%s\"\n", ptr_struct->psid);
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "guids_override_en    : "UH_FMT"\n", ptr_struct->guids_override_en);
+	fprintf(file, "guids_override_en    : " UH_FMT "\n", ptr_struct->guids_override_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor_version        : "UH_FMT"\n", ptr_struct->minor_version);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major_version        : "UH_FMT"\n", ptr_struct->major_version);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "guids:\n");
@@ -954,140 +951,144 @@ void cibfw_mfg_info_print(const struct cibfw_mfg_info *ptr_struct, FILE* file, i
 
 }
 
-int cibfw_mfg_info_size(void){
+int cibfw_mfg_info_size(void)
+{
 	 return 320;
 }
 
-void cibfw_mfg_info_dump(const struct cibfw_mfg_info *ptr_struct, FILE* file) {
+void cibfw_mfg_info_dump(const struct cibfw_mfg_info *ptr_struct, FILE* file)
+{
 	cibfw_mfg_info_print(ptr_struct, file, 0);
 }
 
-void cibfw_device_info_pack(const struct cibfw_device_info *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_device_info_pack(const struct cibfw_device_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature0);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature0);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature1);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature1);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature2);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature2);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature3);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature3);
 
-	offset=152;
+	offset = 152;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor_version);
 
-	offset=143;
+	offset = 143;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->major_version);
 
-	offset=256;
+	offset = 256;
 	cibfw_guids_pack(&(ptr_struct->guids), ptr_buff + offset/8);
 
-	offset=880;
+	offset = 880;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vsd_vendor_id);
 
-	for (i=0; i < 208; i++) {
-	offset=adb2c_calc_array_field_address(920, 8, i, 4096, 1);
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(920, 8, i, 4096, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vsd[i]);
 	}
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
 	cibfw_operation_key_pack(&(ptr_struct->keys[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void cibfw_device_info_unpack(struct cibfw_device_info *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_device_info_unpack(struct cibfw_device_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->signature0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->signature1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->signature2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->signature3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=152;
+	offset = 152;
 	ptr_struct->minor_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=143;
+	offset = 143;
 	ptr_struct->major_version = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-	offset=256;
+	offset = 256;
 	cibfw_guids_unpack(&(ptr_struct->guids), ptr_buff + offset/8);
 
-	offset=880;
+	offset = 880;
 	ptr_struct->vsd_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 208; i++) {
-	offset=adb2c_calc_array_field_address(920, 8, i, 4096, 1);
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(920, 8, i, 4096, 1);
 	ptr_struct->vsd[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->vsd[208] = '\0';
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
 	cibfw_operation_key_unpack(&(ptr_struct->keys[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void cibfw_device_info_print(const struct cibfw_device_info *ptr_struct, FILE* file, int indent_level){
+void cibfw_device_info_print(const struct cibfw_device_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_device_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature0           : "U32H_FMT"\n", ptr_struct->signature0);
+	fprintf(file, "signature0           : " U32H_FMT "\n", ptr_struct->signature0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature1           : "U32H_FMT"\n", ptr_struct->signature1);
+	fprintf(file, "signature1           : " U32H_FMT "\n", ptr_struct->signature1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature2           : "U32H_FMT"\n", ptr_struct->signature2);
+	fprintf(file, "signature2           : " U32H_FMT "\n", ptr_struct->signature2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature3           : "U32H_FMT"\n", ptr_struct->signature3);
+	fprintf(file, "signature3           : " U32H_FMT "\n", ptr_struct->signature3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor_version        : "UH_FMT"\n", ptr_struct->minor_version);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major_version        : "UH_FMT"\n", ptr_struct->major_version);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "guids:\n");
 	cibfw_guids_print(&(ptr_struct->guids), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vsd_vendor_id        : "UH_FMT"\n", ptr_struct->vsd_vendor_id);
+	fprintf(file, "vsd_vendor_id        : " UH_FMT "\n", ptr_struct->vsd_vendor_id);
 
 	fprintf(file, "vsd                  : \"%s\"\n", ptr_struct->vsd);
-	for (i=0; i < 4; i++) {
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "keys_%03d:\n", i);
 	cibfw_operation_key_print(&(ptr_struct->keys[i]), file, indent_level + 1);
@@ -1095,387 +1096,405 @@ void cibfw_device_info_print(const struct cibfw_device_info *ptr_struct, FILE* f
 
 }
 
-int cibfw_device_info_size(void){
+int cibfw_device_info_size(void)
+{
 	 return 512;
 }
 
-void cibfw_device_info_dump(const struct cibfw_device_info *ptr_struct, FILE* file) {
+void cibfw_device_info_dump(const struct cibfw_device_info *ptr_struct, FILE* file)
+{
 	cibfw_device_info_print(ptr_struct, file, 0);
 }
 
-void cibfw_register_mfrl_pack(const struct cibfw_register_mfrl *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_register_mfrl_pack(const struct cibfw_register_mfrl *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=56;
+	offset = 56;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reset_level);
 
 }
 
-void cibfw_register_mfrl_unpack(struct cibfw_register_mfrl *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_register_mfrl_unpack(struct cibfw_register_mfrl *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=56;
+	offset = 56;
 	ptr_struct->reset_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void cibfw_register_mfrl_print(const struct cibfw_register_mfrl *ptr_struct, FILE* file, int indent_level){
+void cibfw_register_mfrl_print(const struct cibfw_register_mfrl *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_register_mfrl ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_level          : "UH_FMT"\n", ptr_struct->reset_level);
+	fprintf(file, "reset_level          : " UH_FMT "\n", ptr_struct->reset_level);
 
 }
 
-int cibfw_register_mfrl_size(void){
+int cibfw_register_mfrl_size(void)
+{
 	 return 16;
 }
 
-void cibfw_register_mfrl_dump(const struct cibfw_register_mfrl *ptr_struct, FILE* file) {
+void cibfw_register_mfrl_dump(const struct cibfw_register_mfrl *ptr_struct, FILE* file)
+{
 	cibfw_register_mfrl_print(ptr_struct, file, 0);
 }
 
-void cibfw_itoc_header_pack(const struct cibfw_itoc_header *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_itoc_header_pack(const struct cibfw_itoc_header *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature0);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature0);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature1);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature1);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature2);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature2);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature3);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature3);
 
-	offset=152;
+	offset = 152;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->version);
 
-	offset=240;
+	offset = 240;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->itoc_entry_crc);
 
 }
 
-void cibfw_itoc_header_unpack(struct cibfw_itoc_header *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_itoc_header_unpack(struct cibfw_itoc_header *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->signature0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->signature1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->signature2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->signature3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=152;
+	offset = 152;
 	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=240;
+	offset = 240;
 	ptr_struct->itoc_entry_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void cibfw_itoc_header_print(const struct cibfw_itoc_header *ptr_struct, FILE* file, int indent_level){
+void cibfw_itoc_header_print(const struct cibfw_itoc_header *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_itoc_header ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature0           : "U32H_FMT"\n", ptr_struct->signature0);
+	fprintf(file, "signature0           : " U32H_FMT "\n", ptr_struct->signature0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature1           : "U32H_FMT"\n", ptr_struct->signature1);
+	fprintf(file, "signature1           : " U32H_FMT "\n", ptr_struct->signature1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature2           : "U32H_FMT"\n", ptr_struct->signature2);
+	fprintf(file, "signature2           : " U32H_FMT "\n", ptr_struct->signature2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature3           : "U32H_FMT"\n", ptr_struct->signature3);
+	fprintf(file, "signature3           : " U32H_FMT "\n", ptr_struct->signature3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "itoc_entry_crc       : "UH_FMT"\n", ptr_struct->itoc_entry_crc);
+	fprintf(file, "itoc_entry_crc       : " UH_FMT "\n", ptr_struct->itoc_entry_crc);
 
 }
 
-int cibfw_itoc_header_size(void){
+int cibfw_itoc_header_size(void)
+{
 	 return 32;
 }
 
-void cibfw_itoc_header_dump(const struct cibfw_itoc_header *ptr_struct, FILE* file) {
+void cibfw_itoc_header_dump(const struct cibfw_itoc_header *ptr_struct, FILE* file)
+{
 	cibfw_itoc_header_print(ptr_struct, file, 0);
 }
 
-void cibfw_itoc_entry_pack(const struct cibfw_itoc_entry *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_itoc_entry_pack(const struct cibfw_itoc_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 22, (u_int32_t)ptr_struct->size);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->type);
 
-	offset=34;
+	offset = 34;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->param0);
 
-	offset=33;
+	offset = 33;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cache_line_crc);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->zipped_image);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->param1);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->param1);
 
-	offset=161;
+	offset = 161;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->flash_addr);
 
-	offset=160;
+	offset = 160;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->relative_addr);
 
-	offset=208;
+	offset = 208;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->section_crc);
 
-	offset=207;
+	offset = 207;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_crc);
 
-	offset=206;
+	offset = 206;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_data);
 
-	offset=240;
+	offset = 240;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->itoc_entry_crc);
 
 }
 
-void cibfw_itoc_entry_unpack(struct cibfw_itoc_entry *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_itoc_entry_unpack(struct cibfw_itoc_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	ptr_struct->size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 22);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=34;
+	offset = 34;
 	ptr_struct->param0 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
 
-	offset=33;
+	offset = 33;
 	ptr_struct->cache_line_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->zipped_image = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->param1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=161;
+	offset = 161;
 	ptr_struct->flash_addr = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->relative_addr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=208;
+	offset = 208;
 	ptr_struct->section_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=207;
+	offset = 207;
 	ptr_struct->no_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=206;
+	offset = 206;
 	ptr_struct->device_data = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=240;
+	offset = 240;
 	ptr_struct->itoc_entry_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void cibfw_itoc_entry_print(const struct cibfw_itoc_entry *ptr_struct, FILE* file, int indent_level){
+void cibfw_itoc_entry_print(const struct cibfw_itoc_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_itoc_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "UH_FMT"\n", ptr_struct->type);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "param0               : "UH_FMT"\n", ptr_struct->param0);
+	fprintf(file, "param0               : " UH_FMT "\n", ptr_struct->param0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cache_line_crc       : "UH_FMT"\n", ptr_struct->cache_line_crc);
+	fprintf(file, "cache_line_crc       : " UH_FMT "\n", ptr_struct->cache_line_crc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "zipped_image         : "UH_FMT"\n", ptr_struct->zipped_image);
+	fprintf(file, "zipped_image         : " UH_FMT "\n", ptr_struct->zipped_image);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "param1               : "U32H_FMT"\n", ptr_struct->param1);
+	fprintf(file, "param1               : " U32H_FMT "\n", ptr_struct->param1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flash_addr           : "UH_FMT"\n", ptr_struct->flash_addr);
+	fprintf(file, "flash_addr           : " UH_FMT "\n", ptr_struct->flash_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "relative_addr        : "UH_FMT"\n", ptr_struct->relative_addr);
+	fprintf(file, "relative_addr        : " UH_FMT "\n", ptr_struct->relative_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "section_crc          : "UH_FMT"\n", ptr_struct->section_crc);
+	fprintf(file, "section_crc          : " UH_FMT "\n", ptr_struct->section_crc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_crc               : "UH_FMT"\n", ptr_struct->no_crc);
+	fprintf(file, "no_crc               : " UH_FMT "\n", ptr_struct->no_crc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_data          : "UH_FMT"\n", ptr_struct->device_data);
+	fprintf(file, "device_data          : " UH_FMT "\n", ptr_struct->device_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "itoc_entry_crc       : "UH_FMT"\n", ptr_struct->itoc_entry_crc);
+	fprintf(file, "itoc_entry_crc       : " UH_FMT "\n", ptr_struct->itoc_entry_crc);
 
 }
 
-int cibfw_itoc_entry_size(void){
+int cibfw_itoc_entry_size(void)
+{
 	 return 32;
 }
 
-void cibfw_itoc_entry_dump(const struct cibfw_itoc_entry *ptr_struct, FILE* file) {
+void cibfw_itoc_entry_dump(const struct cibfw_itoc_entry *ptr_struct, FILE* file)
+{
 	cibfw_itoc_entry_print(ptr_struct, file, 0);
 }
 
-void cibfw_register_mfai_pack(const struct cibfw_register_mfai *ptr_struct, u_int8_t* ptr_buff){
+void cibfw_register_mfai_pack(const struct cibfw_register_mfai *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
 
-	offset=2;
+	offset = 2;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->permanent);
 
-	offset=1;
+	offset = 1;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_address);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_image_id);
 
-	offset=56;
+	offset = 56;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->image_id);
 
 }
 
-void cibfw_register_mfai_unpack(struct cibfw_register_mfai *ptr_struct, const u_int8_t* ptr_buff){
+void cibfw_register_mfai_unpack(struct cibfw_register_mfai *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=2;
+	offset = 2;
 	ptr_struct->permanent = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
+	offset = 1;
 	ptr_struct->use_address = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->use_image_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=56;
+	offset = 56;
 	ptr_struct->image_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void cibfw_register_mfai_print(const struct cibfw_register_mfai *ptr_struct, FILE* file, int indent_level){
+void cibfw_register_mfai_print(const struct cibfw_register_mfai *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_register_mfai ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address              : "UH_FMT"\n", ptr_struct->address);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "permanent            : "UH_FMT"\n", ptr_struct->permanent);
+	fprintf(file, "permanent            : " UH_FMT "\n", ptr_struct->permanent);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "use_address          : "UH_FMT"\n", ptr_struct->use_address);
+	fprintf(file, "use_address          : " UH_FMT "\n", ptr_struct->use_address);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "use_image_id         : "UH_FMT"\n", ptr_struct->use_image_id);
+	fprintf(file, "use_image_id         : " UH_FMT "\n", ptr_struct->use_image_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "image_id             : "UH_FMT"\n", ptr_struct->image_id);
+	fprintf(file, "image_id             : " UH_FMT "\n", ptr_struct->image_id);
 
 }
 
-int cibfw_register_mfai_size(void){
+int cibfw_register_mfai_size(void)
+{
 	 return 16;
 }
 
-void cibfw_register_mfai_dump(const struct cibfw_register_mfai *ptr_struct, FILE* file) {
+void cibfw_register_mfai_dump(const struct cibfw_register_mfai *ptr_struct, FILE* file)
+{
 	cibfw_register_mfai_print(ptr_struct, file, 0);
 }
 
@@ -1489,11 +1508,13 @@ void cibfw_cibfw_Nodes_unpack(union cibfw_cibfw_Nodes *ptr_struct, const u_int8_
 	cibfw_image_info_unpack(&(ptr_struct->image_info), ptr_buff);
 }
 
-void cibfw_cibfw_Nodes_print(const union cibfw_cibfw_Nodes *ptr_struct, FILE* file, int indent_level){
+void cibfw_cibfw_Nodes_print(const union cibfw_cibfw_Nodes *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== cibfw_cibfw_Nodes ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -1531,11 +1552,13 @@ void cibfw_cibfw_Nodes_print(const union cibfw_cibfw_Nodes *ptr_struct, FILE* fi
 
 }
 
-int cibfw_cibfw_Nodes_size(void){
+int cibfw_cibfw_Nodes_size(void)
+{
 	 return 1024;
 }
 
-void cibfw_cibfw_Nodes_dump(const union cibfw_cibfw_Nodes *ptr_struct, FILE* file) {
+void cibfw_cibfw_Nodes_dump(const union cibfw_cibfw_Nodes *ptr_struct, FILE* file)
+{
 	cibfw_cibfw_Nodes_print(ptr_struct, file, 0);
 }
 
diff --git a/tools_layouts/cibfw_layouts.h b/tools_layouts/cibfw_layouts.h
index 0c449c3..e2786f7 100644
--- a/tools_layouts/cibfw_layouts.h
+++ b/tools_layouts/cibfw_layouts.h
@@ -31,10 +31,10 @@
  */
 
 /***
- *** This file was generated at "2015-06-17 12:05:15"
- *** by:
- ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cibfw/cibfw.adb --file-prefix cibfw --prefix cibfw_
- ***/
+         *** This file was generated at "2016-11-07 11:30:09"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cibfw/cibfw.adb --file-prefix cibfw --prefix cibfw_
+         ***/
 #ifndef CIBFW_LAYOUTS_H
 #define CIBFW_LAYOUTS_H
 
@@ -44,30 +44,17 @@ extern "C" {
 #endif
 
 #include "adb_to_c_utils.h"/* Description -   */
-/* Size in bytes - 8 */
-struct cibfw_uint64 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t hi;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t lo;
-};
-
-/* Description -   */
 /* Size in bytes - 4 */
 struct cibfw_module_version {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t branch;
 	/* Description -  */
-	/* 0.8 - 0.19 */
+	/* 0x0.8 - 0x0.19 */
 	 u_int16_t minor;
 	/* Description -  */
-	/* 0.20 - 4.31 */
+	/* 0x0.20 - 0x0.31 */
 	 u_int16_t major;
 };
 
@@ -76,15 +63,15 @@ struct cibfw_module_version {
 struct cibfw_uid_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Number of allocated UIDs in this entry */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t num_allocated;
 	/* Description - Step size by which to derive the UIDs for this entry
 See struct description */
-	/* 0.8 - 0.15 */
+	/* 0x0.8 - 0x0.15 */
 	 u_int8_t step;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - For MACs, the upper 16 bits in the 'hi' dword are reserved */
-	/* 8.0 - 16.31 */
+	/* 0x8.0 - 0x10.31 */
 	 u_int64_t uid;
 };
 
@@ -93,27 +80,27 @@ See struct description */
 struct cibfw_module_versions {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 struct cibfw_module_version core;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 struct cibfw_module_version phy;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 struct cibfw_module_version kernel;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 struct cibfw_module_version iron_image;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 struct cibfw_module_version host_management;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 struct cibfw_module_version mad;
 };
 
@@ -122,11 +109,11 @@ struct cibfw_module_versions {
 struct cibfw_image_size {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - log of next address in bytes to search for an image. Address in bytes is 2^log_step */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t log_step;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - Max possible size in bytes of image. Image read / write should not occure beyond this address */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t max_size;
 };
 
@@ -135,14 +122,14 @@ struct cibfw_image_size {
 struct cibfw_TRIPPLE_VERSION {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.16 - 4.31 */
+	/* 0x0.16 - 0x0.31 */
 	 u_int16_t MAJOR;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
+	/* 0x4.0 - 0x4.15 */
 	 u_int16_t SUBMINOR;
 	/* Description -  */
-	/* 4.16 - 8.31 */
+	/* 0x4.16 - 0x4.31 */
 	 u_int16_t MINOR;
 };
 
@@ -151,34 +138,34 @@ struct cibfw_TRIPPLE_VERSION {
 struct cibfw_FW_VERSION {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.16 - 4.31 */
+	/* 0x0.16 - 0x0.31 */
 	 u_int16_t MAJOR;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
+	/* 0x4.0 - 0x4.15 */
 	 u_int16_t SUBMINOR;
 	/* Description -  */
-	/* 4.16 - 8.31 */
+	/* 0x4.16 - 0x4.31 */
 	 u_int16_t MINOR;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.8 - 8.15 */
+	/* 0x8.8 - 0x8.15 */
 	 u_int8_t Hour;
 	/* Description -  */
-	/* 8.16 - 8.23 */
+	/* 0x8.16 - 0x8.23 */
 	 u_int8_t Minutes;
 	/* Description -  */
-	/* 8.24 - 12.31 */
+	/* 0x8.24 - 0x8.31 */
 	 u_int8_t Seconds;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.7 */
+	/* 0xc.0 - 0xc.7 */
 	 u_int8_t Day;
 	/* Description -  */
-	/* 12.8 - 12.15 */
+	/* 0xc.8 - 0xc.15 */
 	 u_int8_t Month;
 	/* Description -  */
-	/* 12.16 - 16.31 */
+	/* 0xc.16 - 0xc.31 */
 	 u_int16_t Year;
 };
 
@@ -200,11 +187,11 @@ Then the GUIDs for this port would be:
     0x2c9030001008
     0x2c9030001010
     0x2c9030001018 */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct cibfw_uid_entry guids[2];
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 64.31 */
+	/* 0x20.0 - 0x40.31 */
 	 struct cibfw_uid_entry macs[2];
 };
 
@@ -213,11 +200,11 @@ Then the GUIDs for this port would be:
 struct cibfw_operation_key {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t key_modifier;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 16.31 */
+	/* 0x8.0 - 0x10.31 */
 	 u_int64_t key;
 };
 
@@ -225,56 +212,63 @@ struct cibfw_operation_key {
 /* Size in bytes - 1024 */
 struct cibfw_image_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - [MCC/MCDA flow] if set, the SHA 256 digest is encrypted - enabled by default for secure_fw - cr-space not closed */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t signed_fw;
 	/* Description - IMAGE_INFO section minor version */
-	/* 0.16 - 0.23 */
+	/* 0x0.16 - 0x0.23 */
 	 u_int8_t minor_version;
 	/* Description - IMAGE_INFO section major version */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t major_version;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 20.31 */
+	/* 0x4.0 - 0x14.31 */
 	 struct cibfw_FW_VERSION FW_VERSION;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 28.31 */
+	/* 0x14.0 - 0x1c.31 */
 	 struct cibfw_TRIPPLE_VERSION mic_version;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.16 - 0x1c.31 */
+	 u_int16_t pci_device_id;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.24 - 52.23 */
+	/* 0x24.24 - 0x34.23 */
 	 char psid[17];
 /*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 52.0 - 52.15 */
+	/* 0x34.0 - 0x34.15 */
 	 u_int16_t vsd_vendor_id;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 56.24 - 264.23 */
+	/* 0x38.24 - 0x108.23 */
 	 char vsd[209];
 /*---------------- DWORD[66] (Offset 0x108) ----------------*/
 	/* Description - image size parameters */
-	/* 264.0 - 272.31 */
+	/* 0x108.0 - 0x110.31 */
 	 struct cibfw_image_size image_size;
 /*---------------- DWORD[70] (Offset 0x118) ----------------*/
 	/* Description - HW device(s) supported by this FW image.
 0 means invalid entry.
 For Golan A0, first entry should be 0x1ff
  */
-	/* 280.0 - 296.31 */
+	/* 0x118.0 - 0x128.31 */
 	 u_int32_t supported_hw_id[4];
 /*---------------- DWORD[74] (Offset 0x128) ----------------*/
 	/* Description -  */
-	/* 296.0 - 300.31 */
+	/* 0x128.0 - 0x12c.31 */
 	 u_int32_t ini_file_num;
 /*---------------- DWORD[112] (Offset 0x1c0) ----------------*/
 	/* Description - Product Version is the unified version of the FW and expansion ROM.
 Format is defined by the packager.
 When set to a non-empty string the FW update tool burns the image as a monolythic entity and refuses to update rom only or FW only. */
-	/* 448.24 - 464.23 */
+	/* 0x1c0.24 - 0x1d0.23 */
 	 char prod_ver[17];
 /*---------------- DWORD[192] (Offset 0x300) ----------------*/
 	/* Description -  */
-	/* 768.0 - 832.31 */
+	/* 0x300.0 - 0x340.31 */
 	 struct cibfw_module_versions module_versions;
 };
 
@@ -283,22 +277,22 @@ When set to a non-empty string the FW update tool burns the image as a monolythi
 struct cibfw_mfg_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.24 - 16.23 */
+	/* 0x0.24 - 0x10.23 */
 	 char psid[17];
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description - When this bit is set, the GUIDs should be taken from the device_info node.
 When this bit is cleared, the GUIDs should be taken from the mfg_info node. */
-	/* 28.0 - 28.0 */
+	/* 0x1c.0 - 0x1c.0 */
 	 u_int8_t guids_override_en;
 	/* Description - MFG_INFO section minor version */
-	/* 28.16 - 28.23 */
+	/* 0x1c.16 - 0x1c.23 */
 	 u_int8_t minor_version;
 	/* Description - MFG_INFO section major version */
-	/* 28.24 - 32.31 */
+	/* 0x1c.24 - 0x1c.31 */
 	 u_int8_t major_version;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 96.31 */
+	/* 0x20.0 - 0x60.31 */
 	 struct cibfw_guids guids;
 };
 
@@ -307,42 +301,42 @@ When this bit is cleared, the GUIDs should be taken from the mfg_info node. */
 struct cibfw_device_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t signature0;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t signature1;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t signature2;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t signature3;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - Format version for this struct */
-	/* 16.0 - 16.7 */
+	/* 0x10.0 - 0x10.7 */
 	 u_int8_t minor_version;
 	/* Description - Format version for this struct */
-	/* 16.8 - 16.16 */
+	/* 0x10.8 - 0x10.16 */
 	 u_int16_t major_version;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 96.31 */
+	/* 0x20.0 - 0x60.31 */
 	 struct cibfw_guids guids;
 /*---------------- DWORD[27] (Offset 0x6c) ----------------*/
 	/* Description -  */
-	/* 108.0 - 108.15 */
+	/* 0x6c.0 - 0x6c.15 */
 	 u_int16_t vsd_vendor_id;
 /*---------------- DWORD[28] (Offset 0x70) ----------------*/
 	/* Description -  */
-	/* 112.24 - 320.23 */
+	/* 0x70.24 - 0x140.23 */
 	 char vsd[209];
 /*---------------- DWORD[88] (Offset 0x160) ----------------*/
 	/* Description -  */
-	/* 352.0 - 416.31 */
+	/* 0x160.0 - 0x1a0.31 */
 	 struct cibfw_operation_key keys[4];
 };
 
@@ -357,7 +351,7 @@ struct cibfw_register_mfrl {
  3-driver down, link down pci disable/enable
  7-server warm reboot
  8-server cold reboot */
-	/* 4.0 - 4.7 */
+	/* 0x4.0 - 0x4.7 */
 	 u_int8_t reset_level;
 };
 
@@ -366,27 +360,27 @@ struct cibfw_register_mfrl {
 struct cibfw_itoc_header {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - 49 54 4f 43 */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t signature0;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - 04 08 15 16 */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t signature1;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - 23 42 ca fa */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t signature2;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - ba ca fe 00 */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t signature3;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - Current version: 1 */
-	/* 16.0 - 16.7 */
+	/* 0x10.0 - 0x10.7 */
 	 u_int8_t version;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 28.15 */
+	/* 0x1c.0 - 0x1c.15 */
 	 u_int16_t itoc_entry_crc;
 };
 
@@ -395,7 +389,7 @@ struct cibfw_itoc_header {
 struct cibfw_itoc_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.2 - 0.23 */
+	/* 0x0.2 - 0x0.23 */
 	 u_int32_t size;
 	/* Description - Section ID Section Type DESCRIPTION
 0x1 BOOT_CODE FW loader code
@@ -420,44 +414,44 @@ struct cibfw_itoc_entry {
 0xff END_MARKER A type of 0xff marks the end of the iTOC entries array. It is recommended to leave the unused part of the iTOC section blank (that is, 0xff in all unused bytes)
 All other values Reserved 
  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t type;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - if partition type is code or ini then the load address is in here */
-	/* 4.0 - 4.29 */
+	/* 0x4.0 - 0x4.29 */
 	 u_int32_t param0;
 	/* Description - When this bit is set, Data within the section is protected by per-line crc. See yu.flash.replacement.crc_en */
-	/* 4.30 - 4.30 */
+	/* 0x4.30 - 0x4.30 */
 	 u_int8_t cache_line_crc;
 	/* Description - When this bit is set, image is zipped */
-	/* 4.31 - 8.31 */
+	/* 0x4.31 - 0x4.31 */
 	 u_int8_t zipped_image;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - if partition type is code then the jump address is in here */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t param1;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.2 - 20.30 */
+	/* 0x14.2 - 0x14.30 */
 	 u_int32_t flash_addr;
 	/* Description -  */
-	/* 20.31 - 24.31 */
+	/* 0x14.31 - 0x14.31 */
 	 u_int8_t relative_addr;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 24.15 */
+	/* 0x18.0 - 0x18.15 */
 	 u_int16_t section_crc;
 	/* Description -  */
-	/* 24.16 - 24.16 */
+	/* 0x18.16 - 0x18.16 */
 	 u_int8_t no_crc;
 	/* Description - When this bit is set, the section pointed by this entry in belongs to teh device tather than to teh FW image.
 A device_data section should not be updated in a regular FW update.
 Example for device_data section: VPD_R, GUIDs. */
-	/* 24.17 - 24.17 */
+	/* 0x18.17 - 0x18.17 */
 	 u_int8_t device_data;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 28.15 */
+	/* 0x1c.0 - 0x1c.15 */
 	 u_int16_t itoc_entry_crc;
 };
 
@@ -466,20 +460,20 @@ Example for device_data section: VPD_R, GUIDs. */
 struct cibfw_register_mfai {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
+	/* 0x0.0 - 0x0.23 */
 	 u_int32_t address;
 	/* Description - if set make image permamnent */
-	/* 0.29 - 0.29 */
+	/* 0x0.29 - 0x0.29 */
 	 u_int8_t permanent;
 	/* Description - if set use address */
-	/* 0.30 - 0.30 */
+	/* 0x0.30 - 0x0.30 */
 	 u_int8_t use_address;
 	/* Description - if set use image id and not address */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t use_image_id;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.7 */
+	/* 0x4.0 - 0x4.7 */
 	 u_int8_t image_id;
 };
 
@@ -488,40 +482,33 @@ struct cibfw_register_mfai {
 union cibfw_cibfw_Nodes {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct cibfw_register_mfai register_mfai;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct cibfw_itoc_entry itoc_entry;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct cibfw_guids guids;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct cibfw_itoc_header itoc_header;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct cibfw_register_mfrl register_mfrl;
 	/* Description -  */
-	/* 0.0 - 512.31 */
+	/* 0x0.0 - 0x200.31 */
 	 struct cibfw_device_info device_info;
 	/* Description -  */
-	/* 0.0 - 320.31 */
+	/* 0x0.0 - 0x140.31 */
 	 struct cibfw_mfg_info mfg_info;
 	/* Description -  */
-	/* 0.0 - 1024.31 */
+	/* 0x0.0 - 0x400.31 */
 	 struct cibfw_image_info image_info;
 };
 
 
 /*================= PACK/UNPACK/PRINT FUNCTIONS ======================*/
-/* uint64 */
-void cibfw_uint64_pack(const struct cibfw_uint64 *ptr_struct, u_int8_t* ptr_buff);
-void cibfw_uint64_unpack(struct cibfw_uint64 *ptr_struct, const u_int8_t* ptr_buff);
-void cibfw_uint64_print(const struct cibfw_uint64 *ptr_struct, FILE* file, int indent_level);
-int cibfw_uint64_size(void);
-#define CIBFW_UINT64_SIZE    (0x8)
-void cibfw_uint64_dump(const struct cibfw_uint64 *ptr_struct, FILE* file);
 /* module_version */
 void cibfw_module_version_pack(const struct cibfw_module_version *ptr_struct, u_int8_t* ptr_buff);
 void cibfw_module_version_unpack(struct cibfw_module_version *ptr_struct, const u_int8_t* ptr_buff);
diff --git a/tools_layouts/connectib_layouts.c b/tools_layouts/connectib_layouts.c
index 7576b17..411b2e9 100644
--- a/tools_layouts/connectib_layouts.c
+++ b/tools_layouts/connectib_layouts.c
@@ -31,52659 +31,83337 @@
  */
 
 /***
- *** This file was generated at "2015-06-17 12:05:31"
- *** by:
- ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/connectib/connectib.adb --file-prefix connectib --prefix connectib_
- ***/
+         *** This file was generated at "2017-03-19 12:09:18"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/connectib/connectib.adb --file-prefix connectib --prefix connectib_
+         ***/
 #include "connectib_layouts.h"
 
-void connectib_dw_pack(const struct connectib_dw *ptr_struct, u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_special_qp_commands_uapp_pack(const struct connectib_cmdif_ctx_special_qp_commands_uapp *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dw);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->uapp_qp_buf_id);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sw_wq_mkn);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_nim_indicies_allocated);
 
 }
 
-void connectib_dw_unpack(struct connectib_dw *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_special_qp_commands_uapp_unpack(struct connectib_cmdif_ctx_special_qp_commands_uapp *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->dw = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->uapp_qp_buf_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 32;
+	ptr_struct->sw_wq_mkn = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->num_nim_indicies_allocated = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_dw_print(const struct connectib_dw *ptr_struct, FILE* file, int indent_level){
+void connectib_cmdif_ctx_special_qp_commands_uapp_print(const struct connectib_cmdif_ctx_special_qp_commands_uapp *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dw ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cmdif_ctx_special_qp_commands_uapp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dw                   : "U32H_FMT"\n", ptr_struct->dw);
+	fprintf(file, "uapp_qp_buf_id       : " UH_FMT "\n", ptr_struct->uapp_qp_buf_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sw_wq_mkn            : " U32H_FMT "\n", ptr_struct->sw_wq_mkn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_nim_indicies_allocated : " U32H_FMT "\n", ptr_struct->num_nim_indicies_allocated);
 
 }
 
-int connectib_dw_size(void){
-	 return 4;
+int connectib_cmdif_ctx_special_qp_commands_uapp_size(void)
+{
+	 return 12;
 }
 
-void connectib_dw_dump(const struct connectib_dw *ptr_struct, FILE* file) {
-	connectib_dw_print(ptr_struct, file, 0);
+void connectib_cmdif_ctx_special_qp_commands_uapp_dump(const struct connectib_cmdif_ctx_special_qp_commands_uapp *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_qp_commands_uapp_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_type_nvlog_pack(const struct connectib_nv_tlv_type_nvlog *ptr_struct, u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_special_qp_commands_underlay_pack(const struct connectib_cmdif_ctx_special_qp_commands_underlay *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->parameter_index);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sub_class);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ste_ix);
 
 }
 
-void connectib_nv_tlv_type_nvlog_unpack(struct connectib_nv_tlv_type_nvlog *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_special_qp_commands_underlay_unpack(struct connectib_cmdif_ctx_special_qp_commands_underlay *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=8;
-	ptr_struct->sub_class = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_nv_tlv_type_nvlog_print(const struct connectib_nv_tlv_type_nvlog *ptr_struct, FILE* file, int indent_level){
+void connectib_cmdif_ctx_special_qp_commands_underlay_print(const struct connectib_cmdif_ctx_special_qp_commands_underlay *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_type_nvlog ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cmdif_ctx_special_qp_commands_underlay ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parameter_index      : "UH_FMT"\n", ptr_struct->parameter_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sub_class            : "UH_FMT"\n", ptr_struct->sub_class);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_               : "UH_FMT"\n", ptr_struct->class_);
+	fprintf(file, "ste_ix               : " U32H_FMT "\n", ptr_struct->ste_ix);
 
 }
 
-int connectib_nv_tlv_type_nvlog_size(void){
-	 return 4;
+int connectib_cmdif_ctx_special_qp_commands_underlay_size(void)
+{
+	 return 12;
 }
 
-void connectib_nv_tlv_type_nvlog_dump(const struct connectib_nv_tlv_type_nvlog *ptr_struct, FILE* file) {
-	connectib_nv_tlv_type_nvlog_print(ptr_struct, file, 0);
+void connectib_cmdif_ctx_special_qp_commands_underlay_dump(const struct connectib_cmdif_ctx_special_qp_commands_underlay *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_qp_commands_underlay_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_type_eswitch_pack(const struct connectib_nv_tlv_type_eswitch *ptr_struct, u_int8_t* ptr_buff){
+void connectib_regular_qp_eth_pack(const struct connectib_regular_qp_eth *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->parameter_index);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->port);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->host);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rq_head_qpn);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lag_tx_port_affinity);
 
 }
 
-void connectib_nv_tlv_type_eswitch_unpack(struct connectib_nv_tlv_type_eswitch *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_regular_qp_eth_unpack(struct connectib_regular_qp_eth *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=14;
-	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=8;
-	ptr_struct->host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 8;
+	ptr_struct->rq_head_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=0;
-	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->lag_tx_port_affinity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_nv_tlv_type_eswitch_print(const struct connectib_nv_tlv_type_eswitch *ptr_struct, FILE* file, int indent_level){
+void connectib_regular_qp_eth_print(const struct connectib_regular_qp_eth *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_type_eswitch ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_regular_qp_eth ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parameter_index      : "UH_FMT"\n", ptr_struct->parameter_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "host                 : "UH_FMT"\n", ptr_struct->host);
+	fprintf(file, "rq_head_qpn          : " UH_FMT "\n", ptr_struct->rq_head_qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_               : "UH_FMT"\n", ptr_struct->class_);
+	fprintf(file, "lag_tx_port_affinity : " UH_FMT "\n", ptr_struct->lag_tx_port_affinity);
 
 }
 
-int connectib_nv_tlv_type_eswitch_size(void){
+int connectib_regular_qp_eth_size(void)
+{
 	 return 4;
 }
 
-void connectib_nv_tlv_type_eswitch_dump(const struct connectib_nv_tlv_type_eswitch *ptr_struct, FILE* file) {
-	connectib_nv_tlv_type_eswitch_print(ptr_struct, file, 0);
+void connectib_regular_qp_eth_dump(const struct connectib_regular_qp_eth *ptr_struct, FILE* file)
+{
+	connectib_regular_qp_eth_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_type_per_host_pack(const struct connectib_nv_tlv_type_per_host *ptr_struct, u_int8_t* ptr_buff){
+void connectib_regular_qp_ipoib_pack(const struct connectib_regular_qp_ipoib *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->parameter_index);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->function);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->host);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->underlay_qp_ste_ix);
 
 }
 
-void connectib_nv_tlv_type_per_host_unpack(struct connectib_nv_tlv_type_per_host *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_regular_qp_ipoib_unpack(struct connectib_regular_qp_ipoib *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=22;
-	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
-
-	offset=14;
-	ptr_struct->function = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=0;
-	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->underlay_qp_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_nv_tlv_type_per_host_print(const struct connectib_nv_tlv_type_per_host *ptr_struct, FILE* file, int indent_level){
+void connectib_regular_qp_ipoib_print(const struct connectib_regular_qp_ipoib *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_type_per_host ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_regular_qp_ipoib ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parameter_index      : "UH_FMT"\n", ptr_struct->parameter_index);
+	fprintf(file, "underlay_qp_ste_ix   : " U32H_FMT "\n", ptr_struct->underlay_qp_ste_ix);
+
+}
+
+int connectib_regular_qp_ipoib_size(void)
+{
+	 return 4;
+}
+
+void connectib_regular_qp_ipoib_dump(const struct connectib_regular_qp_ipoib *ptr_struct, FILE* file)
+{
+	connectib_regular_qp_ipoib_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_qp_commands_inner_pack(const union connectib_cmdif_ctx_special_qp_commands_inner *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_cmdif_ctx_special_qp_commands_uapp_pack(&(ptr_struct->uapp), ptr_buff);
+}
 
+void connectib_cmdif_ctx_special_qp_commands_inner_unpack(union connectib_cmdif_ctx_special_qp_commands_inner *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_cmdif_ctx_special_qp_commands_uapp_unpack(&(ptr_struct->uapp), ptr_buff);
+}
+
+void connectib_cmdif_ctx_special_qp_commands_inner_print(const union connectib_cmdif_ctx_special_qp_commands_inner *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "function             : "UH_FMT"\n", ptr_struct->function);
+	fprintf(file, "======== connectib_cmdif_ctx_special_qp_commands_inner ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "host                 : "UH_FMT"\n", ptr_struct->host);
+	fprintf(file, "underlay_qp:\n");
+	connectib_cmdif_ctx_special_qp_commands_underlay_print(&(ptr_struct->underlay_qp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_               : "UH_FMT"\n", ptr_struct->class_);
+	fprintf(file, "uapp:\n");
+	connectib_cmdif_ctx_special_qp_commands_uapp_print(&(ptr_struct->uapp), file, indent_level + 1);
 
 }
 
-int connectib_nv_tlv_type_per_host_size(void){
-	 return 4;
+int connectib_cmdif_ctx_special_qp_commands_inner_size(void)
+{
+	 return 12;
 }
 
-void connectib_nv_tlv_type_per_host_dump(const struct connectib_nv_tlv_type_per_host *ptr_struct, FILE* file) {
-	connectib_nv_tlv_type_per_host_print(ptr_struct, file, 0);
+void connectib_cmdif_ctx_special_qp_commands_inner_dump(const union connectib_cmdif_ctx_special_qp_commands_inner *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_qp_commands_inner_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_type_bmc_pack(const struct connectib_nv_tlv_type_bmc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pmlp_code_style_lane_pack(const struct connectib_pmlp_code_style_lane *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 13, (u_int32_t)ptr_struct->parameter_index);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->channel);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->host);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module_num);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->module_lane);
 
 }
 
-void connectib_nv_tlv_type_bmc_unpack(struct connectib_nv_tlv_type_bmc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pmlp_code_style_lane_unpack(struct connectib_pmlp_code_style_lane *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=19;
-	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 13);
-
-	offset=14;
-	ptr_struct->channel = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=8;
-	ptr_struct->host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 24;
+	ptr_struct->module_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 14;
+	ptr_struct->module_lane = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
 }
 
-void connectib_nv_tlv_type_bmc_print(const struct connectib_nv_tlv_type_bmc *ptr_struct, FILE* file, int indent_level){
+void connectib_pmlp_code_style_lane_print(const struct connectib_pmlp_code_style_lane *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_type_bmc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pmlp_code_style_lane ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parameter_index      : "UH_FMT"\n", ptr_struct->parameter_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "channel              : "UH_FMT"\n", ptr_struct->channel);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "host                 : "UH_FMT"\n", ptr_struct->host);
+	fprintf(file, "module_num           : " UH_FMT "\n", ptr_struct->module_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_               : "UH_FMT"\n", ptr_struct->class_);
+	fprintf(file, "module_lane          : " UH_FMT "\n", ptr_struct->module_lane);
 
 }
 
-int connectib_nv_tlv_type_bmc_size(void){
+int connectib_pmlp_code_style_lane_size(void)
+{
 	 return 4;
 }
 
-void connectib_nv_tlv_type_bmc_dump(const struct connectib_nv_tlv_type_bmc *ptr_struct, FILE* file) {
-	connectib_nv_tlv_type_bmc_print(ptr_struct, file, 0);
+void connectib_pmlp_code_style_lane_dump(const struct connectib_pmlp_code_style_lane *ptr_struct, FILE* file)
+{
+	connectib_pmlp_code_style_lane_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_type_physical_port_pack(const struct connectib_nv_tlv_type_physical_port *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dw_pack(const struct connectib_dw *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->parameter_index);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dw);
 
 }
 
-void connectib_nv_tlv_type_physical_port_unpack(struct connectib_nv_tlv_type_physical_port *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dw_unpack(struct connectib_dw *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=8;
-	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->dw = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_nv_tlv_type_physical_port_print(const struct connectib_nv_tlv_type_physical_port *ptr_struct, FILE* file, int indent_level){
+void connectib_dw_print(const struct connectib_dw *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_type_physical_port ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_dw ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parameter_index      : "UH_FMT"\n", ptr_struct->parameter_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_               : "UH_FMT"\n", ptr_struct->class_);
+	fprintf(file, "dw                   : " U32H_FMT "\n", ptr_struct->dw);
 
 }
 
-int connectib_nv_tlv_type_physical_port_size(void){
+int connectib_dw_size(void)
+{
 	 return 4;
 }
 
-void connectib_nv_tlv_type_physical_port_dump(const struct connectib_nv_tlv_type_physical_port *ptr_struct, FILE* file) {
-	connectib_nv_tlv_type_physical_port_print(ptr_struct, file, 0);
+void connectib_dw_dump(const struct connectib_dw *ptr_struct, FILE* file)
+{
+	connectib_dw_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_type_global_pack(const struct connectib_nv_tlv_type_global *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_nvlog_pack(const struct connectib_nv_tlv_type_nvlog *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->parameter_index);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->parameter_index);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sub_class);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
 
 }
 
-void connectib_nv_tlv_type_global_unpack(struct connectib_nv_tlv_type_global *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_nvlog_unpack(struct connectib_nv_tlv_type_nvlog *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->parameter_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 16;
+	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=0;
+	offset = 8;
+	ptr_struct->sub_class = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
 	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_nv_tlv_type_global_print(const struct connectib_nv_tlv_type_global *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_tlv_type_nvlog_print(const struct connectib_nv_tlv_type_nvlog *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_type_global ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_tlv_type_nvlog ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parameter_index      : "UH_FMT"\n", ptr_struct->parameter_index);
+	fprintf(file, "parameter_index      : " UH_FMT "\n", ptr_struct->parameter_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sub_class            : " UH_FMT "\n", ptr_struct->sub_class);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_               : "UH_FMT"\n", ptr_struct->class_);
+	fprintf(file, "class_               : " UH_FMT "\n", ptr_struct->class_);
 
 }
 
-int connectib_nv_tlv_type_global_size(void){
+int connectib_nv_tlv_type_nvlog_size(void)
+{
 	 return 4;
 }
 
-void connectib_nv_tlv_type_global_dump(const struct connectib_nv_tlv_type_global *ptr_struct, FILE* file) {
-	connectib_nv_tlv_type_global_print(ptr_struct, file, 0);
+void connectib_nv_tlv_type_nvlog_dump(const struct connectib_nv_tlv_type_nvlog *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_type_nvlog_print(ptr_struct, file, 0);
 }
 
-void connectib_uint64_pack(const struct connectib_uint64 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_eswitch_pack(const struct connectib_nv_tlv_type_eswitch *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hi);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->parameter_index);
+
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->port);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->host);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->lo);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
 
 }
 
-void connectib_uint64_unpack(struct connectib_uint64 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_eswitch_unpack(struct connectib_nv_tlv_type_eswitch *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
-	ptr_struct->lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 14;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 8;
+	ptr_struct->host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 0;
+	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_uint64_print(const struct connectib_uint64 *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_tlv_type_eswitch_print(const struct connectib_nv_tlv_type_eswitch *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_uint64 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_tlv_type_eswitch ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hi                   : "U32H_FMT"\n", ptr_struct->hi);
+	fprintf(file, "parameter_index      : " UH_FMT "\n", ptr_struct->parameter_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "host                 : " UH_FMT "\n", ptr_struct->host);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lo                   : "U32H_FMT"\n", ptr_struct->lo);
+	fprintf(file, "class_               : " UH_FMT "\n", ptr_struct->class_);
 
 }
 
-int connectib_uint64_size(void){
-	 return 8;
+int connectib_nv_tlv_type_eswitch_size(void)
+{
+	 return 4;
 }
 
-void connectib_uint64_dump(const struct connectib_uint64 *ptr_struct, FILE* file) {
-	connectib_uint64_print(ptr_struct, file, 0);
+void connectib_nv_tlv_type_eswitch_dump(const struct connectib_nv_tlv_type_eswitch *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_type_eswitch_print(ptr_struct, file, 0);
 }
 
-void connectib_dcr_qp_pack(const struct connectib_dcr_qp *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_per_host_pack(const struct connectib_nv_tlv_type_per_host *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gb_first_psn);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gb_last_psn);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->parameter_index);
 
-	offset=39;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_gb);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->function);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->reconnect_ack_psn);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->host);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dcr_heartbeat_clr_timestamp);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
 
 }
 
-void connectib_dcr_qp_unpack(struct connectib_dcr_qp *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_per_host_unpack(struct connectib_nv_tlv_type_per_host *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->gb_first_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=40;
-	ptr_struct->gb_last_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 22;
+	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=39;
-	ptr_struct->is_gb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	ptr_struct->function = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=72;
-	ptr_struct->reconnect_ack_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=96;
-	ptr_struct->dcr_heartbeat_clr_timestamp = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_dcr_qp_print(const struct connectib_dcr_qp *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_tlv_type_per_host_print(const struct connectib_nv_tlv_type_per_host *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dcr_qp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_tlv_type_per_host ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gb_first_psn         : "UH_FMT"\n", ptr_struct->gb_first_psn);
+	fprintf(file, "parameter_index      : " UH_FMT "\n", ptr_struct->parameter_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gb_last_psn          : "UH_FMT"\n", ptr_struct->gb_last_psn);
+	fprintf(file, "function             : " UH_FMT "\n", ptr_struct->function);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_gb                : "UH_FMT"\n", ptr_struct->is_gb);
+	fprintf(file, "host                 : " UH_FMT "\n", ptr_struct->host);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reconnect_ack_psn    : "UH_FMT"\n", ptr_struct->reconnect_ack_psn);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dcr_heartbeat_clr_timestamp : "U32H_FMT"\n", ptr_struct->dcr_heartbeat_clr_timestamp);
+	fprintf(file, "class_               : " UH_FMT "\n", ptr_struct->class_);
 
 }
 
-int connectib_dcr_qp_size(void){
-	 return 16;
+int connectib_nv_tlv_type_per_host_size(void)
+{
+	 return 4;
 }
 
-void connectib_dcr_qp_dump(const struct connectib_dcr_qp *ptr_struct, FILE* file) {
-	connectib_dcr_qp_print(ptr_struct, file, 0);
+void connectib_nv_tlv_type_per_host_dump(const struct connectib_nv_tlv_type_per_host *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_type_per_host_print(ptr_struct, file, 0);
 }
 
-void connectib_regular_qp_pack(const struct connectib_regular_qp *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_bmc_pack(const struct connectib_nv_tlv_type_bmc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ds_exceeds_pi_retries);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dc_access_key_violation_count_state);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pm_state);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->req_retrans_is_rdma_read);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invalid_user_index);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->xport_retry_counter);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->xport_retry_limit);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rnr_retry_counter);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rnr_retry_limit);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rq_head_qpn);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 13, (u_int32_t)ptr_struct->parameter_index);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cmdif_entry_ix);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->channel);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dc_access_key_violation_count);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->host);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->sw_uar);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
 
 }
 
-void connectib_regular_qp_unpack(struct connectib_regular_qp *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_bmc_unpack(struct connectib_nv_tlv_type_bmc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->ds_exceeds_pi_retries = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=26;
-	ptr_struct->dc_access_key_violation_count_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->pm_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=21;
-	ptr_struct->req_retrans_is_rdma_read = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=20;
-	ptr_struct->invalid_user_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=12;
-	ptr_struct->xport_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=8;
-	ptr_struct->xport_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=4;
-	ptr_struct->rnr_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=0;
-	ptr_struct->rnr_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=40;
-	ptr_struct->rq_head_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 19;
+	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 13);
 
-	offset=32;
-	ptr_struct->cmdif_entry_ix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 14;
+	ptr_struct->channel = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=64;
-	ptr_struct->dc_access_key_violation_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=104;
-	ptr_struct->sw_uar = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_regular_qp_print(const struct connectib_regular_qp *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_tlv_type_bmc_print(const struct connectib_nv_tlv_type_bmc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_regular_qp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_tlv_type_bmc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ds_exceeds_pi_retries : "UH_FMT"\n", ptr_struct->ds_exceeds_pi_retries);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_access_key_violation_count_state : "UH_FMT"\n", ptr_struct->dc_access_key_violation_count_state);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pm_state             : "UH_FMT"\n", ptr_struct->pm_state);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "req_retrans_is_rdma_read : "UH_FMT"\n", ptr_struct->req_retrans_is_rdma_read);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "invalid_user_index   : "UH_FMT"\n", ptr_struct->invalid_user_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "xport_retry_counter  : "UH_FMT"\n", ptr_struct->xport_retry_counter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "xport_retry_limit    : "UH_FMT"\n", ptr_struct->xport_retry_limit);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_retry_counter    : "UH_FMT"\n", ptr_struct->rnr_retry_counter);
+	fprintf(file, "parameter_index      : " UH_FMT "\n", ptr_struct->parameter_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_retry_limit      : "UH_FMT"\n", ptr_struct->rnr_retry_limit);
+	fprintf(file, "channel              : " UH_FMT "\n", ptr_struct->channel);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rq_head_qpn          : "UH_FMT"\n", ptr_struct->rq_head_qpn);
+	fprintf(file, "host                 : " UH_FMT "\n", ptr_struct->host);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cmdif_entry_ix       : "UH_FMT"\n", ptr_struct->cmdif_entry_ix);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_access_key_violation_count : "U32H_FMT"\n", ptr_struct->dc_access_key_violation_count);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sw_uar               : "UH_FMT"\n", ptr_struct->sw_uar);
+	fprintf(file, "class_               : " UH_FMT "\n", ptr_struct->class_);
 
 }
 
-int connectib_regular_qp_size(void){
-	 return 16;
+int connectib_nv_tlv_type_bmc_size(void)
+{
+	 return 4;
 }
 
-void connectib_regular_qp_dump(const struct connectib_regular_qp *ptr_struct, FILE* file) {
-	connectib_regular_qp_print(ptr_struct, file, 0);
+void connectib_nv_tlv_type_bmc_dump(const struct connectib_nv_tlv_type_bmc *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_type_bmc_print(ptr_struct, file, 0);
 }
 
-void connectib_schedint_cause_pack(const struct connectib_schedint_cause *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_physical_port_pack(const struct connectib_nv_tlv_type_physical_port *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clear_all_causes);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_destroy_qp);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_qp_flush);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_apm);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->parameter_index);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_duplicate);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_ud_sl_diff);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
 
 }
 
-void connectib_schedint_cause_unpack(struct connectib_schedint_cause *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_physical_port_unpack(struct connectib_nv_tlv_type_physical_port *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	ptr_struct->clear_all_causes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->schedint_destroy_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=5;
-	ptr_struct->schedint_qp_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=4;
-	ptr_struct->schedint_apm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->parameter_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=3;
-	ptr_struct->schedint_duplicate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=2;
-	ptr_struct->schedint_ud_sl_diff = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_schedint_cause_print(const struct connectib_schedint_cause *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_tlv_type_physical_port_print(const struct connectib_nv_tlv_type_physical_port *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_schedint_cause ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_tlv_type_physical_port ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "clear_all_causes     : "UH_FMT"\n", ptr_struct->clear_all_causes);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "schedint_destroy_qp  : "UH_FMT"\n", ptr_struct->schedint_destroy_qp);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "schedint_qp_flush    : "UH_FMT"\n", ptr_struct->schedint_qp_flush);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "schedint_apm         : "UH_FMT"\n", ptr_struct->schedint_apm);
+	fprintf(file, "parameter_index      : " UH_FMT "\n", ptr_struct->parameter_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "schedint_duplicate   : "UH_FMT"\n", ptr_struct->schedint_duplicate);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "schedint_ud_sl_diff  : "UH_FMT"\n", ptr_struct->schedint_ud_sl_diff);
+	fprintf(file, "class_               : " UH_FMT "\n", ptr_struct->class_);
 
 }
 
-int connectib_schedint_cause_size(void){
-	 return 1;
+int connectib_nv_tlv_type_physical_port_size(void)
+{
+	 return 4;
 }
 
-void connectib_schedint_cause_dump(const struct connectib_schedint_cause *ptr_struct, FILE* file) {
-	connectib_schedint_cause_print(ptr_struct, file, 0);
+void connectib_nv_tlv_type_physical_port_dump(const struct connectib_nv_tlv_type_physical_port *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_type_physical_port_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_msix_context_data0_pack(const struct connectib_hw_msix_context_data0 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_global_pack(const struct connectib_nv_tlv_type_global *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->parameter_index);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
 
 }
 
-void connectib_hw_msix_context_data0_unpack(struct connectib_hw_msix_context_data0 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_tlv_type_global_unpack(struct connectib_nv_tlv_type_global *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->parameter_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 0;
+	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_hw_msix_context_data0_print(const struct connectib_hw_msix_context_data0 *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_tlv_type_global_print(const struct connectib_nv_tlv_type_global *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_msix_context_data0 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_tlv_type_global ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data                 : "U32H_FMT"\n", ptr_struct->data);
+	fprintf(file, "parameter_index      : " UH_FMT "\n", ptr_struct->parameter_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "class_               : " UH_FMT "\n", ptr_struct->class_);
 
 }
 
-int connectib_hw_msix_context_data0_size(void){
+int connectib_nv_tlv_type_global_size(void)
+{
 	 return 4;
 }
 
-void connectib_hw_msix_context_data0_dump(const struct connectib_hw_msix_context_data0 *ptr_struct, FILE* file) {
-	connectib_hw_msix_context_data0_print(ptr_struct, file, 0);
+void connectib_nv_tlv_type_global_dump(const struct connectib_nv_tlv_type_global *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_type_global_print(ptr_struct, file, 0);
+}
+
+void connectib_regular_qp_sub_type_pack(const union connectib_regular_qp_sub_type *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_regular_qp_eth_pack(&(ptr_struct->eth), ptr_buff);
+}
+
+void connectib_regular_qp_sub_type_unpack(union connectib_regular_qp_sub_type *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_regular_qp_eth_unpack(&(ptr_struct->eth), ptr_buff);
+}
+
+void connectib_regular_qp_sub_type_print(const union connectib_regular_qp_sub_type *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_regular_qp_sub_type ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ipoib:\n");
+	connectib_regular_qp_ipoib_print(&(ptr_struct->ipoib), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth:\n");
+	connectib_regular_qp_eth_print(&(ptr_struct->eth), file, indent_level + 1);
+
+}
+
+int connectib_regular_qp_sub_type_size(void)
+{
+	 return 4;
+}
+
+void connectib_regular_qp_sub_type_dump(const union connectib_regular_qp_sub_type *ptr_struct, FILE* file)
+{
+	connectib_regular_qp_sub_type_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_generic_headers_pack(const struct connectib_hw_ste_tag_generic_headers *ptr_struct, u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_special_qp_commands_other_pack(const struct connectib_cmdif_ctx_special_qp_commands_other *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword_select_valid);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->next_sqn_for_4page_allocate);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dword_select);
+	offset = 32;
+	connectib_cmdif_ctx_special_qp_commands_inner_pack(&(ptr_struct->inner), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_ste_tag_generic_headers_unpack(struct connectib_hw_ste_tag_generic_headers *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_special_qp_commands_other_unpack(struct connectib_cmdif_ctx_special_qp_commands_other *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->dword_select_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->next_sqn_for_4page_allocate = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->dword_select = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_cmdif_ctx_special_qp_commands_inner_unpack(&(ptr_struct->inner), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_ste_tag_generic_headers_print(const struct connectib_hw_ste_tag_generic_headers *ptr_struct, FILE* file, int indent_level){
+void connectib_cmdif_ctx_special_qp_commands_other_print(const struct connectib_cmdif_ctx_special_qp_commands_other *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag_generic_headers ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cmdif_ctx_special_qp_commands_other ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword_select_valid   : "UH_FMT"\n", ptr_struct->dword_select_valid);
+	fprintf(file, "next_sqn_for_4page_allocate : " U32H_FMT "\n", ptr_struct->next_sqn_for_4page_allocate);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword_select         : "U32H_FMT"\n", ptr_struct->dword_select);
+	fprintf(file, "inner:\n");
+	connectib_cmdif_ctx_special_qp_commands_inner_print(&(ptr_struct->inner), file, indent_level + 1);
 
 }
 
-int connectib_hw_ste_tag_generic_headers_size(void){
+int connectib_cmdif_ctx_special_qp_commands_other_size(void)
+{
 	 return 16;
 }
 
-void connectib_hw_ste_tag_generic_headers_dump(const struct connectib_hw_ste_tag_generic_headers *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_generic_headers_print(ptr_struct, file, 0);
+void connectib_cmdif_ctx_special_qp_commands_other_dump(const struct connectib_cmdif_ctx_special_qp_commands_other *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_qp_commands_other_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_port_pack(const struct connectib_hw_ste_tag_port *ptr_struct, u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_special_qp_commands_rts2rts_pack(const struct connectib_cmdif_ctx_special_qp_commands_rts2rts *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
-
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bth);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->qp_type);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_sniffer);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->new_cqn_rcv);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_lb);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->new_srqn_rmpn);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->func_lb);
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->srq_cre_type);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->multicast);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->qp_params);
 
 }
 
-void connectib_hw_ste_tag_port_unpack(struct connectib_hw_ste_tag_port *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_special_qp_commands_rts2rts_unpack(struct connectib_cmdif_ctx_special_qp_commands_rts2rts *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=19;
-	ptr_struct->grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->bth = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->qp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=3;
-	ptr_struct->sx_sniffer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->new_cqn_rcv = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=2;
-	ptr_struct->force_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 40;
+	ptr_struct->new_srqn_rmpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=1;
-	ptr_struct->func_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 36;
+	ptr_struct->srq_cre_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->qp_params = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_ste_tag_port_print(const struct connectib_hw_ste_tag_port *ptr_struct, FILE* file, int indent_level){
+void connectib_cmdif_ctx_special_qp_commands_rts2rts_print(const struct connectib_cmdif_ctx_special_qp_commands_rts2rts *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag_port ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cmdif_ctx_special_qp_commands_rts2rts ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh                  : "UH_FMT"\n", ptr_struct->grh);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bth                  : "UH_FMT"\n", ptr_struct->bth);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_type              : "UH_FMT"\n", ptr_struct->qp_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_sniffer           : "UH_FMT"\n", ptr_struct->sx_sniffer);
+	fprintf(file, "new_cqn_rcv          : " UH_FMT "\n", ptr_struct->new_cqn_rcv);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_lb             : "UH_FMT"\n", ptr_struct->force_lb);
+	fprintf(file, "new_srqn_rmpn        : " UH_FMT "\n", ptr_struct->new_srqn_rmpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "func_lb              : "UH_FMT"\n", ptr_struct->func_lb);
+	fprintf(file, "srq_cre_type         : " UH_FMT "\n", ptr_struct->srq_cre_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "multicast            : "UH_FMT"\n", ptr_struct->multicast);
+	fprintf(file, "qp_params            : " U32H_FMT "\n", ptr_struct->qp_params);
 
 }
 
-int connectib_hw_ste_tag_port_size(void){
+int connectib_cmdif_ctx_special_qp_commands_rts2rts_size(void)
+{
 	 return 16;
 }
 
-void connectib_hw_ste_tag_port_dump(const struct connectib_hw_ste_tag_port *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_port_print(ptr_struct, file, 0);
+void connectib_cmdif_ctx_special_qp_commands_rts2rts_dump(const struct connectib_cmdif_ctx_special_qp_commands_rts2rts *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_qp_commands_rts2rts_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_source_gvmi_qp_pack(const struct connectib_hw_ste_tag_source_gvmi_qp *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pmlp_code_style_pack(const struct connectib_pmlp_code_style *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->source_gvmi);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->width);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->source_qp);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
 
-	offset=39;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->source_is_requestor);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 288, 1);
+	connectib_pmlp_code_style_lane_pack(&(ptr_struct->local_lane[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_hw_ste_tag_source_gvmi_qp_unpack(struct connectib_hw_ste_tag_source_gvmi_qp *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pmlp_code_style_unpack(struct connectib_pmlp_code_style *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->source_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 24;
+	ptr_struct->width = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=40;
-	ptr_struct->source_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=39;
-	ptr_struct->source_is_requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 288, 1);
+	connectib_pmlp_code_style_lane_unpack(&(ptr_struct->local_lane[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_hw_ste_tag_source_gvmi_qp_print(const struct connectib_hw_ste_tag_source_gvmi_qp *ptr_struct, FILE* file, int indent_level){
+void connectib_pmlp_code_style_print(const struct connectib_pmlp_code_style *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag_source_gvmi_qp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pmlp_code_style ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "source_gvmi          : "UH_FMT"\n", ptr_struct->source_gvmi);
+	fprintf(file, "width                : " UH_FMT "\n", ptr_struct->width);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "source_qp            : "UH_FMT"\n", ptr_struct->source_qp);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "source_is_requestor  : "UH_FMT"\n", ptr_struct->source_is_requestor);
+	fprintf(file, "local_lane_%03d:\n", i);
+	connectib_pmlp_code_style_lane_print(&(ptr_struct->local_lane[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_hw_ste_tag_source_gvmi_qp_size(void){
-	 return 16;
+int connectib_pmlp_code_style_size(void)
+{
+	 return 36;
 }
 
-void connectib_hw_ste_tag_source_gvmi_qp_dump(const struct connectib_hw_ste_tag_source_gvmi_qp *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_source_gvmi_qp_print(ptr_struct, file, 0);
+void connectib_pmlp_code_style_dump(const struct connectib_pmlp_code_style *ptr_struct, FILE* file)
+{
+	connectib_pmlp_code_style_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_ib_l4_pack(const struct connectib_hw_ste_tag_ib_l4 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pmlp_prm_style_pack(const struct connectib_pmlp_prm_style *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dest_qp);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->width);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module0);
+
+	offset = 46;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lane0);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module1);
+
+	offset = 78;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lane1);
+
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module2);
+
+	offset = 110;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lane2);
+
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module3);
+
+	offset = 142;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lane3);
 
 }
 
-void connectib_hw_ste_tag_ib_l4_unpack(struct connectib_hw_ste_tag_ib_l4 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pmlp_prm_style_unpack(struct connectib_pmlp_prm_style *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->dest_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 24;
+	ptr_struct->width = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=48;
-	ptr_struct->pkey = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-}
+	offset = 56;
+	ptr_struct->module0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-void connectib_hw_ste_tag_ib_l4_print(const struct connectib_hw_ste_tag_ib_l4 *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag_ib_l4 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
+	offset = 46;
+	ptr_struct->lane0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 88;
+	ptr_struct->module1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 78;
+	ptr_struct->lane1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 120;
+	ptr_struct->module2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 110;
+	ptr_struct->lane2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 152;
+	ptr_struct->module3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 142;
+	ptr_struct->lane3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_pmlp_prm_style_print(const struct connectib_pmlp_prm_style *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pmlp_prm_style ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dest_qp              : "UH_FMT"\n", ptr_struct->dest_qp);
+	fprintf(file, "width                : " UH_FMT "\n", ptr_struct->width);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey                 : "UH_FMT"\n", ptr_struct->pkey);
+	fprintf(file, "module0              : " UH_FMT "\n", ptr_struct->module0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane0                : " UH_FMT "\n", ptr_struct->lane0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module1              : " UH_FMT "\n", ptr_struct->module1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane1                : " UH_FMT "\n", ptr_struct->lane1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module2              : " UH_FMT "\n", ptr_struct->module2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane2                : " UH_FMT "\n", ptr_struct->lane2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module3              : " UH_FMT "\n", ptr_struct->module3);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane3                : " UH_FMT "\n", ptr_struct->lane3);
 
 }
 
-int connectib_hw_ste_tag_ib_l4_size(void){
-	 return 16;
+int connectib_pmlp_prm_style_size(void)
+{
+	 return 36;
 }
 
-void connectib_hw_ste_tag_ib_l4_dump(const struct connectib_hw_ste_tag_ib_l4 *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_ib_l4_print(ptr_struct, file, 0);
+void connectib_pmlp_prm_style_dump(const struct connectib_pmlp_prm_style *ptr_struct, FILE* file)
+{
+	connectib_pmlp_prm_style_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_ib_l3_pack(const struct connectib_hw_ste_tag_ib_l3 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_register_access_data_reduced_pack(const struct connectib_register_access_data_reduced *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dgid_127_96);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dgid_95_64);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dgid_63_32);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dgid_31_0);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
+	}
 
 }
 
-void connectib_hw_ste_tag_ib_l3_unpack(struct connectib_hw_ste_tag_ib_l3 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_register_access_data_reduced_unpack(struct connectib_register_access_data_reduced *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->dgid_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->dgid_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->dgid_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=96;
-	ptr_struct->dgid_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_hw_ste_tag_ib_l3_print(const struct connectib_hw_ste_tag_ib_l3 *ptr_struct, FILE* file, int indent_level){
+void connectib_register_access_data_reduced_print(const struct connectib_register_access_data_reduced *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag_ib_l3 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_register_access_data_reduced ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dgid_127_96          : "U32H_FMT"\n", ptr_struct->dgid_127_96);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dgid_95_64           : "U32H_FMT"\n", ptr_struct->dgid_95_64);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dgid_63_32           : "U32H_FMT"\n", ptr_struct->dgid_63_32);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dgid_31_0            : "U32H_FMT"\n", ptr_struct->dgid_31_0);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
+	}
 
 }
 
-int connectib_hw_ste_tag_ib_l3_size(void){
+int connectib_register_access_data_reduced_size(void)
+{
 	 return 16;
 }
 
-void connectib_hw_ste_tag_ib_l3_dump(const struct connectib_hw_ste_tag_ib_l3 *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_ib_l3_print(ptr_struct, file, 0);
+void connectib_register_access_data_reduced_dump(const struct connectib_register_access_data_reduced *ptr_struct, FILE* file)
+{
+	connectib_register_access_data_reduced_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_ib_l3_extended_pack(const struct connectib_hw_ste_tag_ib_l3_extended *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_tlv_hdr_pack(const struct connectib_nv_tlv_hdr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->length);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->writer_host_id);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->traffic_class);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->writer_id);
 
-	offset=35;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dceth_complete);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_current);
 
-	offset=34;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->deth_complete);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_default);
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bth_complete);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rd_en);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ip_version);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ovr_en);
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->header_type);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->priority);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->qkey_dc_access_key_63_32);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->valid);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->type);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->qkey_dc_access_key_31_0);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->crc16);
 
 }
 
-void connectib_hw_ste_tag_ib_l3_extended_unpack(struct connectib_hw_ste_tag_ib_l3_extended *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_tlv_hdr_unpack(struct connectib_nv_tlv_hdr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=12;
-	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+	offset = 23;
+	ptr_struct->length = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-	offset=8;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 20;
+	ptr_struct->writer_host_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=0;
-	ptr_struct->traffic_class = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=48;
-	ptr_struct->pkey = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 11;
+	ptr_struct->writer_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=35;
-	ptr_struct->dceth_complete = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 9;
+	ptr_struct->read_current = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=34;
-	ptr_struct->deth_complete = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->read_default = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=33;
-	ptr_struct->bth_complete = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 7;
+	ptr_struct->rd_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->ip_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	ptr_struct->ovr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->qkey_dc_access_key_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 4;
+	ptr_struct->header_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=96;
-	ptr_struct->qkey_dc_access_key_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 2;
+	ptr_struct->priority = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 0;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 32;
+	ptr_struct->type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 80;
+	ptr_struct->crc16 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_hw_ste_tag_ib_l3_extended_print(const struct connectib_hw_ste_tag_ib_l3_extended *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_tlv_hdr_print(const struct connectib_nv_tlv_hdr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag_ib_l3_extended ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_tlv_hdr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+	fprintf(file, "length               : " UH_FMT "\n", ptr_struct->length);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "writer_host_id       : " UH_FMT "\n", ptr_struct->writer_host_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "traffic_class        : "UH_FMT"\n", ptr_struct->traffic_class);
+	fprintf(file, "writer_id            : %s (" UH_FMT ")\n", (ptr_struct->writer_id == 0 ? ("NV_WRITER_ID_UNSPECIFIED") : ((ptr_struct->writer_id == 1 ? ("NV_WRITER_ID_CHASSIS_BMC") : ((ptr_struct->writer_id == 2 ? ("NV_WRITER_ID_MAD") : ((ptr_struct->writer_id == 3 ? ("NV_WRITER_ID_BMC") : ((ptr_struct->writer_id == 4 ? ("NV_WRITER_ID_CMD_IF") : ((ptr_struct->writer_id == 5 ? ("NV_WRITER_ID_ICMD") : ((ptr_struct->writer_id == 6 ? ("NV_WRITER_ID_ICMD_UEFI_HII") : ((ptr_struct->writer_id == [...]
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey                 : "UH_FMT"\n", ptr_struct->pkey);
+	fprintf(file, "read_current         : " UH_FMT "\n", ptr_struct->read_current);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dceth_complete       : "UH_FMT"\n", ptr_struct->dceth_complete);
+	fprintf(file, "read_default         : " UH_FMT "\n", ptr_struct->read_default);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "deth_complete        : "UH_FMT"\n", ptr_struct->deth_complete);
+	fprintf(file, "rd_en                : " UH_FMT "\n", ptr_struct->rd_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bth_complete         : "UH_FMT"\n", ptr_struct->bth_complete);
+	fprintf(file, "ovr_en               : " UH_FMT "\n", ptr_struct->ovr_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ip_version           : "UH_FMT"\n", ptr_struct->ip_version);
+	fprintf(file, "header_type          : " UH_FMT "\n", ptr_struct->header_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qkey_dc_access_key_63_32 : "U32H_FMT"\n", ptr_struct->qkey_dc_access_key_63_32);
+	fprintf(file, "priority             : " UH_FMT "\n", ptr_struct->priority);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qkey_dc_access_key_31_0 : "U32H_FMT"\n", ptr_struct->qkey_dc_access_key_31_0);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type                 : " U32H_FMT "\n", ptr_struct->type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "crc16                : " UH_FMT "\n", ptr_struct->crc16);
 
 }
 
-int connectib_hw_ste_tag_ib_l3_extended_size(void){
-	 return 16;
+int connectib_nv_tlv_hdr_size(void)
+{
+	 return 12;
 }
 
-void connectib_hw_ste_tag_ib_l3_extended_dump(const struct connectib_hw_ste_tag_ib_l3_extended *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_ib_l3_extended_print(ptr_struct, file, 0);
+void connectib_nv_tlv_hdr_dump(const struct connectib_nv_tlv_hdr *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_hdr_print(ptr_struct, file, 0);
+}
+
+void connectib_nv_tlv_type_pack(const union connectib_nv_tlv_type *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_dw_pack(&(ptr_struct->as_dw), ptr_buff);
+}
+
+void connectib_nv_tlv_type_unpack(union connectib_nv_tlv_type *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_dw_unpack(&(ptr_struct->as_dw), ptr_buff);
+}
+
+void connectib_nv_tlv_type_print(const union connectib_nv_tlv_type *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_tlv_type ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "global:\n");
+	connectib_nv_tlv_type_global_print(&(ptr_struct->global), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "physical_port:\n");
+	connectib_nv_tlv_type_physical_port_print(&(ptr_struct->physical_port), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bmc:\n");
+	connectib_nv_tlv_type_bmc_print(&(ptr_struct->bmc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "per_host:\n");
+	connectib_nv_tlv_type_per_host_print(&(ptr_struct->per_host), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eswitch:\n");
+	connectib_nv_tlv_type_eswitch_print(&(ptr_struct->eswitch), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvlog:\n");
+	connectib_nv_tlv_type_nvlog_print(&(ptr_struct->nvlog), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "as_dw:\n");
+	connectib_dw_print(&(ptr_struct->as_dw), file, indent_level + 1);
+
+}
+
+int connectib_nv_tlv_type_size(void)
+{
+	 return 4;
+}
+
+void connectib_nv_tlv_type_dump(const union connectib_nv_tlv_type *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_type_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_ib_l2_pack(const struct connectib_hw_ste_tag_ib_l2 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_register_access_data_pack(const struct connectib_register_access_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dlid);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
+	}
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh);
+}
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bth);
+void connectib_register_access_data_unpack(struct connectib_register_access_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->qp_type);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->multicast);
+void connectib_register_access_data_print(const struct connectib_register_access_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_access_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=76;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
+	for (i = 0; i < 8; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
+	}
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwh_ethertype);
+}
 
+int connectib_register_access_data_size(void)
+{
+	 return 32;
+}
+
+void connectib_register_access_data_dump(const struct connectib_register_access_data *ptr_struct, FILE* file)
+{
+	connectib_register_access_data_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_ib_l2_unpack(struct connectib_hw_ste_tag_ib_l2 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_mfba_header_pack(const struct connectib_mfba_header *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->dlid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
 
-	offset=15;
-	ptr_struct->grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
 
-	offset=14;
-	ptr_struct->bth = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->size);
 
-	offset=12;
-	ptr_struct->qp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
 
-	offset=8;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=0;
-	ptr_struct->multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_mfba_header_unpack(struct connectib_mfba_header *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=76;
-	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+	offset = 26;
+	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=112;
-	ptr_struct->rwh_ethertype = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 23;
+	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 55;
+	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+
+	offset = 72;
+	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
 }
 
-void connectib_hw_ste_tag_ib_l2_print(const struct connectib_hw_ste_tag_ib_l2 *ptr_struct, FILE* file, int indent_level){
+void connectib_mfba_header_print(const struct connectib_mfba_header *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag_ib_l2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_mfba_header ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dlid                 : "UH_FMT"\n", ptr_struct->dlid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh                  : "UH_FMT"\n", ptr_struct->grh);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bth                  : "UH_FMT"\n", ptr_struct->bth);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_type              : "UH_FMT"\n", ptr_struct->qp_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "multicast            : "UH_FMT"\n", ptr_struct->multicast);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwh_ethertype        : "UH_FMT"\n", ptr_struct->rwh_ethertype);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
 
 }
 
-int connectib_hw_ste_tag_ib_l2_size(void){
-	 return 16;
+int connectib_mfba_header_size(void)
+{
+	 return 12;
 }
 
-void connectib_hw_ste_tag_ib_l2_dump(const struct connectib_hw_ste_tag_ib_l2 *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_ib_l2_print(ptr_struct, file, 0);
+void connectib_mfba_header_dump(const struct connectib_mfba_header *ptr_struct, FILE* file)
+{
+	connectib_mfba_header_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_tag_bulk_pack(const struct connectib_hw_ste_tag_bulk *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pmmp_sfp_protocol_override_layout_pack(const struct connectib_pmmp_sfp_protocol_override_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tag_127_96);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tengig_ethernet_compliance_code);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tag_95_64);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cable_technology);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tag_63_32);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->bit_rate);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tag_31_0);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ethernet_compliance_code);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ext_ethernet_compliance_code);
 
 }
 
-void connectib_hw_ste_tag_bulk_unpack(struct connectib_hw_ste_tag_bulk *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pmmp_sfp_protocol_override_layout_unpack(struct connectib_pmmp_sfp_protocol_override_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->tag_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->tengig_ethernet_compliance_code = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	ptr_struct->tag_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->cable_technology = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	ptr_struct->tag_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->bit_rate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=96;
-	ptr_struct->tag_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 56;
+	ptr_struct->ethernet_compliance_code = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 48;
+	ptr_struct->ext_ethernet_compliance_code = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_hw_ste_tag_bulk_print(const struct connectib_hw_ste_tag_bulk *ptr_struct, FILE* file, int indent_level){
+void connectib_pmmp_sfp_protocol_override_layout_print(const struct connectib_pmmp_sfp_protocol_override_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag_bulk ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pmmp_sfp_protocol_override_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tag_127_96           : "U32H_FMT"\n", ptr_struct->tag_127_96);
+	fprintf(file, "tengig_ethernet_compliance_code : " UH_FMT "\n", ptr_struct->tengig_ethernet_compliance_code);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cable_technology     : " UH_FMT "\n", ptr_struct->cable_technology);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tag_95_64            : "U32H_FMT"\n", ptr_struct->tag_95_64);
+	fprintf(file, "bit_rate             : " UH_FMT "\n", ptr_struct->bit_rate);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tag_63_32            : "U32H_FMT"\n", ptr_struct->tag_63_32);
+	fprintf(file, "ethernet_compliance_code : " UH_FMT "\n", ptr_struct->ethernet_compliance_code);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tag_31_0             : "U32H_FMT"\n", ptr_struct->tag_31_0);
+	fprintf(file, "ext_ethernet_compliance_code : " UH_FMT "\n", ptr_struct->ext_ethernet_compliance_code);
 
 }
 
-int connectib_hw_ste_tag_bulk_size(void){
-	 return 16;
+int connectib_pmmp_sfp_protocol_override_layout_size(void)
+{
+	 return 12;
 }
 
-void connectib_hw_ste_tag_bulk_dump(const struct connectib_hw_ste_tag_bulk *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_bulk_print(ptr_struct, file, 0);
+void connectib_pmmp_sfp_protocol_override_layout_dump(const struct connectib_pmmp_sfp_protocol_override_layout *ptr_struct, FILE* file)
+{
+	connectib_pmmp_sfp_protocol_override_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_transaction_pdf_pack(const struct connectib_hw_transaction_pdf *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pmmp_qsfp_protocol_override_layout_pack(const struct connectib_pmmp_qsfp_protocol_override_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invert_data_bits);
-
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_data_bits);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->seed);
-
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_crc_bytes);
-
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_crc_bits);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ethernet_compliance_code);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invert_crc);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cable_breakout);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sig_zones_covered);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->giga_ethernet_compliance_code);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sig_type);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ext_ethernet_compliance_code);
 
 }
 
-void connectib_hw_transaction_pdf_unpack(struct connectib_hw_transaction_pdf *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pmmp_qsfp_protocol_override_layout_unpack(struct connectib_pmmp_qsfp_protocol_override_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=14;
-	ptr_struct->invert_data_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=13;
-	ptr_struct->swap_data_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=12;
-	ptr_struct->seed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=11;
-	ptr_struct->swap_crc_bytes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=10;
-	ptr_struct->swap_crc_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->ethernet_compliance_code = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=9;
-	ptr_struct->invert_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->cable_breakout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=8;
-	ptr_struct->sig_zones_covered = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 56;
+	ptr_struct->giga_ethernet_compliance_code = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->sig_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 48;
+	ptr_struct->ext_ethernet_compliance_code = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_hw_transaction_pdf_print(const struct connectib_hw_transaction_pdf *ptr_struct, FILE* file, int indent_level){
+void connectib_pmmp_qsfp_protocol_override_layout_print(const struct connectib_pmmp_qsfp_protocol_override_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_transaction_pdf ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pmmp_qsfp_protocol_override_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "invert_data_bits     : "UH_FMT"\n", ptr_struct->invert_data_bits);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_bits       : "UH_FMT"\n", ptr_struct->swap_data_bits);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "seed                 : "UH_FMT"\n", ptr_struct->seed);
+	fprintf(file, "ethernet_compliance_code : " UH_FMT "\n", ptr_struct->ethernet_compliance_code);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_crc_bytes       : "UH_FMT"\n", ptr_struct->swap_crc_bytes);
+	fprintf(file, "cable_breakout       : " UH_FMT "\n", ptr_struct->cable_breakout);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_crc_bits        : "UH_FMT"\n", ptr_struct->swap_crc_bits);
+	fprintf(file, "giga_ethernet_compliance_code : " UH_FMT "\n", ptr_struct->giga_ethernet_compliance_code);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "invert_crc           : "UH_FMT"\n", ptr_struct->invert_crc);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sig_zones_covered    : "UH_FMT"\n", ptr_struct->sig_zones_covered);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sig_type             : "UH_FMT"\n", ptr_struct->sig_type);
+	fprintf(file, "ext_ethernet_compliance_code : " UH_FMT "\n", ptr_struct->ext_ethernet_compliance_code);
 
 }
 
-int connectib_hw_transaction_pdf_size(void){
-	 return 8;
+int connectib_pmmp_qsfp_protocol_override_layout_size(void)
+{
+	 return 12;
 }
 
-void connectib_hw_transaction_pdf_dump(const struct connectib_hw_transaction_pdf *ptr_struct, FILE* file) {
-	connectib_hw_transaction_pdf_print(ptr_struct, file, 0);
+void connectib_pmmp_qsfp_protocol_override_layout_dump(const struct connectib_pmmp_qsfp_protocol_override_layout *ptr_struct, FILE* file)
+{
+	connectib_pmmp_qsfp_protocol_override_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_pdf_decoder_pack(const struct connectib_hw_pdf_decoder *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_timers_states_pack(const struct connectib_pcie_timers_states *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invert_data_bits);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->life_time_counter_high);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_data_bits);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->life_time_counter_low);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->seed);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_to_boot_image_start);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_crc_bytes);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_to_link_image);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_crc_bits);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->calibration_time);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invert_crc);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_to_first_perst);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->regular);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_to_detect_state);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sig_type);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_to_l0);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dif_app_tag_bit_check_en);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_to_crs_en);
 
-	offset=46;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dif_guard_check_type);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_to_plastic_image_start);
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dif_learn_mode);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_to_iron_image_start);
 
-	offset=43;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dif_learn_app_tag);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->perst_handler);
 
-	offset=42;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dif_learn_ref_tag);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->times_in_l1);
 
-	offset=41;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dif_inc_ref_tag);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->times_in_l23);
+
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dl_down);
+
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->config_cycle1usec);
+
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->config_cycle2to7usec);
+
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->config_cycle8to15usec);
+
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->config_cycle16to63usec);
+
+	offset = 608;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->config_cycle64usec);
+
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->correctable_err_msg_sent);
+
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->non_fatal_err_msg_sent);
+
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fatal_err_msg_sent);
 
 }
 
-void connectib_hw_pdf_decoder_unpack(struct connectib_hw_pdf_decoder *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_timers_states_unpack(struct connectib_pcie_timers_states *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=14;
-	ptr_struct->invert_data_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->life_time_counter_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=13;
-	ptr_struct->swap_data_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->life_time_counter_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=12;
-	ptr_struct->seed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->time_to_boot_image_start = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=11;
-	ptr_struct->swap_crc_bytes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->time_to_link_image = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=10;
-	ptr_struct->swap_crc_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	ptr_struct->calibration_time = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=9;
-	ptr_struct->invert_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	ptr_struct->time_to_first_perst = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=8;
-	ptr_struct->regular = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	ptr_struct->time_to_detect_state = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->sig_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 224;
+	ptr_struct->time_to_l0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=48;
-	ptr_struct->dif_app_tag_bit_check_en = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 256;
+	ptr_struct->time_to_crs_en = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=46;
-	ptr_struct->dif_guard_check_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 288;
+	ptr_struct->time_to_plastic_image_start = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=44;
-	ptr_struct->dif_learn_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 320;
+	ptr_struct->time_to_iron_image_start = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=43;
-	ptr_struct->dif_learn_app_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 352;
+	ptr_struct->perst_handler = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=42;
-	ptr_struct->dif_learn_ref_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 384;
+	ptr_struct->times_in_l1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=41;
-	ptr_struct->dif_inc_ref_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 416;
+	ptr_struct->times_in_l23 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 448;
+	ptr_struct->dl_down = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 480;
+	ptr_struct->config_cycle1usec = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 512;
+	ptr_struct->config_cycle2to7usec = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 544;
+	ptr_struct->config_cycle8to15usec = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 576;
+	ptr_struct->config_cycle16to63usec = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 608;
+	ptr_struct->config_cycle64usec = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 640;
+	ptr_struct->correctable_err_msg_sent = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 672;
+	ptr_struct->non_fatal_err_msg_sent = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 704;
+	ptr_struct->fatal_err_msg_sent = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_pdf_decoder_print(const struct connectib_hw_pdf_decoder *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_timers_states_print(const struct connectib_pcie_timers_states *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_pdf_decoder ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_timers_states ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "invert_data_bits     : "UH_FMT"\n", ptr_struct->invert_data_bits);
+	fprintf(file, "life_time_counter_high : " U32H_FMT "\n", ptr_struct->life_time_counter_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "life_time_counter_low : " U32H_FMT "\n", ptr_struct->life_time_counter_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_to_boot_image_start : " U32H_FMT "\n", ptr_struct->time_to_boot_image_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_to_link_image   : " U32H_FMT "\n", ptr_struct->time_to_link_image);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "calibration_time     : " U32H_FMT "\n", ptr_struct->calibration_time);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_to_first_perst  : " U32H_FMT "\n", ptr_struct->time_to_first_perst);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_to_detect_state : " U32H_FMT "\n", ptr_struct->time_to_detect_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_to_l0           : " U32H_FMT "\n", ptr_struct->time_to_l0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_to_crs_en       : " U32H_FMT "\n", ptr_struct->time_to_crs_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_to_plastic_image_start : " U32H_FMT "\n", ptr_struct->time_to_plastic_image_start);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_bits       : "UH_FMT"\n", ptr_struct->swap_data_bits);
+	fprintf(file, "time_to_iron_image_start : " U32H_FMT "\n", ptr_struct->time_to_iron_image_start);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "seed                 : "UH_FMT"\n", ptr_struct->seed);
+	fprintf(file, "perst_handler        : " U32H_FMT "\n", ptr_struct->perst_handler);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_crc_bytes       : "UH_FMT"\n", ptr_struct->swap_crc_bytes);
+	fprintf(file, "times_in_l1          : " U32H_FMT "\n", ptr_struct->times_in_l1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_crc_bits        : "UH_FMT"\n", ptr_struct->swap_crc_bits);
+	fprintf(file, "times_in_l23         : " U32H_FMT "\n", ptr_struct->times_in_l23);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "invert_crc           : "UH_FMT"\n", ptr_struct->invert_crc);
+	fprintf(file, "dl_down              : " U32H_FMT "\n", ptr_struct->dl_down);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "regular              : "UH_FMT"\n", ptr_struct->regular);
+	fprintf(file, "config_cycle1usec    : " U32H_FMT "\n", ptr_struct->config_cycle1usec);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sig_type             : "UH_FMT"\n", ptr_struct->sig_type);
+	fprintf(file, "config_cycle2to7usec : " U32H_FMT "\n", ptr_struct->config_cycle2to7usec);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dif_app_tag_bit_check_en : "UH_FMT"\n", ptr_struct->dif_app_tag_bit_check_en);
+	fprintf(file, "config_cycle8to15usec : " U32H_FMT "\n", ptr_struct->config_cycle8to15usec);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dif_guard_check_type : "UH_FMT"\n", ptr_struct->dif_guard_check_type);
+	fprintf(file, "config_cycle16to63usec : " U32H_FMT "\n", ptr_struct->config_cycle16to63usec);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dif_learn_mode       : "UH_FMT"\n", ptr_struct->dif_learn_mode);
+	fprintf(file, "config_cycle64usec   : " U32H_FMT "\n", ptr_struct->config_cycle64usec);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dif_learn_app_tag    : "UH_FMT"\n", ptr_struct->dif_learn_app_tag);
+	fprintf(file, "correctable_err_msg_sent : " U32H_FMT "\n", ptr_struct->correctable_err_msg_sent);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dif_learn_ref_tag    : "UH_FMT"\n", ptr_struct->dif_learn_ref_tag);
+	fprintf(file, "non_fatal_err_msg_sent : " U32H_FMT "\n", ptr_struct->non_fatal_err_msg_sent);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dif_inc_ref_tag      : "UH_FMT"\n", ptr_struct->dif_inc_ref_tag);
+	fprintf(file, "fatal_err_msg_sent   : " U32H_FMT "\n", ptr_struct->fatal_err_msg_sent);
 
 }
 
-int connectib_hw_pdf_decoder_size(void){
-	 return 8;
+int connectib_pcie_timers_states_size(void)
+{
+	 return 248;
 }
 
-void connectib_hw_pdf_decoder_dump(const struct connectib_hw_pdf_decoder *ptr_struct, FILE* file) {
-	connectib_hw_pdf_decoder_print(ptr_struct, file, 0);
+void connectib_pcie_timers_states_dump(const struct connectib_pcie_timers_states *ptr_struct, FILE* file)
+{
+	connectib_pcie_timers_states_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_conf_tx_set_ini_pack(const struct connectib_serdes_conf_tx_set_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_lanes_counters_pack(const struct connectib_pcie_lanes_counters *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ob_preemp_pre);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->life_time_counter_high);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pre_polarity);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->life_time_counter_low);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ob_preemp_post);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane0);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_polarity);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane1);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ob_preemp_main);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane2);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->main_polarity);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane3);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->preemp_mode);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane4);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ob_bias);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane5);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane6);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane7);
+
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane8);
+
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane9);
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane10);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane11);
+
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane12);
+
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane13);
+
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane14);
+
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_counter_lane15);
 
 }
 
-void connectib_serdes_conf_tx_set_ini_unpack(struct connectib_serdes_conf_tx_set_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_lanes_counters_unpack(struct connectib_pcie_lanes_counters *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=25;
-	ptr_struct->ob_preemp_pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 0;
+	ptr_struct->life_time_counter_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=24;
-	ptr_struct->pre_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->life_time_counter_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=17;
-	ptr_struct->ob_preemp_post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 64;
+	ptr_struct->error_counter_lane0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=16;
-	ptr_struct->post_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->error_counter_lane1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=9;
-	ptr_struct->ob_preemp_main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 128;
+	ptr_struct->error_counter_lane2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=8;
-	ptr_struct->main_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	ptr_struct->error_counter_lane3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=6;
-	ptr_struct->preemp_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 192;
+	ptr_struct->error_counter_lane4 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=2;
-	ptr_struct->ob_bias = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	ptr_struct->error_counter_lane5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 256;
+	ptr_struct->error_counter_lane6 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->error_counter_lane7 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	ptr_struct->error_counter_lane8 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 352;
+	ptr_struct->error_counter_lane9 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 384;
+	ptr_struct->error_counter_lane10 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 416;
+	ptr_struct->error_counter_lane11 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 448;
+	ptr_struct->error_counter_lane12 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 480;
+	ptr_struct->error_counter_lane13 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 512;
+	ptr_struct->error_counter_lane14 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 544;
+	ptr_struct->error_counter_lane15 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_serdes_conf_tx_set_ini_print(const struct connectib_serdes_conf_tx_set_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_lanes_counters_print(const struct connectib_pcie_lanes_counters *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_conf_tx_set_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_lanes_counters ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ob_preemp_pre        : "UH_FMT"\n", ptr_struct->ob_preemp_pre);
+	fprintf(file, "life_time_counter_high : " U32H_FMT "\n", ptr_struct->life_time_counter_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "life_time_counter_low : " U32H_FMT "\n", ptr_struct->life_time_counter_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane0  : " U32H_FMT "\n", ptr_struct->error_counter_lane0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane1  : " U32H_FMT "\n", ptr_struct->error_counter_lane1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane2  : " U32H_FMT "\n", ptr_struct->error_counter_lane2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane3  : " U32H_FMT "\n", ptr_struct->error_counter_lane3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pre_polarity         : "UH_FMT"\n", ptr_struct->pre_polarity);
+	fprintf(file, "error_counter_lane4  : " U32H_FMT "\n", ptr_struct->error_counter_lane4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ob_preemp_post       : "UH_FMT"\n", ptr_struct->ob_preemp_post);
+	fprintf(file, "error_counter_lane5  : " U32H_FMT "\n", ptr_struct->error_counter_lane5);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_polarity        : "UH_FMT"\n", ptr_struct->post_polarity);
+	fprintf(file, "error_counter_lane6  : " U32H_FMT "\n", ptr_struct->error_counter_lane6);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ob_preemp_main       : "UH_FMT"\n", ptr_struct->ob_preemp_main);
+	fprintf(file, "error_counter_lane7  : " U32H_FMT "\n", ptr_struct->error_counter_lane7);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "main_polarity        : "UH_FMT"\n", ptr_struct->main_polarity);
+	fprintf(file, "error_counter_lane8  : " U32H_FMT "\n", ptr_struct->error_counter_lane8);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "preemp_mode          : "UH_FMT"\n", ptr_struct->preemp_mode);
+	fprintf(file, "error_counter_lane9  : " U32H_FMT "\n", ptr_struct->error_counter_lane9);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ob_bias              : "UH_FMT"\n", ptr_struct->ob_bias);
+	fprintf(file, "error_counter_lane10 : " U32H_FMT "\n", ptr_struct->error_counter_lane10);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane11 : " U32H_FMT "\n", ptr_struct->error_counter_lane11);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane12 : " U32H_FMT "\n", ptr_struct->error_counter_lane12);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane13 : " U32H_FMT "\n", ptr_struct->error_counter_lane13);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane14 : " U32H_FMT "\n", ptr_struct->error_counter_lane14);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_counter_lane15 : " U32H_FMT "\n", ptr_struct->error_counter_lane15);
 
 }
 
-int connectib_serdes_conf_tx_set_ini_size(void){
-	 return 4;
+int connectib_pcie_lanes_counters_size(void)
+{
+	 return 248;
 }
 
-void connectib_serdes_conf_tx_set_ini_dump(const struct connectib_serdes_conf_tx_set_ini *ptr_struct, FILE* file) {
-	connectib_serdes_conf_tx_set_ini_print(ptr_struct, file, 0);
+void connectib_pcie_lanes_counters_dump(const struct connectib_pcie_lanes_counters *ptr_struct, FILE* file)
+{
+	connectib_pcie_lanes_counters_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_conf_rx_set_ini_pack(const struct connectib_serdes_conf_rx_set_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_perf_counters_pack(const struct connectib_pcie_perf_counters *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->slicer_ind_en);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->life_time_counter_high);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slicer1_enable);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->life_time_counter_low);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slicer2_enable);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_errors);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap0);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_errors);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap1);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->l0_to_recovery_eieos);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap2);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->l0_to_recovery_ts);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap3);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->l0_to_recovery_framing);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap4);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->l0_to_recovery_retrain);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->crc_error_dllp);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->crc_error_tlp);
 
 }
 
-void connectib_serdes_conf_rx_set_ini_unpack(struct connectib_serdes_conf_rx_set_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_perf_counters_unpack(struct connectib_pcie_perf_counters *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->slicer_ind_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->life_time_counter_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=20;
-	ptr_struct->slicer1_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->life_time_counter_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=16;
-	ptr_struct->slicer2_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	ptr_struct->rx_errors = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=8;
-	ptr_struct->ffe_tap0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 96;
+	ptr_struct->tx_errors = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->ffe_tap1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 128;
+	ptr_struct->l0_to_recovery_eieos = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=56;
-	ptr_struct->ffe_tap2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 160;
+	ptr_struct->l0_to_recovery_ts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=48;
-	ptr_struct->ffe_tap3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 192;
+	ptr_struct->l0_to_recovery_framing = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=40;
-	ptr_struct->ffe_tap4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 224;
+	ptr_struct->l0_to_recovery_retrain = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 256;
+	ptr_struct->crc_error_dllp = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->crc_error_tlp = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_serdes_conf_rx_set_ini_print(const struct connectib_serdes_conf_rx_set_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_perf_counters_print(const struct connectib_pcie_perf_counters *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_conf_rx_set_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_perf_counters ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slicer_ind_en        : "UH_FMT"\n", ptr_struct->slicer_ind_en);
+	fprintf(file, "life_time_counter_high : " U32H_FMT "\n", ptr_struct->life_time_counter_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "life_time_counter_low : " U32H_FMT "\n", ptr_struct->life_time_counter_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_errors            : " U32H_FMT "\n", ptr_struct->rx_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slicer1_enable       : "UH_FMT"\n", ptr_struct->slicer1_enable);
+	fprintf(file, "tx_errors            : " U32H_FMT "\n", ptr_struct->tx_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slicer2_enable       : "UH_FMT"\n", ptr_struct->slicer2_enable);
+	fprintf(file, "l0_to_recovery_eieos : " U32H_FMT "\n", ptr_struct->l0_to_recovery_eieos);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap0             : "UH_FMT"\n", ptr_struct->ffe_tap0);
+	fprintf(file, "l0_to_recovery_ts    : " U32H_FMT "\n", ptr_struct->l0_to_recovery_ts);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap1             : "UH_FMT"\n", ptr_struct->ffe_tap1);
+	fprintf(file, "l0_to_recovery_framing : " U32H_FMT "\n", ptr_struct->l0_to_recovery_framing);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap2             : "UH_FMT"\n", ptr_struct->ffe_tap2);
+	fprintf(file, "l0_to_recovery_retrain : " U32H_FMT "\n", ptr_struct->l0_to_recovery_retrain);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap3             : "UH_FMT"\n", ptr_struct->ffe_tap3);
+	fprintf(file, "crc_error_dllp       : " U32H_FMT "\n", ptr_struct->crc_error_dllp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap4             : "UH_FMT"\n", ptr_struct->ffe_tap4);
+	fprintf(file, "crc_error_tlp        : " U32H_FMT "\n", ptr_struct->crc_error_tlp);
 
 }
 
-int connectib_serdes_conf_rx_set_ini_size(void){
-	 return 8;
+int connectib_pcie_perf_counters_size(void)
+{
+	 return 200;
 }
 
-void connectib_serdes_conf_rx_set_ini_dump(const struct connectib_serdes_conf_rx_set_ini *ptr_struct, FILE* file) {
-	connectib_serdes_conf_rx_set_ini_print(ptr_struct, file, 0);
+void connectib_pcie_perf_counters_dump(const struct connectib_pcie_perf_counters *ptr_struct, FILE* file)
+{
+	connectib_pcie_perf_counters_print(ptr_struct, file, 0);
 }
 
-void connectib_aba_index_pack(const struct connectib_aba_index *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phys_layer_stat_cntrs_pack(const struct connectib_phys_layer_stat_cntrs *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index0_start);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_since_last_clear_high);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index0_end);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_since_last_clear_low);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index0);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_received_bits_high);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index1_start);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_received_bits_low);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index1_end);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_symbol_errors_high);
 
-	offset=58;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index1);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_symbol_errors_low);
 
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index2_start);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_high);
 
-	offset=46;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index2_end);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_low);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index2);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_lane0_high);
 
-	offset=34;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index3_start);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_lane0_low);
 
-	offset=90;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index3_end);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_lane1_high);
 
-	offset=84;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index3);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_lane1_low);
 
-	offset=78;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index4_start);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_lane2_high);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index4_end);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_lane2_low);
 
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index4);
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_lane3_high);
 
-	offset=122;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index5_start);
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phy_corrected_bits_lane3_low);
 
-	offset=116;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index5_end);
+	offset = 796;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->raw_ber_coef);
 
-	offset=110;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index5);
+	offset = 784;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->raw_ber_magnitude);
+
+	offset = 828;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->effective_ber_coef);
+
+	offset = 816;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->effective_ber_magnitude);
 
 }
 
-void connectib_aba_index_unpack(struct connectib_aba_index *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_phys_layer_stat_cntrs_unpack(struct connectib_phys_layer_stat_cntrs *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->aba_index0_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 0;
+	ptr_struct->time_since_last_clear_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=20;
-	ptr_struct->aba_index0_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 32;
+	ptr_struct->time_since_last_clear_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=14;
-	ptr_struct->aba_index0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 64;
+	ptr_struct->phy_received_bits_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=8;
-	ptr_struct->aba_index1_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 96;
+	ptr_struct->phy_received_bits_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=2;
-	ptr_struct->aba_index1_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 128;
+	ptr_struct->phy_symbol_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=58;
-	ptr_struct->aba_index1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 160;
+	ptr_struct->phy_symbol_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=52;
-	ptr_struct->aba_index2_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 192;
+	ptr_struct->phy_corrected_bits_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=46;
-	ptr_struct->aba_index2_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 224;
+	ptr_struct->phy_corrected_bits_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=40;
-	ptr_struct->aba_index2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 256;
+	ptr_struct->phy_corrected_bits_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=34;
-	ptr_struct->aba_index3_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 288;
+	ptr_struct->phy_corrected_bits_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=90;
-	ptr_struct->aba_index3_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 320;
+	ptr_struct->phy_corrected_bits_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=84;
-	ptr_struct->aba_index3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 352;
+	ptr_struct->phy_corrected_bits_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=78;
-	ptr_struct->aba_index4_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 384;
+	ptr_struct->phy_corrected_bits_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
-	ptr_struct->aba_index4_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 416;
+	ptr_struct->phy_corrected_bits_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=66;
-	ptr_struct->aba_index4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 448;
+	ptr_struct->phy_corrected_bits_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=122;
-	ptr_struct->aba_index5_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 480;
+	ptr_struct->phy_corrected_bits_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=116;
-	ptr_struct->aba_index5_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 796;
+	ptr_struct->raw_ber_coef = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=110;
-	ptr_struct->aba_index5 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 784;
+	ptr_struct->raw_ber_magnitude = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 828;
+	ptr_struct->effective_ber_coef = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 816;
+	ptr_struct->effective_ber_magnitude = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_aba_index_print(const struct connectib_aba_index *ptr_struct, FILE* file, int indent_level){
+void connectib_phys_layer_stat_cntrs_print(const struct connectib_phys_layer_stat_cntrs *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_aba_index ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_phys_layer_stat_cntrs ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index0_start     : "UH_FMT"\n", ptr_struct->aba_index0_start);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index0_end       : "UH_FMT"\n", ptr_struct->aba_index0_end);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index0           : "UH_FMT"\n", ptr_struct->aba_index0);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index1_start     : "UH_FMT"\n", ptr_struct->aba_index1_start);
+	fprintf(file, "time_since_last_clear_high : " U32H_FMT "\n", ptr_struct->time_since_last_clear_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index1_end       : "UH_FMT"\n", ptr_struct->aba_index1_end);
+	fprintf(file, "time_since_last_clear_low : " U32H_FMT "\n", ptr_struct->time_since_last_clear_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index1           : "UH_FMT"\n", ptr_struct->aba_index1);
+	fprintf(file, "phy_received_bits_high : " U32H_FMT "\n", ptr_struct->phy_received_bits_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index2_start     : "UH_FMT"\n", ptr_struct->aba_index2_start);
+	fprintf(file, "phy_received_bits_low : " U32H_FMT "\n", ptr_struct->phy_received_bits_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index2_end       : "UH_FMT"\n", ptr_struct->aba_index2_end);
+	fprintf(file, "phy_symbol_errors_high : " U32H_FMT "\n", ptr_struct->phy_symbol_errors_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index2           : "UH_FMT"\n", ptr_struct->aba_index2);
+	fprintf(file, "phy_symbol_errors_low : " U32H_FMT "\n", ptr_struct->phy_symbol_errors_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index3_start     : "UH_FMT"\n", ptr_struct->aba_index3_start);
+	fprintf(file, "phy_corrected_bits_high : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index3_end       : "UH_FMT"\n", ptr_struct->aba_index3_end);
+	fprintf(file, "phy_corrected_bits_low : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index3           : "UH_FMT"\n", ptr_struct->aba_index3);
+	fprintf(file, "phy_corrected_bits_lane0_high : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_lane0_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index4_start     : "UH_FMT"\n", ptr_struct->aba_index4_start);
+	fprintf(file, "phy_corrected_bits_lane0_low : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_lane0_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index4_end       : "UH_FMT"\n", ptr_struct->aba_index4_end);
+	fprintf(file, "phy_corrected_bits_lane1_high : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_lane1_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index4           : "UH_FMT"\n", ptr_struct->aba_index4);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index5_start     : "UH_FMT"\n", ptr_struct->aba_index5_start);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index5_end       : "UH_FMT"\n", ptr_struct->aba_index5_end);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_index5           : "UH_FMT"\n", ptr_struct->aba_index5);
-
-}
-
-int connectib_aba_index_size(void){
-	 return 16;
-}
-
-void connectib_aba_index_dump(const struct connectib_aba_index *ptr_struct, FILE* file) {
-	connectib_aba_index_print(ptr_struct, file, 0);
-}
-
-void connectib_nv_tlv_type_pack(const union connectib_nv_tlv_type *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_dw_pack(&(ptr_struct->as_dw), ptr_buff);
-}
-
-void connectib_nv_tlv_type_unpack(union connectib_nv_tlv_type *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_dw_unpack(&(ptr_struct->as_dw), ptr_buff);
-}
+	fprintf(file, "phy_corrected_bits_lane1_low : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_lane1_low);
 
-void connectib_nv_tlv_type_print(const union connectib_nv_tlv_type *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_type ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "phy_corrected_bits_lane2_high : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_lane2_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "global:\n");
-	connectib_nv_tlv_type_global_print(&(ptr_struct->global), file, indent_level + 1);
+	fprintf(file, "phy_corrected_bits_lane2_low : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_lane2_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "physical_port:\n");
-	connectib_nv_tlv_type_physical_port_print(&(ptr_struct->physical_port), file, indent_level + 1);
+	fprintf(file, "phy_corrected_bits_lane3_high : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_lane3_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bmc:\n");
-	connectib_nv_tlv_type_bmc_print(&(ptr_struct->bmc), file, indent_level + 1);
+	fprintf(file, "phy_corrected_bits_lane3_low : " U32H_FMT "\n", ptr_struct->phy_corrected_bits_lane3_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "per_host:\n");
-	connectib_nv_tlv_type_per_host_print(&(ptr_struct->per_host), file, indent_level + 1);
+	fprintf(file, "raw_ber_coef         : " UH_FMT "\n", ptr_struct->raw_ber_coef);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eswitch:\n");
-	connectib_nv_tlv_type_eswitch_print(&(ptr_struct->eswitch), file, indent_level + 1);
+	fprintf(file, "raw_ber_magnitude    : " UH_FMT "\n", ptr_struct->raw_ber_magnitude);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nvlog:\n");
-	connectib_nv_tlv_type_nvlog_print(&(ptr_struct->nvlog), file, indent_level + 1);
+	fprintf(file, "effective_ber_coef   : " UH_FMT "\n", ptr_struct->effective_ber_coef);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "as_dw:\n");
-	connectib_dw_print(&(ptr_struct->as_dw), file, indent_level + 1);
+	fprintf(file, "effective_ber_magnitude : " UH_FMT "\n", ptr_struct->effective_ber_magnitude);
 
 }
 
-int connectib_nv_tlv_type_size(void){
-	 return 4;
+int connectib_phys_layer_stat_cntrs_size(void)
+{
+	 return 248;
 }
 
-void connectib_nv_tlv_type_dump(const union connectib_nv_tlv_type *ptr_struct, FILE* file) {
-	connectib_nv_tlv_type_print(ptr_struct, file, 0);
+void connectib_phys_layer_stat_cntrs_dump(const struct connectib_phys_layer_stat_cntrs *ptr_struct, FILE* file)
+{
+	connectib_phys_layer_stat_cntrs_print(ptr_struct, file, 0);
 }
 
-void connectib_register_access_data_pack(const struct connectib_register_access_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_per_traffic_congestion_grp_data_layout_pack(const struct connectib_eth_per_traffic_congestion_grp_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dword[i]);
-	}
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->wred_discard_high);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->wred_discard_low);
 
 }
 
-void connectib_register_access_data_unpack(struct connectib_register_access_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_eth_per_traffic_congestion_grp_data_layout_unpack(struct connectib_eth_per_traffic_congestion_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 0;
+	ptr_struct->wred_discard_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->wred_discard_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_register_access_data_print(const struct connectib_register_access_data *ptr_struct, FILE* file, int indent_level){
+void connectib_eth_per_traffic_congestion_grp_data_layout_print(const struct connectib_eth_per_traffic_congestion_grp_data_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_register_access_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_eth_per_traffic_congestion_grp_data_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword_%03d           : "U32H_FMT"\n", i, ptr_struct->dword[i]);
-	}
+	fprintf(file, "wred_discard_high    : " U32H_FMT "\n", ptr_struct->wred_discard_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "wred_discard_low     : " U32H_FMT "\n", ptr_struct->wred_discard_low);
 
 }
 
-int connectib_register_access_data_size(void){
-	 return 32;
+int connectib_eth_per_traffic_congestion_grp_data_layout_size(void)
+{
+	 return 248;
 }
 
-void connectib_register_access_data_dump(const struct connectib_register_access_data *ptr_struct, FILE* file) {
-	connectib_register_access_data_print(ptr_struct, file, 0);
+void connectib_eth_per_traffic_congestion_grp_data_layout_dump(const struct connectib_eth_per_traffic_congestion_grp_data_layout *ptr_struct, FILE* file)
+{
+	connectib_eth_per_traffic_congestion_grp_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_hdr_pack(const struct connectib_nv_tlv_hdr *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ib_port_counters_pack(const struct connectib_ib_port_counters *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->length);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_downed_counter);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->shadow);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_error_recovery_counter);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->symbol_error_counter);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rd_en);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_rcv_remote_physical_errors);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ovr_en);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_rcv_errors);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->header_type);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_xmit_discards);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->priority);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_rcv_switch_relay_errors);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->valid);
+	offset = 124;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->excessive_buffer_overrun_errors);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->type);
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->local_link_integrity_errors);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->crc16);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_rcv_constraint_errors);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_xmit_constraint_errors);
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vl15_dropped);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_xmit_data);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_rcv_data);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_xmit_pkts);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_rcv_pkts);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_xmit_wait);
 
 }
 
-void connectib_nv_tlv_hdr_unpack(struct connectib_nv_tlv_hdr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ib_port_counters_unpack(struct connectib_ib_port_counters *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=23;
-	ptr_struct->length = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+	offset = 24;
+	ptr_struct->link_downed_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=20;
-	ptr_struct->shadow = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->link_error_recovery_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=16;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->symbol_error_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=8;
-	ptr_struct->rd_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->port_rcv_remote_physical_errors = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=6;
-	ptr_struct->ovr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 32;
+	ptr_struct->port_rcv_errors = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=4;
-	ptr_struct->header_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 80;
+	ptr_struct->port_xmit_discards = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=2;
-	ptr_struct->priority = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 64;
+	ptr_struct->port_rcv_switch_relay_errors = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=0;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 124;
+	ptr_struct->excessive_buffer_overrun_errors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 120;
+	ptr_struct->local_link_integrity_errors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=80;
-	ptr_struct->crc16 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 104;
+	ptr_struct->port_rcv_constraint_errors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 96;
+	ptr_struct->port_xmit_constraint_errors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 144;
+	ptr_struct->vl15_dropped = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 160;
+	ptr_struct->port_xmit_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->port_rcv_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->port_xmit_pkts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 256;
+	ptr_struct->port_rcv_pkts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->port_xmit_wait = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_nv_tlv_hdr_print(const struct connectib_nv_tlv_hdr *ptr_struct, FILE* file, int indent_level){
+void connectib_ib_port_counters_print(const struct connectib_ib_port_counters *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_hdr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ib_port_counters ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "length               : "UH_FMT"\n", ptr_struct->length);
+	fprintf(file, "link_downed_counter  : " UH_FMT "\n", ptr_struct->link_downed_counter);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shadow               : "UH_FMT"\n", ptr_struct->shadow);
+	fprintf(file, "link_error_recovery_counter : " UH_FMT "\n", ptr_struct->link_error_recovery_counter);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	fprintf(file, "symbol_error_counter : " UH_FMT "\n", ptr_struct->symbol_error_counter);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rd_en                : "UH_FMT"\n", ptr_struct->rd_en);
+	fprintf(file, "port_rcv_remote_physical_errors : " UH_FMT "\n", ptr_struct->port_rcv_remote_physical_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ovr_en               : "UH_FMT"\n", ptr_struct->ovr_en);
+	fprintf(file, "port_rcv_errors      : " UH_FMT "\n", ptr_struct->port_rcv_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "header_type          : "UH_FMT"\n", ptr_struct->header_type);
+	fprintf(file, "port_xmit_discards   : " UH_FMT "\n", ptr_struct->port_xmit_discards);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "priority             : "UH_FMT"\n", ptr_struct->priority);
+	fprintf(file, "port_rcv_switch_relay_errors : " UH_FMT "\n", ptr_struct->port_rcv_switch_relay_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "excessive_buffer_overrun_errors : " UH_FMT "\n", ptr_struct->excessive_buffer_overrun_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "U32H_FMT"\n", ptr_struct->type);
+	fprintf(file, "local_link_integrity_errors : " UH_FMT "\n", ptr_struct->local_link_integrity_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "crc16                : "UH_FMT"\n", ptr_struct->crc16);
-
-}
-
-int connectib_nv_tlv_hdr_size(void){
-	 return 12;
-}
-
-void connectib_nv_tlv_hdr_dump(const struct connectib_nv_tlv_hdr *ptr_struct, FILE* file) {
-	connectib_nv_tlv_hdr_print(ptr_struct, file, 0);
-}
-
-void connectib_mfba_header_pack(const struct connectib_mfba_header *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
-
-	offset=55;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->size);
+	fprintf(file, "port_rcv_constraint_errors : " UH_FMT "\n", ptr_struct->port_rcv_constraint_errors);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
-
-}
-
-void connectib_mfba_header_unpack(struct connectib_mfba_header *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=26;
-	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=23;
-	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=55;
-	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
-
-	offset=72;
-	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_xmit_constraint_errors : " UH_FMT "\n", ptr_struct->port_xmit_constraint_errors);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl15_dropped         : " UH_FMT "\n", ptr_struct->vl15_dropped);
 
-void connectib_mfba_header_print(const struct connectib_mfba_header *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mfba_header ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "port_xmit_data       : " U32H_FMT "\n", ptr_struct->port_xmit_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fs                   : "UH_FMT"\n", ptr_struct->fs);
+	fprintf(file, "port_rcv_data        : " U32H_FMT "\n", ptr_struct->port_rcv_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "p                    : "UH_FMT"\n", ptr_struct->p);
+	fprintf(file, "port_xmit_pkts       : " U32H_FMT "\n", ptr_struct->port_xmit_pkts);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+	fprintf(file, "port_rcv_pkts        : " U32H_FMT "\n", ptr_struct->port_rcv_pkts);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address              : "UH_FMT"\n", ptr_struct->address);
+	fprintf(file, "port_xmit_wait       : " U32H_FMT "\n", ptr_struct->port_xmit_wait);
 
 }
 
-int connectib_mfba_header_size(void){
-	 return 12;
+int connectib_ib_port_counters_size(void)
+{
+	 return 248;
 }
 
-void connectib_mfba_header_dump(const struct connectib_mfba_header *ptr_struct, FILE* file) {
-	connectib_mfba_header_print(ptr_struct, file, 0);
+void connectib_ib_port_counters_dump(const struct connectib_ib_port_counters *ptr_struct, FILE* file)
+{
+	connectib_ib_port_counters_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_ref_count_pack(const struct connectib_fw_ref_count *ptr_struct, u_int8_t* ptr_buff){
+void connectib_llr_counters_pack(const struct connectib_llr_counters *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 28, (u_int32_t)ptr_struct->ref_counter);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_rx_cells_high);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ref_valid_cre_type);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_rx_cells_low);
 
-}
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_rx_error_high);
 
-void connectib_fw_ref_count_unpack(struct connectib_fw_ref_count *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_rx_error_low);
 
-	offset=4;
-	ptr_struct->ref_counter = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 28);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_rx_crc_error_high);
 
-	offset=0;
-	ptr_struct->ref_valid_cre_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_rx_crc_error_low);
 
-}
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_tx_cells_high);
 
-void connectib_fw_ref_count_print(const struct connectib_fw_ref_count *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_ref_count ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_tx_cells_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ref_counter          : "UH_FMT"\n", ptr_struct->ref_counter);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_tx_ret_cells_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ref_valid_cre_type   : "UH_FMT"\n", ptr_struct->ref_valid_cre_type);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_tx_ret_cells_low);
 
-}
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_tx_ret_events_high);
 
-int connectib_fw_ref_count_size(void){
-	 return 4;
-}
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->llr_tx_ret_events_low);
 
-void connectib_fw_ref_count_dump(const struct connectib_fw_ref_count *ptr_struct, FILE* file) {
-	connectib_fw_ref_count_print(ptr_struct, file, 0);
 }
 
-void connectib_tir_dmfs_pack(const struct connectib_tir_dmfs *ptr_struct, u_int8_t* ptr_buff){
+void connectib_llr_counters_unpack(struct connectib_llr_counters *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ste_ix);
-
-}
-
-void connectib_tir_dmfs_unpack(struct connectib_tir_dmfs *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 0;
+	ptr_struct->llr_rx_cells_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->ste_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 32;
+	ptr_struct->llr_rx_cells_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 64;
+	ptr_struct->llr_rx_error_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_tir_dmfs_print(const struct connectib_tir_dmfs *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_tir_dmfs ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 96;
+	ptr_struct->llr_rx_error_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ste_ix               : "U64H_FMT"\n", ptr_struct->ste_ix);
+	offset = 128;
+	ptr_struct->llr_rx_crc_error_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 160;
+	ptr_struct->llr_rx_crc_error_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_tir_dmfs_size(void){
-	 return 8;
-}
+	offset = 192;
+	ptr_struct->llr_tx_cells_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_tir_dmfs_dump(const struct connectib_tir_dmfs *ptr_struct, FILE* file) {
-	connectib_tir_dmfs_print(ptr_struct, file, 0);
-}
+	offset = 224;
+	ptr_struct->llr_tx_cells_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_rx_hash_field_select_pack(const struct connectib_rx_hash_field_select *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 256;
+	ptr_struct->llr_tx_ret_cells_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->selected_fields);
+	offset = 288;
+	ptr_struct->llr_tx_ret_cells_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l4_prot_type);
+	offset = 320;
+	ptr_struct->llr_tx_ret_events_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l3_prot_type);
+	offset = 352;
+	ptr_struct->llr_tx_ret_events_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_rx_hash_field_select_unpack(struct connectib_rx_hash_field_select *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_llr_counters_print(const struct connectib_llr_counters *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_llr_counters ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=2;
-	ptr_struct->selected_fields = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
-
-	offset=1;
-	ptr_struct->l4_prot_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->l3_prot_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-}
-
-void connectib_rx_hash_field_select_print(const struct connectib_rx_hash_field_select *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_rx_hash_field_select ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "selected_fields      : %s ("UH_FMT")\n", (ptr_struct->selected_fields == 0 ? ("SRC_IP") : ((ptr_struct->selected_fields == 1 ? ("DST_IP") : ((ptr_struct->selected_fields == 2 ? ("L4_SPORT") : ((ptr_struct->selected_fields == 3 ? ("L4_DPORT") : ((ptr_struct->selected_fields == 4 ? ("IPSEC_SPI") : ("unknown")))))))))), ptr_struct->selected_fields);
+	fprintf(file, "llr_rx_cells_high    : " U32H_FMT "\n", ptr_struct->llr_rx_cells_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l4_prot_type         : "UH_FMT"\n", ptr_struct->l4_prot_type);
+	fprintf(file, "llr_rx_cells_low     : " U32H_FMT "\n", ptr_struct->llr_rx_cells_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l3_prot_type         : "UH_FMT"\n", ptr_struct->l3_prot_type);
+	fprintf(file, "llr_rx_error_high    : " U32H_FMT "\n", ptr_struct->llr_rx_error_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "llr_rx_error_low     : " U32H_FMT "\n", ptr_struct->llr_rx_error_low);
 
-int connectib_rx_hash_field_select_size(void){
-	 return 4;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "llr_rx_crc_error_high : " U32H_FMT "\n", ptr_struct->llr_rx_crc_error_high);
 
-void connectib_rx_hash_field_select_dump(const struct connectib_rx_hash_field_select *ptr_struct, FILE* file) {
-	connectib_rx_hash_field_select_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "llr_rx_crc_error_low : " U32H_FMT "\n", ptr_struct->llr_rx_crc_error_low);
 
-void connectib_fw_qpc_special_pack(const union connectib_fw_qpc_special *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_dcr_qp_pack(&(ptr_struct->dcr_qp), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "llr_tx_cells_high    : " U32H_FMT "\n", ptr_struct->llr_tx_cells_high);
 
-void connectib_fw_qpc_special_unpack(union connectib_fw_qpc_special *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_dcr_qp_unpack(&(ptr_struct->dcr_qp), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "llr_tx_cells_low     : " U32H_FMT "\n", ptr_struct->llr_tx_cells_low);
 
-void connectib_fw_qpc_special_print(const union connectib_fw_qpc_special *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_qpc_special ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "llr_tx_ret_cells_high : " U32H_FMT "\n", ptr_struct->llr_tx_ret_cells_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "regular_qp:\n");
-	connectib_regular_qp_print(&(ptr_struct->regular_qp), file, indent_level + 1);
+	fprintf(file, "llr_tx_ret_cells_low : " U32H_FMT "\n", ptr_struct->llr_tx_ret_cells_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dcr_qp:\n");
-	connectib_dcr_qp_print(&(ptr_struct->dcr_qp), file, indent_level + 1);
+	fprintf(file, "llr_tx_ret_events_high : " U32H_FMT "\n", ptr_struct->llr_tx_ret_events_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "llr_tx_ret_events_low : " U32H_FMT "\n", ptr_struct->llr_tx_ret_events_low);
 
 }
 
-int connectib_fw_qpc_special_size(void){
-	 return 16;
+int connectib_llr_counters_size(void)
+{
+	 return 248;
 }
 
-void connectib_fw_qpc_special_dump(const union connectib_fw_qpc_special *ptr_struct, FILE* file) {
-	connectib_fw_qpc_special_print(ptr_struct, file, 0);
+void connectib_llr_counters_dump(const struct connectib_llr_counters *ptr_struct, FILE* file)
+{
+	connectib_llr_counters_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_qpc_q_pack(const struct connectib_fw_qpc_q *ptr_struct, u_int8_t* ptr_buff){
+void connectib_discard_cntrs_grp_data_pack(const struct connectib_discard_cntrs_grp_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->qp_state);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_general_high);
 
-	offset=16;
-	connectib_schedint_cause_pack(&(ptr_struct->schedint_cause), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_general_low);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sxdc_valid);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_policy_engine_high);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qpc_valid);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_policy_engine_low);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dct_cleanup_state);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_vlan_membership_high);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_in_linked_list);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_vlan_membership_low);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cmdif_awaiting);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_tag_frame_type_high);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dup_sx_flush_kill_qp_arb_disabled);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_tag_frame_type_low);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->broken_wq_buffer);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_vlan_membership_high);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->broken_cq);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_vlan_membership_low);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->catas_event_generated);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->loopback_filter_high);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_wqe_event_generated);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->loopback_filter_low);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->async_event_generated);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_general_high);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->flushed_in_error);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_general_low);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_flushed_in_error);
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_link_down_high);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vendor_syndrome);
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_link_down_low);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->hw_syndrome);
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_hoq_high);
 
-	offset=123;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->trap_reason);
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_hoq_low);
 
-	offset=122;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->connect_sent_to_ctrl_dct);
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_isolation_high);
 
-	offset=121;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->needed_events_generated);
+	offset = 608;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_isolation_low);
 
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_progress_after_retry);
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_policy_engine_high);
 
-	offset=116;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->retransmission_state);
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_policy_engine_low);
 
-	offset=115;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_fault_event_fired);
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_tx_link_down_high);
 
-	offset=114;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_progress_after_fault);
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ingress_tx_link_down_low);
 
-	offset=113;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_fault_event_fired);
+	offset = 768;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_stp_filter_high);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_progress_after_fault);
+	offset = 800;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_stp_filter_low);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->trap_data);
+	offset = 832;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_hoq_stall_high);
+
+	offset = 864;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->egress_hoq_stall_low);
 
 }
 
-void connectib_fw_qpc_q_unpack(struct connectib_fw_qpc_q *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_discard_cntrs_grp_data_unpack(struct connectib_discard_cntrs_grp_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->qp_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->ingress_general_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=16;
-	connectib_schedint_cause_unpack(&(ptr_struct->schedint_cause), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->ingress_general_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=15;
-	ptr_struct->sxdc_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->ingress_policy_engine_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=14;
-	ptr_struct->qpc_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->ingress_policy_engine_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=12;
-	ptr_struct->dct_cleanup_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 128;
+	ptr_struct->ingress_vlan_membership_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=11;
-	ptr_struct->qp_in_linked_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	ptr_struct->ingress_vlan_membership_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=10;
-	ptr_struct->cmdif_awaiting = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	ptr_struct->ingress_tag_frame_type_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=9;
-	ptr_struct->dup_sx_flush_kill_qp_arb_disabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 224;
+	ptr_struct->ingress_tag_frame_type_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=8;
-	ptr_struct->broken_wq_buffer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 256;
+	ptr_struct->egress_vlan_membership_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=7;
-	ptr_struct->broken_cq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 288;
+	ptr_struct->egress_vlan_membership_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=6;
-	ptr_struct->catas_event_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 320;
+	ptr_struct->loopback_filter_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=5;
-	ptr_struct->last_wqe_event_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 352;
+	ptr_struct->loopback_filter_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=4;
-	ptr_struct->async_event_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 384;
+	ptr_struct->egress_general_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=3;
-	ptr_struct->flushed_in_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 416;
+	ptr_struct->egress_general_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->disable_flushed_in_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 448;
+	ptr_struct->egress_link_down_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=80;
-	ptr_struct->vendor_syndrome = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 480;
+	ptr_struct->egress_link_down_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->hw_syndrome = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 512;
+	ptr_struct->egress_hoq_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=123;
-	ptr_struct->trap_reason = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 544;
+	ptr_struct->egress_hoq_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=122;
-	ptr_struct->connect_sent_to_ctrl_dct = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 576;
+	ptr_struct->port_isolation_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=121;
-	ptr_struct->needed_events_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 608;
+	ptr_struct->port_isolation_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=120;
-	ptr_struct->rx_progress_after_retry = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 640;
+	ptr_struct->egress_policy_engine_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=116;
-	ptr_struct->retransmission_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 672;
+	ptr_struct->egress_policy_engine_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=115;
-	ptr_struct->rx_fault_event_fired = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 704;
+	ptr_struct->ingress_tx_link_down_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=114;
-	ptr_struct->rx_progress_after_fault = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 736;
+	ptr_struct->ingress_tx_link_down_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=113;
-	ptr_struct->sx_fault_event_fired = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 768;
+	ptr_struct->egress_stp_filter_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=112;
-	ptr_struct->sx_progress_after_fault = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 800;
+	ptr_struct->egress_stp_filter_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	ptr_struct->trap_data = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 832;
+	ptr_struct->egress_hoq_stall_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 864;
+	ptr_struct->egress_hoq_stall_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_fw_qpc_q_print(const struct connectib_fw_qpc_q *ptr_struct, FILE* file, int indent_level){
+void connectib_discard_cntrs_grp_data_print(const struct connectib_discard_cntrs_grp_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_qpc_q ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_discard_cntrs_grp_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	fprintf(file, "ingress_general_high : " U32H_FMT "\n", ptr_struct->ingress_general_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "schedint_cause:\n");
-	connectib_schedint_cause_print(&(ptr_struct->schedint_cause), file, indent_level + 1);
+	fprintf(file, "ingress_general_low  : " U32H_FMT "\n", ptr_struct->ingress_general_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sxdc_valid           : "UH_FMT"\n", ptr_struct->sxdc_valid);
+	fprintf(file, "ingress_policy_engine_high : " U32H_FMT "\n", ptr_struct->ingress_policy_engine_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpc_valid            : "UH_FMT"\n", ptr_struct->qpc_valid);
+	fprintf(file, "ingress_policy_engine_low : " U32H_FMT "\n", ptr_struct->ingress_policy_engine_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_cleanup_state    : "UH_FMT"\n", ptr_struct->dct_cleanup_state);
+	fprintf(file, "ingress_vlan_membership_high : " U32H_FMT "\n", ptr_struct->ingress_vlan_membership_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_in_linked_list    : "UH_FMT"\n", ptr_struct->qp_in_linked_list);
+	fprintf(file, "ingress_vlan_membership_low : " U32H_FMT "\n", ptr_struct->ingress_vlan_membership_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cmdif_awaiting       : "UH_FMT"\n", ptr_struct->cmdif_awaiting);
+	fprintf(file, "ingress_tag_frame_type_high : " U32H_FMT "\n", ptr_struct->ingress_tag_frame_type_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dup_sx_flush_kill_qp_arb_disabled : "UH_FMT"\n", ptr_struct->dup_sx_flush_kill_qp_arb_disabled);
+	fprintf(file, "ingress_tag_frame_type_low : " U32H_FMT "\n", ptr_struct->ingress_tag_frame_type_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "broken_wq_buffer     : "UH_FMT"\n", ptr_struct->broken_wq_buffer);
+	fprintf(file, "egress_vlan_membership_high : " U32H_FMT "\n", ptr_struct->egress_vlan_membership_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "broken_cq            : "UH_FMT"\n", ptr_struct->broken_cq);
+	fprintf(file, "egress_vlan_membership_low : " U32H_FMT "\n", ptr_struct->egress_vlan_membership_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "catas_event_generated : "UH_FMT"\n", ptr_struct->catas_event_generated);
+	fprintf(file, "loopback_filter_high : " U32H_FMT "\n", ptr_struct->loopback_filter_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_wqe_event_generated : "UH_FMT"\n", ptr_struct->last_wqe_event_generated);
+	fprintf(file, "loopback_filter_low  : " U32H_FMT "\n", ptr_struct->loopback_filter_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "async_event_generated : "UH_FMT"\n", ptr_struct->async_event_generated);
+	fprintf(file, "egress_general_high  : " U32H_FMT "\n", ptr_struct->egress_general_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flushed_in_error     : "UH_FMT"\n", ptr_struct->flushed_in_error);
+	fprintf(file, "egress_general_low   : " U32H_FMT "\n", ptr_struct->egress_general_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "disable_flushed_in_error : "UH_FMT"\n", ptr_struct->disable_flushed_in_error);
+	fprintf(file, "egress_link_down_high : " U32H_FMT "\n", ptr_struct->egress_link_down_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vendor_syndrome      : "UH_FMT"\n", ptr_struct->vendor_syndrome);
+	fprintf(file, "egress_link_down_low : " U32H_FMT "\n", ptr_struct->egress_link_down_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_syndrome          : "UH_FMT"\n", ptr_struct->hw_syndrome);
+	fprintf(file, "egress_hoq_high      : " U32H_FMT "\n", ptr_struct->egress_hoq_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trap_reason          : %s ("UH_FMT")\n", (ptr_struct->trap_reason == 0 ? ("NORMAL") : ((ptr_struct->trap_reason == 1 ? ("SET_LIMIT") : ((ptr_struct->trap_reason == 2 ? ("DCR_OVERFLOW") : ((ptr_struct->trap_reason == 3 ? ("DCR_DUP_WA") : ((ptr_struct->trap_reason == 4 ? ("DCI_RECONNECT") : ("unknown")))))))))), ptr_struct->trap_reason);
+	fprintf(file, "egress_hoq_low       : " U32H_FMT "\n", ptr_struct->egress_hoq_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connect_sent_to_ctrl_dct : "UH_FMT"\n", ptr_struct->connect_sent_to_ctrl_dct);
+	fprintf(file, "port_isolation_high  : " U32H_FMT "\n", ptr_struct->port_isolation_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "needed_events_generated : "UH_FMT"\n", ptr_struct->needed_events_generated);
+	fprintf(file, "port_isolation_low   : " U32H_FMT "\n", ptr_struct->port_isolation_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_progress_after_retry : "UH_FMT"\n", ptr_struct->rx_progress_after_retry);
+	fprintf(file, "egress_policy_engine_high : " U32H_FMT "\n", ptr_struct->egress_policy_engine_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "retransmission_state : "UH_FMT"\n", ptr_struct->retransmission_state);
+	fprintf(file, "egress_policy_engine_low : " U32H_FMT "\n", ptr_struct->egress_policy_engine_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_fault_event_fired : "UH_FMT"\n", ptr_struct->rx_fault_event_fired);
+	fprintf(file, "ingress_tx_link_down_high : " U32H_FMT "\n", ptr_struct->ingress_tx_link_down_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_progress_after_fault : "UH_FMT"\n", ptr_struct->rx_progress_after_fault);
+	fprintf(file, "ingress_tx_link_down_low : " U32H_FMT "\n", ptr_struct->ingress_tx_link_down_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_fault_event_fired : "UH_FMT"\n", ptr_struct->sx_fault_event_fired);
+	fprintf(file, "egress_stp_filter_high : " U32H_FMT "\n", ptr_struct->egress_stp_filter_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_progress_after_fault : "UH_FMT"\n", ptr_struct->sx_progress_after_fault);
+	fprintf(file, "egress_stp_filter_low : " U32H_FMT "\n", ptr_struct->egress_stp_filter_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trap_data            : "UH_FMT"\n", ptr_struct->trap_data);
+	fprintf(file, "egress_hoq_stall_high : " U32H_FMT "\n", ptr_struct->egress_hoq_stall_high);
 
-}
-
-int connectib_fw_qpc_q_size(void){
-	 return 16;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "egress_hoq_stall_low : " U32H_FMT "\n", ptr_struct->egress_hoq_stall_low);
 
-void connectib_fw_qpc_q_dump(const struct connectib_fw_qpc_q *ptr_struct, FILE* file) {
-	connectib_fw_qpc_q_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_msix_context_data_pack(const union connectib_hw_msix_context_data *ptr_struct, u_int8_t* ptr_buff)
+int connectib_discard_cntrs_grp_data_size(void)
 {
-	connectib_hw_msix_context_data0_pack(&(ptr_struct->regular), ptr_buff);
+	 return 248;
 }
 
-void connectib_hw_msix_context_data_unpack(union connectib_hw_msix_context_data *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_discard_cntrs_grp_data_dump(const struct connectib_discard_cntrs_grp_data *ptr_struct, FILE* file)
 {
-	connectib_hw_msix_context_data0_unpack(&(ptr_struct->regular), ptr_buff);
-}
-
-void connectib_hw_msix_context_data_print(const union connectib_hw_msix_context_data *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_msix_context_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "regular:\n");
-	connectib_hw_msix_context_data0_print(&(ptr_struct->regular), file, indent_level + 1);
-
-}
-
-int connectib_hw_msix_context_data_size(void){
-	 return 4;
-}
-
-void connectib_hw_msix_context_data_dump(const union connectib_hw_msix_context_data *ptr_struct, FILE* file) {
-	connectib_hw_msix_context_data_print(ptr_struct, file, 0);
+	connectib_discard_cntrs_grp_data_print(ptr_struct, file, 0);
 }
 
-void connectib_steering_qp_entry_pack(const struct connectib_steering_qp_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phys_layer_cntrs_pack(const struct connectib_phys_layer_cntrs *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qp_number);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_since_last_clear_high);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_responder);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_since_last_clear_low);
 
-}
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->symbol_errors_high);
 
-void connectib_steering_qp_entry_unpack(struct connectib_steering_qp_entry *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->symbol_errors_low);
 
-	offset=8;
-	ptr_struct->qp_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sync_headers_errors_high);
 
-	offset=0;
-	ptr_struct->force_responder = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sync_headers_errors_low);
 
-}
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->edpl_bip_errors_lane0_high);
 
-void connectib_steering_qp_entry_print(const struct connectib_steering_qp_entry *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_steering_qp_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->edpl_bip_errors_lane0_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_number            : "UH_FMT"\n", ptr_struct->qp_number);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->edpl_bip_errors_lane1_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_responder      : "UH_FMT"\n", ptr_struct->force_responder);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->edpl_bip_errors_lane1_low);
 
-}
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->edpl_bip_errors_lane2_high);
 
-int connectib_steering_qp_entry_size(void){
-	 return 4;
-}
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->edpl_bip_errors_lane2_low);
 
-void connectib_steering_qp_entry_dump(const struct connectib_steering_qp_entry *ptr_struct, FILE* file) {
-	connectib_steering_qp_entry_print(ptr_struct, file, 0);
-}
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->edpl_bip_errors_lane3_high);
 
-void connectib_hw_ste_tag_pack(const union connectib_hw_ste_tag *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_hw_ste_tag_generic_headers_pack(&(ptr_struct->generic_headers), ptr_buff);
-}
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->edpl_bip_errors_lane3_low);
 
-void connectib_hw_ste_tag_unpack(union connectib_hw_ste_tag *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_hw_ste_tag_generic_headers_unpack(&(ptr_struct->generic_headers), ptr_buff);
-}
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_corrected_blocks_lane0_high);
 
-void connectib_hw_ste_tag_print(const union connectib_hw_ste_tag *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste_tag ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_corrected_blocks_lane0_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bulk:\n");
-	connectib_hw_ste_tag_bulk_print(&(ptr_struct->bulk), file, indent_level + 1);
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_corrected_blocks_lane1_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibl2:\n");
-	connectib_hw_ste_tag_ib_l2_print(&(ptr_struct->ibl2), file, indent_level + 1);
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_corrected_blocks_lane1_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibl3_extended:\n");
-	connectib_hw_ste_tag_ib_l3_extended_print(&(ptr_struct->ibl3_extended), file, indent_level + 1);
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_corrected_blocks_lane2_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibl3:\n");
-	connectib_hw_ste_tag_ib_l3_print(&(ptr_struct->ibl3), file, indent_level + 1);
+	offset = 608;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_corrected_blocks_lane2_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibl4:\n");
-	connectib_hw_ste_tag_ib_l4_print(&(ptr_struct->ibl4), file, indent_level + 1);
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_corrected_blocks_lane3_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "source_gvmi_qp:\n");
-	connectib_hw_ste_tag_source_gvmi_qp_print(&(ptr_struct->source_gvmi_qp), file, indent_level + 1);
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_corrected_blocks_lane3_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port:\n");
-	connectib_hw_ste_tag_port_print(&(ptr_struct->port), file, indent_level + 1);
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_uncorrectable_blocks_lane0_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "generic_headers:\n");
-	connectib_hw_ste_tag_generic_headers_print(&(ptr_struct->generic_headers), file, indent_level + 1);
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_uncorrectable_blocks_lane0_low);
 
-}
+	offset = 768;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_uncorrectable_blocks_lane1_high);
 
-int connectib_hw_ste_tag_size(void){
-	 return 16;
-}
+	offset = 800;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_uncorrectable_blocks_lane1_low);
 
-void connectib_hw_ste_tag_dump(const union connectib_hw_ste_tag *ptr_struct, FILE* file) {
-	connectib_hw_ste_tag_print(ptr_struct, file, 0);
-}
+	offset = 832;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_uncorrectable_blocks_lane2_high);
 
-void connectib_hw_pdf_entry_pack(const union connectib_hw_pdf_entry *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_hw_transaction_pdf_pack(&(ptr_struct->transaction_pdf), ptr_buff);
-}
+	offset = 864;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_uncorrectable_blocks_lane2_low);
 
-void connectib_hw_pdf_entry_unpack(union connectib_hw_pdf_entry *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_hw_transaction_pdf_unpack(&(ptr_struct->transaction_pdf), ptr_buff);
-}
-
-void connectib_hw_pdf_entry_print(const union connectib_hw_pdf_entry *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_pdf_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 896;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_uncorrectable_blocks_lane3_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pdf_decoder:\n");
-	connectib_hw_pdf_decoder_print(&(ptr_struct->pdf_decoder), file, indent_level + 1);
+	offset = 928;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_fec_uncorrectable_blocks_lane3_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "transaction_pdf:\n");
-	connectib_hw_transaction_pdf_print(&(ptr_struct->transaction_pdf), file, indent_level + 1);
+	offset = 960;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_blocks_high);
 
-}
+	offset = 992;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_blocks_low);
 
-int connectib_hw_pdf_entry_size(void){
-	 return 8;
-}
+	offset = 1024;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_uncorrectable_blocks_high);
 
-void connectib_hw_pdf_entry_dump(const union connectib_hw_pdf_entry *ptr_struct, FILE* file) {
-	connectib_hw_pdf_entry_print(ptr_struct, file, 0);
-}
+	offset = 1056;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_uncorrectable_blocks_low);
 
-void connectib_pf_vf_vpd_pack(const struct connectib_pf_vf_vpd *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 1088;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_no_errors_blocks_high);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->vpd_address);
+	offset = 1120;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_no_errors_blocks_low);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->F);
+	offset = 1152;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_single_error_blocks_high);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->vpd_data);
+	offset = 1184;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_single_error_blocks_low);
 
-}
+	offset = 1216;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_total_high);
 
-void connectib_pf_vf_vpd_unpack(struct connectib_pf_vf_vpd *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 1248;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_total_low);
 
-	offset=1;
-	ptr_struct->vpd_address = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
+	offset = 1280;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_lane0_high);
 
-	offset=0;
-	ptr_struct->F = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1312;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_lane0_low);
 
-	offset=32;
-	ptr_struct->vpd_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 1344;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_lane1_high);
 
-}
+	offset = 1376;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_lane1_low);
 
-void connectib_pf_vf_vpd_print(const struct connectib_pf_vf_vpd *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pf_vf_vpd ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 1408;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_lane2_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_address          : "UH_FMT"\n", ptr_struct->vpd_address);
+	offset = 1440;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_lane2_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "F                    : "UH_FMT"\n", ptr_struct->F);
+	offset = 1472;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_lane3_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_data             : "U32H_FMT"\n", ptr_struct->vpd_data);
+	offset = 1504;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_corrected_symbols_lane3_low);
 
-}
+	offset = 1536;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_down_events);
 
-int connectib_pf_vf_vpd_size(void){
-	 return 8;
-}
+	offset = 1568;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->successful_recovery_events);
 
-void connectib_pf_vf_vpd_dump(const struct connectib_pf_vf_vpd *ptr_struct, FILE* file) {
-	connectib_pf_vf_vpd_print(ptr_struct, file, 0);
 }
 
-void connectib_pf_vf_sriov_pack(const struct connectib_pf_vf_sriov *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phys_layer_cntrs_unpack(struct connectib_phys_layer_cntrs *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_enable);
+	offset = 0;
+	ptr_struct->time_since_last_clear_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_migration_en);
+	offset = 32;
+	ptr_struct->time_since_last_clear_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_migration_int_en);
+	offset = 64;
+	ptr_struct->symbol_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_mse);
+	offset = 96;
+	ptr_struct->symbol_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_capable_hierarchy);
+	offset = 128;
+	ptr_struct->sync_headers_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_system_page_size);
+	offset = 160;
+	ptr_struct->sync_headers_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->num_vfs);
+	offset = 192;
+	ptr_struct->edpl_bip_errors_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->not_in_use);
+	offset = 224;
+	ptr_struct->edpl_bip_errors_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 256;
+	ptr_struct->edpl_bip_errors_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_pf_vf_sriov_unpack(struct connectib_pf_vf_sriov *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 288;
+	ptr_struct->edpl_bip_errors_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=31;
-	ptr_struct->vf_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 320;
+	ptr_struct->edpl_bip_errors_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=30;
-	ptr_struct->vf_migration_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 352;
+	ptr_struct->edpl_bip_errors_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=29;
-	ptr_struct->vf_migration_int_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 384;
+	ptr_struct->edpl_bip_errors_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=28;
-	ptr_struct->vf_mse = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 416;
+	ptr_struct->edpl_bip_errors_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=27;
-	ptr_struct->ari_capable_hierarchy = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 448;
+	ptr_struct->fc_fec_corrected_blocks_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=19;
-	ptr_struct->log_system_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 480;
+	ptr_struct->fc_fec_corrected_blocks_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=6;
-	ptr_struct->num_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 512;
+	ptr_struct->fc_fec_corrected_blocks_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->not_in_use = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 544;
+	ptr_struct->fc_fec_corrected_blocks_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 576;
+	ptr_struct->fc_fec_corrected_blocks_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_pf_vf_sriov_print(const struct connectib_pf_vf_sriov *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pf_vf_sriov ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 608;
+	ptr_struct->fc_fec_corrected_blocks_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_enable            : "UH_FMT"\n", ptr_struct->vf_enable);
+	offset = 640;
+	ptr_struct->fc_fec_corrected_blocks_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_migration_en      : "UH_FMT"\n", ptr_struct->vf_migration_en);
+	offset = 672;
+	ptr_struct->fc_fec_corrected_blocks_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_migration_int_en  : "UH_FMT"\n", ptr_struct->vf_migration_int_en);
+	offset = 704;
+	ptr_struct->fc_fec_uncorrectable_blocks_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_mse               : "UH_FMT"\n", ptr_struct->vf_mse);
+	offset = 736;
+	ptr_struct->fc_fec_uncorrectable_blocks_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari_capable_hierarchy : "UH_FMT"\n", ptr_struct->ari_capable_hierarchy);
+	offset = 768;
+	ptr_struct->fc_fec_uncorrectable_blocks_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_system_page_size : "UH_FMT"\n", ptr_struct->log_system_page_size);
+	offset = 800;
+	ptr_struct->fc_fec_uncorrectable_blocks_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_vfs              : "UH_FMT"\n", ptr_struct->num_vfs);
+	offset = 832;
+	ptr_struct->fc_fec_uncorrectable_blocks_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "not_in_use           : "U32H_FMT"\n", ptr_struct->not_in_use);
+	offset = 864;
+	ptr_struct->fc_fec_uncorrectable_blocks_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 896;
+	ptr_struct->fc_fec_uncorrectable_blocks_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_pf_vf_sriov_size(void){
-	 return 8;
-}
+	offset = 928;
+	ptr_struct->fc_fec_uncorrectable_blocks_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_pf_vf_sriov_dump(const struct connectib_pf_vf_sriov *ptr_struct, FILE* file) {
-	connectib_pf_vf_sriov_print(ptr_struct, file, 0);
-}
+	offset = 960;
+	ptr_struct->rs_fec_corrected_blocks_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_conf_preset_tx_ini_pack(const struct connectib_serdes_conf_preset_tx_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 992;
+	ptr_struct->rs_fec_corrected_blocks_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	offset = 1024;
+	ptr_struct->rs_fec_uncorrectable_blocks_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 1056;
+	ptr_struct->rs_fec_uncorrectable_blocks_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_conf_preset_tx_ini_unpack(struct connectib_serdes_conf_preset_tx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 1088;
+	ptr_struct->rs_fec_no_errors_blocks_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	offset = 1120;
+	ptr_struct->rs_fec_no_errors_blocks_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 1152;
+	ptr_struct->rs_fec_single_error_blocks_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_conf_preset_tx_ini_print(const struct connectib_serdes_conf_preset_tx_ini *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_conf_preset_tx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 1184;
+	ptr_struct->rs_fec_single_error_blocks_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 16; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	offset = 1216;
+	ptr_struct->rs_fec_corrected_symbols_total_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 1248;
+	ptr_struct->rs_fec_corrected_symbols_total_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_serdes_conf_preset_tx_ini_size(void){
-	 return 64;
-}
+	offset = 1280;
+	ptr_struct->rs_fec_corrected_symbols_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_conf_preset_tx_ini_dump(const struct connectib_serdes_conf_preset_tx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_conf_preset_tx_ini_print(ptr_struct, file, 0);
-}
+	offset = 1312;
+	ptr_struct->rs_fec_corrected_symbols_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_active_tx_ini_pack(const struct connectib_serdes_active_tx_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 1344;
+	ptr_struct->rs_fec_corrected_symbols_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 128, 1);
-	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	offset = 1376;
+	ptr_struct->rs_fec_corrected_symbols_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 1408;
+	ptr_struct->rs_fec_corrected_symbols_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_active_tx_ini_unpack(struct connectib_serdes_active_tx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 1440;
+	ptr_struct->rs_fec_corrected_symbols_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 128, 1);
-	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	offset = 1472;
+	ptr_struct->rs_fec_corrected_symbols_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1504;
+	ptr_struct->rs_fec_corrected_symbols_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1536;
+	ptr_struct->link_down_events = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1568;
+	ptr_struct->successful_recovery_events = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_serdes_active_tx_ini_print(const struct connectib_serdes_active_tx_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_phys_layer_cntrs_print(const struct connectib_phys_layer_cntrs *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_active_tx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_phys_layer_cntrs ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	fprintf(file, "time_since_last_clear_high : " U32H_FMT "\n", ptr_struct->time_since_last_clear_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_since_last_clear_low : " U32H_FMT "\n", ptr_struct->time_since_last_clear_low);
 
-int connectib_serdes_active_tx_ini_size(void){
-	 return 16;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "symbol_errors_high   : " U32H_FMT "\n", ptr_struct->symbol_errors_high);
 
-void connectib_serdes_active_tx_ini_dump(const struct connectib_serdes_active_tx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_active_tx_ini_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "symbol_errors_low    : " U32H_FMT "\n", ptr_struct->symbol_errors_low);
 
-void connectib_serdes_active_rx_ini_pack(const struct connectib_serdes_active_rx_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sync_headers_errors_high : " U32H_FMT "\n", ptr_struct->sync_headers_errors_high);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 256, 1);
-	connectib_serdes_conf_rx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sync_headers_errors_low : " U32H_FMT "\n", ptr_struct->sync_headers_errors_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "edpl_bip_errors_lane0_high : " U32H_FMT "\n", ptr_struct->edpl_bip_errors_lane0_high);
 
-void connectib_serdes_active_rx_ini_unpack(struct connectib_serdes_active_rx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "edpl_bip_errors_lane0_low : " U32H_FMT "\n", ptr_struct->edpl_bip_errors_lane0_low);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 256, 1);
-	connectib_serdes_conf_rx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "edpl_bip_errors_lane1_high : " U32H_FMT "\n", ptr_struct->edpl_bip_errors_lane1_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "edpl_bip_errors_lane1_low : " U32H_FMT "\n", ptr_struct->edpl_bip_errors_lane1_low);
 
-void connectib_serdes_active_rx_ini_print(const struct connectib_serdes_active_rx_ini *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_active_rx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "edpl_bip_errors_lane2_high : " U32H_FMT "\n", ptr_struct->edpl_bip_errors_lane2_high);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_rx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	fprintf(file, "edpl_bip_errors_lane2_low : " U32H_FMT "\n", ptr_struct->edpl_bip_errors_lane2_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "edpl_bip_errors_lane3_high : " U32H_FMT "\n", ptr_struct->edpl_bip_errors_lane3_high);
 
-int connectib_serdes_active_rx_ini_size(void){
-	 return 32;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "edpl_bip_errors_lane3_low : " U32H_FMT "\n", ptr_struct->edpl_bip_errors_lane3_low);
 
-void connectib_serdes_active_rx_ini_dump(const struct connectib_serdes_active_rx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_active_rx_ini_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_corrected_blocks_lane0_high : " U32H_FMT "\n", ptr_struct->fc_fec_corrected_blocks_lane0_high);
 
-void connectib_serdes_force_tx_ini_pack(const struct connectib_serdes_force_tx_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_corrected_blocks_lane0_low : " U32H_FMT "\n", ptr_struct->fc_fec_corrected_blocks_lane0_low);
 
-	for (i=0; i < 10; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 320, 1);
-	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_corrected_blocks_lane1_high : " U32H_FMT "\n", ptr_struct->fc_fec_corrected_blocks_lane1_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_corrected_blocks_lane1_low : " U32H_FMT "\n", ptr_struct->fc_fec_corrected_blocks_lane1_low);
 
-void connectib_serdes_force_tx_ini_unpack(struct connectib_serdes_force_tx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_corrected_blocks_lane2_high : " U32H_FMT "\n", ptr_struct->fc_fec_corrected_blocks_lane2_high);
 
-	for (i=0; i < 10; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 320, 1);
-	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_corrected_blocks_lane2_low : " U32H_FMT "\n", ptr_struct->fc_fec_corrected_blocks_lane2_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_corrected_blocks_lane3_high : " U32H_FMT "\n", ptr_struct->fc_fec_corrected_blocks_lane3_high);
 
-void connectib_serdes_force_tx_ini_print(const struct connectib_serdes_force_tx_ini *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_force_tx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "fc_fec_corrected_blocks_lane3_low : " U32H_FMT "\n", ptr_struct->fc_fec_corrected_blocks_lane3_low);
 
-	for (i=0; i < 10; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	fprintf(file, "fc_fec_uncorrectable_blocks_lane0_high : " U32H_FMT "\n", ptr_struct->fc_fec_uncorrectable_blocks_lane0_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_uncorrectable_blocks_lane0_low : " U32H_FMT "\n", ptr_struct->fc_fec_uncorrectable_blocks_lane0_low);
 
-int connectib_serdes_force_tx_ini_size(void){
-	 return 40;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_uncorrectable_blocks_lane1_high : " U32H_FMT "\n", ptr_struct->fc_fec_uncorrectable_blocks_lane1_high);
 
-void connectib_serdes_force_tx_ini_dump(const struct connectib_serdes_force_tx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_force_tx_ini_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_uncorrectable_blocks_lane1_low : " U32H_FMT "\n", ptr_struct->fc_fec_uncorrectable_blocks_lane1_low);
 
-void connectib_serdes_force_rx_ini_pack(const struct connectib_serdes_force_rx_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_uncorrectable_blocks_lane2_high : " U32H_FMT "\n", ptr_struct->fc_fec_uncorrectable_blocks_lane2_high);
 
-	for (i=0; i < 10; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 640, 1);
-	connectib_serdes_conf_rx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_uncorrectable_blocks_lane2_low : " U32H_FMT "\n", ptr_struct->fc_fec_uncorrectable_blocks_lane2_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_uncorrectable_blocks_lane3_high : " U32H_FMT "\n", ptr_struct->fc_fec_uncorrectable_blocks_lane3_high);
 
-void connectib_serdes_force_rx_ini_unpack(struct connectib_serdes_force_rx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_fec_uncorrectable_blocks_lane3_low : " U32H_FMT "\n", ptr_struct->fc_fec_uncorrectable_blocks_lane3_low);
 
-	for (i=0; i < 10; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 640, 1);
-	connectib_serdes_conf_rx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_blocks_high : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_blocks_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_blocks_low : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_blocks_low);
 
-void connectib_serdes_force_rx_ini_print(const struct connectib_serdes_force_rx_ini *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_force_rx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "rs_fec_uncorrectable_blocks_high : " U32H_FMT "\n", ptr_struct->rs_fec_uncorrectable_blocks_high);
 
-	for (i=0; i < 10; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_rx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	fprintf(file, "rs_fec_uncorrectable_blocks_low : " U32H_FMT "\n", ptr_struct->rs_fec_uncorrectable_blocks_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_no_errors_blocks_high : " U32H_FMT "\n", ptr_struct->rs_fec_no_errors_blocks_high);
 
-int connectib_serdes_force_rx_ini_size(void){
-	 return 80;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_no_errors_blocks_low : " U32H_FMT "\n", ptr_struct->rs_fec_no_errors_blocks_low);
 
-void connectib_serdes_force_rx_ini_dump(const struct connectib_serdes_force_rx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_force_rx_ini_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_single_error_blocks_high : " U32H_FMT "\n", ptr_struct->rs_fec_single_error_blocks_high);
 
-void connectib_serdes_conf_aba_tx_ini_pack(const struct connectib_serdes_conf_aba_tx_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_single_error_blocks_low : " U32H_FMT "\n", ptr_struct->rs_fec_single_error_blocks_low);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_symbols_total_high : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_total_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_symbols_total_low : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_total_low);
 
-void connectib_serdes_conf_aba_tx_ini_unpack(struct connectib_serdes_conf_aba_tx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_symbols_lane0_high : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_lane0_high);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_symbols_lane0_low : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_lane0_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_symbols_lane1_high : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_lane1_high);
 
-void connectib_serdes_conf_aba_tx_ini_print(const struct connectib_serdes_conf_aba_tx_ini *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_conf_aba_tx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "rs_fec_corrected_symbols_lane1_low : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_lane1_low);
 
-	for (i=0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	fprintf(file, "rs_fec_corrected_symbols_lane2_high : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_lane2_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_symbols_lane2_low : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_lane2_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_symbols_lane3_high : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_lane3_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rs_fec_corrected_symbols_lane3_low : " U32H_FMT "\n", ptr_struct->rs_fec_corrected_symbols_lane3_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_down_events     : " U32H_FMT "\n", ptr_struct->link_down_events);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "successful_recovery_events : " U32H_FMT "\n", ptr_struct->successful_recovery_events);
 
 }
 
-int connectib_serdes_conf_aba_tx_ini_size(void){
-	 return 128;
+int connectib_phys_layer_cntrs_size(void)
+{
+	 return 200;
 }
 
-void connectib_serdes_conf_aba_tx_ini_dump(const struct connectib_serdes_conf_aba_tx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_conf_aba_tx_ini_print(ptr_struct, file, 0);
+void connectib_phys_layer_cntrs_dump(const struct connectib_phys_layer_cntrs *ptr_struct, FILE* file)
+{
+	connectib_phys_layer_cntrs_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_conf_aba_rx_ini_pack(const struct connectib_serdes_conf_aba_rx_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_correct_on_demand_layout_pack(const struct connectib_correct_on_demand_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 2048, 1);
-	connectib_serdes_conf_rx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rewind_counter_high);
 
-}
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rewind_counter_low);
 
-void connectib_serdes_conf_aba_rx_ini_unpack(struct connectib_serdes_conf_aba_rx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data_rewinded_high);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 2048, 1);
-	connectib_serdes_conf_rx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data_rewinded_low);
 
-}
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pkt_rewinded_high);
 
-void connectib_serdes_conf_aba_rx_ini_print(const struct connectib_serdes_conf_aba_rx_ini *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_conf_aba_rx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pkt_rewinded_low);
 
-	for (i=0; i < 32; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_rx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->total_rcv_data_high);
 
-}
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->total_rcv_data_low);
 
-int connectib_serdes_conf_aba_rx_ini_size(void){
-	 return 256;
-}
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->total_rcv_pkt_high);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->total_rcv_pkt_low);
 
-void connectib_serdes_conf_aba_rx_ini_dump(const struct connectib_serdes_conf_aba_rx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_conf_aba_rx_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_conf_autoneg_tx_ini_pack(const struct connectib_serdes_conf_autoneg_tx_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_correct_on_demand_layout_unpack(struct connectib_correct_on_demand_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	ptr_struct->rewind_counter_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 32;
+	ptr_struct->rewind_counter_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_conf_autoneg_tx_ini_unpack(struct connectib_serdes_conf_autoneg_tx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 64;
+	ptr_struct->data_rewinded_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	offset = 96;
+	ptr_struct->data_rewinded_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 128;
+	ptr_struct->pkt_rewinded_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_conf_autoneg_tx_ini_print(const struct connectib_serdes_conf_autoneg_tx_ini *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_conf_autoneg_tx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 160;
+	ptr_struct->pkt_rewinded_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 32; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	offset = 192;
+	ptr_struct->total_rcv_data_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 224;
+	ptr_struct->total_rcv_data_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_serdes_conf_autoneg_tx_ini_size(void){
-	 return 128;
-}
+	offset = 256;
+	ptr_struct->total_rcv_pkt_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->total_rcv_pkt_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_conf_autoneg_tx_ini_dump(const struct connectib_serdes_conf_autoneg_tx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_conf_autoneg_tx_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_conf_autoneg_rx_ini_pack(const struct connectib_serdes_conf_autoneg_rx_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_correct_on_demand_layout_print(const struct connectib_correct_on_demand_layout *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_correct_on_demand_layout ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 2048, 1);
-	connectib_serdes_conf_rx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rewind_counter_high  : " U32H_FMT "\n", ptr_struct->rewind_counter_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rewind_counter_low   : " U32H_FMT "\n", ptr_struct->rewind_counter_low);
 
-void connectib_serdes_conf_autoneg_rx_ini_unpack(struct connectib_serdes_conf_autoneg_rx_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data_rewinded_high   : " U32H_FMT "\n", ptr_struct->data_rewinded_high);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 2048, 1);
-	connectib_serdes_conf_rx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data_rewinded_low    : " U32H_FMT "\n", ptr_struct->data_rewinded_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkt_rewinded_high    : " U32H_FMT "\n", ptr_struct->pkt_rewinded_high);
 
-void connectib_serdes_conf_autoneg_rx_ini_print(const struct connectib_serdes_conf_autoneg_rx_ini *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_conf_autoneg_rx_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "pkt_rewinded_low     : " U32H_FMT "\n", ptr_struct->pkt_rewinded_low);
 
-	for (i=0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_%03d:\n", i);
-	connectib_serdes_conf_rx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
-	}
+	fprintf(file, "total_rcv_data_high  : " U32H_FMT "\n", ptr_struct->total_rcv_data_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "total_rcv_data_low   : " U32H_FMT "\n", ptr_struct->total_rcv_data_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "total_rcv_pkt_high   : " U32H_FMT "\n", ptr_struct->total_rcv_pkt_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "total_rcv_pkt_low    : " U32H_FMT "\n", ptr_struct->total_rcv_pkt_low);
 
 }
 
-int connectib_serdes_conf_autoneg_rx_ini_size(void){
-	 return 256;
+int connectib_correct_on_demand_layout_size(void)
+{
+	 return 56;
 }
 
-void connectib_serdes_conf_autoneg_rx_ini_dump(const struct connectib_serdes_conf_autoneg_rx_ini *ptr_struct, FILE* file) {
-	connectib_serdes_conf_autoneg_rx_ini_print(ptr_struct, file, 0);
+void connectib_correct_on_demand_layout_dump(const struct connectib_correct_on_demand_layout *ptr_struct, FILE* file)
+{
+	connectib_correct_on_demand_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_aba_indexes_pack(const struct connectib_aba_indexes *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_per_traffic_grp_data_layout_pack(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_aba_index_pack(&(ptr_struct->encode_64_66), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->transmit_queue_high);
 
-	offset=128;
-	connectib_aba_index_pack(&(ptr_struct->encode_8_10), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->transmit_queue_low);
 
-	offset=256;
-	connectib_aba_index_pack(&(ptr_struct->encode_8_10_legacy), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->no_buffer_discard_uc_high);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->no_buffer_discard_uc_low);
 
 }
 
-void connectib_aba_indexes_unpack(struct connectib_aba_indexes *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_eth_per_traffic_grp_data_layout_unpack(struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_aba_index_unpack(&(ptr_struct->encode_64_66), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->transmit_queue_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	connectib_aba_index_unpack(&(ptr_struct->encode_8_10), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->transmit_queue_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=256;
-	connectib_aba_index_unpack(&(ptr_struct->encode_8_10_legacy), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->no_buffer_discard_uc_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->no_buffer_discard_uc_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_aba_indexes_print(const struct connectib_aba_indexes *ptr_struct, FILE* file, int indent_level){
+void connectib_eth_per_traffic_grp_data_layout_print(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_aba_indexes ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_eth_per_traffic_grp_data_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "encode_64_66:\n");
-	connectib_aba_index_print(&(ptr_struct->encode_64_66), file, indent_level + 1);
+	fprintf(file, "transmit_queue_high  : " U32H_FMT "\n", ptr_struct->transmit_queue_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "encode_8_10:\n");
-	connectib_aba_index_print(&(ptr_struct->encode_8_10), file, indent_level + 1);
+	fprintf(file, "transmit_queue_low   : " U32H_FMT "\n", ptr_struct->transmit_queue_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "encode_8_10_legacy:\n");
-	connectib_aba_index_print(&(ptr_struct->encode_8_10_legacy), file, indent_level + 1);
+	fprintf(file, "no_buffer_discard_uc_high : " U32H_FMT "\n", ptr_struct->no_buffer_discard_uc_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_buffer_discard_uc_low : " U32H_FMT "\n", ptr_struct->no_buffer_discard_uc_low);
 
 }
 
-int connectib_aba_indexes_size(void){
-	 return 48;
+int connectib_eth_per_traffic_grp_data_layout_size(void)
+{
+	 return 248;
 }
 
-void connectib_aba_indexes_dump(const struct connectib_aba_indexes *ptr_struct, FILE* file) {
-	connectib_aba_indexes_print(ptr_struct, file, 0);
+void connectib_eth_per_traffic_grp_data_layout_dump(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, FILE* file)
+{
+	connectib_eth_per_traffic_grp_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_param_mask_per_proto_ini_pack(const struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_per_prio_grp_data_layout_pack(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_octets_high);
 
-}
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_octets_low);
 
-void connectib_serdes_param_mask_per_proto_ini_unpack(struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_frames_high);
 
-	offset=0;
-	ptr_struct->rx = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_frames_low);
 
-}
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_octets_high);
 
-void connectib_serdes_param_mask_per_proto_ini_print(const struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_param_mask_per_proto_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_octets_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx                   : "U32H_FMT"\n", ptr_struct->rx);
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_frames_high);
 
-}
+	offset = 608;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_frames_low);
 
-int connectib_serdes_param_mask_per_proto_ini_size(void){
-	 return 4;
-}
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_pause_high);
 
-void connectib_serdes_param_mask_per_proto_ini_dump(const struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, FILE* file) {
-	connectib_serdes_param_mask_per_proto_ini_print(ptr_struct, file, 0);
-}
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_pause_low);
 
-void connectib_cmdif_ctx_dmfs_pack(const struct connectib_cmdif_ctx_dmfs *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_pause_duration_high);
+
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_pause_duration_low);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->gc_hash_meta_ix);
+	offset = 768;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_pause_high);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->copied_dest_ctr);
+	offset = 800;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_pause_low);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->dealloc_ste_ix);
+	offset = 832;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_pause_duration_high);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ft_hw_ix);
+	offset = 864;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_pause_duration_low);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ft_fw_ix);
+	offset = 896;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_pause_transition_high);
+
+	offset = 928;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_pause_transition_low);
+
+	offset = 960;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_discards_high);
+
+	offset = 992;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_discards_low);
+
+	offset = 1024;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->device_stall_minor_watermark_cnt_high);
+
+	offset = 1056;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->device_stall_minor_watermark_cnt_low);
+
+	offset = 1088;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->device_stall_critical_watermark_cnt_high);
+
+	offset = 1120;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->device_stall_critical_watermark_cnt_low);
 
 }
 
-void connectib_cmdif_ctx_dmfs_unpack(struct connectib_cmdif_ctx_dmfs *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_eth_per_prio_grp_data_layout_unpack(struct connectib_eth_per_prio_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->gc_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->rx_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=48;
-	ptr_struct->copied_dest_ctr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	ptr_struct->rx_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->dealloc_ste_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 256;
+	ptr_struct->rx_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	ptr_struct->ft_hw_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 288;
+	ptr_struct->rx_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
-	ptr_struct->ft_fw_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 320;
+	ptr_struct->tx_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 352;
+	ptr_struct->tx_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_dmfs_print(const struct connectib_cmdif_ctx_dmfs *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_dmfs ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 576;
+	ptr_struct->tx_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gc_hash_meta_ix      : "U32H_FMT"\n", ptr_struct->gc_hash_meta_ix);
+	offset = 608;
+	ptr_struct->tx_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "copied_dest_ctr      : "UH_FMT"\n", ptr_struct->copied_dest_ctr);
+	offset = 640;
+	ptr_struct->rx_pause_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dealloc_ste_ix       : "U64H_FMT"\n", ptr_struct->dealloc_ste_ix);
+	offset = 672;
+	ptr_struct->rx_pause_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ft_hw_ix             : "U64H_FMT"\n", ptr_struct->ft_hw_ix);
+	offset = 704;
+	ptr_struct->rx_pause_duration_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ft_fw_ix             : "U32H_FMT"\n", ptr_struct->ft_fw_ix);
+	offset = 736;
+	ptr_struct->rx_pause_duration_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 768;
+	ptr_struct->tx_pause_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_cmdif_ctx_dmfs_size(void){
-	 return 32;
-}
+	offset = 800;
+	ptr_struct->tx_pause_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_dmfs_dump(const struct connectib_cmdif_ctx_dmfs *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_dmfs_print(ptr_struct, file, 0);
-}
+	offset = 832;
+	ptr_struct->tx_pause_duration_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_create_mtt_pack(const struct connectib_cmdif_ctx_create_mtt *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 864;
+	ptr_struct->tx_pause_duration_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->mtt_ix);
+	offset = 896;
+	ptr_struct->rx_pause_transition_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_mtts);
+	offset = 928;
+	ptr_struct->rx_pause_transition_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 960;
+	ptr_struct->rx_discards_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_create_mtt_unpack(struct connectib_cmdif_ctx_create_mtt *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 992;
+	ptr_struct->rx_discards_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->mtt_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 1024;
+	ptr_struct->device_stall_minor_watermark_cnt_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->num_mtts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 1056;
+	ptr_struct->device_stall_minor_watermark_cnt_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1088;
+	ptr_struct->device_stall_critical_watermark_cnt_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1120;
+	ptr_struct->device_stall_critical_watermark_cnt_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_cmdif_ctx_create_mtt_print(const struct connectib_cmdif_ctx_create_mtt *ptr_struct, FILE* file, int indent_level){
+void connectib_eth_per_prio_grp_data_layout_print(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_create_mtt ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_eth_per_prio_grp_data_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_ix               : "U64H_FMT"\n", ptr_struct->mtt_ix);
+	fprintf(file, "rx_octets_high       : " U32H_FMT "\n", ptr_struct->rx_octets_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_mtts             : "U32H_FMT"\n", ptr_struct->num_mtts);
+	fprintf(file, "rx_octets_low        : " U32H_FMT "\n", ptr_struct->rx_octets_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_frames_high       : " U32H_FMT "\n", ptr_struct->rx_frames_high);
 
-int connectib_cmdif_ctx_create_mtt_size(void){
-	 return 32;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_frames_low        : " U32H_FMT "\n", ptr_struct->rx_frames_low);
 
-void connectib_cmdif_ctx_create_mtt_dump(const struct connectib_cmdif_ctx_create_mtt *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_create_mtt_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_octets_high       : " U32H_FMT "\n", ptr_struct->tx_octets_high);
 
-void connectib_cmdif_ctx_psv_pack(const struct connectib_cmdif_ctx_psv *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_octets_low        : " U32H_FMT "\n", ptr_struct->tx_octets_low);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_psv);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_frames_high       : " U32H_FMT "\n", ptr_struct->tx_frames_high);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_alloced_psv);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_frames_low        : " U32H_FMT "\n", ptr_struct->tx_frames_low);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pd);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_pause_high        : " U32H_FMT "\n", ptr_struct->rx_pause_high);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 256, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->psv_ix[i]);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_pause_low         : " U32H_FMT "\n", ptr_struct->rx_pause_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_pause_duration_high : " U32H_FMT "\n", ptr_struct->rx_pause_duration_high);
 
-void connectib_cmdif_ctx_psv_unpack(struct connectib_cmdif_ctx_psv *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_pause_duration_low : " U32H_FMT "\n", ptr_struct->rx_pause_duration_low);
 
-	offset=0;
-	ptr_struct->num_psv = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_pause_high        : " U32H_FMT "\n", ptr_struct->tx_pause_high);
 
-	offset=32;
-	ptr_struct->num_alloced_psv = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_pause_low         : " U32H_FMT "\n", ptr_struct->tx_pause_low);
 
-	offset=64;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_pause_duration_high : " U32H_FMT "\n", ptr_struct->tx_pause_duration_high);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 256, 1);
-	ptr_struct->psv_ix[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_pause_duration_low : " U32H_FMT "\n", ptr_struct->tx_pause_duration_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_pause_transition_high : " U32H_FMT "\n", ptr_struct->rx_pause_transition_high);
 
-void connectib_cmdif_ctx_psv_print(const struct connectib_cmdif_ctx_psv *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_psv ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "rx_pause_transition_low : " U32H_FMT "\n", ptr_struct->rx_pause_transition_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_psv              : "U32H_FMT"\n", ptr_struct->num_psv);
+	fprintf(file, "rx_discards_high     : " U32H_FMT "\n", ptr_struct->rx_discards_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_alloced_psv      : "U32H_FMT"\n", ptr_struct->num_alloced_psv);
+	fprintf(file, "rx_discards_low      : " U32H_FMT "\n", ptr_struct->rx_discards_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "U32H_FMT"\n", ptr_struct->pd);
+	fprintf(file, "device_stall_minor_watermark_cnt_high : " U32H_FMT "\n", ptr_struct->device_stall_minor_watermark_cnt_high);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "psv_ix_%03d          : "U32H_FMT"\n", i, ptr_struct->psv_ix[i]);
-	}
+	fprintf(file, "device_stall_minor_watermark_cnt_low : " U32H_FMT "\n", ptr_struct->device_stall_minor_watermark_cnt_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_stall_critical_watermark_cnt_high : " U32H_FMT "\n", ptr_struct->device_stall_critical_watermark_cnt_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_stall_critical_watermark_cnt_low : " U32H_FMT "\n", ptr_struct->device_stall_critical_watermark_cnt_low);
 
 }
 
-int connectib_cmdif_ctx_psv_size(void){
-	 return 32;
+int connectib_eth_per_prio_grp_data_layout_size(void)
+{
+	 return 248;
 }
 
-void connectib_cmdif_ctx_psv_dump(const struct connectib_cmdif_ctx_psv *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_psv_print(ptr_struct, file, 0);
+void connectib_eth_per_prio_grp_data_layout_dump(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, FILE* file)
+{
+	connectib_eth_per_prio_grp_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_ctx_mcg_pack(const struct connectib_cmdif_ctx_mcg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_extended_cntrs_grp_data_layout_pack(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->mcg_index);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_transmit_wait_high);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->gid_msb);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_transmit_wait_low);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->gid_lsb);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ecn_marked_high);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ecn_marked_low);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->no_buffer_discard_mc_high);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->no_buffer_discard_mc_low);
 
 }
 
-void connectib_cmdif_ctx_mcg_unpack(struct connectib_cmdif_ctx_mcg *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_eth_extended_cntrs_grp_data_layout_unpack(struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->mcg_index = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->port_transmit_wait_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->port_transmit_wait_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->gid_msb = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 64;
+	ptr_struct->ecn_marked_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	ptr_struct->gid_lsb = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 96;
+	ptr_struct->ecn_marked_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->no_buffer_discard_mc_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->no_buffer_discard_mc_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_cmdif_ctx_mcg_print(const struct connectib_cmdif_ctx_mcg *ptr_struct, FILE* file, int indent_level){
+void connectib_eth_extended_cntrs_grp_data_layout_print(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_mcg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_eth_extended_cntrs_grp_data_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mcg_index            : "U64H_FMT"\n", ptr_struct->mcg_index);
+	fprintf(file, "port_transmit_wait_high : " U32H_FMT "\n", ptr_struct->port_transmit_wait_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gid_msb              : "U64H_FMT"\n", ptr_struct->gid_msb);
+	fprintf(file, "port_transmit_wait_low : " U32H_FMT "\n", ptr_struct->port_transmit_wait_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gid_lsb              : "U64H_FMT"\n", ptr_struct->gid_lsb);
+	fprintf(file, "ecn_marked_high      : " U32H_FMT "\n", ptr_struct->ecn_marked_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ecn_marked_low       : " U32H_FMT "\n", ptr_struct->ecn_marked_low);
 
-int connectib_cmdif_ctx_mcg_size(void){
-	 return 32;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_buffer_discard_mc_high : " U32H_FMT "\n", ptr_struct->no_buffer_discard_mc_high);
 
-void connectib_cmdif_ctx_mcg_dump(const struct connectib_cmdif_ctx_mcg *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_mcg_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_buffer_discard_mc_low : " U32H_FMT "\n", ptr_struct->no_buffer_discard_mc_low);
 
-void connectib_cmdif_ctx_sniffer_pack(const struct connectib_cmdif_ctx_sniffer *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+}
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_0_1);
+int connectib_eth_extended_cntrs_grp_data_layout_size(void)
+{
+	 return 248;
+}
 
+void connectib_eth_extended_cntrs_grp_data_layout_dump(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, FILE* file)
+{
+	connectib_eth_extended_cntrs_grp_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_ctx_sniffer_unpack(struct connectib_cmdif_ctx_sniffer *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_eth_3635_cntrs_grp_data_layout_pack(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->port_0_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_alignment_errors_high);
 
-}
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_alignment_errors_low);
 
-void connectib_cmdif_ctx_sniffer_print(const struct connectib_cmdif_ctx_sniffer *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_sniffer ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_fcs_errors_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_0_1             : "UH_FMT"\n", ptr_struct->port_0_1);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_fcs_errors_low);
 
-}
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_single_collision_frames_high);
 
-int connectib_cmdif_ctx_sniffer_size(void){
-	 return 32;
-}
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_single_collision_frames_low);
 
-void connectib_cmdif_ctx_sniffer_dump(const struct connectib_cmdif_ctx_sniffer *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_sniffer_print(ptr_struct, file, 0);
-}
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_multiple_collision_frames_high);
 
-void connectib_cmdif_ctx_special_modify_rmp_pack(const struct connectib_cmdif_ctx_special_modify_rmp *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_multiple_collision_frames_low);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bitmask);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_sqe_test_errors_high);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->lwm);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_sqe_test_errors_low);
 
-}
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_deferred_transmissions_high);
 
-void connectib_cmdif_ctx_special_modify_rmp_unpack(struct connectib_cmdif_ctx_special_modify_rmp *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_deferred_transmissions_low);
 
-	offset=0;
-	ptr_struct->bitmask = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_late_collisions_high);
 
-	offset=64;
-	ptr_struct->lwm = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_late_collisions_low);
 
-}
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_excessive_collisions_high);
 
-void connectib_cmdif_ctx_special_modify_rmp_print(const struct connectib_cmdif_ctx_special_modify_rmp *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_modify_rmp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_excessive_collisions_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bitmask              : "U64H_FMT"\n", ptr_struct->bitmask);
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_internal_mac_transmit_errors_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lwm                  : "U32H_FMT"\n", ptr_struct->lwm);
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_internal_mac_transmit_errors_low);
 
-}
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_carrier_sense_errors_high);
 
-int connectib_cmdif_ctx_special_modify_rmp_size(void){
-	 return 32;
-}
+	offset = 608;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_carrier_sense_errors_low);
 
-void connectib_cmdif_ctx_special_modify_rmp_dump(const struct connectib_cmdif_ctx_special_modify_rmp *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_modify_rmp_print(ptr_struct, file, 0);
-}
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_frame_too_longs_high);
 
-void connectib_cmdif_ctx_special_arm_rq_pack(const struct connectib_cmdif_ctx_special_arm_rq *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_frame_too_longs_low);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->lwm);
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_internal_mac_receive_errors_high);
 
-}
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_internal_mac_receive_errors_low);
 
-void connectib_cmdif_ctx_special_arm_rq_unpack(struct connectib_cmdif_ctx_special_arm_rq *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 768;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_symbol_errors_high);
 
-	offset=0;
-	ptr_struct->lwm = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 800;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3stats_symbol_errors_low);
 
-}
+	offset = 832;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3control_in_unknown_opcodes_high);
 
-void connectib_cmdif_ctx_special_arm_rq_print(const struct connectib_cmdif_ctx_special_arm_rq *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_arm_rq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 864;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3control_in_unknown_opcodes_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lwm                  : "U32H_FMT"\n", ptr_struct->lwm);
+	offset = 896;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3in_pause_frames_high);
 
-}
+	offset = 928;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3in_pause_frames_low);
 
-int connectib_cmdif_ctx_special_arm_rq_size(void){
-	 return 32;
-}
+	offset = 960;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3out_pause_frames_high);
+
+	offset = 992;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dot3out_pause_frames_low);
 
-void connectib_cmdif_ctx_special_arm_rq_dump(const struct connectib_cmdif_ctx_special_arm_rq *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_arm_rq_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_ctx_special_mkey_pack(const struct connectib_cmdif_ctx_special_mkey *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_3635_cntrs_grp_data_layout_unpack(struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->hw_addr);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_addr);
+	offset = 0;
+	ptr_struct->dot3stats_alignment_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->octoword_actual_size_mtt);
+	offset = 32;
+	ptr_struct->dot3stats_alignment_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 64;
+	ptr_struct->dot3stats_fcs_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_mkey_unpack(struct connectib_cmdif_ctx_special_mkey *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 96;
+	ptr_struct->dot3stats_fcs_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->hw_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 128;
+	ptr_struct->dot3stats_single_collision_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->fw_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 160;
+	ptr_struct->dot3stats_single_collision_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	ptr_struct->octoword_actual_size_mtt = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	ptr_struct->dot3stats_multiple_collision_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 224;
+	ptr_struct->dot3stats_multiple_collision_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_mkey_print(const struct connectib_cmdif_ctx_special_mkey *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_mkey ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 256;
+	ptr_struct->dot3stats_sqe_test_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_addr              : "U64H_FMT"\n", ptr_struct->hw_addr);
+	offset = 288;
+	ptr_struct->dot3stats_sqe_test_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_addr              : "U64H_FMT"\n", ptr_struct->fw_addr);
+	offset = 320;
+	ptr_struct->dot3stats_deferred_transmissions_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "octoword_actual_size_mtt : "U32H_FMT"\n", ptr_struct->octoword_actual_size_mtt);
+	offset = 352;
+	ptr_struct->dot3stats_deferred_transmissions_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 384;
+	ptr_struct->dot3stats_late_collisions_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_cmdif_ctx_special_mkey_size(void){
-	 return 32;
-}
+	offset = 416;
+	ptr_struct->dot3stats_late_collisions_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_mkey_dump(const struct connectib_cmdif_ctx_special_mkey *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_mkey_print(ptr_struct, file, 0);
-}
+	offset = 448;
+	ptr_struct->dot3stats_excessive_collisions_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_modify_cq_pack(const struct connectib_cmdif_ctx_special_modify_cq *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 480;
+	ptr_struct->dot3stats_excessive_collisions_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->mtt_ix);
+	offset = 512;
+	ptr_struct->dot3stats_internal_mac_transmit_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->producer_index);
+	offset = 544;
+	ptr_struct->dot3stats_internal_mac_transmit_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=127;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cqe_128b_size);
+	offset = 576;
+	ptr_struct->dot3stats_carrier_sense_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=122;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log2_size);
+	offset = 608;
+	ptr_struct->dot3stats_carrier_sense_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=117;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
+	offset = 640;
+	ptr_struct->dot3stats_frame_too_longs_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=111;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->cq_page_offset);
+	offset = 672;
+	ptr_struct->dot3stats_frame_too_longs_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fence_slice);
+	offset = 704;
+	ptr_struct->dot3stats_internal_mac_receive_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 736;
+	ptr_struct->dot3stats_internal_mac_receive_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_modify_cq_unpack(struct connectib_cmdif_ctx_special_modify_cq *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 768;
+	ptr_struct->dot3stats_symbol_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->mtt_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 800;
+	ptr_struct->dot3stats_symbol_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
-	ptr_struct->producer_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 832;
+	ptr_struct->dot3control_in_unknown_opcodes_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=127;
-	ptr_struct->cqe_128b_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 864;
+	ptr_struct->dot3control_in_unknown_opcodes_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=122;
-	ptr_struct->log2_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 896;
+	ptr_struct->dot3in_pause_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=117;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 928;
+	ptr_struct->dot3in_pause_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=111;
-	ptr_struct->cq_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 960;
+	ptr_struct->dot3out_pause_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	ptr_struct->fence_slice = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 992;
+	ptr_struct->dot3out_pause_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_cmdif_ctx_special_modify_cq_print(const struct connectib_cmdif_ctx_special_modify_cq *ptr_struct, FILE* file, int indent_level){
+void connectib_eth_3635_cntrs_grp_data_layout_print(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_modify_cq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_eth_3635_cntrs_grp_data_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_ix               : "U64H_FMT"\n", ptr_struct->mtt_ix);
+	fprintf(file, "dot3stats_alignment_errors_high : " U32H_FMT "\n", ptr_struct->dot3stats_alignment_errors_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "producer_index       : "UH_FMT"\n", ptr_struct->producer_index);
+	fprintf(file, "dot3stats_alignment_errors_low : " U32H_FMT "\n", ptr_struct->dot3stats_alignment_errors_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cqe_128b_size        : "UH_FMT"\n", ptr_struct->cqe_128b_size);
+	fprintf(file, "dot3stats_fcs_errors_high : " U32H_FMT "\n", ptr_struct->dot3stats_fcs_errors_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_size            : "UH_FMT"\n", ptr_struct->log2_size);
+	fprintf(file, "dot3stats_fcs_errors_low : " U32H_FMT "\n", ptr_struct->dot3stats_fcs_errors_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
+	fprintf(file, "dot3stats_single_collision_frames_high : " U32H_FMT "\n", ptr_struct->dot3stats_single_collision_frames_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_page_offset       : "UH_FMT"\n", ptr_struct->cq_page_offset);
+	fprintf(file, "dot3stats_single_collision_frames_low : " U32H_FMT "\n", ptr_struct->dot3stats_single_collision_frames_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fence_slice          : "U32H_FMT"\n", ptr_struct->fence_slice);
-
-}
-
-int connectib_cmdif_ctx_special_modify_cq_size(void){
-	 return 32;
-}
-
-void connectib_cmdif_ctx_special_modify_cq_dump(const struct connectib_cmdif_ctx_special_modify_cq *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_modify_cq_print(ptr_struct, file, 0);
-}
-
-void connectib_cmdif_ctx_special_create_cq_pack(const struct connectib_cmdif_ctx_special_create_cq *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_addr);
+	fprintf(file, "dot3stats_multiple_collision_frames_high : " U32H_FMT "\n", ptr_struct->dot3stats_multiple_collision_frames_high);
 
-}
-
-void connectib_cmdif_ctx_special_create_cq_unpack(struct connectib_cmdif_ctx_special_create_cq *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_multiple_collision_frames_low : " U32H_FMT "\n", ptr_struct->dot3stats_multiple_collision_frames_low);
 
-	offset=0;
-	ptr_struct->fw_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_sqe_test_errors_high : " U32H_FMT "\n", ptr_struct->dot3stats_sqe_test_errors_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_sqe_test_errors_low : " U32H_FMT "\n", ptr_struct->dot3stats_sqe_test_errors_low);
 
-void connectib_cmdif_ctx_special_create_cq_print(const struct connectib_cmdif_ctx_special_create_cq *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_create_cq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "dot3stats_deferred_transmissions_high : " U32H_FMT "\n", ptr_struct->dot3stats_deferred_transmissions_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_addr              : "U64H_FMT"\n", ptr_struct->fw_addr);
+	fprintf(file, "dot3stats_deferred_transmissions_low : " U32H_FMT "\n", ptr_struct->dot3stats_deferred_transmissions_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_late_collisions_high : " U32H_FMT "\n", ptr_struct->dot3stats_late_collisions_high);
 
-int connectib_cmdif_ctx_special_create_cq_size(void){
-	 return 32;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_late_collisions_low : " U32H_FMT "\n", ptr_struct->dot3stats_late_collisions_low);
 
-void connectib_cmdif_ctx_special_create_cq_dump(const struct connectib_cmdif_ctx_special_create_cq *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_create_cq_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_excessive_collisions_high : " U32H_FMT "\n", ptr_struct->dot3stats_excessive_collisions_high);
 
-void connectib_cmdif_ctx_special_create_eq_pack(const struct connectib_cmdif_ctx_special_create_eq *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_excessive_collisions_low : " U32H_FMT "\n", ptr_struct->dot3stats_excessive_collisions_low);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_eqc_addr);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_internal_mac_transmit_errors_high : " U32H_FMT "\n", ptr_struct->dot3stats_internal_mac_transmit_errors_high);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->hw_eqc_addr);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_internal_mac_transmit_errors_low : " U32H_FMT "\n", ptr_struct->dot3stats_internal_mac_transmit_errors_low);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->event_bitmask);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_carrier_sense_errors_high : " U32H_FMT "\n", ptr_struct->dot3stats_carrier_sense_errors_high);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hw_eqn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_carrier_sense_errors_low : " U32H_FMT "\n", ptr_struct->dot3stats_carrier_sense_errors_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_frame_too_longs_high : " U32H_FMT "\n", ptr_struct->dot3stats_frame_too_longs_high);
 
-void connectib_cmdif_ctx_special_create_eq_unpack(struct connectib_cmdif_ctx_special_create_eq *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_frame_too_longs_low : " U32H_FMT "\n", ptr_struct->dot3stats_frame_too_longs_low);
 
-	offset=0;
-	ptr_struct->fw_eqc_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_internal_mac_receive_errors_high : " U32H_FMT "\n", ptr_struct->dot3stats_internal_mac_receive_errors_high);
 
-	offset=64;
-	ptr_struct->hw_eqc_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_internal_mac_receive_errors_low : " U32H_FMT "\n", ptr_struct->dot3stats_internal_mac_receive_errors_low);
 
-	offset=128;
-	ptr_struct->event_bitmask = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_symbol_errors_high : " U32H_FMT "\n", ptr_struct->dot3stats_symbol_errors_high);
 
-	offset=192;
-	ptr_struct->hw_eqn = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3stats_symbol_errors_low : " U32H_FMT "\n", ptr_struct->dot3stats_symbol_errors_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dot3control_in_unknown_opcodes_high : " U32H_FMT "\n", ptr_struct->dot3control_in_unknown_opcodes_high);
 
-void connectib_cmdif_ctx_special_create_eq_print(const struct connectib_cmdif_ctx_special_create_eq *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_create_eq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "dot3control_in_unknown_opcodes_low : " U32H_FMT "\n", ptr_struct->dot3control_in_unknown_opcodes_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_eqc_addr          : "U64H_FMT"\n", ptr_struct->fw_eqc_addr);
+	fprintf(file, "dot3in_pause_frames_high : " U32H_FMT "\n", ptr_struct->dot3in_pause_frames_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_eqc_addr          : "U64H_FMT"\n", ptr_struct->hw_eqc_addr);
+	fprintf(file, "dot3in_pause_frames_low : " U32H_FMT "\n", ptr_struct->dot3in_pause_frames_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "event_bitmask        : "U64H_FMT"\n", ptr_struct->event_bitmask);
+	fprintf(file, "dot3out_pause_frames_high : " U32H_FMT "\n", ptr_struct->dot3out_pause_frames_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_eqn               : "U32H_FMT"\n", ptr_struct->hw_eqn);
+	fprintf(file, "dot3out_pause_frames_low : " U32H_FMT "\n", ptr_struct->dot3out_pause_frames_low);
 
 }
 
-int connectib_cmdif_ctx_special_create_eq_size(void){
-	 return 32;
+int connectib_eth_3635_cntrs_grp_data_layout_size(void)
+{
+	 return 248;
 }
 
-void connectib_cmdif_ctx_special_create_eq_dump(const struct connectib_cmdif_ctx_special_create_eq *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_create_eq_print(ptr_struct, file, 0);
+void connectib_eth_3635_cntrs_grp_data_layout_dump(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, FILE* file)
+{
+	connectib_eth_3635_cntrs_grp_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_ctx_rqt_pack(const struct connectib_cmdif_ctx_rqt *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_2819_cntrs_grp_data_layout_pack(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rqt_fw_data_ix);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rqt_hw_data_ix);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_rqs_to_dec);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_max_size);
-
-	offset=176;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_actual_size);
-
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_actual_size_old);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_drop_events_high);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rqt_fw_data_ix_old);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_drop_events_low);
 
-}
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_octets_high);
 
-void connectib_cmdif_ctx_rqt_unpack(struct connectib_cmdif_ctx_rqt *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_octets_low);
 
-	offset=0;
-	ptr_struct->rqt_fw_data_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts_high);
 
-	offset=32;
-	ptr_struct->rqt_hw_data_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts_low);
 
-	offset=96;
-	ptr_struct->num_rqs_to_dec = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_broadcast_pkts_high);
 
-	offset=128;
-	ptr_struct->rqt_max_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_broadcast_pkts_low);
 
-	offset=176;
-	ptr_struct->rqt_actual_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_multicast_pkts_high);
 
-	offset=160;
-	ptr_struct->rqt_actual_size_old = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_multicast_pkts_low);
 
-	offset=192;
-	ptr_struct->rqt_fw_data_ix_old = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_crc_align_errors_high);
 
-}
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_crc_align_errors_low);
 
-void connectib_cmdif_ctx_rqt_print(const struct connectib_cmdif_ctx_rqt *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_rqt ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_undersize_pkts_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_fw_data_ix       : "U32H_FMT"\n", ptr_struct->rqt_fw_data_ix);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_undersize_pkts_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_hw_data_ix       : "U32H_FMT"\n", ptr_struct->rqt_hw_data_ix);
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_oversize_pkts_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_rqs_to_dec       : "U32H_FMT"\n", ptr_struct->num_rqs_to_dec);
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_oversize_pkts_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_max_size         : "UH_FMT"\n", ptr_struct->rqt_max_size);
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_fragments_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_actual_size      : "UH_FMT"\n", ptr_struct->rqt_actual_size);
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_fragments_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_actual_size_old  : "UH_FMT"\n", ptr_struct->rqt_actual_size_old);
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_jabbers_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_fw_data_ix_old   : "U32H_FMT"\n", ptr_struct->rqt_fw_data_ix_old);
+	offset = 608;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_jabbers_low);
 
-}
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_collisions_high);
 
-int connectib_cmdif_ctx_rqt_size(void){
-	 return 32;
-}
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_collisions_low);
 
-void connectib_cmdif_ctx_rqt_dump(const struct connectib_cmdif_ctx_rqt *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_rqt_print(ptr_struct, file, 0);
-}
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts64octets_high);
 
-void connectib_cmdif_ctx_special_create_srq_pack(const struct connectib_cmdif_ctx_special_create_srq *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts64octets_low);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_addr);
+	offset = 768;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts65to127octets_high);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->srqi);
+	offset = 800;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts65to127octets_low);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cont_srq);
+	offset = 832;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts128to255octets_high);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pas_offset);
+	offset = 864;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts128to255octets_low);
 
-}
+	offset = 896;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts256to511octets_high);
 
-void connectib_cmdif_ctx_special_create_srq_unpack(struct connectib_cmdif_ctx_special_create_srq *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 928;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts256to511octets_low);
 
-	offset=0;
-	ptr_struct->fw_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 960;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts512to1023octets_high);
 
-	offset=72;
-	ptr_struct->srqi = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 992;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts512to1023octets_low);
 
-	offset=64;
-	ptr_struct->cont_srq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1024;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts1024to1518octets_high);
 
-	offset=96;
-	ptr_struct->pas_offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 1056;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts1024to1518octets_low);
 
-}
+	offset = 1088;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts1519to2047octets_high);
 
-void connectib_cmdif_ctx_special_create_srq_print(const struct connectib_cmdif_ctx_special_create_srq *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_create_srq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 1120;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts1519to2047octets_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_addr              : "U64H_FMT"\n", ptr_struct->fw_addr);
+	offset = 1152;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts2048to4095octets_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srqi                 : "UH_FMT"\n", ptr_struct->srqi);
+	offset = 1184;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts2048to4095octets_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cont_srq             : "UH_FMT"\n", ptr_struct->cont_srq);
+	offset = 1216;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts4096to8191octets_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pas_offset           : "U32H_FMT"\n", ptr_struct->pas_offset);
+	offset = 1248;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts4096to8191octets_low);
 
-}
+	offset = 1280;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts8192to10239octets_high);
 
-int connectib_cmdif_ctx_special_create_srq_size(void){
-	 return 32;
-}
+	offset = 1312;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ether_stats_pkts8192to10239octets_low);
 
-void connectib_cmdif_ctx_special_create_srq_dump(const struct connectib_cmdif_ctx_special_create_srq *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_create_srq_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_ctx_special_create_rq_pack(const struct connectib_cmdif_ctx_special_create_rq *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_2819_cntrs_grp_data_layout_unpack(struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_qpc_addr);
+	offset = 0;
+	ptr_struct->ether_stats_drop_events_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->no_lro_qpn);
+	offset = 32;
+	ptr_struct->ether_stats_drop_events_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=123;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_max_qp);
+	offset = 64;
+	ptr_struct->ether_stats_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=116;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->wq_type);
+	offset = 96;
+	ptr_struct->ether_stats_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 128;
+	ptr_struct->ether_stats_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_create_rq_unpack(struct connectib_cmdif_ctx_special_create_rq *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 160;
+	ptr_struct->ether_stats_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->fw_qpc_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 192;
+	ptr_struct->ether_stats_broadcast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->no_lro_qpn = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	ptr_struct->ether_stats_broadcast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=123;
-	ptr_struct->log_max_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 256;
+	ptr_struct->ether_stats_multicast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=116;
-	ptr_struct->wq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	ptr_struct->ether_stats_multicast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 320;
+	ptr_struct->ether_stats_crc_align_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_create_rq_print(const struct connectib_cmdif_ctx_special_create_rq *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_create_rq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 352;
+	ptr_struct->ether_stats_crc_align_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_qpc_addr          : "U64H_FMT"\n", ptr_struct->fw_qpc_addr);
+	offset = 384;
+	ptr_struct->ether_stats_undersize_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_lro_qpn           : "U32H_FMT"\n", ptr_struct->no_lro_qpn);
+	offset = 416;
+	ptr_struct->ether_stats_undersize_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_qp           : "UH_FMT"\n", ptr_struct->log_max_qp);
+	offset = 448;
+	ptr_struct->ether_stats_oversize_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_type              : "UH_FMT"\n", ptr_struct->wq_type);
+	offset = 480;
+	ptr_struct->ether_stats_oversize_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 512;
+	ptr_struct->ether_stats_fragments_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_cmdif_ctx_special_create_rq_size(void){
-	 return 32;
-}
+	offset = 544;
+	ptr_struct->ether_stats_fragments_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_create_rq_dump(const struct connectib_cmdif_ctx_special_create_rq *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_create_rq_print(ptr_struct, file, 0);
-}
+	offset = 576;
+	ptr_struct->ether_stats_jabbers_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_create_qp_pack(const struct connectib_cmdif_ctx_special_create_qp *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 608;
+	ptr_struct->ether_stats_jabbers_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_qpc_addr);
+	offset = 640;
+	ptr_struct->ether_stats_collisions_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->qpi);
+	offset = 672;
+	ptr_struct->ether_stats_collisions_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=123;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_max_qp);
+	offset = 704;
+	ptr_struct->ether_stats_pkts64octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=122;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_dci);
+	offset = 736;
+	ptr_struct->ether_stats_pkts64octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 768;
+	ptr_struct->ether_stats_pkts65to127octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_create_qp_unpack(struct connectib_cmdif_ctx_special_create_qp *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 800;
+	ptr_struct->ether_stats_pkts65to127octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->fw_qpc_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 832;
+	ptr_struct->ether_stats_pkts128to255octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->qpi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 864;
+	ptr_struct->ether_stats_pkts128to255octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=123;
-	ptr_struct->log_max_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 896;
+	ptr_struct->ether_stats_pkts256to511octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=122;
-	ptr_struct->is_dci = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 928;
+	ptr_struct->ether_stats_pkts256to511octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 960;
+	ptr_struct->ether_stats_pkts512to1023octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_create_qp_print(const struct connectib_cmdif_ctx_special_create_qp *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_create_qp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 992;
+	ptr_struct->ether_stats_pkts512to1023octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_qpc_addr          : "U64H_FMT"\n", ptr_struct->fw_qpc_addr);
+	offset = 1024;
+	ptr_struct->ether_stats_pkts1024to1518octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpi                  : "U32H_FMT"\n", ptr_struct->qpi);
+	offset = 1056;
+	ptr_struct->ether_stats_pkts1024to1518octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_qp           : "UH_FMT"\n", ptr_struct->log_max_qp);
+	offset = 1088;
+	ptr_struct->ether_stats_pkts1519to2047octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_dci               : "UH_FMT"\n", ptr_struct->is_dci);
+	offset = 1120;
+	ptr_struct->ether_stats_pkts1519to2047octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 1152;
+	ptr_struct->ether_stats_pkts2048to4095octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_cmdif_ctx_special_create_qp_size(void){
-	 return 32;
-}
+	offset = 1184;
+	ptr_struct->ether_stats_pkts2048to4095octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1216;
+	ptr_struct->ether_stats_pkts4096to8191octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1248;
+	ptr_struct->ether_stats_pkts4096to8191octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1280;
+	ptr_struct->ether_stats_pkts8192to10239octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1312;
+	ptr_struct->ether_stats_pkts8192to10239octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_cmdif_ctx_special_create_qp_dump(const struct connectib_cmdif_ctx_special_create_qp *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_create_qp_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_ctx_special_modify_tir_pack(const struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_eth_2819_cntrs_grp_data_layout_print(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_eth_2819_cntrs_grp_data_layout ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bitmask);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ste_ix);
+	(void)file;
+	(void)indent_level;
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rqt_number);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_drop_events_high : " U32H_FMT "\n", ptr_struct->ether_stats_drop_events_high);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->old_rqt_number);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_drop_events_low : " U32H_FMT "\n", ptr_struct->ether_stats_drop_events_low);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->inline_rqn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_octets_high);
 
-	offset=196;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->disp_type);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_octets_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts_high);
 
-void connectib_cmdif_ctx_special_modify_tir_unpack(struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts_low);
 
-	offset=0;
-	ptr_struct->bitmask = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_broadcast_pkts_high : " U32H_FMT "\n", ptr_struct->ether_stats_broadcast_pkts_high);
 
-	offset=64;
-	ptr_struct->ste_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_broadcast_pkts_low : " U32H_FMT "\n", ptr_struct->ether_stats_broadcast_pkts_low);
 
-	offset=136;
-	ptr_struct->rqt_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_multicast_pkts_high : " U32H_FMT "\n", ptr_struct->ether_stats_multicast_pkts_high);
 
-	offset=168;
-	ptr_struct->old_rqt_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_multicast_pkts_low : " U32H_FMT "\n", ptr_struct->ether_stats_multicast_pkts_low);
 
-	offset=200;
-	ptr_struct->inline_rqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_crc_align_errors_high : " U32H_FMT "\n", ptr_struct->ether_stats_crc_align_errors_high);
 
-	offset=196;
-	ptr_struct->disp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_crc_align_errors_low : " U32H_FMT "\n", ptr_struct->ether_stats_crc_align_errors_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_undersize_pkts_high : " U32H_FMT "\n", ptr_struct->ether_stats_undersize_pkts_high);
 
-void connectib_cmdif_ctx_special_modify_tir_print(const struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_modify_tir ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "ether_stats_undersize_pkts_low : " U32H_FMT "\n", ptr_struct->ether_stats_undersize_pkts_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bitmask              : "U64H_FMT"\n", ptr_struct->bitmask);
+	fprintf(file, "ether_stats_oversize_pkts_high : " U32H_FMT "\n", ptr_struct->ether_stats_oversize_pkts_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ste_ix               : "U64H_FMT"\n", ptr_struct->ste_ix);
+	fprintf(file, "ether_stats_oversize_pkts_low : " U32H_FMT "\n", ptr_struct->ether_stats_oversize_pkts_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_number           : "UH_FMT"\n", ptr_struct->rqt_number);
+	fprintf(file, "ether_stats_fragments_high : " U32H_FMT "\n", ptr_struct->ether_stats_fragments_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "old_rqt_number       : "UH_FMT"\n", ptr_struct->old_rqt_number);
+	fprintf(file, "ether_stats_fragments_low : " U32H_FMT "\n", ptr_struct->ether_stats_fragments_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_rqn           : "UH_FMT"\n", ptr_struct->inline_rqn);
+	fprintf(file, "ether_stats_jabbers_high : " U32H_FMT "\n", ptr_struct->ether_stats_jabbers_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "disp_type            : "UH_FMT"\n", ptr_struct->disp_type);
+	fprintf(file, "ether_stats_jabbers_low : " U32H_FMT "\n", ptr_struct->ether_stats_jabbers_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_collisions_high : " U32H_FMT "\n", ptr_struct->ether_stats_collisions_high);
 
-int connectib_cmdif_ctx_special_modify_tir_size(void){
-	 return 32;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_collisions_low : " U32H_FMT "\n", ptr_struct->ether_stats_collisions_low);
 
-void connectib_cmdif_ctx_special_modify_tir_dump(const struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_modify_tir_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts64octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts64octets_high);
 
-void connectib_cmdif_ctx_special_create_pack(const struct connectib_cmdif_ctx_special_create *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts64octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts64octets_low);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_mapped_mtts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts65to127octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts65to127octets_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts65to127octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts65to127octets_low);
 
-void connectib_cmdif_ctx_special_create_unpack(struct connectib_cmdif_ctx_special_create *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts128to255octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts128to255octets_high);
 
-	offset=0;
-	ptr_struct->num_mapped_mtts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts128to255octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts128to255octets_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts256to511octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts256to511octets_high);
 
-void connectib_cmdif_ctx_special_create_print(const struct connectib_cmdif_ctx_special_create *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special_create ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "ether_stats_pkts256to511octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts256to511octets_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_mapped_mtts      : "U32H_FMT"\n", ptr_struct->num_mapped_mtts);
+	fprintf(file, "ether_stats_pkts512to1023octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts512to1023octets_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts512to1023octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts512to1023octets_low);
 
-int connectib_cmdif_ctx_special_create_size(void){
-	 return 32;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts1024to1518octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts1024to1518octets_high);
 
-void connectib_cmdif_ctx_special_create_dump(const struct connectib_cmdif_ctx_special_create *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_create_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts1024to1518octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts1024to1518octets_low);
 
-void connectib_flush_type_bitmask_pack(const struct connectib_flush_type_bitmask *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts1519to2047octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts1519to2047octets_high);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dword);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts1519to2047octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts1519to2047octets_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts2048to4095octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts2048to4095octets_high);
 
-void connectib_flush_type_bitmask_unpack(struct connectib_flush_type_bitmask *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts2048to4095octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts2048to4095octets_low);
 
-	offset=0;
-	ptr_struct->dword = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts4096to8191octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts4096to8191octets_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ether_stats_pkts4096to8191octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts4096to8191octets_low);
 
-void connectib_flush_type_bitmask_print(const struct connectib_flush_type_bitmask *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_flush_type_bitmask ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "ether_stats_pkts8192to10239octets_high : " U32H_FMT "\n", ptr_struct->ether_stats_pkts8192to10239octets_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword                : "U32H_FMT"\n", ptr_struct->dword);
+	fprintf(file, "ether_stats_pkts8192to10239octets_low : " U32H_FMT "\n", ptr_struct->ether_stats_pkts8192to10239octets_low);
 
 }
 
-int connectib_flush_type_bitmask_size(void){
-	 return 4;
+int connectib_eth_2819_cntrs_grp_data_layout_size(void)
+{
+	 return 248;
 }
 
-void connectib_flush_type_bitmask_dump(const struct connectib_flush_type_bitmask *ptr_struct, FILE* file) {
-	connectib_flush_type_bitmask_print(ptr_struct, file, 0);
+void connectib_eth_2819_cntrs_grp_data_layout_dump(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, FILE* file)
+{
+	connectib_eth_2819_cntrs_grp_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_flush_type_bits_pack(const struct connectib_flush_type_bits *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_2863_cntrs_grp_data_layout_pack(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mkey_flush);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_octets_high);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_s_flush);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_octets_low);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_r_flush);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_ucast_pkts_high);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_flush);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_ucast_pkts_low);
 
-}
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_discards_high);
 
-void connectib_flush_type_bits_unpack(struct connectib_flush_type_bits *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_discards_low);
 
-	offset=31;
-	ptr_struct->mkey_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_errors_high);
 
-	offset=30;
-	ptr_struct->qp_s_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_errors_low);
 
-	offset=29;
-	ptr_struct->qp_r_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_unknown_protos_high);
 
-	offset=28;
-	ptr_struct->rx_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_unknown_protos_low);
 
-}
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_octets_high);
 
-void connectib_flush_type_bits_print(const struct connectib_flush_type_bits *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_flush_type_bits ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_octets_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mkey_flush           : "UH_FMT"\n", ptr_struct->mkey_flush);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_ucast_pkts_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_s_flush           : "UH_FMT"\n", ptr_struct->qp_s_flush);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_ucast_pkts_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_r_flush           : "UH_FMT"\n", ptr_struct->qp_r_flush);
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_discards_high);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_flush             : "UH_FMT"\n", ptr_struct->rx_flush);
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_discards_low);
 
-}
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_errors_high);
 
-int connectib_flush_type_bits_size(void){
-	 return 4;
-}
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_errors_low);
 
-void connectib_flush_type_bits_dump(const struct connectib_flush_type_bits *ptr_struct, FILE* file) {
-	connectib_flush_type_bits_print(ptr_struct, file, 0);
-}
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_multicast_pkts_high);
 
-void connectib_project_nvqc_pack(const struct connectib_project_nvqc *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 608;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_multicast_pkts_low);
 
-	offset=0;
-	connectib_nv_tlv_type_pack(&(ptr_struct->type), ptr_buff + offset/8);
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_broadcast_pkts_high);
 
-	offset=63;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->support_rd);
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_in_broadcast_pkts_low);
 
-	offset=62;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->support_wr);
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_multicast_pkts_high);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_multicast_pkts_low);
+
+	offset = 768;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_broadcast_pkts_high);
+
+	offset = 800;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->if_out_broadcast_pkts_low);
 
 }
 
-void connectib_project_nvqc_unpack(struct connectib_project_nvqc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_eth_2863_cntrs_grp_data_layout_unpack(struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_nv_tlv_type_unpack(&(ptr_struct->type), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->if_in_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=63;
-	ptr_struct->support_rd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->if_in_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=62;
-	ptr_struct->support_wr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->if_in_ucast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=56;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	ptr_struct->if_in_ucast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 128;
+	ptr_struct->if_in_discards_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_project_nvqc_print(const struct connectib_project_nvqc *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_project_nvqc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 160;
+	ptr_struct->if_in_discards_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type:\n");
-	connectib_nv_tlv_type_print(&(ptr_struct->type), file, indent_level + 1);
+	offset = 192;
+	ptr_struct->if_in_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "support_rd           : "UH_FMT"\n", ptr_struct->support_rd);
+	offset = 224;
+	ptr_struct->if_in_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "support_wr           : "UH_FMT"\n", ptr_struct->support_wr);
+	offset = 256;
+	ptr_struct->if_in_unknown_protos_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	offset = 288;
+	ptr_struct->if_in_unknown_protos_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 320;
+	ptr_struct->if_out_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_project_nvqc_size(void){
-	 return 8;
-}
+	offset = 352;
+	ptr_struct->if_out_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_project_nvqc_dump(const struct connectib_project_nvqc *ptr_struct, FILE* file) {
-	connectib_project_nvqc_print(ptr_struct, file, 0);
-}
+	offset = 384;
+	ptr_struct->if_out_ucast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_project_nvda_pack(const struct connectib_project_nvda *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 416;
+	ptr_struct->if_out_ucast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	connectib_nv_tlv_hdr_pack(&(ptr_struct->tlv_header), ptr_buff + offset/8);
+	offset = 448;
+	ptr_struct->if_out_discards_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	connectib_register_access_data_pack(&(ptr_struct->nvda_data), ptr_buff + offset/8);
+	offset = 480;
+	ptr_struct->if_out_discards_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 512;
+	ptr_struct->if_out_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_project_nvda_unpack(struct connectib_project_nvda *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 544;
+	ptr_struct->if_out_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	connectib_nv_tlv_hdr_unpack(&(ptr_struct->tlv_header), ptr_buff + offset/8);
+	offset = 576;
+	ptr_struct->if_in_multicast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	connectib_register_access_data_unpack(&(ptr_struct->nvda_data), ptr_buff + offset/8);
+	offset = 608;
+	ptr_struct->if_in_multicast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 640;
+	ptr_struct->if_in_broadcast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 672;
+	ptr_struct->if_in_broadcast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 704;
+	ptr_struct->if_out_multicast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 736;
+	ptr_struct->if_out_multicast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 768;
+	ptr_struct->if_out_broadcast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 800;
+	ptr_struct->if_out_broadcast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_project_nvda_print(const struct connectib_project_nvda *ptr_struct, FILE* file, int indent_level){
+void connectib_eth_2863_cntrs_grp_data_layout_print(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_project_nvda ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_eth_2863_cntrs_grp_data_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tlv_header:\n");
-	connectib_nv_tlv_hdr_print(&(ptr_struct->tlv_header), file, indent_level + 1);
+	fprintf(file, "if_in_octets_high    : " U32H_FMT "\n", ptr_struct->if_in_octets_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nvda_data:\n");
-	connectib_register_access_data_print(&(ptr_struct->nvda_data), file, indent_level + 1);
+	fprintf(file, "if_in_octets_low     : " U32H_FMT "\n", ptr_struct->if_in_octets_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_ucast_pkts_high : " U32H_FMT "\n", ptr_struct->if_in_ucast_pkts_high);
 
-int connectib_project_nvda_size(void){
-	 return 44;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_ucast_pkts_low : " U32H_FMT "\n", ptr_struct->if_in_ucast_pkts_low);
 
-void connectib_project_nvda_dump(const struct connectib_project_nvda *ptr_struct, FILE* file) {
-	connectib_project_nvda_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_discards_high  : " U32H_FMT "\n", ptr_struct->if_in_discards_high);
 
-void connectib_pmtu_reg_pack(const struct connectib_pmtu_reg *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_discards_low   : " U32H_FMT "\n", ptr_struct->if_in_discards_low);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_errors_high    : " U32H_FMT "\n", ptr_struct->if_in_errors_high);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_mtu);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_errors_low     : " U32H_FMT "\n", ptr_struct->if_in_errors_low);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->admin_mtu);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_unknown_protos_high : " U32H_FMT "\n", ptr_struct->if_in_unknown_protos_high);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->oper_mtu);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_unknown_protos_low : " U32H_FMT "\n", ptr_struct->if_in_unknown_protos_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_out_octets_high   : " U32H_FMT "\n", ptr_struct->if_out_octets_high);
 
-void connectib_pmtu_reg_unpack(struct connectib_pmtu_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_out_octets_low    : " U32H_FMT "\n", ptr_struct->if_out_octets_low);
 
-	offset=8;
-	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_out_ucast_pkts_high : " U32H_FMT "\n", ptr_struct->if_out_ucast_pkts_high);
 
-	offset=32;
-	ptr_struct->max_mtu = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_out_ucast_pkts_low : " U32H_FMT "\n", ptr_struct->if_out_ucast_pkts_low);
 
-	offset=64;
-	ptr_struct->admin_mtu = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_out_discards_high : " U32H_FMT "\n", ptr_struct->if_out_discards_high);
 
-	offset=96;
-	ptr_struct->oper_mtu = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_out_discards_low  : " U32H_FMT "\n", ptr_struct->if_out_discards_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_out_errors_high   : " U32H_FMT "\n", ptr_struct->if_out_errors_high);
 
-void connectib_pmtu_reg_print(const struct connectib_pmtu_reg *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pmtu_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "if_out_errors_low    : " U32H_FMT "\n", ptr_struct->if_out_errors_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_multicast_pkts_high : " U32H_FMT "\n", ptr_struct->if_in_multicast_pkts_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_multicast_pkts_low : " U32H_FMT "\n", ptr_struct->if_in_multicast_pkts_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_broadcast_pkts_high : " U32H_FMT "\n", ptr_struct->if_in_broadcast_pkts_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "if_in_broadcast_pkts_low : " U32H_FMT "\n", ptr_struct->if_in_broadcast_pkts_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_port           : "UH_FMT"\n", ptr_struct->local_port);
+	fprintf(file, "if_out_multicast_pkts_high : " U32H_FMT "\n", ptr_struct->if_out_multicast_pkts_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_mtu              : "UH_FMT"\n", ptr_struct->max_mtu);
+	fprintf(file, "if_out_multicast_pkts_low : " U32H_FMT "\n", ptr_struct->if_out_multicast_pkts_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "admin_mtu            : "UH_FMT"\n", ptr_struct->admin_mtu);
+	fprintf(file, "if_out_broadcast_pkts_high : " U32H_FMT "\n", ptr_struct->if_out_broadcast_pkts_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "oper_mtu             : "UH_FMT"\n", ptr_struct->oper_mtu);
+	fprintf(file, "if_out_broadcast_pkts_low : " U32H_FMT "\n", ptr_struct->if_out_broadcast_pkts_low);
 
 }
 
-int connectib_pmtu_reg_size(void){
-	 return 16;
+int connectib_eth_2863_cntrs_grp_data_layout_size(void)
+{
+	 return 248;
 }
 
-void connectib_pmtu_reg_dump(const struct connectib_pmtu_reg *ptr_struct, FILE* file) {
-	connectib_pmtu_reg_print(ptr_struct, file, 0);
+void connectib_eth_2863_cntrs_grp_data_layout_dump(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, FILE* file)
+{
+	connectib_eth_2863_cntrs_grp_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_pamp_reg_pack(const struct connectib_pamp_reg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_802_3_cntrs_grp_data_layout_pack(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-}
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_frames_transmitted_ok_high);
 
-void connectib_pamp_reg_unpack(struct connectib_pamp_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_frames_transmitted_ok_low);
 
-}
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_frames_received_ok_high);
 
-void connectib_pamp_reg_print(const struct connectib_pamp_reg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pamp_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_frames_received_ok_low);
 
-}
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_frame_check_sequence_errors_high);
 
-int connectib_pamp_reg_size(void){
-	 return 44;
-}
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_frame_check_sequence_errors_low);
 
-void connectib_pamp_reg_dump(const struct connectib_pamp_reg *ptr_struct, FILE* file) {
-	connectib_pamp_reg_print(ptr_struct, file, 0);
-}
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_alignment_errors_high);
 
-void connectib_slrg_reg_pack(const struct connectib_slrg_reg *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_alignment_errors_low);
 
-}
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_octets_transmitted_ok_high);
 
-void connectib_slrg_reg_unpack(struct connectib_slrg_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_octets_transmitted_ok_low);
 
-}
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_octets_received_ok_high);
 
-void connectib_slrg_reg_print(const struct connectib_slrg_reg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_slrg_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_octets_received_ok_low);
 
-}
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_multicast_frames_xmitted_ok_high);
 
-int connectib_slrg_reg_size(void){
-	 return 40;
-}
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_multicast_frames_xmitted_ok_low);
 
-void connectib_slrg_reg_dump(const struct connectib_slrg_reg *ptr_struct, FILE* file) {
-	connectib_slrg_reg_print(ptr_struct, file, 0);
-}
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_broadcast_frames_xmitted_ok_high);
 
-void connectib_ptas_reg_pack(const struct connectib_ptas_reg *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_broadcast_frames_xmitted_ok_low);
 
-}
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_multicast_frames_received_ok_high);
 
-void connectib_ptas_reg_unpack(struct connectib_ptas_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_multicast_frames_received_ok_low);
 
-}
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_broadcast_frames_recieved_ok_high);
 
-void connectib_ptas_reg_print(const struct connectib_ptas_reg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ptas_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 608;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_broadcast_frames_recieved_ok_low);
 
-}
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_in_range_length_errors_high);
 
-int connectib_ptas_reg_size(void){
-	 return 44;
-}
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_in_range_length_errors_low);
 
-void connectib_ptas_reg_dump(const struct connectib_ptas_reg *ptr_struct, FILE* file) {
-	connectib_ptas_reg_print(ptr_struct, file, 0);
-}
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_out_of_range_length_field_high);
 
-void connectib_sltp_reg_pack(const struct connectib_sltp_reg *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_out_of_range_length_field_low);
 
-}
+	offset = 768;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_frame_too_long_errors_high);
 
-void connectib_sltp_reg_unpack(struct connectib_sltp_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 800;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_frame_too_long_errors_low);
 
-}
+	offset = 832;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_symbol_error_during_carrier_high);
 
-void connectib_sltp_reg_print(const struct connectib_sltp_reg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sltp_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 864;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_symbol_error_during_carrier_low);
 
-}
+	offset = 896;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_mac_control_frames_transmitted_high);
 
-int connectib_sltp_reg_size(void){
-	 return 20;
-}
+	offset = 928;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_mac_control_frames_transmitted_low);
 
-void connectib_sltp_reg_dump(const struct connectib_sltp_reg *ptr_struct, FILE* file) {
-	connectib_sltp_reg_print(ptr_struct, file, 0);
-}
+	offset = 960;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_mac_control_frames_received_high);
 
-void connectib_slrp_reg_pack(const struct connectib_slrp_reg *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 992;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_mac_control_frames_received_low);
 
-}
+	offset = 1024;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_unsupported_opcodes_received_high);
 
-void connectib_slrp_reg_unpack(struct connectib_slrp_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 1056;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_unsupported_opcodes_received_low);
 
-}
+	offset = 1088;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_pause_mac_ctrl_frames_received_high);
 
-void connectib_slrp_reg_print(const struct connectib_slrp_reg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_slrp_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 1120;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_pause_mac_ctrl_frames_received_low);
 
-}
+	offset = 1152;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_pause_mac_ctrl_frames_transmitted_high);
 
-int connectib_slrp_reg_size(void){
-	 return 40;
-}
+	offset = 1184;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->a_pause_mac_ctrl_frames_transmitted_low);
 
-void connectib_slrp_reg_dump(const struct connectib_slrp_reg *ptr_struct, FILE* file) {
-	connectib_slrp_reg_print(ptr_struct, file, 0);
 }
 
-void connectib_paos_reg_pack(const struct connectib_paos_reg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eth_802_3_cntrs_grp_data_layout_unpack(struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->oper_status);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->admin_status);
+	offset = 0;
+	ptr_struct->a_frames_transmitted_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+	offset = 32;
+	ptr_struct->a_frames_transmitted_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->swid);
+	offset = 64;
+	ptr_struct->a_frames_received_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=62;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->e);
+	offset = 96;
+	ptr_struct->a_frames_received_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ee);
+	offset = 128;
+	ptr_struct->a_frame_check_sequence_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ase);
+	offset = 160;
+	ptr_struct->a_frame_check_sequence_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 192;
+	ptr_struct->a_alignment_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_paos_reg_unpack(struct connectib_paos_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 224;
+	ptr_struct->a_alignment_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=28;
-	ptr_struct->oper_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	ptr_struct->a_octets_transmitted_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=20;
-	ptr_struct->admin_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	ptr_struct->a_octets_transmitted_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=8;
-	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 320;
+	ptr_struct->a_octets_received_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->swid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 352;
+	ptr_struct->a_octets_received_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=62;
-	ptr_struct->e = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 384;
+	ptr_struct->a_multicast_frames_xmitted_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=33;
-	ptr_struct->ee = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 416;
+	ptr_struct->a_multicast_frames_xmitted_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->ase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 448;
+	ptr_struct->a_broadcast_frames_xmitted_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 480;
+	ptr_struct->a_broadcast_frames_xmitted_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_paos_reg_print(const struct connectib_paos_reg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_paos_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 512;
+	ptr_struct->a_multicast_frames_received_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "oper_status          : "UH_FMT"\n", ptr_struct->oper_status);
+	offset = 544;
+	ptr_struct->a_multicast_frames_received_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "admin_status         : "UH_FMT"\n", ptr_struct->admin_status);
+	offset = 576;
+	ptr_struct->a_broadcast_frames_recieved_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_port           : "UH_FMT"\n", ptr_struct->local_port);
+	offset = 608;
+	ptr_struct->a_broadcast_frames_recieved_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swid                 : "UH_FMT"\n", ptr_struct->swid);
+	offset = 640;
+	ptr_struct->a_in_range_length_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e                    : "UH_FMT"\n", ptr_struct->e);
+	offset = 672;
+	ptr_struct->a_in_range_length_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ee                   : "UH_FMT"\n", ptr_struct->ee);
+	offset = 704;
+	ptr_struct->a_out_of_range_length_field_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ase                  : "UH_FMT"\n", ptr_struct->ase);
+	offset = 736;
+	ptr_struct->a_out_of_range_length_field_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 768;
+	ptr_struct->a_frame_too_long_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-int connectib_paos_reg_size(void){
-	 return 16;
-}
+	offset = 800;
+	ptr_struct->a_frame_too_long_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_paos_reg_dump(const struct connectib_paos_reg *ptr_struct, FILE* file) {
-	connectib_paos_reg_print(ptr_struct, file, 0);
-}
+	offset = 832;
+	ptr_struct->a_symbol_error_during_carrier_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_mjtag_pack(const struct connectib_mjtag *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 864;
+	ptr_struct->a_symbol_error_during_carrier_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->size);
+	offset = 896;
+	ptr_struct->a_mac_control_frames_transmitted_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sequence_number);
+	offset = 928;
+	ptr_struct->a_mac_control_frames_transmitted_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->cmd);
+	offset = 960;
+	ptr_struct->a_mac_control_frames_received_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 10; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 352, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dword[i]);
-	}
+	offset = 992;
+	ptr_struct->a_mac_control_frames_received_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 1024;
+	ptr_struct->a_unsupported_opcodes_received_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_mjtag_unpack(struct connectib_mjtag *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 1056;
+	ptr_struct->a_unsupported_opcodes_received_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=24;
-	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 1088;
+	ptr_struct->a_pause_mac_ctrl_frames_received_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=4;
-	ptr_struct->sequence_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 1120;
+	ptr_struct->a_pause_mac_ctrl_frames_received_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->cmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 1152;
+	ptr_struct->a_pause_mac_ctrl_frames_transmitted_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 10; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 352, 1);
-	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 1184;
+	ptr_struct->a_pause_mac_ctrl_frames_transmitted_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_mjtag_print(const struct connectib_mjtag *ptr_struct, FILE* file, int indent_level){
+void connectib_eth_802_3_cntrs_grp_data_layout_print(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mjtag ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_eth_802_3_cntrs_grp_data_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+	fprintf(file, "a_frames_transmitted_ok_high : " U32H_FMT "\n", ptr_struct->a_frames_transmitted_ok_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sequence_number      : "UH_FMT"\n", ptr_struct->sequence_number);
+	fprintf(file, "a_frames_transmitted_ok_low : " U32H_FMT "\n", ptr_struct->a_frames_transmitted_ok_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cmd                  : "UH_FMT"\n", ptr_struct->cmd);
+	fprintf(file, "a_frames_received_ok_high : " U32H_FMT "\n", ptr_struct->a_frames_received_ok_high);
 
-	for (i=0; i < 10; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword_%03d           : "U32H_FMT"\n", i, ptr_struct->dword[i]);
-	}
+	fprintf(file, "a_frames_received_ok_low : " U32H_FMT "\n", ptr_struct->a_frames_received_ok_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_frame_check_sequence_errors_high : " U32H_FMT "\n", ptr_struct->a_frame_check_sequence_errors_high);
 
-int connectib_mjtag_size(void){
-	 return 44;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_frame_check_sequence_errors_low : " U32H_FMT "\n", ptr_struct->a_frame_check_sequence_errors_low);
 
-void connectib_mjtag_dump(const struct connectib_mjtag *ptr_struct, FILE* file) {
-	connectib_mjtag_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_alignment_errors_high : " U32H_FMT "\n", ptr_struct->a_alignment_errors_high);
 
-void connectib_mfbe_pack(const struct connectib_mfbe *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_alignment_errors_low : " U32H_FMT "\n", ptr_struct->a_alignment_errors_low);
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_octets_transmitted_ok_high : " U32H_FMT "\n", ptr_struct->a_octets_transmitted_ok_high);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_octets_transmitted_ok_low : " U32H_FMT "\n", ptr_struct->a_octets_transmitted_ok_low);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_octets_received_ok_high : " U32H_FMT "\n", ptr_struct->a_octets_received_ok_high);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_octets_received_ok_low : " U32H_FMT "\n", ptr_struct->a_octets_received_ok_low);
 
-void connectib_mfbe_unpack(struct connectib_mfbe *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_multicast_frames_xmitted_ok_high : " U32H_FMT "\n", ptr_struct->a_multicast_frames_xmitted_ok_high);
 
-	offset=26;
-	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_multicast_frames_xmitted_ok_low : " U32H_FMT "\n", ptr_struct->a_multicast_frames_xmitted_ok_low);
 
-	offset=23;
-	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_broadcast_frames_xmitted_ok_high : " U32H_FMT "\n", ptr_struct->a_broadcast_frames_xmitted_ok_high);
 
-	offset=72;
-	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_broadcast_frames_xmitted_ok_low : " U32H_FMT "\n", ptr_struct->a_broadcast_frames_xmitted_ok_low);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_multicast_frames_received_ok_high : " U32H_FMT "\n", ptr_struct->a_multicast_frames_received_ok_high);
 
-void connectib_mfbe_print(const struct connectib_mfbe *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mfbe ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "a_multicast_frames_received_ok_low : " U32H_FMT "\n", ptr_struct->a_multicast_frames_received_ok_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_broadcast_frames_recieved_ok_high : " U32H_FMT "\n", ptr_struct->a_broadcast_frames_recieved_ok_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_broadcast_frames_recieved_ok_low : " U32H_FMT "\n", ptr_struct->a_broadcast_frames_recieved_ok_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_in_range_length_errors_high : " U32H_FMT "\n", ptr_struct->a_in_range_length_errors_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_in_range_length_errors_low : " U32H_FMT "\n", ptr_struct->a_in_range_length_errors_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_out_of_range_length_field_high : " U32H_FMT "\n", ptr_struct->a_out_of_range_length_field_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_out_of_range_length_field_low : " U32H_FMT "\n", ptr_struct->a_out_of_range_length_field_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_frame_too_long_errors_high : " U32H_FMT "\n", ptr_struct->a_frame_too_long_errors_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_frame_too_long_errors_low : " U32H_FMT "\n", ptr_struct->a_frame_too_long_errors_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_symbol_error_during_carrier_high : " U32H_FMT "\n", ptr_struct->a_symbol_error_during_carrier_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_symbol_error_during_carrier_low : " U32H_FMT "\n", ptr_struct->a_symbol_error_during_carrier_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_mac_control_frames_transmitted_high : " U32H_FMT "\n", ptr_struct->a_mac_control_frames_transmitted_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_mac_control_frames_transmitted_low : " U32H_FMT "\n", ptr_struct->a_mac_control_frames_transmitted_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_mac_control_frames_received_high : " U32H_FMT "\n", ptr_struct->a_mac_control_frames_received_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_mac_control_frames_received_low : " U32H_FMT "\n", ptr_struct->a_mac_control_frames_received_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_unsupported_opcodes_received_high : " U32H_FMT "\n", ptr_struct->a_unsupported_opcodes_received_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_unsupported_opcodes_received_low : " U32H_FMT "\n", ptr_struct->a_unsupported_opcodes_received_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "a_pause_mac_ctrl_frames_received_high : " U32H_FMT "\n", ptr_struct->a_pause_mac_ctrl_frames_received_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fs                   : "UH_FMT"\n", ptr_struct->fs);
+	fprintf(file, "a_pause_mac_ctrl_frames_received_low : " U32H_FMT "\n", ptr_struct->a_pause_mac_ctrl_frames_received_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "p                    : "UH_FMT"\n", ptr_struct->p);
+	fprintf(file, "a_pause_mac_ctrl_frames_transmitted_high : " U32H_FMT "\n", ptr_struct->a_pause_mac_ctrl_frames_transmitted_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address              : "UH_FMT"\n", ptr_struct->address);
+	fprintf(file, "a_pause_mac_ctrl_frames_transmitted_low : " U32H_FMT "\n", ptr_struct->a_pause_mac_ctrl_frames_transmitted_low);
 
 }
 
-int connectib_mfbe_size(void){
-	 return 12;
+int connectib_eth_802_3_cntrs_grp_data_layout_size(void)
+{
+	 return 248;
 }
 
-void connectib_mfbe_dump(const struct connectib_mfbe *ptr_struct, FILE* file) {
-	connectib_mfbe_print(ptr_struct, file, 0);
+void connectib_eth_802_3_cntrs_grp_data_layout_dump(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, FILE* file)
+{
+	connectib_eth_802_3_cntrs_grp_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_project_mfba_pack(const struct connectib_project_mfba *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dct_qp_pack(const struct connectib_dct_qp *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_mfba_header_pack(&(ptr_struct->mfba_header), ptr_buff + offset/8);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dc_access_key_violation_count_state);
 
-	offset=96;
-	connectib_register_access_data_pack(&(ptr_struct->mfba_data), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dc_access_key_violation_count);
 
 }
 
-void connectib_project_mfba_unpack(struct connectib_project_mfba *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dct_qp_unpack(struct connectib_dct_qp *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_mfba_header_unpack(&(ptr_struct->mfba_header), ptr_buff + offset/8);
+	offset = 30;
+	ptr_struct->dc_access_key_violation_count_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=96;
-	connectib_register_access_data_unpack(&(ptr_struct->mfba_data), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->dc_access_key_violation_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_project_mfba_print(const struct connectib_project_mfba *ptr_struct, FILE* file, int indent_level){
+void connectib_dct_qp_print(const struct connectib_dct_qp *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_project_mfba ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_dct_qp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfba_header:\n");
-	connectib_mfba_header_print(&(ptr_struct->mfba_header), file, indent_level + 1);
+	fprintf(file, "dc_access_key_violation_count_state : " UH_FMT "\n", ptr_struct->dc_access_key_violation_count_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfba_data:\n");
-	connectib_register_access_data_print(&(ptr_struct->mfba_data), file, indent_level + 1);
+	fprintf(file, "dc_access_key_violation_count : " U32H_FMT "\n", ptr_struct->dc_access_key_violation_count);
 
 }
 
-int connectib_project_mfba_size(void){
-	 return 44;
+int connectib_dct_qp_size(void)
+{
+	 return 16;
 }
 
-void connectib_project_mfba_dump(const struct connectib_project_mfba *ptr_struct, FILE* file) {
-	connectib_project_mfba_print(ptr_struct, file, 0);
+void connectib_dct_qp_dump(const struct connectib_dct_qp *ptr_struct, FILE* file)
+{
+	connectib_dct_qp_print(ptr_struct, file, 0);
 }
 
-void connectib_register_misc_counters_pack(const struct connectib_register_misc_counters *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dcr_qp_pack(const struct connectib_dcr_qp *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->counter_select);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gb_first_psn);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gb_last_psn);
+
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_gb);
+
+	offset = 38;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->drtl_cause_dcr_cleanup);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ecc);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->reconnect_ack_psn);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ldb_silent_drop);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dcr_heartbeat_clr_timestamp);
 
 }
 
-void connectib_register_misc_counters_unpack(struct connectib_register_misc_counters *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dcr_qp_unpack(struct connectib_dcr_qp *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=32;
-	ptr_struct->counter_select = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->gb_first_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=96;
-	ptr_struct->ecc = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 40;
+	ptr_struct->gb_last_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=128;
-	ptr_struct->ldb_silent_drop = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 39;
+	ptr_struct->is_gb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 38;
+	ptr_struct->drtl_cause_dcr_cleanup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 72;
+	ptr_struct->reconnect_ack_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	ptr_struct->dcr_heartbeat_clr_timestamp = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_register_misc_counters_print(const struct connectib_register_misc_counters *ptr_struct, FILE* file, int indent_level){
+void connectib_dcr_qp_print(const struct connectib_dcr_qp *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_register_misc_counters ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_dcr_qp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_select       : "U32H_FMT"\n", ptr_struct->counter_select);
+	fprintf(file, "gb_first_psn         : " UH_FMT "\n", ptr_struct->gb_first_psn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gb_last_psn          : " UH_FMT "\n", ptr_struct->gb_last_psn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_gb                : " UH_FMT "\n", ptr_struct->is_gb);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "drtl_cause_dcr_cleanup : " UH_FMT "\n", ptr_struct->drtl_cause_dcr_cleanup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecc                  : "U32H_FMT"\n", ptr_struct->ecc);
+	fprintf(file, "reconnect_ack_psn    : " UH_FMT "\n", ptr_struct->reconnect_ack_psn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ldb_silent_drop      : "U32H_FMT"\n", ptr_struct->ldb_silent_drop);
+	fprintf(file, "dcr_heartbeat_clr_timestamp : " U32H_FMT "\n", ptr_struct->dcr_heartbeat_clr_timestamp);
 
 }
 
-int connectib_register_misc_counters_size(void){
-	 return 32;
+int connectib_dcr_qp_size(void)
+{
+	 return 16;
 }
 
-void connectib_register_misc_counters_dump(const struct connectib_register_misc_counters *ptr_struct, FILE* file) {
-	connectib_register_misc_counters_print(ptr_struct, file, 0);
+void connectib_dcr_qp_dump(const struct connectib_dcr_qp *ptr_struct, FILE* file)
+{
+	connectib_dcr_qp_print(ptr_struct, file, 0);
 }
 
-void connectib_mtmp_pack(const struct connectib_mtmp *ptr_struct, u_int8_t* ptr_buff){
+void connectib_regular_qp_pack(const struct connectib_regular_qp *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->sensor_index);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ds_exceeds_pi_retries);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->internal_diodes_query);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->req_retrans_is_rdma_read);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->temperature);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_deth_sqpn);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_temperture);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pm_state);
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mtr);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->xport_retry_counter);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mte);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->xport_retry_limit);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->temperature_threshold_hi);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rnr_retry_counter);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->tee);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rnr_retry_limit);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->temperature_threshold_lo);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->sw_uar);
+
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_rtm);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sw_log_rtm);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->name_lo);
+	offset = 64;
+	connectib_regular_qp_sub_type_pack(&(ptr_struct->sub_type_fields), ptr_buff + offset/8);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->name_hi);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ib_ft_root_id);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sw_xport_retry_limit);
 
 }
 
-void connectib_mtmp_unpack(struct connectib_mtmp *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_regular_qp_unpack(struct connectib_regular_qp *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=25;
-	ptr_struct->sensor_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 28;
+	ptr_struct->ds_exceeds_pi_retries = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->internal_diodes_query = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	ptr_struct->req_retrans_is_rdma_read = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=48;
-	ptr_struct->temperature = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 26;
+	ptr_struct->use_deth_sqpn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	ptr_struct->max_temperture = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 24;
+	ptr_struct->pm_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=65;
-	ptr_struct->mtr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->xport_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	ptr_struct->mte = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->xport_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=112;
-	ptr_struct->temperature_threshold_hi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 4;
+	ptr_struct->rnr_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	ptr_struct->tee = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 0;
+	ptr_struct->rnr_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=144;
-	ptr_struct->temperature_threshold_lo = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 40;
+	ptr_struct->sw_uar = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=160;
-	ptr_struct->name_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 36;
+	ptr_struct->log_rtm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
-	ptr_struct->name_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->sw_log_rtm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	connectib_regular_qp_sub_type_unpack(&(ptr_struct->sub_type_fields), ptr_buff + offset/8);
+
+	offset = 104;
+	ptr_struct->ib_ft_root_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	ptr_struct->sw_xport_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_mtmp_print(const struct connectib_mtmp *ptr_struct, FILE* file, int indent_level){
+void connectib_regular_qp_print(const struct connectib_regular_qp *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mtmp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_regular_qp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sensor_index         : "UH_FMT"\n", ptr_struct->sensor_index);
+	fprintf(file, "ds_exceeds_pi_retries : " UH_FMT "\n", ptr_struct->ds_exceeds_pi_retries);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "internal_diodes_query : "UH_FMT"\n", ptr_struct->internal_diodes_query);
+	fprintf(file, "req_retrans_is_rdma_read : " UH_FMT "\n", ptr_struct->req_retrans_is_rdma_read);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "temperature          : "UH_FMT"\n", ptr_struct->temperature);
+	fprintf(file, "use_deth_sqpn        : " UH_FMT "\n", ptr_struct->use_deth_sqpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_temperture       : "UH_FMT"\n", ptr_struct->max_temperture);
+	fprintf(file, "pm_state             : " UH_FMT "\n", ptr_struct->pm_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtr                  : "UH_FMT"\n", ptr_struct->mtr);
+	fprintf(file, "xport_retry_counter  : " UH_FMT "\n", ptr_struct->xport_retry_counter);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mte                  : "UH_FMT"\n", ptr_struct->mte);
+	fprintf(file, "xport_retry_limit    : " UH_FMT "\n", ptr_struct->xport_retry_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "temperature_threshold_hi : "UH_FMT"\n", ptr_struct->temperature_threshold_hi);
+	fprintf(file, "rnr_retry_counter    : " UH_FMT "\n", ptr_struct->rnr_retry_counter);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tee                  : "UH_FMT"\n", ptr_struct->tee);
+	fprintf(file, "rnr_retry_limit      : " UH_FMT "\n", ptr_struct->rnr_retry_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "temperature_threshold_lo : "UH_FMT"\n", ptr_struct->temperature_threshold_lo);
+	fprintf(file, "sw_uar               : " UH_FMT "\n", ptr_struct->sw_uar);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "name_lo              : "U32H_FMT"\n", ptr_struct->name_lo);
+	fprintf(file, "log_rtm              : " UH_FMT "\n", ptr_struct->log_rtm);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "name_hi              : "U32H_FMT"\n", ptr_struct->name_hi);
-
-}
-
-int connectib_mtmp_size(void){
-	 return 28;
-}
-
-void connectib_mtmp_dump(const struct connectib_mtmp *ptr_struct, FILE* file) {
-	connectib_mtmp_print(ptr_struct, file, 0);
-}
-
-void connectib_register_mfrl_pack(const struct connectib_register_mfrl *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reset_level);
-
-}
-
-void connectib_register_mfrl_unpack(struct connectib_register_mfrl *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=56;
-	ptr_struct->reset_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	fprintf(file, "sw_log_rtm           : " UH_FMT "\n", ptr_struct->sw_log_rtm);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sub_type_fields:\n");
+	connectib_regular_qp_sub_type_print(&(ptr_struct->sub_type_fields), file, indent_level + 1);
 
-void connectib_register_mfrl_print(const struct connectib_register_mfrl *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_register_mfrl ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "ib_ft_root_id        : " UH_FMT "\n", ptr_struct->ib_ft_root_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_level          : "UH_FMT"\n", ptr_struct->reset_level);
+	fprintf(file, "sw_xport_retry_limit : " UH_FMT "\n", ptr_struct->sw_xport_retry_limit);
 
 }
 
-int connectib_register_mfrl_size(void){
+int connectib_regular_qp_size(void)
+{
 	 return 16;
 }
 
-void connectib_register_mfrl_dump(const struct connectib_register_mfrl *ptr_struct, FILE* file) {
-	connectib_register_mfrl_print(ptr_struct, file, 0);
+void connectib_regular_qp_dump(const struct connectib_regular_qp *ptr_struct, FILE* file)
+{
+	connectib_regular_qp_print(ptr_struct, file, 0);
 }
 
-void connectib_register_mfai_pack(const struct connectib_register_mfai *ptr_struct, u_int8_t* ptr_buff){
+void connectib_schedint_cause_pack(const struct connectib_schedint_cause *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clear_all_causes);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->permanent);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_destroy_qp);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_address);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_qp_flush);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_image_id);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_apm);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->image_id);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_duplicate);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_sl_diff);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->schedint_pp_diff);
 
 }
 
-void connectib_register_mfai_unpack(struct connectib_register_mfai *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_schedint_cause_unpack(struct connectib_schedint_cause *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 7;
+	ptr_struct->clear_all_causes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=2;
-	ptr_struct->permanent = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	ptr_struct->schedint_destroy_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
-	ptr_struct->use_address = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->schedint_qp_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->use_image_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 4;
+	ptr_struct->schedint_apm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=56;
-	ptr_struct->image_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 3;
+	ptr_struct->schedint_duplicate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->schedint_sl_diff = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->schedint_pp_diff = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_register_mfai_print(const struct connectib_register_mfai *ptr_struct, FILE* file, int indent_level){
+void connectib_schedint_cause_print(const struct connectib_schedint_cause *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_register_mfai ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_schedint_cause ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address              : "UH_FMT"\n", ptr_struct->address);
+	fprintf(file, "clear_all_causes     : " UH_FMT "\n", ptr_struct->clear_all_causes);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "schedint_destroy_qp  : " UH_FMT "\n", ptr_struct->schedint_destroy_qp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "schedint_qp_flush    : " UH_FMT "\n", ptr_struct->schedint_qp_flush);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "permanent            : "UH_FMT"\n", ptr_struct->permanent);
+	fprintf(file, "schedint_apm         : " UH_FMT "\n", ptr_struct->schedint_apm);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "use_address          : "UH_FMT"\n", ptr_struct->use_address);
+	fprintf(file, "schedint_duplicate   : " UH_FMT "\n", ptr_struct->schedint_duplicate);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "use_image_id         : "UH_FMT"\n", ptr_struct->use_image_id);
+	fprintf(file, "schedint_sl_diff     : " UH_FMT "\n", ptr_struct->schedint_sl_diff);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "image_id             : "UH_FMT"\n", ptr_struct->image_id);
+	fprintf(file, "schedint_pp_diff     : " UH_FMT "\n", ptr_struct->schedint_pp_diff);
 
 }
 
-int connectib_register_mfai_size(void){
-	 return 16;
+int connectib_schedint_cause_size(void)
+{
+	 return 1;
 }
 
-void connectib_register_mfai_dump(const struct connectib_register_mfai *ptr_struct, FILE* file) {
-	connectib_register_mfai_print(ptr_struct, file, 0);
+void connectib_schedint_cause_dump(const struct connectib_schedint_cause *ptr_struct, FILE* file)
+{
+	connectib_schedint_cause_print(ptr_struct, file, 0);
 }
 
-void connectib_mfpa_pack(const struct connectib_mfpa *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_qpc_ib_pack(const struct connectib_fw_qpc_ib *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->boot_address);
-
-	offset=156;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flash_num);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wip);
-
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->jedec_id);
-
-	offset=214;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->sector_size);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->oldest_non_acked_psn);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->block_allignment);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invalid_user_index);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->block_size);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->max_read_atomic_reduced);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->capability_mask);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ulp_stateless_offload_mode);
 
 }
 
-void connectib_mfpa_unpack(struct connectib_mfpa *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_qpc_ib_unpack(struct connectib_fw_qpc_ib *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=23;
-	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=40;
-	ptr_struct->boot_address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=156;
-	ptr_struct->flash_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=128;
-	ptr_struct->wip = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=168;
-	ptr_struct->jedec_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=214;
-	ptr_struct->sector_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 8;
+	ptr_struct->oldest_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=200;
-	ptr_struct->block_allignment = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 7;
+	ptr_struct->invalid_user_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->block_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 6;
+	ptr_struct->max_read_atomic_reduced = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=224;
-	ptr_struct->capability_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 4;
+	ptr_struct->ulp_stateless_offload_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
 }
 
-void connectib_mfpa_print(const struct connectib_mfpa *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_qpc_ib_print(const struct connectib_fw_qpc_ib *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mfpa ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_qpc_ib ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fs                   : "UH_FMT"\n", ptr_struct->fs);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "p                    : "UH_FMT"\n", ptr_struct->p);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "boot_address         : "UH_FMT"\n", ptr_struct->boot_address);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flash_num            : "UH_FMT"\n", ptr_struct->flash_num);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wip                  : "UH_FMT"\n", ptr_struct->wip);
+	fprintf(file, "oldest_non_acked_psn : " UH_FMT "\n", ptr_struct->oldest_non_acked_psn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "jedec_id             : "UH_FMT"\n", ptr_struct->jedec_id);
+	fprintf(file, "invalid_user_index   : " UH_FMT "\n", ptr_struct->invalid_user_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sector_size          : "UH_FMT"\n", ptr_struct->sector_size);
+	fprintf(file, "max_read_atomic_reduced : " UH_FMT "\n", ptr_struct->max_read_atomic_reduced);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "block_allignment     : "UH_FMT"\n", ptr_struct->block_allignment);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "block_size           : "UH_FMT"\n", ptr_struct->block_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "capability_mask      : "U32H_FMT"\n", ptr_struct->capability_mask);
+	fprintf(file, "ulp_stateless_offload_mode : " UH_FMT "\n", ptr_struct->ulp_stateless_offload_mode);
 
 }
 
-int connectib_mfpa_size(void){
-	 return 32;
+int connectib_fw_qpc_ib_size(void)
+{
+	 return 4;
 }
 
-void connectib_mfpa_dump(const struct connectib_mfpa *ptr_struct, FILE* file) {
-	connectib_mfpa_print(ptr_struct, file, 0);
+void connectib_fw_qpc_ib_dump(const struct connectib_fw_qpc_ib *ptr_struct, FILE* file)
+{
+	connectib_fw_qpc_ib_print(ptr_struct, file, 0);
 }
 
-void connectib_ib_gid_pack(const struct connectib_ib_gid *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_qpc_eth_pack(const struct connectib_fw_qpc_eth *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 128, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dword[i]);
-	}
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->tis_num);
+
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sq_in_lb_block);
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reg_umr);
 
 }
 
-void connectib_ib_gid_unpack(struct connectib_ib_gid *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_qpc_eth_unpack(struct connectib_fw_qpc_eth *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 128, 1);
-	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 8;
+	ptr_struct->tis_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 7;
+	ptr_struct->sq_in_lb_block = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 6;
+	ptr_struct->reg_umr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_ib_gid_print(const struct connectib_ib_gid *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_qpc_eth_print(const struct connectib_fw_qpc_eth *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ib_gid ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_qpc_eth ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword_%03d           : "U32H_FMT"\n", i, ptr_struct->dword[i]);
-	}
+	fprintf(file, "tis_num              : " UH_FMT "\n", ptr_struct->tis_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sq_in_lb_block       : " UH_FMT "\n", ptr_struct->sq_in_lb_block);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reg_umr              : " UH_FMT "\n", ptr_struct->reg_umr);
 
 }
 
-int connectib_ib_gid_size(void){
-	 return 16;
+int connectib_fw_qpc_eth_size(void)
+{
+	 return 4;
 }
 
-void connectib_ib_gid_dump(const struct connectib_ib_gid *ptr_struct, FILE* file) {
-	connectib_ib_gid_print(ptr_struct, file, 0);
+void connectib_fw_qpc_eth_dump(const struct connectib_fw_qpc_eth *ptr_struct, FILE* file)
+{
+	connectib_fw_qpc_eth_print(ptr_struct, file, 0);
 }
 
-void connectib_dmfs_hash_meta_pack(const struct connectib_dmfs_hash_meta *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_msix_context_data0_pack(const struct connectib_hw_msix_context_data0 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_hash_entries);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->entry_count);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->descendant_count);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->default_ste_ix);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data);
 
 }
 
-void connectib_dmfs_hash_meta_unpack(struct connectib_dmfs_hash_meta *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_msix_context_data0_unpack(struct connectib_hw_msix_context_data0 *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->log_hash_entries = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=48;
-	ptr_struct->entry_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=32;
-	ptr_struct->descendant_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=64;
-	ptr_struct->default_ste_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_dmfs_hash_meta_print(const struct connectib_dmfs_hash_meta *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_msix_context_data0_print(const struct connectib_hw_msix_context_data0 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dmfs_hash_meta ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_msix_context_data0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_hash_entries     : "UH_FMT"\n", ptr_struct->log_hash_entries);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "entry_count          : "UH_FMT"\n", ptr_struct->entry_count);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "descendant_count     : "UH_FMT"\n", ptr_struct->descendant_count);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "default_ste_ix       : "U64H_FMT"\n", ptr_struct->default_ste_ix);
+	fprintf(file, "data                 : " U32H_FMT "\n", ptr_struct->data);
 
 }
 
-int connectib_dmfs_hash_meta_size(void){
-	 return 16;
+int connectib_hw_msix_context_data0_size(void)
+{
+	 return 4;
 }
 
-void connectib_dmfs_hash_meta_dump(const struct connectib_dmfs_hash_meta *ptr_struct, FILE* file) {
-	connectib_dmfs_hash_meta_print(ptr_struct, file, 0);
+void connectib_hw_msix_context_data0_dump(const struct connectib_hw_msix_context_data0 *ptr_struct, FILE* file)
+{
+	connectib_hw_msix_context_data0_print(ptr_struct, file, 0);
 }
 
-void connectib_dmfs_fte_meta_pack(const struct connectib_dmfs_fte_meta *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_generic_headers_pack(const struct connectib_hw_ste_tag_generic_headers *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->dest_iter_ix);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword_select_valid);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword_select);
 
 }
 
-void connectib_dmfs_fte_meta_unpack(struct connectib_dmfs_fte_meta *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_generic_headers_unpack(struct connectib_hw_ste_tag_generic_headers *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->dest_iter_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->dword_select_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->dword_select = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_dmfs_fte_meta_print(const struct connectib_dmfs_fte_meta *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_ste_tag_generic_headers_print(const struct connectib_hw_ste_tag_generic_headers *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dmfs_fte_meta ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_ste_tag_generic_headers ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dest_iter_ix         : "U64H_FMT"\n", ptr_struct->dest_iter_ix);
+	fprintf(file, "dword_select_valid   : " UH_FMT "\n", ptr_struct->dword_select_valid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dword_select         : " U32H_FMT "\n", ptr_struct->dword_select);
 
 }
 
-int connectib_dmfs_fte_meta_size(void){
-	 return 8;
+int connectib_hw_ste_tag_generic_headers_size(void)
+{
+	 return 16;
 }
 
-void connectib_dmfs_fte_meta_dump(const struct connectib_dmfs_fte_meta *ptr_struct, FILE* file) {
-	connectib_dmfs_fte_meta_print(ptr_struct, file, 0);
+void connectib_hw_ste_tag_generic_headers_dump(const struct connectib_hw_ste_tag_generic_headers *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_generic_headers_print(ptr_struct, file, 0);
 }
 
-void connectib_dmfs_ft_meta_pack(const struct connectib_dmfs_ft_meta *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_port_pack(const struct connectib_hw_ste_tag_port *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log2_table_size);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->level);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->other_vport);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_number);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bth);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->groups_list_head);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->qp_type);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->total_ref_count);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_sniffer);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->iter_rule_count);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_lb);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->groups_member_count);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->func_lb);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ft_head_ix);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->multicast);
 
 }
 
-void connectib_dmfs_ft_meta_unpack(struct connectib_dmfs_ft_meta *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_port_unpack(struct connectib_hw_ste_tag_port *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->log2_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=56;
-	ptr_struct->level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 24;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=48;
-	ptr_struct->other_vport = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 19;
+	ptr_struct->grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->vport_number = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 18;
+	ptr_struct->bth = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->groups_list_head = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->qp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=144;
-	ptr_struct->total_ref_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 3;
+	ptr_struct->sx_sniffer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	ptr_struct->iter_rule_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 2;
+	ptr_struct->force_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	ptr_struct->groups_member_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 1;
+	ptr_struct->func_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->ft_head_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_dmfs_ft_meta_print(const struct connectib_dmfs_ft_meta *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_ste_tag_port_print(const struct connectib_hw_ste_tag_port *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dmfs_ft_meta ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_ste_tag_port ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_type           : "UH_FMT"\n", ptr_struct->table_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_table_size      : "UH_FMT"\n", ptr_struct->log2_table_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "level                : "UH_FMT"\n", ptr_struct->level);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "other_vport          : "UH_FMT"\n", ptr_struct->other_vport);
+	fprintf(file, "grh                  : " UH_FMT "\n", ptr_struct->grh);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_number         : "UH_FMT"\n", ptr_struct->vport_number);
+	fprintf(file, "bth                  : " UH_FMT "\n", ptr_struct->bth);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "groups_list_head     : "U32H_FMT"\n", ptr_struct->groups_list_head);
+	fprintf(file, "qp_type              : " UH_FMT "\n", ptr_struct->qp_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "total_ref_count      : "UH_FMT"\n", ptr_struct->total_ref_count);
+	fprintf(file, "sx_sniffer           : " UH_FMT "\n", ptr_struct->sx_sniffer);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "iter_rule_count      : "UH_FMT"\n", ptr_struct->iter_rule_count);
+	fprintf(file, "force_lb             : " UH_FMT "\n", ptr_struct->force_lb);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "groups_member_count  : "U32H_FMT"\n", ptr_struct->groups_member_count);
+	fprintf(file, "func_lb              : " UH_FMT "\n", ptr_struct->func_lb);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ft_head_ix           : "U64H_FMT"\n", ptr_struct->ft_head_ix);
+	fprintf(file, "multicast            : " UH_FMT "\n", ptr_struct->multicast);
 
 }
 
-int connectib_dmfs_ft_meta_size(void){
-	 return 32;
+int connectib_hw_ste_tag_port_size(void)
+{
+	 return 16;
 }
 
-void connectib_dmfs_ft_meta_dump(const struct connectib_dmfs_ft_meta *ptr_struct, FILE* file) {
-	connectib_dmfs_ft_meta_print(ptr_struct, file, 0);
+void connectib_hw_ste_tag_port_dump(const struct connectib_hw_ste_tag_port *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_port_print(ptr_struct, file, 0);
 }
 
-void connectib_dmfs_group_meta_pack(const struct connectib_dmfs_group_meta *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_source_gvmi_qp_pack(const struct connectib_hw_ste_tag_source_gvmi_qp *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
-
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->match_criteria_enable);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->other_vport);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_number);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->start_flow_index);
-
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->end_flow_index);
-
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->prev_group_id);
-
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->next_group_id);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->source_gvmi);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->root_hash_meta_ix);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->source_qp);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->end_ste_ix);
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->source_is_requestor);
 
 }
 
-void connectib_dmfs_group_meta_unpack(struct connectib_dmfs_group_meta *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_source_gvmi_qp_unpack(struct connectib_hw_ste_tag_source_gvmi_qp *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
-
-	offset=56;
-	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=32;
-	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=88;
-	ptr_struct->match_criteria_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=80;
-	ptr_struct->other_vport = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=64;
-	ptr_struct->vport_number = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=96;
-	ptr_struct->start_flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=128;
-	ptr_struct->end_flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=160;
-	ptr_struct->prev_group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=192;
-	ptr_struct->next_group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->source_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=224;
-	ptr_struct->root_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 40;
+	ptr_struct->source_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=256;
-	ptr_struct->end_ste_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 39;
+	ptr_struct->source_is_requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_dmfs_group_meta_print(const struct connectib_dmfs_group_meta *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_ste_tag_source_gvmi_qp_print(const struct connectib_hw_ste_tag_source_gvmi_qp *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dmfs_group_meta ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_ste_tag_source_gvmi_qp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_type           : "UH_FMT"\n", ptr_struct->table_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_id             : "UH_FMT"\n", ptr_struct->table_id);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "match_criteria_enable : "UH_FMT"\n", ptr_struct->match_criteria_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "other_vport          : "UH_FMT"\n", ptr_struct->other_vport);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_number         : "UH_FMT"\n", ptr_struct->vport_number);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "start_flow_index     : "U32H_FMT"\n", ptr_struct->start_flow_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "end_flow_index       : "U32H_FMT"\n", ptr_struct->end_flow_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prev_group_id        : "U32H_FMT"\n", ptr_struct->prev_group_id);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_group_id        : "U32H_FMT"\n", ptr_struct->next_group_id);
+	fprintf(file, "source_gvmi          : " UH_FMT "\n", ptr_struct->source_gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "root_hash_meta_ix    : "U32H_FMT"\n", ptr_struct->root_hash_meta_ix);
+	fprintf(file, "source_qp            : " UH_FMT "\n", ptr_struct->source_qp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "end_ste_ix           : "U64H_FMT"\n", ptr_struct->end_ste_ix);
+	fprintf(file, "source_is_requestor  : " UH_FMT "\n", ptr_struct->source_is_requestor);
 
 }
 
-int connectib_dmfs_group_meta_size(void){
-	 return 64;
+int connectib_hw_ste_tag_source_gvmi_qp_size(void)
+{
+	 return 16;
 }
 
-void connectib_dmfs_group_meta_dump(const struct connectib_dmfs_group_meta *ptr_struct, FILE* file) {
-	connectib_dmfs_group_meta_print(ptr_struct, file, 0);
+void connectib_hw_ste_tag_source_gvmi_qp_dump(const struct connectib_hw_ste_tag_source_gvmi_qp *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_source_gvmi_qp_print(ptr_struct, file, 0);
 }
 
-void connectib_mkey_dump_pack(const struct connectib_mkey_dump *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_ib_l4_pack(const struct connectib_hw_ste_tag_ib_l4 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ready_4_dump);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dest_qp);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey);
 
 }
 
-void connectib_mkey_dump_unpack(struct connectib_mkey_dump *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_ib_l4_unpack(struct connectib_hw_ste_tag_ib_l4 *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->ready_4_dump = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->dest_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 48;
+	ptr_struct->pkey = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_mkey_dump_print(const struct connectib_mkey_dump *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_ste_tag_ib_l4_print(const struct connectib_hw_ste_tag_ib_l4 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mkey_dump ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_ste_tag_ib_l4 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ready_4_dump         : "UH_FMT"\n", ptr_struct->ready_4_dump);
+	fprintf(file, "dest_qp              : " UH_FMT "\n", ptr_struct->dest_qp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkey                 : " UH_FMT "\n", ptr_struct->pkey);
 
 }
 
-int connectib_mkey_dump_size(void){
-	 return 4;
+int connectib_hw_ste_tag_ib_l4_size(void)
+{
+	 return 16;
 }
 
-void connectib_mkey_dump_dump(const struct connectib_mkey_dump *ptr_struct, FILE* file) {
-	connectib_mkey_dump_print(ptr_struct, file, 0);
+void connectib_hw_ste_tag_ib_l4_dump(const struct connectib_hw_ste_tag_ib_l4 *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_ib_l4_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_tis_pack(const struct connectib_fw_tis *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_ib_l3_pack(const struct connectib_hw_ste_tag_ib_l3 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dgid_127_96);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->prio);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dgid_95_64);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->sqn_head);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dgid_63_32);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dgid_31_0);
 
 }
 
-void connectib_fw_tis_unpack(struct connectib_fw_tis *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_ib_l3_unpack(struct connectib_hw_ste_tag_ib_l3 *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->dgid_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=48;
-	ptr_struct->prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->dgid_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
-	ptr_struct->sqn_head = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 64;
+	ptr_struct->dgid_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->dgid_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_fw_tis_print(const struct connectib_fw_tis *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_ste_tag_ib_l3_print(const struct connectib_hw_ste_tag_ib_l3 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_tis ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_ste_tag_ib_l3 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+	fprintf(file, "dgid_127_96          : " U32H_FMT "\n", ptr_struct->dgid_127_96);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dgid_95_64           : " U32H_FMT "\n", ptr_struct->dgid_95_64);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prio                 : "UH_FMT"\n", ptr_struct->prio);
+	fprintf(file, "dgid_63_32           : " U32H_FMT "\n", ptr_struct->dgid_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqn_head             : "UH_FMT"\n", ptr_struct->sqn_head);
+	fprintf(file, "dgid_31_0            : " U32H_FMT "\n", ptr_struct->dgid_31_0);
 
 }
 
-int connectib_fw_tis_size(void){
-	 return 64;
+int connectib_hw_ste_tag_ib_l3_size(void)
+{
+	 return 16;
 }
 
-void connectib_fw_tis_dump(const struct connectib_fw_tis *ptr_struct, FILE* file) {
-	connectib_fw_tis_print(ptr_struct, file, 0);
+void connectib_hw_ste_tag_ib_l3_dump(const struct connectib_hw_ste_tag_ib_l3 *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_ib_l3_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_tir_pack(const struct connectib_fw_tir *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_ib_l3_extended_pack(const struct connectib_hw_ste_tag_ib_l3_extended *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->inline_rqn);
-
-	offset=36;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->disp_type);
-
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lro_max_ip_payload_size);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
 
-	offset=84;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lro_enable_mask);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lro_timeout_period_usecs);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->traffic_class);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rqt_number);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey);
 
-	offset=100;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_hash_fn);
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dceth_complete);
 
-	offset=99;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tunneled_offload_en);
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->deth_complete);
 
-	offset=97;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_hash_symmetric);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bth_complete);
 
-	offset=128;
-	connectib_rx_hash_field_select_pack(&(ptr_struct->rx_hash_field_selector_outer), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ip_version);
 
-	offset=160;
-	connectib_rx_hash_field_select_pack(&(ptr_struct->rx_hash_field_selector_inner), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->qkey_dc_access_key_63_32);
 
-	offset=384;
-	connectib_tir_dmfs_pack(&(ptr_struct->dmfs), ptr_buff + offset/8);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->qkey_dc_access_key_31_0);
 
 }
 
-void connectib_fw_tir_unpack(struct connectib_fw_tir *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_ib_l3_extended_unpack(struct connectib_hw_ste_tag_ib_l3_extended *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
-
-	offset=40;
-	ptr_struct->inline_rqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=36;
-	ptr_struct->disp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=88;
-	ptr_struct->lro_max_ip_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 12;
+	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
 
-	offset=84;
-	ptr_struct->lro_enable_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->lro_timeout_period_usecs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->traffic_class = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=104;
-	ptr_struct->rqt_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 48;
+	ptr_struct->pkey = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=100;
-	ptr_struct->rx_hash_fn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 35;
+	ptr_struct->dceth_complete = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=99;
-	ptr_struct->tunneled_offload_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 34;
+	ptr_struct->deth_complete = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=97;
-	ptr_struct->rx_hash_symmetric = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 33;
+	ptr_struct->bth_complete = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	connectib_rx_hash_field_select_unpack(&(ptr_struct->rx_hash_field_selector_outer), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->ip_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	connectib_rx_hash_field_select_unpack(&(ptr_struct->rx_hash_field_selector_inner), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->qkey_dc_access_key_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
-	connectib_tir_dmfs_unpack(&(ptr_struct->dmfs), ptr_buff + offset/8);
+	offset = 96;
+	ptr_struct->qkey_dc_access_key_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_fw_tir_print(const struct connectib_fw_tir *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_ste_tag_ib_l3_extended_print(const struct connectib_hw_ste_tag_ib_l3_extended *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_tir ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_ste_tag_ib_l3_extended ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_rqn           : "UH_FMT"\n", ptr_struct->inline_rqn);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "disp_type            : "UH_FMT"\n", ptr_struct->disp_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lro_max_ip_payload_size : "UH_FMT"\n", ptr_struct->lro_max_ip_payload_size);
+	fprintf(file, "flow_label           : " UH_FMT "\n", ptr_struct->flow_label);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lro_enable_mask      : "UH_FMT"\n", ptr_struct->lro_enable_mask);
+	fprintf(file, "sl                   : " UH_FMT "\n", ptr_struct->sl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lro_timeout_period_usecs : "UH_FMT"\n", ptr_struct->lro_timeout_period_usecs);
+	fprintf(file, "traffic_class        : " UH_FMT "\n", ptr_struct->traffic_class);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_number           : "UH_FMT"\n", ptr_struct->rqt_number);
+	fprintf(file, "pkey                 : " UH_FMT "\n", ptr_struct->pkey);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_hash_fn           : "UH_FMT"\n", ptr_struct->rx_hash_fn);
+	fprintf(file, "dceth_complete       : " UH_FMT "\n", ptr_struct->dceth_complete);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tunneled_offload_en  : "UH_FMT"\n", ptr_struct->tunneled_offload_en);
+	fprintf(file, "deth_complete        : " UH_FMT "\n", ptr_struct->deth_complete);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_hash_symmetric    : "UH_FMT"\n", ptr_struct->rx_hash_symmetric);
+	fprintf(file, "bth_complete         : " UH_FMT "\n", ptr_struct->bth_complete);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_hash_field_selector_outer:\n");
-	connectib_rx_hash_field_select_print(&(ptr_struct->rx_hash_field_selector_outer), file, indent_level + 1);
+	fprintf(file, "ip_version           : " UH_FMT "\n", ptr_struct->ip_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_hash_field_selector_inner:\n");
-	connectib_rx_hash_field_select_print(&(ptr_struct->rx_hash_field_selector_inner), file, indent_level + 1);
+	fprintf(file, "qkey_dc_access_key_63_32 : " U32H_FMT "\n", ptr_struct->qkey_dc_access_key_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dmfs:\n");
-	connectib_tir_dmfs_print(&(ptr_struct->dmfs), file, indent_level + 1);
+	fprintf(file, "qkey_dc_access_key_31_0 : " U32H_FMT "\n", ptr_struct->qkey_dc_access_key_31_0);
 
 }
 
-int connectib_fw_tir_size(void){
-	 return 64;
+int connectib_hw_ste_tag_ib_l3_extended_size(void)
+{
+	 return 16;
 }
 
-void connectib_fw_tir_dump(const struct connectib_fw_tir *ptr_struct, FILE* file) {
-	connectib_fw_tir_print(ptr_struct, file, 0);
+void connectib_hw_ste_tag_ib_l3_extended_dump(const struct connectib_hw_ste_tag_ib_l3_extended *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_ib_l3_extended_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_qpc_pack(const struct connectib_fw_qpc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_ib_l2_pack(const struct connectib_hw_ste_tag_ib_l2 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sw_st);
-
-	offset=53;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->sw_rwq_type);
-
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_sq);
-
-	offset=50;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->sw_rq_type);
-
-	offset=49;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_dual_write);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ack_fence_req);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ack_slice_to_fence);
-
-	offset=91;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->sw_timer_granularity);
-
-	offset=86;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->chilling_timer_granularity);
-
-	offset=85;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->one_side_flush);
-
-	offset=84;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->apm_path_validation_failed);
-
-	offset=83;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cd_slave_send);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dlid);
 
-	offset=82;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cd_slave_receive);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh);
 
-	offset=81;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cd_master);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bth);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sqd_on_sigerr);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->qp_type);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->tis_num);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
 
-	offset=128;
-	connectib_fw_qpc_q_pack(&(ptr_struct->responder), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->multicast);
 
-	offset=256;
-	connectib_fw_qpc_q_pack(&(ptr_struct->requestor), ptr_buff + offset/8);
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
 
-	offset=384;
-	connectib_fw_qpc_special_pack(&(ptr_struct->fw_qpc_special), ptr_buff + offset/8);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwh_ethertype);
 
 }
 
-void connectib_fw_qpc_unpack(struct connectib_fw_qpc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_ste_tag_ib_l2_unpack(struct connectib_hw_ste_tag_ib_l2 *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
-
-	offset=56;
-	ptr_struct->sw_st = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=53;
-	ptr_struct->sw_rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=52;
-	ptr_struct->no_sq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=50;
-	ptr_struct->sw_rq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=49;
-	ptr_struct->qp_dual_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=48;
-	ptr_struct->ack_fence_req = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=40;
-	ptr_struct->ack_slice_to_fence = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=91;
-	ptr_struct->sw_timer_granularity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=86;
-	ptr_struct->chilling_timer_granularity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=85;
-	ptr_struct->one_side_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=84;
-	ptr_struct->apm_path_validation_failed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=83;
-	ptr_struct->cd_slave_send = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->dlid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=82;
-	ptr_struct->cd_slave_receive = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	ptr_struct->grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=81;
-	ptr_struct->cd_master = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	ptr_struct->bth = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	ptr_struct->sqd_on_sigerr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 12;
+	ptr_struct->qp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=104;
-	ptr_struct->tis_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	connectib_fw_qpc_q_unpack(&(ptr_struct->responder), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	connectib_fw_qpc_q_unpack(&(ptr_struct->requestor), ptr_buff + offset/8);
+	offset = 76;
+	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
 
-	offset=384;
-	connectib_fw_qpc_special_unpack(&(ptr_struct->fw_qpc_special), ptr_buff + offset/8);
+	offset = 112;
+	ptr_struct->rwh_ethertype = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_fw_qpc_print(const struct connectib_fw_qpc *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_ste_tag_ib_l2_print(const struct connectib_hw_ste_tag_ib_l2 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_qpc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_ste_tag_ib_l2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+	fprintf(file, "dlid                 : " UH_FMT "\n", ptr_struct->dlid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sw_st                : "UH_FMT"\n", ptr_struct->sw_st);
+	fprintf(file, "grh                  : " UH_FMT "\n", ptr_struct->grh);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sw_rwq_type          : "UH_FMT"\n", ptr_struct->sw_rwq_type);
+	fprintf(file, "bth                  : " UH_FMT "\n", ptr_struct->bth);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_sq                : "UH_FMT"\n", ptr_struct->no_sq);
+	fprintf(file, "qp_type              : " UH_FMT "\n", ptr_struct->qp_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sw_rq_type           : "UH_FMT"\n", ptr_struct->sw_rq_type);
+	fprintf(file, "sl                   : " UH_FMT "\n", ptr_struct->sl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_dual_write        : "UH_FMT"\n", ptr_struct->qp_dual_write);
+	fprintf(file, "multicast            : " UH_FMT "\n", ptr_struct->multicast);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_fence_req        : "UH_FMT"\n", ptr_struct->ack_fence_req);
+	fprintf(file, "flow_label           : " UH_FMT "\n", ptr_struct->flow_label);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_slice_to_fence   : "UH_FMT"\n", ptr_struct->ack_slice_to_fence);
+	fprintf(file, "rwh_ethertype        : " UH_FMT "\n", ptr_struct->rwh_ethertype);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sw_timer_granularity : "UH_FMT"\n", ptr_struct->sw_timer_granularity);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "chilling_timer_granularity : "UH_FMT"\n", ptr_struct->chilling_timer_granularity);
+int connectib_hw_ste_tag_ib_l2_size(void)
+{
+	 return 16;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "one_side_flush       : "UH_FMT"\n", ptr_struct->one_side_flush);
+void connectib_hw_ste_tag_ib_l2_dump(const struct connectib_hw_ste_tag_ib_l2 *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_ib_l2_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "apm_path_validation_failed : "UH_FMT"\n", ptr_struct->apm_path_validation_failed);
+void connectib_hw_ste_tag_bulk_pack(const struct connectib_hw_ste_tag_bulk *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cd_slave_send        : "UH_FMT"\n", ptr_struct->cd_slave_send);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tag_127_96);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cd_slave_receive     : "UH_FMT"\n", ptr_struct->cd_slave_receive);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tag_95_64);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cd_master            : "UH_FMT"\n", ptr_struct->cd_master);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tag_63_32);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tag_31_0);
+
+}
+
+void connectib_hw_ste_tag_bulk_unpack(struct connectib_hw_ste_tag_bulk *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
+	offset = 0;
+	ptr_struct->tag_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->tag_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->tag_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->tag_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_ste_tag_bulk_print(const struct connectib_hw_ste_tag_bulk *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqd_on_sigerr        : "UH_FMT"\n", ptr_struct->sqd_on_sigerr);
+	fprintf(file, "======== connectib_hw_ste_tag_bulk ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tis_num              : "UH_FMT"\n", ptr_struct->tis_num);
+	fprintf(file, "tag_127_96           : " U32H_FMT "\n", ptr_struct->tag_127_96);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "responder:\n");
-	connectib_fw_qpc_q_print(&(ptr_struct->responder), file, indent_level + 1);
+	fprintf(file, "tag_95_64            : " U32H_FMT "\n", ptr_struct->tag_95_64);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "requestor:\n");
-	connectib_fw_qpc_q_print(&(ptr_struct->requestor), file, indent_level + 1);
+	fprintf(file, "tag_63_32            : " U32H_FMT "\n", ptr_struct->tag_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_qpc_special:\n");
-	connectib_fw_qpc_special_print(&(ptr_struct->fw_qpc_special), file, indent_level + 1);
+	fprintf(file, "tag_31_0             : " U32H_FMT "\n", ptr_struct->tag_31_0);
 
 }
 
-int connectib_fw_qpc_size(void){
-	 return 64;
+int connectib_hw_ste_tag_bulk_size(void)
+{
+	 return 16;
 }
 
-void connectib_fw_qpc_dump(const struct connectib_fw_qpc *ptr_struct, FILE* file) {
-	connectib_fw_qpc_print(ptr_struct, file, 0);
+void connectib_hw_ste_tag_bulk_dump(const struct connectib_hw_ste_tag_bulk *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_bulk_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_srqc_pack(const struct connectib_fw_srqc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_transaction_pdf_pack(const struct connectib_hw_transaction_pdf *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invert_data_bits);
 
-	offset=63;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->catas_event_generated);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_data_bits);
 
-	offset=62;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->basic_cyclic_rcv_wqe);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->seed);
 
-	offset=61;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invalid_user_index);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_crc_bytes);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->trap_reason);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_crc_bits);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->trap_data);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invert_crc);
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->no_lro_qpn);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sig_zones_covered);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->memory_rq_state);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sig_type);
 
 }
 
-void connectib_fw_srqc_unpack(struct connectib_fw_srqc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_transaction_pdf_unpack(struct connectib_hw_transaction_pdf *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 14;
+	ptr_struct->invert_data_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=63;
-	ptr_struct->catas_event_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 13;
+	ptr_struct->swap_data_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=62;
-	ptr_struct->basic_cyclic_rcv_wqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 12;
+	ptr_struct->seed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=61;
-	ptr_struct->invalid_user_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 11;
+	ptr_struct->swap_crc_bytes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=48;
-	ptr_struct->trap_reason = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 10;
+	ptr_struct->swap_crc_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->trap_data = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 9;
+	ptr_struct->invert_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=136;
-	ptr_struct->no_lro_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->sig_zones_covered = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	ptr_struct->memory_rq_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->sig_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_fw_srqc_print(const struct connectib_fw_srqc *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_transaction_pdf_print(const struct connectib_hw_transaction_pdf *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_srqc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_transaction_pdf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+	fprintf(file, "invert_data_bits     : " UH_FMT "\n", ptr_struct->invert_data_bits);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "catas_event_generated : "UH_FMT"\n", ptr_struct->catas_event_generated);
+	fprintf(file, "swap_data_bits       : " UH_FMT "\n", ptr_struct->swap_data_bits);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "basic_cyclic_rcv_wqe : "UH_FMT"\n", ptr_struct->basic_cyclic_rcv_wqe);
+	fprintf(file, "seed                 : " UH_FMT "\n", ptr_struct->seed);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "invalid_user_index   : "UH_FMT"\n", ptr_struct->invalid_user_index);
+	fprintf(file, "swap_crc_bytes       : " UH_FMT "\n", ptr_struct->swap_crc_bytes);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trap_reason          : %s ("UH_FMT")\n", (ptr_struct->trap_reason == 1 ? ("NOP") : ((ptr_struct->trap_reason == 2 ? ("SET_LIMIT") : ("unknown")))), ptr_struct->trap_reason);
+	fprintf(file, "swap_crc_bits        : " UH_FMT "\n", ptr_struct->swap_crc_bits);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trap_data            : "UH_FMT"\n", ptr_struct->trap_data);
+	fprintf(file, "invert_crc           : " UH_FMT "\n", ptr_struct->invert_crc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_lro_qpn           : "UH_FMT"\n", ptr_struct->no_lro_qpn);
+	fprintf(file, "sig_zones_covered    : " UH_FMT "\n", ptr_struct->sig_zones_covered);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "memory_rq_state      : "UH_FMT"\n", ptr_struct->memory_rq_state);
+	fprintf(file, "sig_type             : " UH_FMT "\n", ptr_struct->sig_type);
 
 }
 
-int connectib_fw_srqc_size(void){
-	 return 64;
+int connectib_hw_transaction_pdf_size(void)
+{
+	 return 8;
 }
 
-void connectib_fw_srqc_dump(const struct connectib_fw_srqc *ptr_struct, FILE* file) {
-	connectib_fw_srqc_print(ptr_struct, file, 0);
+void connectib_hw_transaction_pdf_dump(const struct connectib_hw_transaction_pdf *ptr_struct, FILE* file)
+{
+	connectib_hw_transaction_pdf_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_ads_pack(const struct connectib_sw_ads *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_pdf_decoder_pack(const struct connectib_hw_pdf_decoder *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey_index);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->free_ar);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fl);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rlid);
-
-	offset=41;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->mlid);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh);
-
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
-
-	offset=84;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->stat_rate);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->src_addr_index);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->ack_timeout);
-
-	offset=108;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
-
-	offset=100;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invert_data_bits);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(152, 8, i, 352, 1);
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rgid_rip[i]);
-	}
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_data_bits);
 
-	offset=272;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->udp_sport);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->seed);
 
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->dscp);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_crc_bytes);
 
-	offset=264;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ecn);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->swap_crc_bits);
 
-	offset=263;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->f_eth_prio);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invert_crc);
 
-	offset=261;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->f_ecn);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->regular);
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->f_dscp);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sig_type);
 
-	offset=304;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rmac_47_32);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dif_app_tag_bit_check_en);
 
-	offset=296;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
+	offset = 46;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dif_guard_check_type);
 
-	offset=292;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dif_learn_mode);
 
-	offset=289;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->eth_prio);
+	offset = 43;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dif_learn_app_tag);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dei_cfi);
+	offset = 42;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dif_learn_ref_tag);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rmac_31_0);
+	offset = 41;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dif_inc_ref_tag);
 
 }
 
-void connectib_sw_ads_unpack(struct connectib_sw_ads *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_pdf_decoder_unpack(struct connectib_hw_pdf_decoder *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->pkey_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=1;
-	ptr_struct->free_ar = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->fl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=48;
-	ptr_struct->rlid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=41;
-	ptr_struct->mlid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
-
-	offset=40;
-	ptr_struct->grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=88;
-	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=84;
-	ptr_struct->stat_rate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=72;
-	ptr_struct->src_addr_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=64;
-	ptr_struct->ack_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=108;
-	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
-
-	offset=100;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 14;
+	ptr_struct->invert_data_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(152, 8, i, 352, 1);
-	ptr_struct->rgid_rip[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-	}
+	offset = 13;
+	ptr_struct->swap_data_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=272;
-	ptr_struct->udp_sport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 12;
+	ptr_struct->seed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=266;
-	ptr_struct->dscp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 11;
+	ptr_struct->swap_crc_bytes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=264;
-	ptr_struct->ecn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 10;
+	ptr_struct->swap_crc_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=263;
-	ptr_struct->f_eth_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 9;
+	ptr_struct->invert_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=261;
-	ptr_struct->f_ecn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->regular = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=260;
-	ptr_struct->f_dscp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->sig_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=304;
-	ptr_struct->rmac_47_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 48;
+	ptr_struct->dif_app_tag_bit_check_en = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=296;
-	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 46;
+	ptr_struct->dif_guard_check_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=292;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 44;
+	ptr_struct->dif_learn_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=289;
-	ptr_struct->eth_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 43;
+	ptr_struct->dif_learn_app_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	ptr_struct->dei_cfi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 42;
+	ptr_struct->dif_learn_ref_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=320;
-	ptr_struct->rmac_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 41;
+	ptr_struct->dif_inc_ref_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_sw_ads_print(const struct connectib_sw_ads *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_pdf_decoder_print(const struct connectib_hw_pdf_decoder *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sw_ads ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_pdf_decoder ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_index           : "UH_FMT"\n", ptr_struct->pkey_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "free_ar              : "UH_FMT"\n", ptr_struct->free_ar);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fl                   : "UH_FMT"\n", ptr_struct->fl);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rlid                 : "UH_FMT"\n", ptr_struct->rlid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlid                 : "UH_FMT"\n", ptr_struct->mlid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh                  : "UH_FMT"\n", ptr_struct->grh);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_limit            : "UH_FMT"\n", ptr_struct->hop_limit);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "stat_rate            : %s ("UH_FMT")\n", (ptr_struct->stat_rate == 0 ? ("no_limit") : ((ptr_struct->stat_rate == 7 ? ("2_5Gbps") : ((ptr_struct->stat_rate == 8 ? ("10Gbps") : ((ptr_struct->stat_rate == 9 ? ("30Gbps") : ((ptr_struct->stat_rate == 10 ? ("5Gbps") : ((ptr_struct->stat_rate == 11 ? ("20Gbps") : ((ptr_struct->stat_rate == 12 ? ("40Gbps") : ((ptr_struct->stat_rate == 13 ? ("60Gbps") : ((ptr_struct->stat_rate == 14 ? ("80Gbps") : ((ptr_struct->stat_rate == 15 ? ( [...]
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "src_addr_index       : "UH_FMT"\n", ptr_struct->src_addr_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_timeout          : "UH_FMT"\n", ptr_struct->ack_timeout);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+	fprintf(file, "invert_data_bits     : " UH_FMT "\n", ptr_struct->invert_data_bits);
 
-	for (i=0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rgid_rip_%03d        : "UH_FMT"\n", i, ptr_struct->rgid_rip[i]);
-	}
+	fprintf(file, "swap_data_bits       : " UH_FMT "\n", ptr_struct->swap_data_bits);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "udp_sport            : "UH_FMT"\n", ptr_struct->udp_sport);
+	fprintf(file, "seed                 : " UH_FMT "\n", ptr_struct->seed);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dscp                 : "UH_FMT"\n", ptr_struct->dscp);
+	fprintf(file, "swap_crc_bytes       : " UH_FMT "\n", ptr_struct->swap_crc_bytes);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecn                  : "UH_FMT"\n", ptr_struct->ecn);
+	fprintf(file, "swap_crc_bits        : " UH_FMT "\n", ptr_struct->swap_crc_bits);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "f_eth_prio           : "UH_FMT"\n", ptr_struct->f_eth_prio);
+	fprintf(file, "invert_crc           : " UH_FMT "\n", ptr_struct->invert_crc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "f_ecn                : "UH_FMT"\n", ptr_struct->f_ecn);
+	fprintf(file, "regular              : " UH_FMT "\n", ptr_struct->regular);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "f_dscp               : "UH_FMT"\n", ptr_struct->f_dscp);
+	fprintf(file, "sig_type             : " UH_FMT "\n", ptr_struct->sig_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rmac_47_32           : "UH_FMT"\n", ptr_struct->rmac_47_32);
+	fprintf(file, "dif_app_tag_bit_check_en : " UH_FMT "\n", ptr_struct->dif_app_tag_bit_check_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
+	fprintf(file, "dif_guard_check_type : " UH_FMT "\n", ptr_struct->dif_guard_check_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "dif_learn_mode       : " UH_FMT "\n", ptr_struct->dif_learn_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_prio             : "UH_FMT"\n", ptr_struct->eth_prio);
+	fprintf(file, "dif_learn_app_tag    : " UH_FMT "\n", ptr_struct->dif_learn_app_tag);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dei_cfi              : "UH_FMT"\n", ptr_struct->dei_cfi);
+	fprintf(file, "dif_learn_ref_tag    : " UH_FMT "\n", ptr_struct->dif_learn_ref_tag);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rmac_31_0            : "U32H_FMT"\n", ptr_struct->rmac_31_0);
+	fprintf(file, "dif_inc_ref_tag      : " UH_FMT "\n", ptr_struct->dif_inc_ref_tag);
 
 }
 
-int connectib_sw_ads_size(void){
-	 return 44;
+int connectib_hw_pdf_decoder_size(void)
+{
+	 return 8;
 }
 
-void connectib_sw_ads_dump(const struct connectib_sw_ads *ptr_struct, FILE* file) {
-	connectib_sw_ads_print(ptr_struct, file, 0);
+void connectib_hw_pdf_decoder_dump(const struct connectib_hw_pdf_decoder *ptr_struct, FILE* file)
+{
+	connectib_hw_pdf_decoder_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_msix_ext_context_pack(const struct connectib_hw_msix_ext_context *ptr_struct, u_int8_t* ptr_buff){
+void connectib_serdes_conf_tx_set_ini_pack(const struct connectib_serdes_conf_tx_set_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mask_3_0);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ob_preemp_pre);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->disable_3_0);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pre_polarity);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->need);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ob_preemp_post);
 
-	offset=76;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->timestamp_51_32);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_polarity);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->min_wait);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ob_preemp_main);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->main_polarity);
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->preemp_mode);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->timestamp_31_0);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ob_bias);
 
 }
 
-void connectib_hw_msix_ext_context_unpack(struct connectib_hw_msix_ext_context *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_serdes_conf_tx_set_ini_unpack(struct connectib_serdes_conf_tx_set_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->mask_3_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 25;
+	ptr_struct->ob_preemp_pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=24;
-	ptr_struct->disable_3_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->pre_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=23;
-	ptr_struct->need = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 17;
+	ptr_struct->ob_preemp_post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=76;
-	ptr_struct->timestamp_51_32 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+	offset = 16;
+	ptr_struct->post_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->min_wait = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 9;
+	ptr_struct->ob_preemp_main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=96;
-	ptr_struct->timestamp_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->main_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 6;
+	ptr_struct->preemp_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 2;
+	ptr_struct->ob_bias = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_msix_ext_context_print(const struct connectib_hw_msix_ext_context *ptr_struct, FILE* file, int indent_level){
+void connectib_serdes_conf_tx_set_ini_print(const struct connectib_serdes_conf_tx_set_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_msix_ext_context ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_serdes_conf_tx_set_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mask_3_0             : "UH_FMT"\n", ptr_struct->mask_3_0);
+	fprintf(file, "ob_preemp_pre        : " UH_FMT "\n", ptr_struct->ob_preemp_pre);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "disable_3_0          : "UH_FMT"\n", ptr_struct->disable_3_0);
+	fprintf(file, "pre_polarity         : " UH_FMT "\n", ptr_struct->pre_polarity);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "need                 : "UH_FMT"\n", ptr_struct->need);
+	fprintf(file, "ob_preemp_post       : " UH_FMT "\n", ptr_struct->ob_preemp_post);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_51_32      : "UH_FMT"\n", ptr_struct->timestamp_51_32);
+	fprintf(file, "post_polarity        : " UH_FMT "\n", ptr_struct->post_polarity);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "min_wait             : "UH_FMT"\n", ptr_struct->min_wait);
+	fprintf(file, "ob_preemp_main       : " UH_FMT "\n", ptr_struct->ob_preemp_main);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_31_0       : "U32H_FMT"\n", ptr_struct->timestamp_31_0);
+	fprintf(file, "main_polarity        : " UH_FMT "\n", ptr_struct->main_polarity);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "preemp_mode          : " UH_FMT "\n", ptr_struct->preemp_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ob_bias              : " UH_FMT "\n", ptr_struct->ob_bias);
 
 }
 
-int connectib_hw_msix_ext_context_size(void){
-	 return 16;
+int connectib_serdes_conf_tx_set_ini_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_msix_ext_context_dump(const struct connectib_hw_msix_ext_context *ptr_struct, FILE* file) {
-	connectib_hw_msix_ext_context_print(ptr_struct, file, 0);
+void connectib_serdes_conf_tx_set_ini_dump(const struct connectib_serdes_conf_tx_set_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_conf_tx_set_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_msix_context_pack(const struct connectib_hw_msix_context *ptr_struct, u_int8_t* ptr_buff){
+void connectib_serdes_conf_rx_set_ini_pack(const struct connectib_serdes_conf_rx_set_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->addr_31_2_);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->slicer_ind_en);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->addr_63_32_);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slicer1_enable);
 
-	offset=64;
-	connectib_hw_msix_context_data_pack(&(ptr_struct->data), ptr_buff + offset/8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slicer2_enable);
 
-	offset=127;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec_mask);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap0);
 
-}
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap1);
 
-void connectib_hw_msix_context_unpack(struct connectib_hw_msix_context *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap2);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap3);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap4);
+
+}
+
+void connectib_serdes_conf_rx_set_ini_unpack(struct connectib_serdes_conf_rx_set_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->addr_31_2_ = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+	offset = 24;
+	ptr_struct->slicer_ind_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	ptr_struct->addr_63_32_ = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 20;
+	ptr_struct->slicer1_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	connectib_hw_msix_context_data_unpack(&(ptr_struct->data), ptr_buff + offset/8);
+	offset = 16;
+	ptr_struct->slicer2_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=127;
-	ptr_struct->spec_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->ffe_tap0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->ffe_tap1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 56;
+	ptr_struct->ffe_tap2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 48;
+	ptr_struct->ffe_tap3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 40;
+	ptr_struct->ffe_tap4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_hw_msix_context_print(const struct connectib_hw_msix_context *ptr_struct, FILE* file, int indent_level){
+void connectib_serdes_conf_rx_set_ini_print(const struct connectib_serdes_conf_rx_set_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_msix_context ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_serdes_conf_rx_set_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_31_2_           : "UH_FMT"\n", ptr_struct->addr_31_2_);
+	fprintf(file, "slicer_ind_en        : " UH_FMT "\n", ptr_struct->slicer_ind_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_63_32_          : "U32H_FMT"\n", ptr_struct->addr_63_32_);
+	fprintf(file, "slicer1_enable       : " UH_FMT "\n", ptr_struct->slicer1_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data:\n");
-	connectib_hw_msix_context_data_print(&(ptr_struct->data), file, indent_level + 1);
+	fprintf(file, "slicer2_enable       : " UH_FMT "\n", ptr_struct->slicer2_enable);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ffe_tap0             : " UH_FMT "\n", ptr_struct->ffe_tap0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ffe_tap1             : " UH_FMT "\n", ptr_struct->ffe_tap1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spec_mask            : "UH_FMT"\n", ptr_struct->spec_mask);
+	fprintf(file, "ffe_tap2             : " UH_FMT "\n", ptr_struct->ffe_tap2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ffe_tap3             : " UH_FMT "\n", ptr_struct->ffe_tap3);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ffe_tap4             : " UH_FMT "\n", ptr_struct->ffe_tap4);
 
 }
 
-int connectib_hw_msix_context_size(void){
-	 return 16;
+int connectib_serdes_conf_rx_set_ini_size(void)
+{
+	 return 8;
 }
 
-void connectib_hw_msix_context_dump(const struct connectib_hw_msix_context *ptr_struct, FILE* file) {
-	connectib_hw_msix_context_print(ptr_struct, file, 0);
+void connectib_serdes_conf_rx_set_ini_dump(const struct connectib_serdes_conf_rx_set_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_conf_rx_set_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_rdb_atomic_data_pack(const struct connectib_hw_rdb_atomic_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_aba_index_pack(const struct connectib_aba_index *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->atomic_data[i]);
-	}
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index0_start);
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index0_end);
+
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index0);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index1_start);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index1_end);
+
+	offset = 58;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index1);
+
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index2_start);
+
+	offset = 46;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index2_end);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index2);
+
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index3_start);
+
+	offset = 90;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index3_end);
+
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index3);
+
+	offset = 78;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index4_start);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index4_end);
+
+	offset = 66;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index4);
+
+	offset = 122;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index5_start);
+
+	offset = 116;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index5_end);
+
+	offset = 110;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->aba_index5);
 
 }
 
-void connectib_hw_rdb_atomic_data_unpack(struct connectib_hw_rdb_atomic_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_aba_index_unpack(struct connectib_aba_index *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	ptr_struct->atomic_data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 26;
+	ptr_struct->aba_index0_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 20;
+	ptr_struct->aba_index0_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 14;
+	ptr_struct->aba_index0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 8;
+	ptr_struct->aba_index1_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 2;
+	ptr_struct->aba_index1_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 58;
+	ptr_struct->aba_index1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 52;
+	ptr_struct->aba_index2_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 46;
+	ptr_struct->aba_index2_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 40;
+	ptr_struct->aba_index2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 34;
+	ptr_struct->aba_index3_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 90;
+	ptr_struct->aba_index3_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 84;
+	ptr_struct->aba_index3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 78;
+	ptr_struct->aba_index4_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 72;
+	ptr_struct->aba_index4_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 66;
+	ptr_struct->aba_index4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 122;
+	ptr_struct->aba_index5_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 116;
+	ptr_struct->aba_index5_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 110;
+	ptr_struct->aba_index5 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
 }
 
-void connectib_hw_rdb_atomic_data_print(const struct connectib_hw_rdb_atomic_data *ptr_struct, FILE* file, int indent_level){
+void connectib_aba_index_print(const struct connectib_aba_index *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_rdb_atomic_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_aba_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_data_%03d     : "U32H_FMT"\n", i, ptr_struct->atomic_data[i]);
-	}
+	fprintf(file, "aba_index0_start     : " UH_FMT "\n", ptr_struct->aba_index0_start);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index0_end       : " UH_FMT "\n", ptr_struct->aba_index0_end);
 
-int connectib_hw_rdb_atomic_data_size(void){
-	 return 32;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index0           : " UH_FMT "\n", ptr_struct->aba_index0);
 
-void connectib_hw_rdb_atomic_data_dump(const struct connectib_hw_rdb_atomic_data *ptr_struct, FILE* file) {
-	connectib_hw_rdb_atomic_data_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index1_start     : " UH_FMT "\n", ptr_struct->aba_index1_start);
 
-void connectib_hw_mtt2_pack(const struct connectib_hw_mtt2 *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index1_end       : " UH_FMT "\n", ptr_struct->aba_index1_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index1           : " UH_FMT "\n", ptr_struct->aba_index1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index2_start     : " UH_FMT "\n", ptr_struct->aba_index2_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index2_end       : " UH_FMT "\n", ptr_struct->aba_index2_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index2           : " UH_FMT "\n", ptr_struct->aba_index2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index3_start     : " UH_FMT "\n", ptr_struct->aba_index3_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index3_end       : " UH_FMT "\n", ptr_struct->aba_index3_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index3           : " UH_FMT "\n", ptr_struct->aba_index3);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index4_start     : " UH_FMT "\n", ptr_struct->aba_index4_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index4_end       : " UH_FMT "\n", ptr_struct->aba_index4_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index4           : " UH_FMT "\n", ptr_struct->aba_index4);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index5_start     : " UH_FMT "\n", ptr_struct->aba_index5_start);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hi);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index5_end       : " UH_FMT "\n", ptr_struct->aba_index5_end);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->lo);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aba_index5           : " UH_FMT "\n", ptr_struct->aba_index5);
 
 }
 
-void connectib_hw_mtt2_unpack(struct connectib_hw_mtt2 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+int connectib_aba_index_size(void)
+{
+	 return 16;
+}
 
-	offset=0;
-	ptr_struct->hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_aba_index_dump(const struct connectib_aba_index *ptr_struct, FILE* file)
+{
+	connectib_aba_index_print(ptr_struct, file, 0);
+}
 
-	offset=32;
-	ptr_struct->lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_cmdif_ctx_special_qp_commands_specific_pack(const union connectib_cmdif_ctx_special_qp_commands_specific *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_cmdif_ctx_special_qp_commands_other_pack(&(ptr_struct->other), ptr_buff);
+}
 
+void connectib_cmdif_ctx_special_qp_commands_specific_unpack(union connectib_cmdif_ctx_special_qp_commands_specific *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_cmdif_ctx_special_qp_commands_other_unpack(&(ptr_struct->other), ptr_buff);
 }
 
-void connectib_hw_mtt2_print(const struct connectib_hw_mtt2 *ptr_struct, FILE* file, int indent_level){
+void connectib_cmdif_ctx_special_qp_commands_specific_print(const union connectib_cmdif_ctx_special_qp_commands_specific *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_mtt2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cmdif_ctx_special_qp_commands_specific ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hi                   : "U32H_FMT"\n", ptr_struct->hi);
+	fprintf(file, "rts2rts:\n");
+	connectib_cmdif_ctx_special_qp_commands_rts2rts_print(&(ptr_struct->rts2rts), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lo                   : "U32H_FMT"\n", ptr_struct->lo);
+	fprintf(file, "other:\n");
+	connectib_cmdif_ctx_special_qp_commands_other_print(&(ptr_struct->other), file, indent_level + 1);
 
 }
 
-int connectib_hw_mtt2_size(void){
-	 return 8;
+int connectib_cmdif_ctx_special_qp_commands_specific_size(void)
+{
+	 return 16;
 }
 
-void connectib_hw_mtt2_dump(const struct connectib_hw_mtt2 *ptr_struct, FILE* file) {
-	connectib_hw_mtt2_print(ptr_struct, file, 0);
+void connectib_cmdif_ctx_special_qp_commands_specific_dump(const union connectib_cmdif_ctx_special_qp_commands_specific *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_qp_commands_specific_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_mtt_pack(const struct connectib_hw_mtt *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pmcr_reg_pack(const struct connectib_pmcr_reg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pas_63_32);
-
-	offset=63;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rd_en);
-
-	offset=62;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wr_en);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->pas_31_3);
-
 }
 
-void connectib_hw_mtt_unpack(struct connectib_hw_mtt *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pmcr_reg_unpack(struct connectib_pmcr_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->pas_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=63;
-	ptr_struct->rd_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=62;
-	ptr_struct->wr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	ptr_struct->pas_31_3 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
-
 }
 
-void connectib_hw_mtt_print(const struct connectib_hw_mtt *ptr_struct, FILE* file, int indent_level){
+void connectib_pmcr_reg_print(const struct connectib_pmcr_reg *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_mtt ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pmcr_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pas_63_32            : "U32H_FMT"\n", ptr_struct->pas_63_32);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rd_en                : "UH_FMT"\n", ptr_struct->rd_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wr_en                : "UH_FMT"\n", ptr_struct->wr_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pas_31_3             : "UH_FMT"\n", ptr_struct->pas_31_3);
-
 }
 
-int connectib_hw_mtt_size(void){
-	 return 8;
+int connectib_pmcr_reg_size(void)
+{
+	 return 24;
 }
 
-void connectib_hw_mtt_dump(const struct connectib_hw_mtt *ptr_struct, FILE* file) {
-	connectib_hw_mtt_print(ptr_struct, file, 0);
+void connectib_pmcr_reg_dump(const struct connectib_pmcr_reg *ptr_struct, FILE* file)
+{
+	connectib_pmcr_reg_print(ptr_struct, file, 0);
 }
 
-void connectib_steering_qp_list_pack(const struct connectib_steering_qp_list *ptr_struct, u_int8_t* ptr_buff){
+void connectib_mpein_reg_pack(const struct connectib_mpein_reg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry0), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pcie_index);
 
-	offset=32;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry1), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->capability_mask);
 
-	offset=64;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry2), ptr_buff + offset/8);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->link_speed_enabled);
 
-	offset=96;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry3), ptr_buff + offset/8);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_width_enabled);
 
-	offset=128;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry4), ptr_buff + offset/8);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->link_speed_active);
 
-	offset=160;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry5), ptr_buff + offset/8);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_width_active);
 
-	offset=192;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry6), ptr_buff + offset/8);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lane0_physical_position);
 
-	offset=224;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry7), ptr_buff + offset/8);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_of_vfs);
 
-	offset=256;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry8), ptr_buff + offset/8);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_of_pfs);
 
-	offset=288;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry9), ptr_buff + offset/8);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->bdf0);
 
-	offset=320;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry10), ptr_buff + offset/8);
+	offset = 223;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lane_reversal);
 
-	offset=352;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry11), ptr_buff + offset/8);
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_type);
 
-	offset=384;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry12), ptr_buff + offset/8);
+	offset = 196;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_payload_size);
 
-	offset=416;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry13), ptr_buff + offset/8);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_read_request_size);
 
-	offset=448;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry14), ptr_buff + offset/8);
+	offset = 304;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_state);
 
-	offset=480;
-	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry15), ptr_buff + offset/8);
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_status);
+
+	offset = 336;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->receiver_detect_result);
 
 }
 
-void connectib_steering_qp_list_unpack(struct connectib_steering_qp_list *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_mpein_reg_unpack(struct connectib_mpein_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry0), ptr_buff + offset/8);
+	offset = 8;
+	ptr_struct->pcie_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry1), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->capability_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry2), ptr_buff + offset/8);
+	offset = 80;
+	ptr_struct->link_speed_enabled = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=96;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry3), ptr_buff + offset/8);
+	offset = 72;
+	ptr_struct->link_width_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=128;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry4), ptr_buff + offset/8);
+	offset = 112;
+	ptr_struct->link_speed_active = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=160;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry5), ptr_buff + offset/8);
+	offset = 104;
+	ptr_struct->link_width_active = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=192;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry6), ptr_buff + offset/8);
+	offset = 96;
+	ptr_struct->lane0_physical_position = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=224;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry7), ptr_buff + offset/8);
+	offset = 144;
+	ptr_struct->num_of_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=256;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry8), ptr_buff + offset/8);
+	offset = 128;
+	ptr_struct->num_of_pfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=288;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry9), ptr_buff + offset/8);
+	offset = 160;
+	ptr_struct->bdf0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=320;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry10), ptr_buff + offset/8);
+	offset = 223;
+	ptr_struct->lane_reversal = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry11), ptr_buff + offset/8);
+	offset = 208;
+	ptr_struct->port_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry12), ptr_buff + offset/8);
+	offset = 196;
+	ptr_struct->max_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=416;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry13), ptr_buff + offset/8);
+	offset = 192;
+	ptr_struct->max_read_request_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=448;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry14), ptr_buff + offset/8);
+	offset = 304;
+	ptr_struct->port_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=480;
-	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry15), ptr_buff + offset/8);
+	offset = 288;
+	ptr_struct->device_status = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 336;
+	ptr_struct->receiver_detect_result = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_steering_qp_list_print(const struct connectib_steering_qp_list *ptr_struct, FILE* file, int indent_level){
+void connectib_mpein_reg_print(const struct connectib_mpein_reg *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_steering_qp_list ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_mpein_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry0:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry0), file, indent_level + 1);
+	fprintf(file, "pcie_index           : " UH_FMT "\n", ptr_struct->pcie_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry1:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry1), file, indent_level + 1);
+	fprintf(file, "capability_mask      : " U32H_FMT "\n", ptr_struct->capability_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry2:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry2), file, indent_level + 1);
+	fprintf(file, "link_speed_enabled   : " UH_FMT "\n", ptr_struct->link_speed_enabled);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry3:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry3), file, indent_level + 1);
+	fprintf(file, "link_width_enabled   : " UH_FMT "\n", ptr_struct->link_width_enabled);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry4:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry4), file, indent_level + 1);
+	fprintf(file, "link_speed_active    : " UH_FMT "\n", ptr_struct->link_speed_active);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry5:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry5), file, indent_level + 1);
+	fprintf(file, "link_width_active    : " UH_FMT "\n", ptr_struct->link_width_active);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry6:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry6), file, indent_level + 1);
+	fprintf(file, "lane0_physical_position : " UH_FMT "\n", ptr_struct->lane0_physical_position);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry7:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry7), file, indent_level + 1);
+	fprintf(file, "num_of_vfs           : " UH_FMT "\n", ptr_struct->num_of_vfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry8:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry8), file, indent_level + 1);
+	fprintf(file, "num_of_pfs           : " UH_FMT "\n", ptr_struct->num_of_pfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry9:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry9), file, indent_level + 1);
+	fprintf(file, "bdf0                 : " UH_FMT "\n", ptr_struct->bdf0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry10:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry10), file, indent_level + 1);
+	fprintf(file, "lane_reversal        : " UH_FMT "\n", ptr_struct->lane_reversal);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry11:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry11), file, indent_level + 1);
+	fprintf(file, "port_type            : " UH_FMT "\n", ptr_struct->port_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry12:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry12), file, indent_level + 1);
+	fprintf(file, "max_payload_size     : " UH_FMT "\n", ptr_struct->max_payload_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry13:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry13), file, indent_level + 1);
+	fprintf(file, "max_read_request_size : " UH_FMT "\n", ptr_struct->max_read_request_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry14:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry14), file, indent_level + 1);
+	fprintf(file, "port_state           : " UH_FMT "\n", ptr_struct->port_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_entry15:\n");
-	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry15), file, indent_level + 1);
+	fprintf(file, "device_status        : " UH_FMT "\n", ptr_struct->device_status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "receiver_detect_result : " UH_FMT "\n", ptr_struct->receiver_detect_result);
 
 }
 
-int connectib_steering_qp_list_size(void){
-	 return 64;
+int connectib_mpein_reg_size(void)
+{
+	 return 44;
 }
 
-void connectib_steering_qp_list_dump(const struct connectib_steering_qp_list *ptr_struct, FILE* file) {
-	connectib_steering_qp_list_print(ptr_struct, file, 0);
+void connectib_mpein_reg_dump(const struct connectib_mpein_reg *ptr_struct, FILE* file)
+{
+	connectib_mpein_reg_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_pack(const struct connectib_hw_ste *ptr_struct, u_int8_t* ptr_buff){
+void connectib_mvts_pack(const struct connectib_mvts *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->member_count);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_timestamp_flag);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_packet_qp);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->running_flag);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_fw_int);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clear_all_ts_flag);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rx_cmd);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->fw_ver_major);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_byte_counters_trigger);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->fw_ver_subminor);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_packet_counters_trigger);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->fw_ver_minor);
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_byte_counters_trigger);
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ts_day);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_packet_counters_trigger);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ts_month);
 
-	offset=37;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_sniffer);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ts_year);
 
-	offset=36;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_func_lb);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ts_seconds);
 
-	offset=35;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_wire);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ts_minutes);
 
-	offset=34;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_fw_int);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ts_hour);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->sx_cmd);
+}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_lookup_type);
+void connectib_mvts_unpack(struct connectib_mvts *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hit_lookup_type_hash_field_mask);
+	offset = 2;
+	ptr_struct->check_timestamp_flag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=114;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_hit_entry_size);
+	offset = 1;
+	ptr_struct->running_flag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	offset = 0;
+	ptr_struct->clear_all_ts_flag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hit_base_address_63_32);
+	offset = 32;
+	ptr_struct->fw_ver_major = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=184;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hit_lookup_type);
+	offset = 80;
+	ptr_struct->fw_ver_subminor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->hit_base_address_31_8);
+	offset = 64;
+	ptr_struct->fw_ver_minor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->miss_address_63_32);
+	offset = 120;
+	ptr_struct->ts_day = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=250;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_hit_table_size);
+	offset = 112;
+	ptr_struct->ts_month = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 26, (u_int32_t)ptr_struct->miss_address_31_6);
+	offset = 96;
+	ptr_struct->ts_year = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=256;
-	connectib_hw_ste_tag_pack(&(ptr_struct->tag_data), ptr_buff + offset/8);
+	offset = 144;
+	ptr_struct->ts_seconds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=384;
-	connectib_hw_ste_tag_pack(&(ptr_struct->tag_mask), ptr_buff + offset/8);
+	offset = 136;
+	ptr_struct->ts_minutes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 128;
+	ptr_struct->ts_hour = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_mvts_print(const struct connectib_mvts *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mvts ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "check_timestamp_flag : " UH_FMT "\n", ptr_struct->check_timestamp_flag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "running_flag         : " UH_FMT "\n", ptr_struct->running_flag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "clear_all_ts_flag    : " UH_FMT "\n", ptr_struct->clear_all_ts_flag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ver_major         : " UH_FMT "\n", ptr_struct->fw_ver_major);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ver_subminor      : " UH_FMT "\n", ptr_struct->fw_ver_subminor);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ver_minor         : " UH_FMT "\n", ptr_struct->fw_ver_minor);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts_day               : " UH_FMT "\n", ptr_struct->ts_day);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts_month             : " UH_FMT "\n", ptr_struct->ts_month);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts_year              : " UH_FMT "\n", ptr_struct->ts_year);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts_seconds           : " UH_FMT "\n", ptr_struct->ts_seconds);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts_minutes           : " UH_FMT "\n", ptr_struct->ts_minutes);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts_hour              : " UH_FMT "\n", ptr_struct->ts_hour);
+
+}
+
+int connectib_mvts_size(void)
+{
+	 return 20;
+}
+
+void connectib_mvts_dump(const struct connectib_mvts *ptr_struct, FILE* file)
+{
+	connectib_mvts_print(ptr_struct, file, 0);
+}
+
+void connectib_pmlp_pack(const union connectib_pmlp *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_pmlp_code_style_pack(&(ptr_struct->code_style), ptr_buff);
+}
+
+void connectib_pmlp_unpack(union connectib_pmlp *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_pmlp_code_style_unpack(&(ptr_struct->code_style), ptr_buff);
+}
+
+void connectib_pmlp_print(const union connectib_pmlp *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pmlp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prm_style:\n");
+	connectib_pmlp_prm_style_print(&(ptr_struct->prm_style), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "code_style:\n");
+	connectib_pmlp_code_style_print(&(ptr_struct->code_style), file, indent_level + 1);
+
+}
+
+int connectib_pmlp_size(void)
+{
+	 return 36;
+}
 
+void connectib_pmlp_dump(const union connectib_pmlp *ptr_struct, FILE* file)
+{
+	connectib_pmlp_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_ste_unpack(struct connectib_hw_ste *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pplm_reg_pack(const struct connectib_pplm_reg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->member_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
 
-	offset=3;
-	ptr_struct->rx_packet_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->active_port_profile);
 
-	offset=2;
-	ptr_struct->rx_fw_int = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->static_port_profile);
 
-	offset=0;
-	ptr_struct->rx_cmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_profile_mode);
 
-	offset=56;
-	ptr_struct->pport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->fec_mode_active);
 
-	offset=48;
-	ptr_struct->pport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->retransmission_active);
 
-	offset=44;
-	ptr_struct->vport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 156;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_cap_10g_40g);
 
-	offset=40;
-	ptr_struct->vport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_cap_25g);
 
-	offset=37;
-	ptr_struct->sx_sniffer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 148;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_cap_50g);
 
-	offset=36;
-	ptr_struct->sx_func_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_cap_100g);
 
-	offset=35;
-	ptr_struct->sx_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 140;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_cap_56g);
 
-	offset=34;
-	ptr_struct->sx_fw_int = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_correction_bypass_cap);
 
-	offset=32;
-	ptr_struct->sx_cmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 188;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_admin_10g_40g);
 
-	offset=64;
-	ptr_struct->my_lookup_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 184;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_admin_25g);
 
-	offset=120;
-	ptr_struct->hit_lookup_type_hash_field_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 180;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_admin_50g);
 
-	offset=114;
-	ptr_struct->log2_hit_entry_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_admin_100g);
 
-	offset=96;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 172;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fec_override_admin_56g);
 
-	offset=128;
-	ptr_struct->hit_base_address_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rs_fec_correction_bypass_admin);
 
-	offset=184;
-	ptr_struct->hit_lookup_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=160;
-	ptr_struct->hit_base_address_31_8 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_pplm_reg_unpack(struct connectib_pplm_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=192;
-	ptr_struct->miss_address_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=250;
-	ptr_struct->log2_hit_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 80;
+	ptr_struct->active_port_profile = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=224;
-	ptr_struct->miss_address_31_6 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 26);
+	offset = 72;
+	ptr_struct->static_port_profile = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=256;
-	connectib_hw_ste_tag_unpack(&(ptr_struct->tag_data), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->port_profile_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=384;
-	connectib_hw_ste_tag_unpack(&(ptr_struct->tag_mask), ptr_buff + offset/8);
+	offset = 104;
+	ptr_struct->fec_mode_active = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-}
+	offset = 96;
+	ptr_struct->retransmission_active = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-void connectib_hw_ste_print(const struct connectib_hw_ste *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_ste ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 156;
+	ptr_struct->fec_override_cap_10g_40g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "member_count         : "UH_FMT"\n", ptr_struct->member_count);
+	offset = 152;
+	ptr_struct->fec_override_cap_25g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_packet_qp         : "UH_FMT"\n", ptr_struct->rx_packet_qp);
+	offset = 148;
+	ptr_struct->fec_override_cap_50g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_fw_int            : "UH_FMT"\n", ptr_struct->rx_fw_int);
+	offset = 144;
+	ptr_struct->fec_override_cap_100g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_cmd               : "UH_FMT"\n", ptr_struct->rx_cmd);
+	offset = 140;
+	ptr_struct->fec_override_cap_56g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pport_byte_counters_trigger : "UH_FMT"\n", ptr_struct->pport_byte_counters_trigger);
+	offset = 128;
+	ptr_struct->rs_fec_correction_bypass_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pport_packet_counters_trigger : "UH_FMT"\n", ptr_struct->pport_packet_counters_trigger);
+	offset = 188;
+	ptr_struct->fec_override_admin_10g_40g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 184;
+	ptr_struct->fec_override_admin_25g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 180;
+	ptr_struct->fec_override_admin_50g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 176;
+	ptr_struct->fec_override_admin_100g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 172;
+	ptr_struct->fec_override_admin_56g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
+	offset = 160;
+	ptr_struct->rs_fec_correction_bypass_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_pplm_reg_print(const struct connectib_pplm_reg *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_byte_counters_trigger : "UH_FMT"\n", ptr_struct->vport_byte_counters_trigger);
+	fprintf(file, "======== connectib_pplm_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_packet_counters_trigger : "UH_FMT"\n", ptr_struct->vport_packet_counters_trigger);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_sniffer           : "UH_FMT"\n", ptr_struct->sx_sniffer);
+	fprintf(file, "active_port_profile  : " UH_FMT "\n", ptr_struct->active_port_profile);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_func_lb           : "UH_FMT"\n", ptr_struct->sx_func_lb);
+	fprintf(file, "static_port_profile  : " UH_FMT "\n", ptr_struct->static_port_profile);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_wire              : "UH_FMT"\n", ptr_struct->sx_wire);
+	fprintf(file, "port_profile_mode    : " UH_FMT "\n", ptr_struct->port_profile_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_fw_int            : "UH_FMT"\n", ptr_struct->sx_fw_int);
+	fprintf(file, "fec_mode_active      : " UH_FMT "\n", ptr_struct->fec_mode_active);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_cmd               : "UH_FMT"\n", ptr_struct->sx_cmd);
+	fprintf(file, "retransmission_active : " UH_FMT "\n", ptr_struct->retransmission_active);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_lookup_type       : "UH_FMT"\n", ptr_struct->my_lookup_type);
+	fprintf(file, "fec_override_cap_10g_40g : " UH_FMT "\n", ptr_struct->fec_override_cap_10g_40g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hit_lookup_type_hash_field_mask : "UH_FMT"\n", ptr_struct->hit_lookup_type_hash_field_mask);
+	fprintf(file, "fec_override_cap_25g : " UH_FMT "\n", ptr_struct->fec_override_cap_25g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_hit_entry_size  : "UH_FMT"\n", ptr_struct->log2_hit_entry_size);
+	fprintf(file, "fec_override_cap_50g : " UH_FMT "\n", ptr_struct->fec_override_cap_50g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "fec_override_cap_100g : " UH_FMT "\n", ptr_struct->fec_override_cap_100g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hit_base_address_63_32 : "U32H_FMT"\n", ptr_struct->hit_base_address_63_32);
+	fprintf(file, "fec_override_cap_56g : " UH_FMT "\n", ptr_struct->fec_override_cap_56g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hit_lookup_type      : "UH_FMT"\n", ptr_struct->hit_lookup_type);
+	fprintf(file, "rs_fec_correction_bypass_cap : " UH_FMT "\n", ptr_struct->rs_fec_correction_bypass_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hit_base_address_31_8 : "UH_FMT"\n", ptr_struct->hit_base_address_31_8);
+	fprintf(file, "fec_override_admin_10g_40g : " UH_FMT "\n", ptr_struct->fec_override_admin_10g_40g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "miss_address_63_32   : "U32H_FMT"\n", ptr_struct->miss_address_63_32);
+	fprintf(file, "fec_override_admin_25g : " UH_FMT "\n", ptr_struct->fec_override_admin_25g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_hit_table_size  : "UH_FMT"\n", ptr_struct->log2_hit_table_size);
+	fprintf(file, "fec_override_admin_50g : " UH_FMT "\n", ptr_struct->fec_override_admin_50g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "miss_address_31_6    : "UH_FMT"\n", ptr_struct->miss_address_31_6);
+	fprintf(file, "fec_override_admin_100g : " UH_FMT "\n", ptr_struct->fec_override_admin_100g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tag_data:\n");
-	connectib_hw_ste_tag_print(&(ptr_struct->tag_data), file, indent_level + 1);
+	fprintf(file, "fec_override_admin_56g : " UH_FMT "\n", ptr_struct->fec_override_admin_56g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tag_mask:\n");
-	connectib_hw_ste_tag_print(&(ptr_struct->tag_mask), file, indent_level + 1);
+	fprintf(file, "rs_fec_correction_bypass_admin : " UH_FMT "\n", ptr_struct->rs_fec_correction_bypass_admin);
 
 }
 
-int connectib_hw_ste_size(void){
-	 return 64;
+int connectib_pplm_reg_size(void)
+{
+	 return 24;
 }
 
-void connectib_hw_ste_dump(const struct connectib_hw_ste *ptr_struct, FILE* file) {
-	connectib_hw_ste_print(ptr_struct, file, 0);
+void connectib_pplm_reg_dump(const struct connectib_pplm_reg *ptr_struct, FILE* file)
+{
+	connectib_pplm_reg_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_timer_pack(const struct connectib_hw_timer *ptr_struct, u_int8_t* ptr_buff){
+void connectib_plpc_reg_pack(const struct connectib_plpc_reg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->timer_granularity);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->timer_state);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->timer_valid);
-
-}
-
-void connectib_hw_timer_unpack(struct connectib_hw_timer *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->proto_mask);
 
-	offset=3;
-	ptr_struct->timer_granularity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->profile_id);
 
-	offset=1;
-	ptr_struct->timer_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lane_speed);
 
-	offset=0;
-	ptr_struct->timer_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->fec_mode_policy);
 
-}
+	offset = 87;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lpbf);
 
-void connectib_hw_timer_print(const struct connectib_hw_timer *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_timer ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->fec_mode_capability);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timer_granularity    : "UH_FMT"\n", ptr_struct->timer_granularity);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->retransmission_capability);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timer_state          : "UH_FMT"\n", ptr_struct->timer_state);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->fec_mode_support_admin);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timer_valid          : "UH_FMT"\n", ptr_struct->timer_valid);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->retransmission_support_admin);
 
-}
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->fec_mode_request_admin);
 
-int connectib_hw_timer_size(void){
-	 return 1;
-}
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->retransmission_request_admin);
 
-void connectib_hw_timer_dump(const struct connectib_hw_timer *ptr_struct, FILE* file) {
-	connectib_hw_timer_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_pack(const struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, u_int8_t* ptr_buff){
+void connectib_plpc_reg_unpack(struct connectib_plpc_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_check_gen);
+	offset = 20;
+	ptr_struct->proto_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_init);
+	offset = 4;
+	ptr_struct->profile_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->m_pad);
+	offset = 48;
+	ptr_struct->lane_speed = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_check_gen);
+	offset = 88;
+	ptr_struct->fec_mode_policy = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_init);
+	offset = 87;
+	ptr_struct->lpbf = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->w_pad);
+	offset = 104;
+	ptr_struct->fec_mode_capability = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+	offset = 96;
+	ptr_struct->retransmission_capability = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+	offset = 136;
+	ptr_struct->fec_mode_support_admin = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+	offset = 128;
+	ptr_struct->retransmission_support_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->raw_size);
+	offset = 168;
+	ptr_struct->fec_mode_request_admin = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=72;
+	offset = 160;
+	ptr_struct->retransmission_request_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_plpc_reg_print(const struct connectib_plpc_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_plpc_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "proto_mask           : " UH_FMT "\n", ptr_struct->proto_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "profile_id           : " UH_FMT "\n", ptr_struct->profile_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane_speed           : " UH_FMT "\n", ptr_struct->lane_speed);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fec_mode_policy      : " UH_FMT "\n", ptr_struct->fec_mode_policy);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lpbf                 : " UH_FMT "\n", ptr_struct->lpbf);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fec_mode_capability  : " UH_FMT "\n", ptr_struct->fec_mode_capability);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "retransmission_capability : " UH_FMT "\n", ptr_struct->retransmission_capability);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fec_mode_support_admin : " UH_FMT "\n", ptr_struct->fec_mode_support_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "retransmission_support_admin : " UH_FMT "\n", ptr_struct->retransmission_support_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fec_mode_request_admin : " UH_FMT "\n", ptr_struct->fec_mode_request_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "retransmission_request_admin : " UH_FMT "\n", ptr_struct->retransmission_request_admin);
+
+}
+
+int connectib_plpc_reg_size(void)
+{
+	 return 40;
+}
+
+void connectib_plpc_reg_dump(const struct connectib_plpc_reg *ptr_struct, FILE* file)
+{
+	connectib_plpc_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pplr_reg_pack(const struct connectib_pplr_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pplr_reg_unpack(struct connectib_pplr_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pplr_reg_print(const struct connectib_pplr_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pplr_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_pplr_reg_size(void)
+{
+	 return 8;
+}
+
+void connectib_pplr_reg_dump(const struct connectib_pplr_reg *ptr_struct, FILE* file)
+{
+	connectib_pplr_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_project_nvgn_pack(const struct connectib_project_nvgn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->nv_pointer);
+
+	offset = 128;
+	connectib_nv_tlv_hdr_pack(&(ptr_struct->tlv_header), ptr_buff + offset/8);
+
+	offset = 224;
+	connectib_register_access_data_reduced_pack(&(ptr_struct->tlv_data), ptr_buff + offset/8);
+
+}
+
+void connectib_project_nvgn_unpack(struct connectib_project_nvgn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->nv_pointer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	connectib_nv_tlv_hdr_unpack(&(ptr_struct->tlv_header), ptr_buff + offset/8);
+
+	offset = 224;
+	connectib_register_access_data_reduced_unpack(&(ptr_struct->tlv_data), ptr_buff + offset/8);
+
+}
+
+void connectib_project_nvgn_print(const struct connectib_project_nvgn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_project_nvgn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nv_pointer           : " U32H_FMT "\n", ptr_struct->nv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tlv_header:\n");
+	connectib_nv_tlv_hdr_print(&(ptr_struct->tlv_header), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tlv_data:\n");
+	connectib_register_access_data_reduced_print(&(ptr_struct->tlv_data), file, indent_level + 1);
+
+}
+
+int connectib_project_nvgn_size(void)
+{
+	 return 44;
+}
+
+void connectib_project_nvgn_dump(const struct connectib_project_nvgn *ptr_struct, FILE* file)
+{
+	connectib_project_nvgn_print(ptr_struct, file, 0);
+}
+
+void connectib_project_nvia_pack(const struct connectib_project_nvia *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->target);
+
+}
+
+void connectib_project_nvia_unpack(struct connectib_project_nvia *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 29;
+	ptr_struct->target = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_project_nvia_print(const struct connectib_project_nvia *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_project_nvia ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "target               : " UH_FMT "\n", ptr_struct->target);
+
+}
+
+int connectib_project_nvia_size(void)
+{
+	 return 8;
+}
+
+void connectib_project_nvia_dump(const struct connectib_project_nvia *ptr_struct, FILE* file)
+{
+	connectib_project_nvia_print(ptr_struct, file, 0);
+}
+
+void connectib_project_nvgc_pack(const struct connectib_project_nvgc *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nvda_read_factory_settings);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nvda_read_current_settings);
+
+}
+
+void connectib_project_nvgc_unpack(struct connectib_project_nvgc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->nvda_read_factory_settings = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->nvda_read_current_settings = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_project_nvgc_print(const struct connectib_project_nvgc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_project_nvgc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvda_read_factory_settings : " UH_FMT "\n", ptr_struct->nvda_read_factory_settings);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvda_read_current_settings : " UH_FMT "\n", ptr_struct->nvda_read_current_settings);
+
+}
+
+int connectib_project_nvgc_size(void)
+{
+	 return 16;
+}
+
+void connectib_project_nvgc_dump(const struct connectib_project_nvgc *ptr_struct, FILE* file)
+{
+	connectib_project_nvgc_print(ptr_struct, file, 0);
+}
+
+void connectib_project_nvqc_pack(const struct connectib_project_nvqc *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_nv_tlv_type_pack(&(ptr_struct->type), ptr_buff + offset/8);
+
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->support_rd);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->support_wr);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+
+}
+
+void connectib_project_nvqc_unpack(struct connectib_project_nvqc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_nv_tlv_type_unpack(&(ptr_struct->type), ptr_buff + offset/8);
+
+	offset = 63;
+	ptr_struct->support_rd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 62;
+	ptr_struct->support_wr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 56;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_project_nvqc_print(const struct connectib_project_nvqc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_project_nvqc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type:\n");
+	connectib_nv_tlv_type_print(&(ptr_struct->type), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "support_rd           : " UH_FMT "\n", ptr_struct->support_rd);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "support_wr           : " UH_FMT "\n", ptr_struct->support_wr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
+
+}
+
+int connectib_project_nvqc_size(void)
+{
+	 return 8;
+}
+
+void connectib_project_nvqc_dump(const struct connectib_project_nvqc *ptr_struct, FILE* file)
+{
+	connectib_project_nvqc_print(ptr_struct, file, 0);
+}
+
+void connectib_project_nvda_pack(const struct connectib_project_nvda *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_nv_tlv_hdr_pack(&(ptr_struct->tlv_header), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_register_access_data_pack(&(ptr_struct->nvda_data), ptr_buff + offset/8);
+
+}
+
+void connectib_project_nvda_unpack(struct connectib_project_nvda *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_nv_tlv_hdr_unpack(&(ptr_struct->tlv_header), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_register_access_data_unpack(&(ptr_struct->nvda_data), ptr_buff + offset/8);
+
+}
+
+void connectib_project_nvda_print(const struct connectib_project_nvda *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_project_nvda ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tlv_header:\n");
+	connectib_nv_tlv_hdr_print(&(ptr_struct->tlv_header), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvda_data:\n");
+	connectib_register_access_data_print(&(ptr_struct->nvda_data), file, indent_level + 1);
+
+}
+
+int connectib_project_nvda_size(void)
+{
+	 return 44;
+}
+
+void connectib_project_nvda_dump(const struct connectib_project_nvda *ptr_struct, FILE* file)
+{
+	connectib_project_nvda_print(ptr_struct, file, 0);
+}
+
+void connectib_pmtu_reg_pack(const struct connectib_pmtu_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_mtu);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->admin_mtu);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->oper_mtu);
+
+}
+
+void connectib_pmtu_reg_unpack(struct connectib_pmtu_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->max_mtu = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->admin_mtu = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 96;
+	ptr_struct->oper_mtu = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_pmtu_reg_print(const struct connectib_pmtu_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pmtu_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_mtu              : " UH_FMT "\n", ptr_struct->max_mtu);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "admin_mtu            : " UH_FMT "\n", ptr_struct->admin_mtu);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "oper_mtu             : " UH_FMT "\n", ptr_struct->oper_mtu);
+
+}
+
+int connectib_pmtu_reg_size(void)
+{
+	 return 16;
+}
+
+void connectib_pmtu_reg_dump(const struct connectib_pmtu_reg *ptr_struct, FILE* file)
+{
+	connectib_pmtu_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pamp_reg_pack(const struct connectib_pamp_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pamp_reg_unpack(struct connectib_pamp_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pamp_reg_print(const struct connectib_pamp_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pamp_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_pamp_reg_size(void)
+{
+	 return 44;
+}
+
+void connectib_pamp_reg_dump(const struct connectib_pamp_reg *ptr_struct, FILE* file)
+{
+	connectib_pamp_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_ppaos_reg_pack(const struct connectib_ppaos_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_ppaos_reg_unpack(struct connectib_ppaos_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_ppaos_reg_print(const struct connectib_ppaos_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_ppaos_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_ppaos_reg_size(void)
+{
+	 return 16;
+}
+
+void connectib_ppaos_reg_dump(const struct connectib_ppaos_reg *ptr_struct, FILE* file)
+{
+	connectib_ppaos_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pprt_reg_pack(const struct connectib_pprt_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pprt_reg_unpack(struct connectib_pprt_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pprt_reg_print(const struct connectib_pprt_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pprt_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_pprt_reg_size(void)
+{
+	 return 32;
+}
+
+void connectib_pprt_reg_dump(const struct connectib_pprt_reg *ptr_struct, FILE* file)
+{
+	connectib_pprt_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pptt_reg_pack(const struct connectib_pptt_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pptt_reg_unpack(struct connectib_pptt_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pptt_reg_print(const struct connectib_pptt_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pptt_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_pptt_reg_size(void)
+{
+	 return 28;
+}
+
+void connectib_pptt_reg_dump(const struct connectib_pptt_reg *ptr_struct, FILE* file)
+{
+	connectib_pptt_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_slrg_reg_pack(const struct connectib_slrg_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_slrg_reg_unpack(struct connectib_slrg_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_slrg_reg_print(const struct connectib_slrg_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_slrg_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_slrg_reg_size(void)
+{
+	 return 40;
+}
+
+void connectib_slrg_reg_dump(const struct connectib_slrg_reg *ptr_struct, FILE* file)
+{
+	connectib_slrg_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_ptas_reg_pack(const struct connectib_ptas_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_ptas_reg_unpack(struct connectib_ptas_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_ptas_reg_print(const struct connectib_ptas_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_ptas_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_ptas_reg_size(void)
+{
+	 return 44;
+}
+
+void connectib_ptas_reg_dump(const struct connectib_ptas_reg *ptr_struct, FILE* file)
+{
+	connectib_ptas_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_sltp_reg_pack(const struct connectib_sltp_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_sltp_reg_unpack(struct connectib_sltp_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_sltp_reg_print(const struct connectib_sltp_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sltp_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_sltp_reg_size(void)
+{
+	 return 20;
+}
+
+void connectib_sltp_reg_dump(const struct connectib_sltp_reg *ptr_struct, FILE* file)
+{
+	connectib_sltp_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_slrp_reg_pack(const struct connectib_slrp_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_slrp_reg_unpack(struct connectib_slrp_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_slrp_reg_print(const struct connectib_slrp_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_slrp_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_slrp_reg_size(void)
+{
+	 return 40;
+}
+
+void connectib_slrp_reg_dump(const struct connectib_slrp_reg *ptr_struct, FILE* file)
+{
+	connectib_slrp_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_paos_reg_pack(const struct connectib_paos_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->oper_status);
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->admin_status);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->swid);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->e);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ee);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ase);
+
+}
+
+void connectib_paos_reg_unpack(struct connectib_paos_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->oper_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 20;
+	ptr_struct->admin_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->swid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 62;
+	ptr_struct->e = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 33;
+	ptr_struct->ee = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->ase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_paos_reg_print(const struct connectib_paos_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_paos_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "oper_status          : " UH_FMT "\n", ptr_struct->oper_status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "admin_status         : " UH_FMT "\n", ptr_struct->admin_status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "swid                 : " UH_FMT "\n", ptr_struct->swid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e                    : " UH_FMT "\n", ptr_struct->e);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ee                   : " UH_FMT "\n", ptr_struct->ee);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ase                  : " UH_FMT "\n", ptr_struct->ase);
+
+}
+
+int connectib_paos_reg_size(void)
+{
+	 return 16;
+}
+
+void connectib_paos_reg_dump(const struct connectib_paos_reg *ptr_struct, FILE* file)
+{
+	connectib_paos_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mjtag_pack(const struct connectib_mjtag *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->size);
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sequence_number);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->cmd);
+
+	for (i = 0; i < 10; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 352, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
+	}
+
+}
+
+void connectib_mjtag_unpack(struct connectib_mjtag *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 4;
+	ptr_struct->sequence_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 0;
+	ptr_struct->cmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	for (i = 0; i < 10; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 352, 1);
+	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_mjtag_print(const struct connectib_mjtag *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mjtag ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sequence_number      : " UH_FMT "\n", ptr_struct->sequence_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmd                  : " UH_FMT "\n", ptr_struct->cmd);
+
+	for (i = 0; i < 10; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
+	}
+
+}
+
+int connectib_mjtag_size(void)
+{
+	 return 44;
+}
+
+void connectib_mjtag_dump(const struct connectib_mjtag *ptr_struct, FILE* file)
+{
+	connectib_mjtag_print(ptr_struct, file, 0);
+}
+
+void connectib_mqis_reg_pack(const struct connectib_mqis_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->info_type);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->info_length);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->read_length);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->read_offset);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 160, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->info_string[i]);
+	}
+
+}
+
+void connectib_mqis_reg_unpack(struct connectib_mqis_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->info_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 48;
+	ptr_struct->info_length = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 80;
+	ptr_struct->read_length = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->read_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 160, 1);
+	ptr_struct->info_string[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_mqis_reg_print(const struct connectib_mqis_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mqis_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "info_type            : " UH_FMT "\n", ptr_struct->info_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "info_length          : " UH_FMT "\n", ptr_struct->info_length);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "read_length          : " UH_FMT "\n", ptr_struct->read_length);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "read_offset          : " UH_FMT "\n", ptr_struct->read_offset);
+
+	for (i = 0; i < 1; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "info_string_%03d     : " U32H_FMT "\n", i, ptr_struct->info_string[i]);
+	}
+
+}
+
+int connectib_mqis_reg_size(void)
+{
+	 return 20;
+}
+
+void connectib_mqis_reg_dump(const struct connectib_mqis_reg *ptr_struct, FILE* file)
+{
+	connectib_mqis_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mcda_reg_pack(const struct connectib_mcda_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->update_handle);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->offset);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->size);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 160, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
+	}
+
+}
+
+void connectib_mcda_reg_unpack(struct connectib_mcda_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->update_handle = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 32;
+	ptr_struct->offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 80;
+	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 160, 1);
+	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_mcda_reg_print(const struct connectib_mcda_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mcda_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "update_handle        : " UH_FMT "\n", ptr_struct->update_handle);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "offset               : " U32H_FMT "\n", ptr_struct->offset);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	for (i = 0; i < 1; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
+	}
+
+}
+
+int connectib_mcda_reg_size(void)
+{
+	 return 20;
+}
+
+void connectib_mcda_reg_dump(const struct connectib_mcda_reg *ptr_struct, FILE* file)
+{
+	connectib_mcda_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mcc_reg_pack(const struct connectib_mcc_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->instruction);
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->time_elapsed_since_last_cmd);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->component_index);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->update_handle);
+
+	offset = 124;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->control_state);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->error_code);
+
+	offset = 105;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->control_progress);
+
+	offset = 100;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->handle_owner_host_id);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->handle_owner_type);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->component_size);
+
+}
+
+void connectib_mcc_reg_unpack(struct connectib_mcc_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->instruction = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 4;
+	ptr_struct->time_elapsed_since_last_cmd = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 48;
+	ptr_struct->component_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 72;
+	ptr_struct->update_handle = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 124;
+	ptr_struct->control_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 112;
+	ptr_struct->error_code = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 105;
+	ptr_struct->control_progress = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 100;
+	ptr_struct->handle_owner_host_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->handle_owner_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->component_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_mcc_reg_print(const struct connectib_mcc_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mcc_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "instruction          : " UH_FMT "\n", ptr_struct->instruction);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_elapsed_since_last_cmd : " UH_FMT "\n", ptr_struct->time_elapsed_since_last_cmd);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "component_index      : " UH_FMT "\n", ptr_struct->component_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "update_handle        : " UH_FMT "\n", ptr_struct->update_handle);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "control_state        : " UH_FMT "\n", ptr_struct->control_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_code           : " UH_FMT "\n", ptr_struct->error_code);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "control_progress     : " UH_FMT "\n", ptr_struct->control_progress);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "handle_owner_host_id : " UH_FMT "\n", ptr_struct->handle_owner_host_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "handle_owner_type    : " UH_FMT "\n", ptr_struct->handle_owner_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "component_size       : " U32H_FMT "\n", ptr_struct->component_size);
+
+}
+
+int connectib_mcc_reg_size(void)
+{
+	 return 32;
+}
+
+void connectib_mcc_reg_dump(const struct connectib_mcc_reg *ptr_struct, FILE* file)
+{
+	connectib_mcc_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mcqi_reg_pack(const struct connectib_mcqi_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->component_index);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_pending_component);
+
+	offset = 91;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->info_type);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->info_size);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->offset);
+
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->data_size);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(192, 32, i, 224, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
+	}
+
+}
+
+void connectib_mcqi_reg_unpack(struct connectib_mcqi_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->component_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->read_pending_component = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 91;
+	ptr_struct->info_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 96;
+	ptr_struct->info_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 176;
+	ptr_struct->data_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(192, 32, i, 224, 1);
+	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_mcqi_reg_print(const struct connectib_mcqi_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mcqi_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "component_index      : " UH_FMT "\n", ptr_struct->component_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "read_pending_component : " UH_FMT "\n", ptr_struct->read_pending_component);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "info_type            : " UH_FMT "\n", ptr_struct->info_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "info_size            : " U32H_FMT "\n", ptr_struct->info_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "offset               : " U32H_FMT "\n", ptr_struct->offset);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data_size            : " UH_FMT "\n", ptr_struct->data_size);
+
+	for (i = 0; i < 1; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
+	}
+
+}
+
+int connectib_mcqi_reg_size(void)
+{
+	 return 28;
+}
+
+void connectib_mcqi_reg_dump(const struct connectib_mcqi_reg *ptr_struct, FILE* file)
+{
+	connectib_mcqi_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mcqs_reg_pack(const struct connectib_mcqs_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->component_index);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_index_flag);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->identifier);
+
+	offset = 92;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->component_update_state);
+
+	offset = 87;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->component_status);
+
+	offset = 100;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->last_update_state_changer_host_id);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->last_update_state_changer_type);
+
+}
+
+void connectib_mcqs_reg_unpack(struct connectib_mcqs_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->component_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->last_index_flag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->identifier = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 92;
+	ptr_struct->component_update_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 87;
+	ptr_struct->component_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 100;
+	ptr_struct->last_update_state_changer_host_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->last_update_state_changer_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_mcqs_reg_print(const struct connectib_mcqs_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mcqs_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "component_index      : " UH_FMT "\n", ptr_struct->component_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_index_flag      : " UH_FMT "\n", ptr_struct->last_index_flag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "identifier           : " UH_FMT "\n", ptr_struct->identifier);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "component_update_state : " UH_FMT "\n", ptr_struct->component_update_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "component_status     : " UH_FMT "\n", ptr_struct->component_status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_update_state_changer_host_id : " UH_FMT "\n", ptr_struct->last_update_state_changer_host_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_update_state_changer_type : " UH_FMT "\n", ptr_struct->last_update_state_changer_type);
+
+}
+
+int connectib_mcqs_reg_size(void)
+{
+	 return 16;
+}
+
+void connectib_mcqs_reg_dump(const struct connectib_mcqs_reg *ptr_struct, FILE* file)
+{
+	connectib_mcqs_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mfbe_pack(const struct connectib_mfbe *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bulk_64kb_erase);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bulk_32kb_erase);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
+
+}
+
+void connectib_mfbe_unpack(struct connectib_mfbe *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 23;
+	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->bulk_64kb_erase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->bulk_32kb_erase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 72;
+	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_mfbe_print(const struct connectib_mfbe *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mfbe ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk_64kb_erase      : " UH_FMT "\n", ptr_struct->bulk_64kb_erase);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk_32kb_erase      : " UH_FMT "\n", ptr_struct->bulk_32kb_erase);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
+
+}
+
+int connectib_mfbe_size(void)
+{
+	 return 12;
+}
+
+void connectib_mfbe_dump(const struct connectib_mfbe *ptr_struct, FILE* file)
+{
+	connectib_mfbe_print(ptr_struct, file, 0);
+}
+
+void connectib_project_mfba_pack(const struct connectib_project_mfba *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_mfba_header_pack(&(ptr_struct->mfba_header), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_register_access_data_pack(&(ptr_struct->mfba_data), ptr_buff + offset/8);
+
+}
+
+void connectib_project_mfba_unpack(struct connectib_project_mfba *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_mfba_header_unpack(&(ptr_struct->mfba_header), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_register_access_data_unpack(&(ptr_struct->mfba_data), ptr_buff + offset/8);
+
+}
+
+void connectib_project_mfba_print(const struct connectib_project_mfba *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_project_mfba ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mfba_header:\n");
+	connectib_mfba_header_print(&(ptr_struct->mfba_header), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mfba_data:\n");
+	connectib_register_access_data_print(&(ptr_struct->mfba_data), file, indent_level + 1);
+
+}
+
+int connectib_project_mfba_size(void)
+{
+	 return 44;
+}
+
+void connectib_project_mfba_dump(const struct connectib_project_mfba *ptr_struct, FILE* file)
+{
+	connectib_project_mfba_print(ptr_struct, file, 0);
+}
+
+void connectib_register_misc_counters_pack(const struct connectib_register_misc_counters *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->counter_select);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ecc);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ldb_silent_drop);
+
+}
+
+void connectib_register_misc_counters_unpack(struct connectib_register_misc_counters *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 32;
+	ptr_struct->counter_select = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->ecc = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->ldb_silent_drop = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_register_misc_counters_print(const struct connectib_register_misc_counters *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_misc_counters ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "counter_select       : " U32H_FMT "\n", ptr_struct->counter_select);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ecc                  : " U32H_FMT "\n", ptr_struct->ecc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ldb_silent_drop      : " U32H_FMT "\n", ptr_struct->ldb_silent_drop);
+
+}
+
+int connectib_register_misc_counters_size(void)
+{
+	 return 32;
+}
+
+void connectib_register_misc_counters_dump(const struct connectib_register_misc_counters *ptr_struct, FILE* file)
+{
+	connectib_register_misc_counters_print(ptr_struct, file, 0);
+}
+
+void connectib_mtmp_pack(const struct connectib_mtmp *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->sensor_index);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->internal_diodes_query);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->temperature);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_temperture);
+
+	offset = 65;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mtr);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mte);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->temperature_threshold_hi);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->tee);
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->temperature_threshold_lo);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->name_hi);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->name_lo);
+
+}
+
+void connectib_mtmp_unpack(struct connectib_mtmp *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 25;
+	ptr_struct->sensor_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 0;
+	ptr_struct->internal_diodes_query = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->temperature = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 80;
+	ptr_struct->max_temperture = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 65;
+	ptr_struct->mtr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->mte = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 112;
+	ptr_struct->temperature_threshold_hi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 96;
+	ptr_struct->tee = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 144;
+	ptr_struct->temperature_threshold_lo = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 192;
+	ptr_struct->name_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->name_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_mtmp_print(const struct connectib_mtmp *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mtmp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sensor_index         : " UH_FMT "\n", ptr_struct->sensor_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "internal_diodes_query : " UH_FMT "\n", ptr_struct->internal_diodes_query);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "temperature          : " UH_FMT "\n", ptr_struct->temperature);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_temperture       : " UH_FMT "\n", ptr_struct->max_temperture);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtr                  : " UH_FMT "\n", ptr_struct->mtr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mte                  : " UH_FMT "\n", ptr_struct->mte);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "temperature_threshold_hi : " UH_FMT "\n", ptr_struct->temperature_threshold_hi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tee                  : " UH_FMT "\n", ptr_struct->tee);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "temperature_threshold_lo : " UH_FMT "\n", ptr_struct->temperature_threshold_lo);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "name_hi              : " U32H_FMT "\n", ptr_struct->name_hi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "name_lo              : " U32H_FMT "\n", ptr_struct->name_lo);
+
+}
+
+int connectib_mtmp_size(void)
+{
+	 return 32;
+}
+
+void connectib_mtmp_dump(const struct connectib_mtmp *ptr_struct, FILE* file)
+{
+	connectib_mtmp_print(ptr_struct, file, 0);
+}
+
+void connectib_register_mfrl_pack(const struct connectib_register_mfrl *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reset_level);
+
+}
+
+void connectib_register_mfrl_unpack(struct connectib_register_mfrl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 56;
+	ptr_struct->reset_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_register_mfrl_print(const struct connectib_register_mfrl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_mfrl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reset_level          : " UH_FMT "\n", ptr_struct->reset_level);
+
+}
+
+int connectib_register_mfrl_size(void)
+{
+	 return 16;
+}
+
+void connectib_register_mfrl_dump(const struct connectib_register_mfrl *ptr_struct, FILE* file)
+{
+	connectib_register_mfrl_print(ptr_struct, file, 0);
+}
+
+void connectib_register_mfai_pack(const struct connectib_register_mfai *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->permanent);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_address);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_image_id);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->image_id);
+
+}
+
+void connectib_register_mfai_unpack(struct connectib_register_mfai *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 2;
+	ptr_struct->permanent = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->use_address = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->use_image_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 56;
+	ptr_struct->image_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_register_mfai_print(const struct connectib_register_mfai *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_mfai ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "permanent            : " UH_FMT "\n", ptr_struct->permanent);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "use_address          : " UH_FMT "\n", ptr_struct->use_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "use_image_id         : " UH_FMT "\n", ptr_struct->use_image_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "image_id             : " UH_FMT "\n", ptr_struct->image_id);
+
+}
+
+int connectib_register_mfai_size(void)
+{
+	 return 16;
+}
+
+void connectib_register_mfai_dump(const struct connectib_register_mfai *ptr_struct, FILE* file)
+{
+	connectib_register_mfai_print(ptr_struct, file, 0);
+}
+
+void connectib_mfpa_pack(const struct connectib_mfpa *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->boot_address);
+
+	offset = 156;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flash_num);
+
+	offset = 143;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sub_sector_wrp_en);
+
+	offset = 142;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sector_wrp_en);
+
+	offset = 130;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bulk_64kb_erase_en);
+
+	offset = 129;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bulk_32kb_erase_en);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wip);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->jedec_id);
+
+	offset = 214;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->sector_size);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->block_allignment);
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->block_size);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->capability_mask);
+
+}
+
+void connectib_mfpa_unpack(struct connectib_mfpa *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 23;
+	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 40;
+	ptr_struct->boot_address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 156;
+	ptr_struct->flash_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 143;
+	ptr_struct->sub_sector_wrp_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 142;
+	ptr_struct->sector_wrp_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 130;
+	ptr_struct->bulk_64kb_erase_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 129;
+	ptr_struct->bulk_32kb_erase_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 128;
+	ptr_struct->wip = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 168;
+	ptr_struct->jedec_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 214;
+	ptr_struct->sector_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+
+	offset = 200;
+	ptr_struct->block_allignment = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 192;
+	ptr_struct->block_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 224;
+	ptr_struct->capability_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_mfpa_print(const struct connectib_mfpa *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mfpa ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "boot_address         : " UH_FMT "\n", ptr_struct->boot_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flash_num            : " UH_FMT "\n", ptr_struct->flash_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sub_sector_wrp_en    : " UH_FMT "\n", ptr_struct->sub_sector_wrp_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sector_wrp_en        : " UH_FMT "\n", ptr_struct->sector_wrp_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk_64kb_erase_en   : " UH_FMT "\n", ptr_struct->bulk_64kb_erase_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk_32kb_erase_en   : " UH_FMT "\n", ptr_struct->bulk_32kb_erase_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "wip                  : " UH_FMT "\n", ptr_struct->wip);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "jedec_id             : " UH_FMT "\n", ptr_struct->jedec_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sector_size          : " UH_FMT "\n", ptr_struct->sector_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "block_allignment     : " UH_FMT "\n", ptr_struct->block_allignment);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "block_size           : " UH_FMT "\n", ptr_struct->block_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "capability_mask      : " U32H_FMT "\n", ptr_struct->capability_mask);
+
+}
+
+int connectib_mfpa_size(void)
+{
+	 return 32;
+}
+
+void connectib_mfpa_dump(const struct connectib_mfpa *ptr_struct, FILE* file)
+{
+	connectib_mfpa_print(ptr_struct, file, 0);
+}
+
+void connectib_fpga_shell_caps_pack(const struct connectib_fpga_shell_caps *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->total_rcv_credits);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_num_qps);
+
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rc);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->uc);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ud);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dc);
+
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rre);
+
+	offset = 54;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rwe);
+
+	offset = 53;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rae);
+
+	offset = 46;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->qp_type);
+
+	offset = 90;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_ddr_size);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_fpga_qp_msg_size);
+
+}
+
+void connectib_fpga_shell_caps_unpack(struct connectib_fpga_shell_caps *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->total_rcv_credits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->max_num_qps = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 63;
+	ptr_struct->rc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 62;
+	ptr_struct->uc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 61;
+	ptr_struct->ud = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 60;
+	ptr_struct->dc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 55;
+	ptr_struct->rre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 54;
+	ptr_struct->rwe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 53;
+	ptr_struct->rae = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 46;
+	ptr_struct->qp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 90;
+	ptr_struct->log_ddr_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 96;
+	ptr_struct->max_fpga_qp_msg_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_fpga_shell_caps_print(const struct connectib_fpga_shell_caps *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fpga_shell_caps ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "total_rcv_credits    : " UH_FMT "\n", ptr_struct->total_rcv_credits);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_num_qps          : " UH_FMT "\n", ptr_struct->max_num_qps);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rc                   : " UH_FMT "\n", ptr_struct->rc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uc                   : " UH_FMT "\n", ptr_struct->uc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ud                   : " UH_FMT "\n", ptr_struct->ud);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dc                   : " UH_FMT "\n", ptr_struct->dc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rre                  : " UH_FMT "\n", ptr_struct->rre);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwe                  : " UH_FMT "\n", ptr_struct->rwe);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rae                  : " UH_FMT "\n", ptr_struct->rae);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_type              : %s (" UH_FMT ")\n", (ptr_struct->qp_type == 1 ? ("Shell_qp") : ((ptr_struct->qp_type == 2 ? ("Sandbox_qp") : ("unknown")))), ptr_struct->qp_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_ddr_size         : " UH_FMT "\n", ptr_struct->log_ddr_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_fpga_qp_msg_size : " U32H_FMT "\n", ptr_struct->max_fpga_qp_msg_size);
+
+}
+
+int connectib_fpga_shell_caps_size(void)
+{
+	 return 64;
+}
+
+void connectib_fpga_shell_caps_dump(const struct connectib_fpga_shell_caps *ptr_struct, FILE* file)
+{
+	connectib_fpga_shell_caps_print(ptr_struct, file, 0);
+}
+
+void connectib_pmmp_sfp_protocol_override_layout_auto_pack(const union connectib_pmmp_sfp_protocol_override_layout_auto *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_pmmp_sfp_protocol_override_layout_pack(&(ptr_struct->pmmp_sfp_protocol_override_layout), ptr_buff);
+}
+
+void connectib_pmmp_sfp_protocol_override_layout_auto_unpack(union connectib_pmmp_sfp_protocol_override_layout_auto *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_pmmp_sfp_protocol_override_layout_unpack(&(ptr_struct->pmmp_sfp_protocol_override_layout), ptr_buff);
+}
+
+void connectib_pmmp_sfp_protocol_override_layout_auto_print(const union connectib_pmmp_sfp_protocol_override_layout_auto *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pmmp_sfp_protocol_override_layout_auto ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pmmp_sfp_protocol_override_layout:\n");
+	connectib_pmmp_sfp_protocol_override_layout_print(&(ptr_struct->pmmp_sfp_protocol_override_layout), file, indent_level + 1);
+
+}
+
+int connectib_pmmp_sfp_protocol_override_layout_auto_size(void)
+{
+	 return 12;
+}
+
+void connectib_pmmp_sfp_protocol_override_layout_auto_dump(const union connectib_pmmp_sfp_protocol_override_layout_auto *ptr_struct, FILE* file)
+{
+	connectib_pmmp_sfp_protocol_override_layout_auto_print(ptr_struct, file, 0);
+}
+
+void connectib_pmmp_qsfp_protocol_override_layout_auto_pack(const union connectib_pmmp_qsfp_protocol_override_layout_auto *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_pmmp_qsfp_protocol_override_layout_pack(&(ptr_struct->pmmp_qsfp_protocol_override_layout), ptr_buff);
+}
+
+void connectib_pmmp_qsfp_protocol_override_layout_auto_unpack(union connectib_pmmp_qsfp_protocol_override_layout_auto *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_pmmp_qsfp_protocol_override_layout_unpack(&(ptr_struct->pmmp_qsfp_protocol_override_layout), ptr_buff);
+}
+
+void connectib_pmmp_qsfp_protocol_override_layout_auto_print(const union connectib_pmmp_qsfp_protocol_override_layout_auto *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pmmp_qsfp_protocol_override_layout_auto ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pmmp_qsfp_protocol_override_layout:\n");
+	connectib_pmmp_qsfp_protocol_override_layout_print(&(ptr_struct->pmmp_qsfp_protocol_override_layout), file, indent_level + 1);
+
+}
+
+int connectib_pmmp_qsfp_protocol_override_layout_auto_size(void)
+{
+	 return 12;
+}
+
+void connectib_pmmp_qsfp_protocol_override_layout_auto_dump(const union connectib_pmmp_qsfp_protocol_override_layout_auto *ptr_struct, FILE* file)
+{
+	connectib_pmmp_qsfp_protocol_override_layout_auto_print(ptr_struct, file, 0);
+}
+
+void connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_pack(const union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_pcie_timers_states_pack(&(ptr_struct->pcie_timers_states), ptr_buff);
+}
+
+void connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_unpack(union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_pcie_timers_states_unpack(&(ptr_struct->pcie_timers_states), ptr_buff);
+}
+
+void connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_print(const union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcie_perf_counters:\n");
+	connectib_pcie_perf_counters_print(&(ptr_struct->pcie_perf_counters), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcie_lanes_counters:\n");
+	connectib_pcie_lanes_counters_print(&(ptr_struct->pcie_lanes_counters), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcie_timers_states:\n");
+	connectib_pcie_timers_states_print(&(ptr_struct->pcie_timers_states), file, indent_level + 1);
+
+}
+
+int connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_size(void)
+{
+	 return 248;
+}
+
+void connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_dump(const union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto *ptr_struct, FILE* file)
+{
+	connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_print(ptr_struct, file, 0);
+}
+
+void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_pack(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_gr [...]
+{
+	connectib_phys_layer_stat_cntrs_pack(&(ptr_struct->phys_layer_stat_cntrs), ptr_buff);
+}
+
+void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_unpack(union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_da [...]
+{
+	connectib_phys_layer_stat_cntrs_unpack(&(ptr_struct->phys_layer_stat_cntrs), ptr_buff);
+}
+
+void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_print(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_g [...]
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_802_3_cntrs_grp_data_layout:\n");
+	connectib_eth_802_3_cntrs_grp_data_layout_print(&(ptr_struct->eth_802_3_cntrs_grp_data_layout), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_2863_cntrs_grp_data_layout:\n");
+	connectib_eth_2863_cntrs_grp_data_layout_print(&(ptr_struct->eth_2863_cntrs_grp_data_layout), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_2819_cntrs_grp_data_layout:\n");
+	connectib_eth_2819_cntrs_grp_data_layout_print(&(ptr_struct->eth_2819_cntrs_grp_data_layout), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_3635_cntrs_grp_data_layout:\n");
+	connectib_eth_3635_cntrs_grp_data_layout_print(&(ptr_struct->eth_3635_cntrs_grp_data_layout), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_extended_cntrs_grp_data_layout:\n");
+	connectib_eth_extended_cntrs_grp_data_layout_print(&(ptr_struct->eth_extended_cntrs_grp_data_layout), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_per_prio_grp_data_layout:\n");
+	connectib_eth_per_prio_grp_data_layout_print(&(ptr_struct->eth_per_prio_grp_data_layout), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_per_traffic_grp_data_layout:\n");
+	connectib_eth_per_traffic_grp_data_layout_print(&(ptr_struct->eth_per_traffic_grp_data_layout), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "correct_on_demand:\n");
+	connectib_correct_on_demand_layout_print(&(ptr_struct->correct_on_demand), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "phys_layer_cntrs:\n");
+	connectib_phys_layer_cntrs_print(&(ptr_struct->phys_layer_cntrs), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "discard:\n");
+	connectib_discard_cntrs_grp_data_print(&(ptr_struct->discard), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "llr_counters:\n");
+	connectib_llr_counters_print(&(ptr_struct->llr_counters), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_port_counters:\n");
+	connectib_ib_port_counters_print(&(ptr_struct->ib_port_counters), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_per_traffic_congestion_grp_data_layout:\n");
+	connectib_eth_per_traffic_congestion_grp_data_layout_print(&(ptr_struct->eth_per_traffic_congestion_grp_data_layout), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "phys_layer_stat_cntrs:\n");
+	connectib_phys_layer_stat_cntrs_print(&(ptr_struct->phys_layer_stat_cntrs), file, indent_level + 1);
+
+}
+
+int connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_size(void)
+{
+	 return 248;
+}
+
+void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_dump(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_gr [...]
+{
+	connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_print(ptr_struct, file, 0);
+}
+
+void connectib_access_register_unit_perf_counters_data_line_pack(const struct connectib_access_register_unit_perf_counters_data_line *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->value);
+
+}
+
+void connectib_access_register_unit_perf_counters_data_line_unpack(struct connectib_access_register_unit_perf_counters_data_line *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->value = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_access_register_unit_perf_counters_data_line_print(const struct connectib_access_register_unit_perf_counters_data_line *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_access_register_unit_perf_counters_data_line ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "value                : " U32H_FMT "\n", ptr_struct->value);
+
+}
+
+int connectib_access_register_unit_perf_counters_data_line_size(void)
+{
+	 return 4;
+}
+
+void connectib_access_register_unit_perf_counters_data_line_dump(const struct connectib_access_register_unit_perf_counters_data_line *ptr_struct, FILE* file)
+{
+	connectib_access_register_unit_perf_counters_data_line_print(ptr_struct, file, 0);
+}
+
+void connectib_access_register_unit_perf_counters_cfg_line_pack(const struct connectib_access_register_unit_perf_counters_cfg_line *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->select);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cmd);
+
+}
+
+void connectib_access_register_unit_perf_counters_cfg_line_unpack(struct connectib_access_register_unit_perf_counters_cfg_line *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->select = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 16;
+	ptr_struct->cmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_access_register_unit_perf_counters_cfg_line_print(const struct connectib_access_register_unit_perf_counters_cfg_line *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_access_register_unit_perf_counters_cfg_line ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "select               : " UH_FMT "\n", ptr_struct->select);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmd                  : " UH_FMT "\n", ptr_struct->cmd);
+
+}
+
+int connectib_access_register_unit_perf_counters_cfg_line_size(void)
+{
+	 return 4;
+}
+
+void connectib_access_register_unit_perf_counters_cfg_line_dump(const struct connectib_access_register_unit_perf_counters_cfg_line *ptr_struct, FILE* file)
+{
+	connectib_access_register_unit_perf_counters_cfg_line_print(ptr_struct, file, 0);
+}
+
+void connectib_node_description_pack(const struct connectib_node_description *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->d[i]);
+	}
+
+}
+
+void connectib_node_description_unpack(struct connectib_node_description *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	ptr_struct->d[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_node_description_print(const struct connectib_node_description *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_node_description ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 16; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "d_%03d               : " U32H_FMT "\n", i, ptr_struct->d[i]);
+	}
+
+}
+
+int connectib_node_description_size(void)
+{
+	 return 64;
+}
+
+void connectib_node_description_dump(const struct connectib_node_description *ptr_struct, FILE* file)
+{
+	connectib_node_description_print(ptr_struct, file, 0);
+}
+
+void connectib_application_prio_entry_pack(const struct connectib_application_prio_entry *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->protocol_id);
+
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->sel);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->priority);
+
+}
+
+void connectib_application_prio_entry_unpack(struct connectib_application_prio_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->protocol_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 13;
+	ptr_struct->sel = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 8;
+	ptr_struct->priority = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_application_prio_entry_print(const struct connectib_application_prio_entry *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_application_prio_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "protocol_id          : " UH_FMT "\n", ptr_struct->protocol_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sel                  : " UH_FMT "\n", ptr_struct->sel);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "priority             : " UH_FMT "\n", ptr_struct->priority);
+
+}
+
+int connectib_application_prio_entry_size(void)
+{
+	 return 4;
+}
+
+void connectib_application_prio_entry_dump(const struct connectib_application_prio_entry *ptr_struct, FILE* file)
+{
+	connectib_application_prio_entry_print(ptr_struct, file, 0);
+}
+
+void connectib_tc_qos_configuration_pack(const struct connectib_tc_qos_configuration *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->bw_allocation);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->group);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->r);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->b);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->g);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->max_bw_value);
+
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_bw_units);
+
+}
+
+void connectib_tc_qos_configuration_unpack(struct connectib_tc_qos_configuration *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 25;
+	ptr_struct->bw_allocation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 12;
+	ptr_struct->group = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 2;
+	ptr_struct->r = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->b = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 56;
+	ptr_struct->max_bw_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 44;
+	ptr_struct->max_bw_units = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_tc_qos_configuration_print(const struct connectib_tc_qos_configuration *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_tc_qos_configuration ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bw_allocation        : " UH_FMT "\n", ptr_struct->bw_allocation);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "group                : " UH_FMT "\n", ptr_struct->group);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "r                    : " UH_FMT "\n", ptr_struct->r);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "b                    : " UH_FMT "\n", ptr_struct->b);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "g                    : " UH_FMT "\n", ptr_struct->g);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_bw_value         : " UH_FMT "\n", ptr_struct->max_bw_value);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_bw_units         : " UH_FMT "\n", ptr_struct->max_bw_units);
+
+}
+
+int connectib_tc_qos_configuration_size(void)
+{
+	 return 8;
+}
+
+void connectib_tc_qos_configuration_dump(const struct connectib_tc_qos_configuration *ptr_struct, FILE* file)
+{
+	connectib_tc_qos_configuration_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_ref_count_pack(const struct connectib_fw_ref_count *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 28, (u_int32_t)ptr_struct->ref_counter);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ref_valid_cre_type);
+
+}
+
+void connectib_fw_ref_count_unpack(struct connectib_fw_ref_count *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 4;
+	ptr_struct->ref_counter = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 28);
+
+	offset = 0;
+	ptr_struct->ref_valid_cre_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_fw_ref_count_print(const struct connectib_fw_ref_count *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_ref_count ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ref_counter          : " UH_FMT "\n", ptr_struct->ref_counter);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ref_valid_cre_type   : " UH_FMT "\n", ptr_struct->ref_valid_cre_type);
+
+}
+
+int connectib_fw_ref_count_size(void)
+{
+	 return 4;
+}
+
+void connectib_fw_ref_count_dump(const struct connectib_fw_ref_count *ptr_struct, FILE* file)
+{
+	connectib_fw_ref_count_print(ptr_struct, file, 0);
+}
+
+void connectib_mac_address_layout_pack(const struct connectib_mac_address_layout *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->mac_addr_47_32);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mac_addr_31_0);
+
+}
+
+void connectib_mac_address_layout_unpack(struct connectib_mac_address_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->mac_addr_47_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->mac_addr_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_mac_address_layout_print(const struct connectib_mac_address_layout *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mac_address_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mac_addr_47_32       : " UH_FMT "\n", ptr_struct->mac_addr_47_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mac_addr_31_0        : " U32H_FMT "\n", ptr_struct->mac_addr_31_0);
+
+}
+
+int connectib_mac_address_layout_size(void)
+{
+	 return 8;
+}
+
+void connectib_mac_address_layout_dump(const struct connectib_mac_address_layout *ptr_struct, FILE* file)
+{
+	connectib_mac_address_layout_print(ptr_struct, file, 0);
+}
+
+void connectib_tir_dmfs_pack(const struct connectib_tir_dmfs *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tir_ste_ix);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hash_filter_base_ix);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hash_entries_base_ix);
+
+}
+
+void connectib_tir_dmfs_unpack(struct connectib_tir_dmfs *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 32;
+	ptr_struct->tir_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->hash_filter_base_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->hash_entries_base_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_tir_dmfs_print(const struct connectib_tir_dmfs *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_tir_dmfs ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tir_ste_ix           : " U32H_FMT "\n", ptr_struct->tir_ste_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hash_filter_base_ix  : " U32H_FMT "\n", ptr_struct->hash_filter_base_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hash_entries_base_ix : " U32H_FMT "\n", ptr_struct->hash_entries_base_ix);
+
+}
+
+int connectib_tir_dmfs_size(void)
+{
+	 return 16;
+}
+
+void connectib_tir_dmfs_dump(const struct connectib_tir_dmfs *ptr_struct, FILE* file)
+{
+	connectib_tir_dmfs_print(ptr_struct, file, 0);
+}
+
+void connectib_rx_hash_field_select_pack(const struct connectib_rx_hash_field_select *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->selected_fields);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l4_prot_type);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l3_prot_type);
+
+}
+
+void connectib_rx_hash_field_select_unpack(struct connectib_rx_hash_field_select *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 2;
+	ptr_struct->selected_fields = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+
+	offset = 1;
+	ptr_struct->l4_prot_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->l3_prot_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_rx_hash_field_select_print(const struct connectib_rx_hash_field_select *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_rx_hash_field_select ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "selected_fields      : %s (" UH_FMT ")\n", (ptr_struct->selected_fields == 0 ? ("SRC_IP") : ((ptr_struct->selected_fields == 1 ? ("DST_IP") : ((ptr_struct->selected_fields == 2 ? ("L4_SPORT") : ((ptr_struct->selected_fields == 3 ? ("L4_DPORT") : ((ptr_struct->selected_fields == 4 ? ("IPSEC_SPI") : ("unknown")))))))))), ptr_struct->selected_fields);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "l4_prot_type         : " UH_FMT "\n", ptr_struct->l4_prot_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "l3_prot_type         : " UH_FMT "\n", ptr_struct->l3_prot_type);
+
+}
+
+int connectib_rx_hash_field_select_size(void)
+{
+	 return 4;
+}
+
+void connectib_rx_hash_field_select_dump(const struct connectib_rx_hash_field_select *ptr_struct, FILE* file)
+{
+	connectib_rx_hash_field_select_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_qpc_special_pack(const union connectib_fw_qpc_special *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_dct_qp_pack(&(ptr_struct->dct_qp), ptr_buff);
+}
+
+void connectib_fw_qpc_special_unpack(union connectib_fw_qpc_special *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_dct_qp_unpack(&(ptr_struct->dct_qp), ptr_buff);
+}
+
+void connectib_fw_qpc_special_print(const union connectib_fw_qpc_special *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_qpc_special ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "regular_qp:\n");
+	connectib_regular_qp_print(&(ptr_struct->regular_qp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcr_qp:\n");
+	connectib_dcr_qp_print(&(ptr_struct->dcr_qp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dct_qp:\n");
+	connectib_dct_qp_print(&(ptr_struct->dct_qp), file, indent_level + 1);
+
+}
+
+int connectib_fw_qpc_special_size(void)
+{
+	 return 16;
+}
+
+void connectib_fw_qpc_special_dump(const union connectib_fw_qpc_special *ptr_struct, FILE* file)
+{
+	connectib_fw_qpc_special_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_qpc_q_pack(const struct connectib_fw_qpc_q *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->qp_state);
+
+	offset = 16;
+	connectib_schedint_cause_pack(&(ptr_struct->schedint_cause), ptr_buff + offset/8);
+
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sxdc_valid);
+
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qpc_valid);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dct_cleanup_state);
+
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_in_linked_list);
+
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cmdif_awaiting);
+
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dup_sx_flush_kill_qp_arb_disabled);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->broken_wq_buffer);
+
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->broken_cq);
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->catas_event_generated);
+
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_wqe_event_generated);
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->async_event_generated);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->flushed_in_error);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sl_diff_flow_done);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->all_connections_closed_event_req);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_flushed_in_error);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->packet_pacing_rate_limit_index);
+
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat_odp_ext);
+
+	offset = 54;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat_gnrl_ext);
+
+	offset = 53;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat_retry_cntr_ext);
+
+	offset = 51;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat_odp_ext);
+
+	offset = 50;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat_gnrl_ext);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vendor_syndrome);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->hw_syndrome);
+
+	offset = 123;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->trap_reason);
+
+	offset = 122;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->connect_sent_to_ctrl_dct);
+
+	offset = 121;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->needed_events_generated);
+
+	offset = 116;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->retransmission_state);
+
+	offset = 115;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_fault_event_fired);
+
+	offset = 113;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_fault_event_fired);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->trap_data_odp_gvmi);
+
+}
+
+void connectib_fw_qpc_q_unpack(struct connectib_fw_qpc_q *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->qp_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 16;
+	connectib_schedint_cause_unpack(&(ptr_struct->schedint_cause), ptr_buff + offset/8);
+
+	offset = 15;
+	ptr_struct->sxdc_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 14;
+	ptr_struct->qpc_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 12;
+	ptr_struct->dct_cleanup_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 11;
+	ptr_struct->qp_in_linked_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 10;
+	ptr_struct->cmdif_awaiting = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 9;
+	ptr_struct->dup_sx_flush_kill_qp_arb_disabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 8;
+	ptr_struct->broken_wq_buffer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 7;
+	ptr_struct->broken_cq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 6;
+	ptr_struct->catas_event_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 5;
+	ptr_struct->last_wqe_event_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 4;
+	ptr_struct->async_event_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 3;
+	ptr_struct->flushed_in_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->sl_diff_flow_done = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->all_connections_closed_event_req = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->disable_flushed_in_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 56;
+	ptr_struct->packet_pacing_rate_limit_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 55;
+	ptr_struct->rx_heartbeat_odp_ext = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 54;
+	ptr_struct->rx_heartbeat_gnrl_ext = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 53;
+	ptr_struct->rx_heartbeat_retry_cntr_ext = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 51;
+	ptr_struct->sx_heartbeat_odp_ext = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 50;
+	ptr_struct->sx_heartbeat_gnrl_ext = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 80;
+	ptr_struct->vendor_syndrome = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->hw_syndrome = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 123;
+	ptr_struct->trap_reason = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 122;
+	ptr_struct->connect_sent_to_ctrl_dct = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 121;
+	ptr_struct->needed_events_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 116;
+	ptr_struct->retransmission_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 115;
+	ptr_struct->rx_fault_event_fired = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 113;
+	ptr_struct->sx_fault_event_fired = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->trap_data_odp_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_fw_qpc_q_print(const struct connectib_fw_qpc_q *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_qpc_q ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_state             : " UH_FMT "\n", ptr_struct->qp_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "schedint_cause:\n");
+	connectib_schedint_cause_print(&(ptr_struct->schedint_cause), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sxdc_valid           : " UH_FMT "\n", ptr_struct->sxdc_valid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qpc_valid            : " UH_FMT "\n", ptr_struct->qpc_valid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dct_cleanup_state    : " UH_FMT "\n", ptr_struct->dct_cleanup_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_in_linked_list    : " UH_FMT "\n", ptr_struct->qp_in_linked_list);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmdif_awaiting       : " UH_FMT "\n", ptr_struct->cmdif_awaiting);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dup_sx_flush_kill_qp_arb_disabled : " UH_FMT "\n", ptr_struct->dup_sx_flush_kill_qp_arb_disabled);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "broken_wq_buffer     : " UH_FMT "\n", ptr_struct->broken_wq_buffer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "broken_cq            : " UH_FMT "\n", ptr_struct->broken_cq);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "catas_event_generated : " UH_FMT "\n", ptr_struct->catas_event_generated);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_wqe_event_generated : " UH_FMT "\n", ptr_struct->last_wqe_event_generated);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "async_event_generated : " UH_FMT "\n", ptr_struct->async_event_generated);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flushed_in_error     : " UH_FMT "\n", ptr_struct->flushed_in_error);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sl_diff_flow_done    : " UH_FMT "\n", ptr_struct->sl_diff_flow_done);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "all_connections_closed_event_req : " UH_FMT "\n", ptr_struct->all_connections_closed_event_req);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "disable_flushed_in_error : " UH_FMT "\n", ptr_struct->disable_flushed_in_error);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "packet_pacing_rate_limit_index : " UH_FMT "\n", ptr_struct->packet_pacing_rate_limit_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_heartbeat_odp_ext : " UH_FMT "\n", ptr_struct->rx_heartbeat_odp_ext);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_heartbeat_gnrl_ext : " UH_FMT "\n", ptr_struct->rx_heartbeat_gnrl_ext);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_heartbeat_retry_cntr_ext : " UH_FMT "\n", ptr_struct->rx_heartbeat_retry_cntr_ext);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_heartbeat_odp_ext : " UH_FMT "\n", ptr_struct->sx_heartbeat_odp_ext);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_heartbeat_gnrl_ext : " UH_FMT "\n", ptr_struct->sx_heartbeat_gnrl_ext);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vendor_syndrome      : " UH_FMT "\n", ptr_struct->vendor_syndrome);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_syndrome          : " UH_FMT "\n", ptr_struct->hw_syndrome);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "trap_reason          : %s (" UH_FMT ")\n", (ptr_struct->trap_reason == 0 ? ("NORMAL") : ((ptr_struct->trap_reason == 1 ? ("SET_LIMIT") : ((ptr_struct->trap_reason == 2 ? ("DCR_OVERFLOW") : ((ptr_struct->trap_reason == 3 ? ("DCR_DUP_WA") : ((ptr_struct->trap_reason == 4 ? ("DCI_RECONNECT") : ("unknown")))))))))), ptr_struct->trap_reason);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "connect_sent_to_ctrl_dct : " UH_FMT "\n", ptr_struct->connect_sent_to_ctrl_dct);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "needed_events_generated : " UH_FMT "\n", ptr_struct->needed_events_generated);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "retransmission_state : " UH_FMT "\n", ptr_struct->retransmission_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_fault_event_fired : " UH_FMT "\n", ptr_struct->rx_fault_event_fired);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_fault_event_fired : " UH_FMT "\n", ptr_struct->sx_fault_event_fired);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "trap_data_odp_gvmi   : " UH_FMT "\n", ptr_struct->trap_data_odp_gvmi);
+
+}
+
+int connectib_fw_qpc_q_size(void)
+{
+	 return 16;
+}
+
+void connectib_fw_qpc_q_dump(const struct connectib_fw_qpc_q *ptr_struct, FILE* file)
+{
+	connectib_fw_qpc_q_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_qpc_ts_special_pack(const union connectib_fw_qpc_ts_special *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_fw_qpc_ib_pack(&(ptr_struct->ib_qp), ptr_buff);
+}
+
+void connectib_fw_qpc_ts_special_unpack(union connectib_fw_qpc_ts_special *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_fw_qpc_ib_unpack(&(ptr_struct->ib_qp), ptr_buff);
+}
+
+void connectib_fw_qpc_ts_special_print(const union connectib_fw_qpc_ts_special *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_qpc_ts_special ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_qp:\n");
+	connectib_fw_qpc_eth_print(&(ptr_struct->eth_qp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_qp:\n");
+	connectib_fw_qpc_ib_print(&(ptr_struct->ib_qp), file, indent_level + 1);
+
+}
+
+int connectib_fw_qpc_ts_special_size(void)
+{
+	 return 4;
+}
+
+void connectib_fw_qpc_ts_special_dump(const union connectib_fw_qpc_ts_special *ptr_struct, FILE* file)
+{
+	connectib_fw_qpc_ts_special_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_xrqc_pack(const struct connectib_fw_xrqc *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_offloads);
+
+	offset = 59;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->nsq_log_page_size);
+
+	offset = 51;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->ncq_log_page_size);
+
+	offset = 43;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->stg_log_page_size);
+
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->memory_page_size);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->tgt_num);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->send_cq_num);
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ioccsize);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->log_match_list_size);
+
+}
+
+void connectib_fw_xrqc_unpack(struct connectib_fw_xrqc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->num_offloads = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 59;
+	ptr_struct->nsq_log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 51;
+	ptr_struct->ncq_log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 43;
+	ptr_struct->stg_log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 35;
+	ptr_struct->memory_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 72;
+	ptr_struct->tgt_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 112;
+	ptr_struct->send_cq_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 144;
+	ptr_struct->ioccsize = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 128;
+	ptr_struct->log_match_list_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_fw_xrqc_print(const struct connectib_fw_xrqc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_xrqc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_offloads         : " U32H_FMT "\n", ptr_struct->num_offloads);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nsq_log_page_size    : " UH_FMT "\n", ptr_struct->nsq_log_page_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ncq_log_page_size    : " UH_FMT "\n", ptr_struct->ncq_log_page_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "stg_log_page_size    : " UH_FMT "\n", ptr_struct->stg_log_page_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "memory_page_size     : " UH_FMT "\n", ptr_struct->memory_page_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tgt_num              : " UH_FMT "\n", ptr_struct->tgt_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "send_cq_num          : " UH_FMT "\n", ptr_struct->send_cq_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ioccsize             : " UH_FMT "\n", ptr_struct->ioccsize);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_match_list_size  : " UH_FMT "\n", ptr_struct->log_match_list_size);
+
+}
+
+int connectib_fw_xrqc_size(void)
+{
+	 return 32;
+}
+
+void connectib_fw_xrqc_dump(const struct connectib_fw_xrqc *ptr_struct, FILE* file)
+{
+	connectib_fw_xrqc_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_msix_context_data_pack(const union connectib_hw_msix_context_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_msix_context_data0_pack(&(ptr_struct->regular), ptr_buff);
+}
+
+void connectib_hw_msix_context_data_unpack(union connectib_hw_msix_context_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_msix_context_data0_unpack(&(ptr_struct->regular), ptr_buff);
+}
+
+void connectib_hw_msix_context_data_print(const union connectib_hw_msix_context_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_msix_context_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "regular:\n");
+	connectib_hw_msix_context_data0_print(&(ptr_struct->regular), file, indent_level + 1);
+
+}
+
+int connectib_hw_msix_context_data_size(void)
+{
+	 return 4;
+}
+
+void connectib_hw_msix_context_data_dump(const union connectib_hw_msix_context_data *ptr_struct, FILE* file)
+{
+	connectib_hw_msix_context_data_print(ptr_struct, file, 0);
+}
+
+void connectib_steering_qp_entry_pack(const struct connectib_steering_qp_entry *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qp_number);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_responder);
+
+}
+
+void connectib_steering_qp_entry_unpack(struct connectib_steering_qp_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->qp_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 0;
+	ptr_struct->force_responder = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_steering_qp_entry_print(const struct connectib_steering_qp_entry *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_steering_qp_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_number            : " UH_FMT "\n", ptr_struct->qp_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "force_responder      : " UH_FMT "\n", ptr_struct->force_responder);
+
+}
+
+int connectib_steering_qp_entry_size(void)
+{
+	 return 4;
+}
+
+void connectib_steering_qp_entry_dump(const struct connectib_steering_qp_entry *ptr_struct, FILE* file)
+{
+	connectib_steering_qp_entry_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_ste_tag_pack(const union connectib_hw_ste_tag *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_ste_tag_generic_headers_pack(&(ptr_struct->generic_headers), ptr_buff);
+}
+
+void connectib_hw_ste_tag_unpack(union connectib_hw_ste_tag *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_ste_tag_generic_headers_unpack(&(ptr_struct->generic_headers), ptr_buff);
+}
+
+void connectib_hw_ste_tag_print(const union connectib_hw_ste_tag *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_ste_tag ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk:\n");
+	connectib_hw_ste_tag_bulk_print(&(ptr_struct->bulk), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibl2:\n");
+	connectib_hw_ste_tag_ib_l2_print(&(ptr_struct->ibl2), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibl3_extended:\n");
+	connectib_hw_ste_tag_ib_l3_extended_print(&(ptr_struct->ibl3_extended), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibl3:\n");
+	connectib_hw_ste_tag_ib_l3_print(&(ptr_struct->ibl3), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibl4:\n");
+	connectib_hw_ste_tag_ib_l4_print(&(ptr_struct->ibl4), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "source_gvmi_qp:\n");
+	connectib_hw_ste_tag_source_gvmi_qp_print(&(ptr_struct->source_gvmi_qp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port:\n");
+	connectib_hw_ste_tag_port_print(&(ptr_struct->port), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "generic_headers:\n");
+	connectib_hw_ste_tag_generic_headers_print(&(ptr_struct->generic_headers), file, indent_level + 1);
+
+}
+
+int connectib_hw_ste_tag_size(void)
+{
+	 return 16;
+}
+
+void connectib_hw_ste_tag_dump(const union connectib_hw_ste_tag *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_tag_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_pdf_entry_pack(const union connectib_hw_pdf_entry *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_transaction_pdf_pack(&(ptr_struct->transaction_pdf), ptr_buff);
+}
+
+void connectib_hw_pdf_entry_unpack(union connectib_hw_pdf_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_transaction_pdf_unpack(&(ptr_struct->transaction_pdf), ptr_buff);
+}
+
+void connectib_hw_pdf_entry_print(const union connectib_hw_pdf_entry *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_pdf_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pdf_decoder:\n");
+	connectib_hw_pdf_decoder_print(&(ptr_struct->pdf_decoder), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "transaction_pdf:\n");
+	connectib_hw_transaction_pdf_print(&(ptr_struct->transaction_pdf), file, indent_level + 1);
+
+}
+
+int connectib_hw_pdf_entry_size(void)
+{
+	 return 8;
+}
+
+void connectib_hw_pdf_entry_dump(const union connectib_hw_pdf_entry *ptr_struct, FILE* file)
+{
+	connectib_hw_pdf_entry_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_dc_access_key_63_32_pack(const struct connectib_hw_dct_dc_access_key_63_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_dc_access_key_63_32_unpack(struct connectib_hw_dct_dc_access_key_63_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_dct_dc_access_key_63_32_print(const struct connectib_hw_dct_dc_access_key_63_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_dc_access_key_63_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_dc_access_key_63_32_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_dc_access_key_63_32_dump(const struct connectib_hw_dct_dc_access_key_63_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_dc_access_key_63_32_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_dc_access_key_31_0_pack(const struct connectib_hw_dct_dc_access_key_31_0 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_dc_access_key_31_0_unpack(struct connectib_hw_dct_dc_access_key_31_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_dct_dc_access_key_31_0_print(const struct connectib_hw_dct_dc_access_key_31_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_dc_access_key_31_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_dc_access_key_31_0_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_dc_access_key_31_0_dump(const struct connectib_hw_dct_dc_access_key_31_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_dc_access_key_31_0_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_tclass_pack(const struct connectib_hw_dct_tclass *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_tclass_unpack(struct connectib_hw_dct_tclass *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_dct_tclass_print(const struct connectib_hw_dct_tclass *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_tclass ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_tclass_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_tclass_dump(const struct connectib_hw_dct_tclass *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_tclass_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_context_number_pack(const struct connectib_hw_dct_context_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 424;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_context_number_unpack(struct connectib_hw_dct_context_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 424;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_dct_context_number_print(const struct connectib_hw_dct_context_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_context_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_context_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_context_number_dump(const struct connectib_hw_dct_context_number *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_context_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_hop_limit_pack(const struct connectib_hw_dct_hop_limit *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_hop_limit_unpack(struct connectib_hw_dct_hop_limit *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_dct_hop_limit_print(const struct connectib_hw_dct_hop_limit *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_hop_limit ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_hop_limit_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_hop_limit_dump(const struct connectib_hw_dct_hop_limit *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_hop_limit_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_cq_number_pack(const struct connectib_hw_dct_cq_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 392;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_cq_number_unpack(struct connectib_hw_dct_cq_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 392;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_dct_cq_number_print(const struct connectib_hw_dct_cq_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_cq_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_cq_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_cq_number_dump(const struct connectib_hw_dct_cq_number *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_cq_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_ts_pack(const struct connectib_hw_dct_ts *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_ts_unpack(struct connectib_hw_dct_ts *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_dct_ts_print(const struct connectib_hw_dct_ts *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_ts ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_ts_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_ts_dump(const struct connectib_hw_dct_ts *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_ts_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_ipd_pack(const struct connectib_hw_dct_ipd *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 356;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_ipd_unpack(struct connectib_hw_dct_ipd *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 356;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_dct_ipd_print(const struct connectib_hw_dct_ipd *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_ipd ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_ipd_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_ipd_dump(const struct connectib_hw_dct_ipd *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_ipd_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_my_gid_mac_index_pack(const struct connectib_hw_dct_my_gid_mac_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 360;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_my_gid_mac_index_unpack(struct connectib_hw_dct_my_gid_mac_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 360;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_dct_my_gid_mac_index_print(const struct connectib_hw_dct_my_gid_mac_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_my_gid_mac_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_my_gid_mac_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_my_gid_mac_index_dump(const struct connectib_hw_dct_my_gid_mac_index *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_my_gid_mac_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_extended_atomic_pack(const struct connectib_hw_dct_extended_atomic *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 368;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_extended_atomic_unpack(struct connectib_hw_dct_extended_atomic *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 368;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_dct_extended_atomic_print(const struct connectib_hw_dct_extended_atomic *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_extended_atomic ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_extended_atomic_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_extended_atomic_dump(const struct connectib_hw_dct_extended_atomic *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_extended_atomic_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_pkey_table_index_pack(const struct connectib_hw_dct_pkey_table_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 372;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_pkey_table_index_unpack(struct connectib_hw_dct_pkey_table_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 372;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+}
+
+void connectib_hw_dct_pkey_table_index_print(const struct connectib_hw_dct_pkey_table_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_pkey_table_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_pkey_table_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_pkey_table_index_dump(const struct connectib_hw_dct_pkey_table_index *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_pkey_table_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_counter_index_pack(const struct connectib_hw_dct_counter_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 320;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_counter_index_unpack(struct connectib_hw_dct_counter_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 320;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_dct_counter_index_print(const struct connectib_hw_dct_counter_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_counter_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_counter_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_counter_index_dump(const struct connectib_hw_dct_counter_index *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_counter_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_srq_number_pack(const struct connectib_hw_dct_srq_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 328;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_srq_number_unpack(struct connectib_hw_dct_srq_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 328;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_dct_srq_number_print(const struct connectib_hw_dct_srq_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_srq_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_srq_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_srq_number_dump(const struct connectib_hw_dct_srq_number *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_srq_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_atomic_like_write_pack(const struct connectib_hw_dct_atomic_like_write *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_atomic_like_write_unpack(struct connectib_hw_dct_atomic_like_write *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 288;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_atomic_like_write_print(const struct connectib_hw_dct_atomic_like_write *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_atomic_like_write ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_atomic_like_write_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_atomic_like_write_dump(const struct connectib_hw_dct_atomic_like_write *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_atomic_like_write_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_my_lid_pack(const struct connectib_hw_dct_my_lid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 289;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_my_lid_unpack(struct connectib_hw_dct_my_lid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 289;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+}
+
+void connectib_hw_dct_my_lid_print(const struct connectib_hw_dct_my_lid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_my_lid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_my_lid_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_my_lid_dump(const struct connectib_hw_dct_my_lid *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_my_lid_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_qp_valid_pack(const struct connectib_hw_dct_qp_valid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 296;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_qp_valid_unpack(struct connectib_hw_dct_qp_valid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 296;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_qp_valid_print(const struct connectib_hw_dct_qp_valid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_qp_valid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_qp_valid_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_qp_valid_dump(const struct connectib_hw_dct_qp_valid *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_qp_valid_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_max_read_atomic_pack(const struct connectib_hw_dct_max_read_atomic *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 297;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_max_read_atomic_unpack(struct connectib_hw_dct_max_read_atomic *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 297;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_dct_max_read_atomic_print(const struct connectib_hw_dct_max_read_atomic *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_max_read_atomic ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_max_read_atomic_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_max_read_atomic_dump(const struct connectib_hw_dct_max_read_atomic *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_max_read_atomic_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_flow_label_pack(const struct connectib_hw_dct_flow_label *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 300;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_flow_label_unpack(struct connectib_hw_dct_flow_label *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 300;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+
+}
+
+void connectib_hw_dct_flow_label_print(const struct connectib_hw_dct_flow_label *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_flow_label ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_flow_label_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_flow_label_dump(const struct connectib_hw_dct_flow_label *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_flow_label_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_grh_bit_pack(const struct connectib_hw_dct_grh_bit *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 260;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_grh_bit_unpack(struct connectib_hw_dct_grh_bit *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 260;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_grh_bit_print(const struct connectib_hw_dct_grh_bit *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_grh_bit ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_grh_bit_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_grh_bit_dump(const struct connectib_hw_dct_grh_bit *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_grh_bit_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_port_number_pack(const struct connectib_hw_dct_port_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 261;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_port_number_unpack(struct connectib_hw_dct_port_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 261;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_port_number_print(const struct connectib_hw_dct_port_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_port_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_port_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_port_number_dump(const struct connectib_hw_dct_port_number *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_port_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_adaptive_routing_pack(const struct connectib_hw_dct_adaptive_routing *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 262;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_adaptive_routing_unpack(struct connectib_hw_dct_adaptive_routing *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 262;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_adaptive_routing_print(const struct connectib_hw_dct_adaptive_routing *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_adaptive_routing ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_adaptive_routing_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_adaptive_routing_dump(const struct connectib_hw_dct_adaptive_routing *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_adaptive_routing_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_tcu_trap_pack(const struct connectib_hw_dct_tcu_trap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 263;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_tcu_trap_unpack(struct connectib_hw_dct_tcu_trap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 263;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_tcu_trap_print(const struct connectib_hw_dct_tcu_trap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_tcu_trap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_tcu_trap_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_tcu_trap_dump(const struct connectib_hw_dct_tcu_trap *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_tcu_trap_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_tcu_drop_pack(const struct connectib_hw_dct_tcu_drop *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 264;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_tcu_drop_unpack(struct connectib_hw_dct_tcu_drop *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 264;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_tcu_drop_print(const struct connectib_hw_dct_tcu_drop *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_tcu_drop ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_tcu_drop_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_tcu_drop_dump(const struct connectib_hw_dct_tcu_drop *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_tcu_drop_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_dc_access_key_log_num_byte_pack(const struct connectib_hw_dct_dc_access_key_log_num_byte *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 265;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_dc_access_key_log_num_byte_unpack(struct connectib_hw_dct_dc_access_key_log_num_byte *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 265;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_dct_dc_access_key_log_num_byte_print(const struct connectib_hw_dct_dc_access_key_log_num_byte *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_dc_access_key_log_num_byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_dc_access_key_log_num_byte_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_dc_access_key_log_num_byte_dump(const struct connectib_hw_dct_dc_access_key_log_num_byte *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_dc_access_key_log_num_byte_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_fast_path_pack(const struct connectib_hw_dct_fast_path *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 268;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_fast_path_unpack(struct connectib_hw_dct_fast_path *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 268;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_fast_path_print(const struct connectib_hw_dct_fast_path *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_fast_path ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_fast_path_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_fast_path_dump(const struct connectib_hw_dct_fast_path *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_fast_path_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_mtu_pack(const struct connectib_hw_dct_mtu *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 269;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_mtu_unpack(struct connectib_hw_dct_mtu *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 269;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_dct_mtu_print(const struct connectib_hw_dct_mtu *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_mtu ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_mtu_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_mtu_dump(const struct connectib_hw_dct_mtu *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_mtu_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_read_enable_pack(const struct connectib_hw_dct_read_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_read_enable_unpack(struct connectib_hw_dct_read_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 272;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_read_enable_print(const struct connectib_hw_dct_read_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_read_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_read_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_read_enable_dump(const struct connectib_hw_dct_read_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_read_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_send_with_invalidate_enable_pack(const struct connectib_hw_dct_send_with_invalidate_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 273;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_send_with_invalidate_enable_unpack(struct connectib_hw_dct_send_with_invalidate_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 273;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_send_with_invalidate_enable_print(const struct connectib_hw_dct_send_with_invalidate_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_send_with_invalidate_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_send_with_invalidate_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_send_with_invalidate_enable_dump(const struct connectib_hw_dct_send_with_invalidate_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_send_with_invalidate_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_ignore_pkey_check_pack(const struct connectib_hw_dct_ignore_pkey_check *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 274;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_ignore_pkey_check_unpack(struct connectib_hw_dct_ignore_pkey_check *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 274;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_ignore_pkey_check_print(const struct connectib_hw_dct_ignore_pkey_check *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_ignore_pkey_check ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_ignore_pkey_check_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_ignore_pkey_check_dump(const struct connectib_hw_dct_ignore_pkey_check *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_ignore_pkey_check_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_max_message_size_pack(const struct connectib_hw_dct_max_message_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 275;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_max_message_size_unpack(struct connectib_hw_dct_max_message_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 275;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+}
+
+void connectib_hw_dct_max_message_size_print(const struct connectib_hw_dct_max_message_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_max_message_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_max_message_size_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_max_message_size_dump(const struct connectib_hw_dct_max_message_size *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_max_message_size_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_inline_scatter_pack(const struct connectib_hw_dct_inline_scatter *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 280;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_inline_scatter_unpack(struct connectib_hw_dct_inline_scatter *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 280;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_hw_dct_inline_scatter_print(const struct connectib_hw_dct_inline_scatter *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_inline_scatter ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_inline_scatter_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_inline_scatter_dump(const struct connectib_hw_dct_inline_scatter *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_inline_scatter_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_write_enable_pack(const struct connectib_hw_dct_write_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 282;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_write_enable_unpack(struct connectib_hw_dct_write_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 282;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_dct_write_enable_print(const struct connectib_hw_dct_write_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_write_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_write_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_write_enable_dump(const struct connectib_hw_dct_write_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_write_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_rnr_timer_pack(const struct connectib_hw_dct_rnr_timer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 283;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_rnr_timer_unpack(struct connectib_hw_dct_rnr_timer *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 283;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+}
+
+void connectib_hw_dct_rnr_timer_print(const struct connectib_hw_dct_rnr_timer *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_rnr_timer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_rnr_timer_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_rnr_timer_dump(const struct connectib_hw_dct_rnr_timer *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_rnr_timer_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_complete_to_64B_eyald_pack(const struct connectib_hw_dct_complete_to_64B_eyald *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_dct_complete_to_64B_eyald_unpack(struct connectib_hw_dct_complete_to_64B_eyald *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_dct_complete_to_64B_eyald_print(const struct connectib_hw_dct_complete_to_64B_eyald *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct_complete_to_64B_eyald ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_dct_complete_to_64B_eyald_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_complete_to_64B_eyald_dump(const struct connectib_hw_dct_complete_to_64B_eyald *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_complete_to_64B_eyald_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_qp_valid_pack(const struct connectib_hw_r_qpc_qp_valid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_qp_valid_unpack(struct connectib_hw_r_qpc_qp_valid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_qp_valid_print(const struct connectib_hw_r_qpc_qp_valid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_qp_valid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_qp_valid_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_qp_valid_dump(const struct connectib_hw_r_qpc_qp_valid *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_qp_valid_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_grh_to_cqe_pack(const struct connectib_hw_r_qpc_grh_to_cqe *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_grh_to_cqe_unpack(struct connectib_hw_r_qpc_grh_to_cqe *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_grh_to_cqe_print(const struct connectib_hw_r_qpc_grh_to_cqe *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_grh_to_cqe ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_grh_to_cqe_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_grh_to_cqe_dump(const struct connectib_hw_r_qpc_grh_to_cqe *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_grh_to_cqe_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_drop_my_self_multicast_pack(const struct connectib_hw_r_qpc_drop_my_self_multicast *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_drop_my_self_multicast_unpack(struct connectib_hw_r_qpc_drop_my_self_multicast *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 3;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_drop_my_self_multicast_print(const struct connectib_hw_r_qpc_drop_my_self_multicast *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_drop_my_self_multicast ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_drop_my_self_multicast_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_drop_my_self_multicast_dump(const struct connectib_hw_r_qpc_drop_my_self_multicast *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_drop_my_self_multicast_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_ack_type_pack(const struct connectib_hw_r_qpc_ack_type *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_ack_type_unpack(struct connectib_hw_r_qpc_ack_type *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_r_qpc_ack_type_print(const struct connectib_hw_r_qpc_ack_type *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_ack_type ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_ack_type_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_ack_type_dump(const struct connectib_hw_r_qpc_ack_type *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_ack_type_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_e2e_credits_enabled_pack(const struct connectib_hw_r_qpc_e2e_credits_enabled *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_e2e_credits_enabled_unpack(struct connectib_hw_r_qpc_e2e_credits_enabled *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 4;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_e2e_credits_enabled_print(const struct connectib_hw_r_qpc_e2e_credits_enabled *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_e2e_credits_enabled ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_e2e_credits_enabled_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_e2e_credits_enabled_dump(const struct connectib_hw_r_qpc_e2e_credits_enabled *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_e2e_credits_enabled_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_no_direct_access_pack(const struct connectib_hw_r_qpc_no_direct_access *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_no_direct_access_unpack(struct connectib_hw_r_qpc_no_direct_access *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 5;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_no_direct_access_print(const struct connectib_hw_r_qpc_no_direct_access *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_no_direct_access ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_no_direct_access_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_no_direct_access_dump(const struct connectib_hw_r_qpc_no_direct_access *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_no_direct_access_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_post_receive_slave_enable_pack(const struct connectib_hw_r_qpc_post_receive_slave_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_post_receive_slave_enable_unpack(struct connectib_hw_r_qpc_post_receive_slave_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 6;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_post_receive_slave_enable_print(const struct connectib_hw_r_qpc_post_receive_slave_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_post_receive_slave_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_post_receive_slave_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_post_receive_slave_enable_dump(const struct connectib_hw_r_qpc_post_receive_slave_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_post_receive_slave_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_atomic_like_write_pack(const struct connectib_hw_r_qpc_atomic_like_write *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_atomic_like_write_unpack(struct connectib_hw_r_qpc_atomic_like_write *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 7;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_atomic_like_write_print(const struct connectib_hw_r_qpc_atomic_like_write *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_atomic_like_write ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_atomic_like_write_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_atomic_like_write_dump(const struct connectib_hw_r_qpc_atomic_like_write *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_atomic_like_write_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_write_enable_pack(const struct connectib_hw_r_qpc_write_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_write_enable_unpack(struct connectib_hw_r_qpc_write_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_write_enable_print(const struct connectib_hw_r_qpc_write_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_write_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_write_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_write_enable_dump(const struct connectib_hw_r_qpc_write_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_write_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_max_read_atomic_pack(const struct connectib_hw_r_qpc_max_read_atomic *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_max_read_atomic_unpack(struct connectib_hw_r_qpc_max_read_atomic *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 9;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_r_qpc_max_read_atomic_print(const struct connectib_hw_r_qpc_max_read_atomic *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_max_read_atomic ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_max_read_atomic_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_max_read_atomic_dump(const struct connectib_hw_r_qpc_max_read_atomic *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_max_read_atomic_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_extended_atomic_pack(const struct connectib_hw_r_qpc_extended_atomic *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_extended_atomic_unpack(struct connectib_hw_r_qpc_extended_atomic *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 12;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_r_qpc_extended_atomic_print(const struct connectib_hw_r_qpc_extended_atomic *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_extended_atomic ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_extended_atomic_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_extended_atomic_dump(const struct connectib_hw_r_qpc_extended_atomic *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_extended_atomic_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_ignore_pkey_check_pack(const struct connectib_hw_r_qpc_ignore_pkey_check *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_ignore_pkey_check_unpack(struct connectib_hw_r_qpc_ignore_pkey_check *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_ignore_pkey_check_print(const struct connectib_hw_r_qpc_ignore_pkey_check *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_ignore_pkey_check ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_ignore_pkey_check_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_ignore_pkey_check_dump(const struct connectib_hw_r_qpc_ignore_pkey_check *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_ignore_pkey_check_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_send_with_invalidate_enable_pack(const struct connectib_hw_r_qpc_send_with_invalidate_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_send_with_invalidate_enable_unpack(struct connectib_hw_r_qpc_send_with_invalidate_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 17;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_send_with_invalidate_enable_print(const struct connectib_hw_r_qpc_send_with_invalidate_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_send_with_invalidate_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_send_with_invalidate_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_send_with_invalidate_enable_dump(const struct connectib_hw_r_qpc_send_with_invalidate_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_send_with_invalidate_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_read_enable_pack(const struct connectib_hw_r_qpc_read_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_read_enable_unpack(struct connectib_hw_r_qpc_read_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 18;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_read_enable_print(const struct connectib_hw_r_qpc_read_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_read_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_read_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_read_enable_dump(const struct connectib_hw_r_qpc_read_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_read_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_fast_path_pack(const struct connectib_hw_r_qpc_fast_path *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_fast_path_unpack(struct connectib_hw_r_qpc_fast_path *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 20;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_fast_path_print(const struct connectib_hw_r_qpc_fast_path *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_fast_path ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_fast_path_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_fast_path_dump(const struct connectib_hw_r_qpc_fast_path *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_fast_path_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_check_source_uc_lb_pack(const struct connectib_hw_r_qpc_check_source_uc_lb *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_check_source_uc_lb_unpack(struct connectib_hw_r_qpc_check_source_uc_lb *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 21;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_check_source_uc_lb_print(const struct connectib_hw_r_qpc_check_source_uc_lb *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_check_source_uc_lb ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_check_source_uc_lb_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_check_source_uc_lb_dump(const struct connectib_hw_r_qpc_check_source_uc_lb *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_check_source_uc_lb_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_check_source_mc_lb_pack(const struct connectib_hw_r_qpc_check_source_mc_lb *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_check_source_mc_lb_unpack(struct connectib_hw_r_qpc_check_source_mc_lb *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 22;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_check_source_mc_lb_print(const struct connectib_hw_r_qpc_check_source_mc_lb *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_check_source_mc_lb ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_check_source_mc_lb_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_check_source_mc_lb_dump(const struct connectib_hw_r_qpc_check_source_mc_lb *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_check_source_mc_lb_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_check_source_gvmi_pack(const struct connectib_hw_r_qpc_check_source_gvmi *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_check_source_gvmi_unpack(struct connectib_hw_r_qpc_check_source_gvmi *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 23;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_check_source_gvmi_print(const struct connectib_hw_r_qpc_check_source_gvmi *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_check_source_gvmi ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_check_source_gvmi_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_check_source_gvmi_dump(const struct connectib_hw_r_qpc_check_source_gvmi *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_check_source_gvmi_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_inline_scatter_pack(const struct connectib_hw_r_qpc_inline_scatter *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_inline_scatter_unpack(struct connectib_hw_r_qpc_inline_scatter *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_hw_r_qpc_inline_scatter_print(const struct connectib_hw_r_qpc_inline_scatter *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_inline_scatter ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_inline_scatter_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_inline_scatter_dump(const struct connectib_hw_r_qpc_inline_scatter *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_inline_scatter_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rwq_type_pack(const struct connectib_hw_r_qpc_rwq_type *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rwq_type_unpack(struct connectib_hw_r_qpc_rwq_type *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_hw_r_qpc_rwq_type_print(const struct connectib_hw_r_qpc_rwq_type *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rwq_type ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rwq_type_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rwq_type_dump(const struct connectib_hw_r_qpc_rwq_type *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rwq_type_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_last_opcode_pack(const struct connectib_hw_r_qpc_last_opcode *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_last_opcode_unpack(struct connectib_hw_r_qpc_last_opcode *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_last_opcode_print(const struct connectib_hw_r_qpc_last_opcode *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_last_opcode ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_last_opcode_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_last_opcode_dump(const struct connectib_hw_r_qpc_last_opcode *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_last_opcode_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_fw_link_type_pack(const struct connectib_hw_r_qpc_fw_link_type *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_fw_link_type_unpack(struct connectib_hw_r_qpc_fw_link_type *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 29;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_fw_link_type_print(const struct connectib_hw_r_qpc_fw_link_type *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_fw_link_type ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_fw_link_type_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_fw_link_type_dump(const struct connectib_hw_r_qpc_fw_link_type *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_fw_link_type_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_check_source_uc_wire_pack(const struct connectib_hw_r_qpc_check_source_uc_wire *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_check_source_uc_wire_unpack(struct connectib_hw_r_qpc_check_source_uc_wire *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 30;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_check_source_uc_wire_print(const struct connectib_hw_r_qpc_check_source_uc_wire *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_check_source_uc_wire ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_check_source_uc_wire_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_check_source_uc_wire_dump(const struct connectib_hw_r_qpc_check_source_uc_wire *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_check_source_uc_wire_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_write_rkey_pack(const struct connectib_hw_r_qpc_write_rkey *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_write_rkey_unpack(struct connectib_hw_r_qpc_write_rkey *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 32;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_r_qpc_write_rkey_print(const struct connectib_hw_r_qpc_write_rkey *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_write_rkey ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_write_rkey_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_write_rkey_dump(const struct connectib_hw_r_qpc_write_rkey *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_write_rkey_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rx_heartbeat_pack(const struct connectib_hw_r_qpc_rx_heartbeat *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rx_heartbeat_unpack(struct connectib_hw_r_qpc_rx_heartbeat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 64;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_rx_heartbeat_print(const struct connectib_hw_r_qpc_rx_heartbeat *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rx_heartbeat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rx_heartbeat_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rx_heartbeat_dump(const struct connectib_hw_r_qpc_rx_heartbeat *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rx_heartbeat_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_e2e_credits_prefetch_threshold_pack(const struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 65;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_e2e_credits_prefetch_threshold_unpack(struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 65;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_r_qpc_e2e_credits_prefetch_threshold_print(const struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_e2e_credits_prefetch_threshold ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_e2e_credits_prefetch_threshold_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_e2e_credits_prefetch_threshold_dump(const struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_e2e_credits_prefetch_threshold_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_e2e_fetch_enable_pack(const struct connectib_hw_r_qpc_e2e_fetch_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 68;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_e2e_fetch_enable_unpack(struct connectib_hw_r_qpc_e2e_fetch_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 68;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_e2e_fetch_enable_print(const struct connectib_hw_r_qpc_e2e_fetch_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_e2e_fetch_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_e2e_fetch_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_e2e_fetch_enable_dump(const struct connectib_hw_r_qpc_e2e_fetch_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_e2e_fetch_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_tcu_drop_pack(const struct connectib_hw_r_qpc_tcu_drop *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 69;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_tcu_drop_unpack(struct connectib_hw_r_qpc_tcu_drop *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 69;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_tcu_drop_print(const struct connectib_hw_r_qpc_tcu_drop *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_tcu_drop ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_tcu_drop_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_tcu_drop_dump(const struct connectib_hw_r_qpc_tcu_drop *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_tcu_drop_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_can_use_reserved_lkey_pack(const struct connectib_hw_r_qpc_can_use_reserved_lkey *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 70;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_can_use_reserved_lkey_unpack(struct connectib_hw_r_qpc_can_use_reserved_lkey *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 70;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_can_use_reserved_lkey_print(const struct connectib_hw_r_qpc_can_use_reserved_lkey *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_can_use_reserved_lkey ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_can_use_reserved_lkey_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_can_use_reserved_lkey_dump(const struct connectib_hw_r_qpc_can_use_reserved_lkey *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_can_use_reserved_lkey_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_tcu_trap_pack(const struct connectib_hw_r_qpc_tcu_trap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 71;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_tcu_trap_unpack(struct connectib_hw_r_qpc_tcu_trap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 71;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_tcu_trap_print(const struct connectib_hw_r_qpc_tcu_trap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_tcu_trap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_tcu_trap_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_tcu_trap_dump(const struct connectib_hw_r_qpc_tcu_trap *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_tcu_trap_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rnr_timer_pack(const struct connectib_hw_r_qpc_rnr_timer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 75;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rnr_timer_unpack(struct connectib_hw_r_qpc_rnr_timer *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 75;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+}
+
+void connectib_hw_r_qpc_rnr_timer_print(const struct connectib_hw_r_qpc_rnr_timer *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rnr_timer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rnr_timer_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rnr_timer_dump(const struct connectib_hw_r_qpc_rnr_timer *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rnr_timer_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rwqe_limit_event_pack(const struct connectib_hw_r_qpc_rwqe_limit_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rwqe_limit_event_unpack(struct connectib_hw_r_qpc_rwqe_limit_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 80;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_r_qpc_rwqe_limit_event_print(const struct connectib_hw_r_qpc_rwqe_limit_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rwqe_limit_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rwqe_limit_event_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rwqe_limit_event_dump(const struct connectib_hw_r_qpc_rwqe_limit_event *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rwqe_limit_event_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rwqe_consumer_index_pack(const struct connectib_hw_r_qpc_rwqe_consumer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rwqe_consumer_index_unpack(struct connectib_hw_r_qpc_rwqe_consumer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 96;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_r_qpc_rwqe_consumer_index_print(const struct connectib_hw_r_qpc_rwqe_consumer_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rwqe_consumer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rwqe_consumer_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rwqe_consumer_index_dump(const struct connectib_hw_r_qpc_rwqe_consumer_index *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rwqe_consumer_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rcyclic_producer_pack(const struct connectib_hw_r_qpc_rcyclic_producer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rcyclic_producer_unpack(struct connectib_hw_r_qpc_rcyclic_producer *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 96;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_r_qpc_rcyclic_producer_print(const struct connectib_hw_r_qpc_rcyclic_producer *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rcyclic_producer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rcyclic_producer_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rcyclic_producer_dump(const struct connectib_hw_r_qpc_rcyclic_producer *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rcyclic_producer_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rwqe_producer_index_pack(const struct connectib_hw_r_qpc_rwqe_producer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rwqe_producer_index_unpack(struct connectib_hw_r_qpc_rwqe_producer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 112;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_r_qpc_rwqe_producer_index_print(const struct connectib_hw_r_qpc_rwqe_producer_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rwqe_producer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rwqe_producer_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rwqe_producer_index_dump(const struct connectib_hw_r_qpc_rwqe_producer_index *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rwqe_producer_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_qp_state_pack(const struct connectib_hw_r_qpc_qp_state *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_qp_state_unpack(struct connectib_hw_r_qpc_qp_state *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 144;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_r_qpc_qp_state_print(const struct connectib_hw_r_qpc_qp_state *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_qp_state ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_qp_state_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_qp_state_dump(const struct connectib_hw_r_qpc_qp_state *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_qp_state_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rdb_write_pointer_pack(const struct connectib_hw_r_qpc_rdb_write_pointer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rdb_write_pointer_unpack(struct connectib_hw_r_qpc_rdb_write_pointer *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 160;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_r_qpc_rdb_write_pointer_print(const struct connectib_hw_r_qpc_rdb_write_pointer *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rdb_write_pointer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rdb_write_pointer_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rdb_write_pointer_dump(const struct connectib_hw_r_qpc_rdb_write_pointer *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rdb_write_pointer_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_first_non_acked_psn_pack(const struct connectib_hw_r_qpc_first_non_acked_psn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_first_non_acked_psn_unpack(struct connectib_hw_r_qpc_first_non_acked_psn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 168;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_first_non_acked_psn_print(const struct connectib_hw_r_qpc_first_non_acked_psn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_first_non_acked_psn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_first_non_acked_psn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_first_non_acked_psn_dump(const struct connectib_hw_r_qpc_first_non_acked_psn *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_first_non_acked_psn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rcyclic_consumer_pack(const struct connectib_hw_r_qpc_rcyclic_consumer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rcyclic_consumer_unpack(struct connectib_hw_r_qpc_rcyclic_consumer *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 192;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_r_qpc_rcyclic_consumer_print(const struct connectib_hw_r_qpc_rcyclic_consumer *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rcyclic_consumer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rcyclic_consumer_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rcyclic_consumer_dump(const struct connectib_hw_r_qpc_rcyclic_consumer *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rcyclic_consumer_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_msn_pack(const struct connectib_hw_r_qpc_msn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_msn_unpack(struct connectib_hw_r_qpc_msn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 200;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_msn_print(const struct connectib_hw_r_qpc_msn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_msn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_msn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_msn_dump(const struct connectib_hw_r_qpc_msn *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_msn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_dct_number_pack(const struct connectib_hw_r_qpc_dct_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_dct_number_unpack(struct connectib_hw_r_qpc_dct_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 232;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_dct_number_print(const struct connectib_hw_r_qpc_dct_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_dct_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_dct_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_dct_number_dump(const struct connectib_hw_r_qpc_dct_number *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_dct_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_cq_number_pack(const struct connectib_hw_r_qpc_cq_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_cq_number_unpack(struct connectib_hw_r_qpc_cq_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 232;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_cq_number_print(const struct connectib_hw_r_qpc_cq_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_cq_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_cq_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_cq_number_dump(const struct connectib_hw_r_qpc_cq_number *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_cq_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_expected_psn_pack(const struct connectib_hw_r_qpc_expected_psn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_expected_psn_unpack(struct connectib_hw_r_qpc_expected_psn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 256;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_expected_psn_print(const struct connectib_hw_r_qpc_expected_psn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_expected_psn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_expected_psn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_expected_psn_dump(const struct connectib_hw_r_qpc_expected_psn *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_expected_psn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_flush_syndrom_pack(const struct connectib_hw_r_qpc_flush_syndrom *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 280;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_flush_syndrom_unpack(struct connectib_hw_r_qpc_flush_syndrom *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 280;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_r_qpc_flush_syndrom_print(const struct connectib_hw_r_qpc_flush_syndrom *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_flush_syndrom ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_flush_syndrom_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_flush_syndrom_dump(const struct connectib_hw_r_qpc_flush_syndrom *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_flush_syndrom_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_counter_index_pack(const struct connectib_hw_r_qpc_counter_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_counter_index_unpack(struct connectib_hw_r_qpc_counter_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 288;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_r_qpc_counter_index_print(const struct connectib_hw_r_qpc_counter_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_counter_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_counter_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_counter_index_dump(const struct connectib_hw_r_qpc_counter_index *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_counter_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_always_zero_pack(const struct connectib_hw_r_qpc_always_zero *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 296;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_always_zero_unpack(struct connectib_hw_r_qpc_always_zero *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 296;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_always_zero_print(const struct connectib_hw_r_qpc_always_zero *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_always_zero ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_always_zero_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_always_zero_dump(const struct connectib_hw_r_qpc_always_zero *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_always_zero_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rdb_read_pointer_pack(const struct connectib_hw_r_qpc_rdb_read_pointer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 312;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rdb_read_pointer_unpack(struct connectib_hw_r_qpc_rdb_read_pointer *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 312;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_r_qpc_rdb_read_pointer_print(const struct connectib_hw_r_qpc_rdb_read_pointer *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rdb_read_pointer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rdb_read_pointer_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rdb_read_pointer_dump(const struct connectib_hw_r_qpc_rdb_read_pointer *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rdb_read_pointer_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_rx_length_committed_pack(const struct connectib_hw_r_qpc_rx_length_committed *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 320;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_rx_length_committed_unpack(struct connectib_hw_r_qpc_rx_length_committed *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 320;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_rx_length_committed_print(const struct connectib_hw_r_qpc_rx_length_committed *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_rx_length_committed ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_rx_length_committed_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_rx_length_committed_dump(const struct connectib_hw_r_qpc_rx_length_committed *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_rx_length_committed_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_ts_pack(const struct connectib_hw_r_qpc_ts *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_ts_unpack(struct connectib_hw_r_qpc_ts *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_r_qpc_ts_print(const struct connectib_hw_r_qpc_ts *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_ts ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_ts_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_ts_dump(const struct connectib_hw_r_qpc_ts *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_ts_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_sx_heartbeat_pack(const struct connectib_hw_r_qpc_sx_heartbeat *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 356;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_sx_heartbeat_unpack(struct connectib_hw_r_qpc_sx_heartbeat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 356;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_sx_heartbeat_print(const struct connectib_hw_r_qpc_sx_heartbeat *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_sx_heartbeat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_sx_heartbeat_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_sx_heartbeat_dump(const struct connectib_hw_r_qpc_sx_heartbeat *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_sx_heartbeat_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_sqn_pack(const struct connectib_hw_r_qpc_sqn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 357;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_sqn_unpack(struct connectib_hw_r_qpc_sqn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 357;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+
+}
+
+void connectib_hw_r_qpc_sqn_print(const struct connectib_hw_r_qpc_sqn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_sqn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_sqn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_sqn_dump(const struct connectib_hw_r_qpc_sqn *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_sqn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_dct_gvmi_pack(const struct connectib_hw_r_qpc_dct_gvmi *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 368;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_dct_gvmi_unpack(struct connectib_hw_r_qpc_dct_gvmi *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 368;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_r_qpc_dct_gvmi_print(const struct connectib_hw_r_qpc_dct_gvmi *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_dct_gvmi ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_dct_gvmi_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_dct_gvmi_dump(const struct connectib_hw_r_qpc_dct_gvmi *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_dct_gvmi_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_no_wqe_drop_count_pack(const struct connectib_hw_r_qpc_no_wqe_drop_count *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 368;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_no_wqe_drop_count_unpack(struct connectib_hw_r_qpc_no_wqe_drop_count *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 368;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_r_qpc_no_wqe_drop_count_print(const struct connectib_hw_r_qpc_no_wqe_drop_count *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_no_wqe_drop_count ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_no_wqe_drop_count_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_no_wqe_drop_count_dump(const struct connectib_hw_r_qpc_no_wqe_drop_count *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_no_wqe_drop_count_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_write_va_63_32_pack(const struct connectib_hw_r_qpc_write_va_63_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_write_va_63_32_unpack(struct connectib_hw_r_qpc_write_va_63_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_r_qpc_write_va_63_32_print(const struct connectib_hw_r_qpc_write_va_63_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_write_va_63_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_write_va_63_32_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_write_va_63_32_dump(const struct connectib_hw_r_qpc_write_va_63_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_write_va_63_32_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_write_va_31_0_pack(const struct connectib_hw_r_qpc_write_va_31_0 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_write_va_31_0_unpack(struct connectib_hw_r_qpc_write_va_31_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_r_qpc_write_va_31_0_print(const struct connectib_hw_r_qpc_write_va_31_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_write_va_31_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_write_va_31_0_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_write_va_31_0_dump(const struct connectib_hw_r_qpc_write_va_31_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_write_va_31_0_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_srq_number_pack(const struct connectib_hw_r_qpc_srq_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 456;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_srq_number_unpack(struct connectib_hw_r_qpc_srq_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 456;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_srq_number_print(const struct connectib_hw_r_qpc_srq_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_srq_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_srq_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_srq_number_dump(const struct connectib_hw_r_qpc_srq_number *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_srq_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_next_dcr_pack(const struct connectib_hw_r_qpc_next_dcr *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 456;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_next_dcr_unpack(struct connectib_hw_r_qpc_next_dcr *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 456;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_next_dcr_print(const struct connectib_hw_r_qpc_next_dcr *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_next_dcr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_next_dcr_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_next_dcr_dump(const struct connectib_hw_r_qpc_next_dcr *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_next_dcr_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_mpi_uar_pack(const struct connectib_hw_r_qpc_mpi_uar *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_mpi_uar_unpack(struct connectib_hw_r_qpc_mpi_uar *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_mpi_uar_print(const struct connectib_hw_r_qpc_mpi_uar *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_mpi_uar ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_mpi_uar_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_mpi_uar_dump(const struct connectib_hw_r_qpc_mpi_uar *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_mpi_uar_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_responder_session_id_pack(const struct connectib_hw_r_qpc_responder_session_id *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_responder_session_id_unpack(struct connectib_hw_r_qpc_responder_session_id *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_responder_session_id_print(const struct connectib_hw_r_qpc_responder_session_id *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_responder_session_id ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_responder_session_id_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_responder_session_id_dump(const struct connectib_hw_r_qpc_responder_session_id *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_responder_session_id_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_xrc_domain_pack(const struct connectib_hw_r_qpc_xrc_domain *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_xrc_domain_unpack(struct connectib_hw_r_qpc_xrc_domain *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_r_qpc_xrc_domain_print(const struct connectib_hw_r_qpc_xrc_domain *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_xrc_domain ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_xrc_domain_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_xrc_domain_dump(const struct connectib_hw_r_qpc_xrc_domain *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_xrc_domain_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_dcr_connected_pack(const struct connectib_hw_r_qpc_dcr_connected *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 509;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_dcr_connected_unpack(struct connectib_hw_r_qpc_dcr_connected *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 509;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_dcr_connected_print(const struct connectib_hw_r_qpc_dcr_connected *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_dcr_connected ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_dcr_connected_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_dcr_connected_dump(const struct connectib_hw_r_qpc_dcr_connected *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_dcr_connected_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_e2e_pa_63_32_pack(const struct connectib_hw_r_qpc_e2e_pa_63_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_e2e_pa_63_32_unpack(struct connectib_hw_r_qpc_e2e_pa_63_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_r_qpc_e2e_pa_63_32_print(const struct connectib_hw_r_qpc_e2e_pa_63_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_e2e_pa_63_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_e2e_pa_63_32_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_e2e_pa_63_32_dump(const struct connectib_hw_r_qpc_e2e_pa_63_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_e2e_pa_63_32_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_e2e_pa_31_2_pack(const struct connectib_hw_r_qpc_e2e_pa_31_2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_e2e_pa_31_2_unpack(struct connectib_hw_r_qpc_e2e_pa_31_2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+
+}
+
+void connectib_hw_r_qpc_e2e_pa_31_2_print(const struct connectib_hw_r_qpc_e2e_pa_31_2 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_e2e_pa_31_2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_e2e_pa_31_2_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_e2e_pa_31_2_dump(const struct connectib_hw_r_qpc_e2e_pa_31_2 *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_e2e_pa_31_2_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_check_source_mc_wire_pack(const struct connectib_hw_r_qpc_check_source_mc_wire *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 510;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_check_source_mc_wire_unpack(struct connectib_hw_r_qpc_check_source_mc_wire *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 510;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_r_qpc_check_source_mc_wire_print(const struct connectib_hw_r_qpc_check_source_mc_wire *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_check_source_mc_wire ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_check_source_mc_wire_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_check_source_mc_wire_dump(const struct connectib_hw_r_qpc_check_source_mc_wire *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_check_source_mc_wire_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_connection_state_pack(const struct connectib_hw_r_qpc_connection_state *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 510;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_r_qpc_connection_state_unpack(struct connectib_hw_r_qpc_connection_state *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 510;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_hw_r_qpc_connection_state_print(const struct connectib_hw_r_qpc_connection_state *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc_connection_state ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_r_qpc_connection_state_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_connection_state_dump(const struct connectib_hw_r_qpc_connection_state *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_connection_state_print(ptr_struct, file, 0);
+}
+
+void connectib_pf_vf_vpd_pack(const struct connectib_pf_vf_vpd *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->vpd_address);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->F);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vpd_data);
+
+}
+
+void connectib_pf_vf_vpd_unpack(struct connectib_pf_vf_vpd *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	ptr_struct->vpd_address = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
+
+	offset = 0;
+	ptr_struct->F = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->vpd_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_pf_vf_vpd_print(const struct connectib_pf_vf_vpd *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pf_vf_vpd ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vpd_address          : " UH_FMT "\n", ptr_struct->vpd_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "F                    : " UH_FMT "\n", ptr_struct->F);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vpd_data             : " U32H_FMT "\n", ptr_struct->vpd_data);
+
+}
+
+int connectib_pf_vf_vpd_size(void)
+{
+	 return 8;
+}
+
+void connectib_pf_vf_vpd_dump(const struct connectib_pf_vf_vpd *ptr_struct, FILE* file)
+{
+	connectib_pf_vf_vpd_print(ptr_struct, file, 0);
+}
+
+void connectib_pf_vf_sriov_pack(const struct connectib_pf_vf_sriov *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_enable);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_migration_en);
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_migration_int_en);
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_mse);
+
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_capable_hierarchy);
+
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_system_page_size);
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->num_vfs);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->not_in_use);
+
+}
+
+void connectib_pf_vf_sriov_unpack(struct connectib_pf_vf_sriov *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->vf_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->vf_migration_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 29;
+	ptr_struct->vf_migration_int_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 28;
+	ptr_struct->vf_mse = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 27;
+	ptr_struct->ari_capable_hierarchy = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 19;
+	ptr_struct->log_system_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 6;
+	ptr_struct->num_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+
+	offset = 32;
+	ptr_struct->not_in_use = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_pf_vf_sriov_print(const struct connectib_pf_vf_sriov *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pf_vf_sriov ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_enable            : " UH_FMT "\n", ptr_struct->vf_enable);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_migration_en      : " UH_FMT "\n", ptr_struct->vf_migration_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_migration_int_en  : " UH_FMT "\n", ptr_struct->vf_migration_int_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_mse               : " UH_FMT "\n", ptr_struct->vf_mse);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ari_capable_hierarchy : " UH_FMT "\n", ptr_struct->ari_capable_hierarchy);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_system_page_size : " UH_FMT "\n", ptr_struct->log_system_page_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_vfs              : " UH_FMT "\n", ptr_struct->num_vfs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "not_in_use           : " U32H_FMT "\n", ptr_struct->not_in_use);
+
+}
+
+int connectib_pf_vf_sriov_size(void)
+{
+	 return 8;
+}
+
+void connectib_pf_vf_sriov_dump(const struct connectib_pf_vf_sriov *ptr_struct, FILE* file)
+{
+	connectib_pf_vf_sriov_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_conf_preset_tx_ini_pack(const struct connectib_serdes_conf_preset_tx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_preset_tx_ini_unpack(struct connectib_serdes_conf_preset_tx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_preset_tx_ini_print(const struct connectib_serdes_conf_preset_tx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_conf_preset_tx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 16; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_conf_preset_tx_ini_size(void)
+{
+	 return 64;
+}
+
+void connectib_serdes_conf_preset_tx_ini_dump(const struct connectib_serdes_conf_preset_tx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_conf_preset_tx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_active_tx_ini_pack(const struct connectib_serdes_active_tx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_active_tx_ini_unpack(struct connectib_serdes_active_tx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_active_tx_ini_print(const struct connectib_serdes_active_tx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_active_tx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_active_tx_ini_size(void)
+{
+	 return 16;
+}
+
+void connectib_serdes_active_tx_ini_dump(const struct connectib_serdes_active_tx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_active_tx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_active_rx_ini_pack(const struct connectib_serdes_active_rx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 256, 1);
+	connectib_serdes_conf_rx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_active_rx_ini_unpack(struct connectib_serdes_active_rx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 256, 1);
+	connectib_serdes_conf_rx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_active_rx_ini_print(const struct connectib_serdes_active_rx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_active_rx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_rx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_active_rx_ini_size(void)
+{
+	 return 32;
+}
+
+void connectib_serdes_active_rx_ini_dump(const struct connectib_serdes_active_rx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_active_rx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_force_tx_ini_pack(const struct connectib_serdes_force_tx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 10; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 320, 1);
+	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_force_tx_ini_unpack(struct connectib_serdes_force_tx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 10; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 320, 1);
+	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_force_tx_ini_print(const struct connectib_serdes_force_tx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_force_tx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 10; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_force_tx_ini_size(void)
+{
+	 return 40;
+}
+
+void connectib_serdes_force_tx_ini_dump(const struct connectib_serdes_force_tx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_force_tx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_force_rx_ini_pack(const struct connectib_serdes_force_rx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 10; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 640, 1);
+	connectib_serdes_conf_rx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_force_rx_ini_unpack(struct connectib_serdes_force_rx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 10; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 640, 1);
+	connectib_serdes_conf_rx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_force_rx_ini_print(const struct connectib_serdes_force_rx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_force_rx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 10; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_rx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_force_rx_ini_size(void)
+{
+	 return 80;
+}
+
+void connectib_serdes_force_rx_ini_dump(const struct connectib_serdes_force_rx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_force_rx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_conf_aba_tx_ini_pack(const struct connectib_serdes_conf_aba_tx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_aba_tx_ini_unpack(struct connectib_serdes_conf_aba_tx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_aba_tx_ini_print(const struct connectib_serdes_conf_aba_tx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_conf_aba_tx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 32; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_conf_aba_tx_ini_size(void)
+{
+	 return 128;
+}
+
+void connectib_serdes_conf_aba_tx_ini_dump(const struct connectib_serdes_conf_aba_tx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_conf_aba_tx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_conf_aba_rx_ini_pack(const struct connectib_serdes_conf_aba_rx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 2048, 1);
+	connectib_serdes_conf_rx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_aba_rx_ini_unpack(struct connectib_serdes_conf_aba_rx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 2048, 1);
+	connectib_serdes_conf_rx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_aba_rx_ini_print(const struct connectib_serdes_conf_aba_rx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_conf_aba_rx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 32; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_rx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_conf_aba_rx_ini_size(void)
+{
+	 return 256;
+}
+
+void connectib_serdes_conf_aba_rx_ini_dump(const struct connectib_serdes_conf_aba_rx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_conf_aba_rx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_conf_autoneg_tx_ini_pack(const struct connectib_serdes_conf_autoneg_tx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	connectib_serdes_conf_tx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_autoneg_tx_ini_unpack(struct connectib_serdes_conf_autoneg_tx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	connectib_serdes_conf_tx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_autoneg_tx_ini_print(const struct connectib_serdes_conf_autoneg_tx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_conf_autoneg_tx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 32; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_tx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_conf_autoneg_tx_ini_size(void)
+{
+	 return 128;
+}
+
+void connectib_serdes_conf_autoneg_tx_ini_dump(const struct connectib_serdes_conf_autoneg_tx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_conf_autoneg_tx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_conf_autoneg_rx_ini_pack(const struct connectib_serdes_conf_autoneg_rx_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 2048, 1);
+	connectib_serdes_conf_rx_set_ini_pack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_autoneg_rx_ini_unpack(struct connectib_serdes_conf_autoneg_rx_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 2048, 1);
+	connectib_serdes_conf_rx_set_ini_unpack(&(ptr_struct->set[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_serdes_conf_autoneg_rx_ini_print(const struct connectib_serdes_conf_autoneg_rx_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_conf_autoneg_rx_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 32; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_%03d:\n", i);
+	connectib_serdes_conf_rx_set_ini_print(&(ptr_struct->set[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_serdes_conf_autoneg_rx_ini_size(void)
+{
+	 return 256;
+}
+
+void connectib_serdes_conf_autoneg_rx_ini_dump(const struct connectib_serdes_conf_autoneg_rx_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_conf_autoneg_rx_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_aba_indexes_pack(const struct connectib_aba_indexes *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_aba_index_pack(&(ptr_struct->encode_64_66), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_aba_index_pack(&(ptr_struct->encode_8_10), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_aba_index_pack(&(ptr_struct->encode_8_10_legacy), ptr_buff + offset/8);
+
+}
+
+void connectib_aba_indexes_unpack(struct connectib_aba_indexes *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_aba_index_unpack(&(ptr_struct->encode_64_66), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_aba_index_unpack(&(ptr_struct->encode_8_10), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_aba_index_unpack(&(ptr_struct->encode_8_10_legacy), ptr_buff + offset/8);
+
+}
+
+void connectib_aba_indexes_print(const struct connectib_aba_indexes *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_aba_indexes ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encode_64_66:\n");
+	connectib_aba_index_print(&(ptr_struct->encode_64_66), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encode_8_10:\n");
+	connectib_aba_index_print(&(ptr_struct->encode_8_10), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encode_8_10_legacy:\n");
+	connectib_aba_index_print(&(ptr_struct->encode_8_10_legacy), file, indent_level + 1);
+
+}
+
+int connectib_aba_indexes_size(void)
+{
+	 return 48;
+}
+
+void connectib_aba_indexes_dump(const struct connectib_aba_indexes *ptr_struct, FILE* file)
+{
+	connectib_aba_indexes_print(ptr_struct, file, 0);
+}
+
+void connectib_serdes_param_mask_per_proto_ini_pack(const struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx);
+
+}
+
+void connectib_serdes_param_mask_per_proto_ini_unpack(struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->rx = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_serdes_param_mask_per_proto_ini_print(const struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_param_mask_per_proto_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx                   : " U32H_FMT "\n", ptr_struct->rx);
+
+}
+
+int connectib_serdes_param_mask_per_proto_ini_size(void)
+{
+	 return 4;
+}
+
+void connectib_serdes_param_mask_per_proto_ini_dump(const struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_param_mask_per_proto_ini_print(ptr_struct, file, 0);
+}
+
+void connectib_pf_array_default_ones_pack(const struct connectib_pf_array_default_ones *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(31, 1, i, 64, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ix[i]);
+	}
+
+}
+
+void connectib_pf_array_default_ones_unpack(struct connectib_pf_array_default_ones *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(31, 1, i, 64, 1);
+	ptr_struct->ix[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	}
+
+}
+
+void connectib_pf_array_default_ones_print(const struct connectib_pf_array_default_ones *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pf_array_default_ones ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 64; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ix_%03d              : " UH_FMT "\n", i, ptr_struct->ix[i]);
+	}
+
+}
+
+int connectib_pf_array_default_ones_size(void)
+{
+	 return 8;
+}
+
+void connectib_pf_array_default_ones_dump(const struct connectib_pf_array_default_ones *ptr_struct, FILE* file)
+{
+	connectib_pf_array_default_ones_print(ptr_struct, file, 0);
+}
+
+void connectib_nv_ets_tcN_config_reg_pack(const struct connectib_nv_ets_tcN_config_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->bw_allocation);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->group);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->max_bw_value);
+
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_bw_units);
+
+}
+
+void connectib_nv_ets_tcN_config_reg_unpack(struct connectib_nv_ets_tcN_config_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 25;
+	ptr_struct->bw_allocation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 12;
+	ptr_struct->group = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 56;
+	ptr_struct->max_bw_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 44;
+	ptr_struct->max_bw_units = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_nv_ets_tcN_config_reg_print(const struct connectib_nv_ets_tcN_config_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_ets_tcN_config_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bw_allocation        : " UH_FMT "\n", ptr_struct->bw_allocation);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "group                : " UH_FMT "\n", ptr_struct->group);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_bw_value         : " UH_FMT "\n", ptr_struct->max_bw_value);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_bw_units         : %s (" UH_FMT ")\n", (ptr_struct->max_bw_units == 4 ? ("GBPS") : ("unknown")), ptr_struct->max_bw_units);
+
+}
+
+int connectib_nv_ets_tcN_config_reg_size(void)
+{
+	 return 8;
+}
+
+void connectib_nv_ets_tcN_config_reg_dump(const struct connectib_nv_ets_tcN_config_reg *ptr_struct, FILE* file)
+{
+	connectib_nv_ets_tcN_config_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_fpga_cap_pack(const struct connectib_cmdif_ctx_fpga_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->state);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mailbox_write_offset);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mailbox_write_size);
+
+}
+
+void connectib_cmdif_ctx_fpga_cap_unpack(struct connectib_cmdif_ctx_fpga_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->state = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->mailbox_write_offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->mailbox_write_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_fpga_cap_print(const struct connectib_cmdif_ctx_fpga_cap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_fpga_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "state                : " U32H_FMT "\n", ptr_struct->state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mailbox_write_offset : " U32H_FMT "\n", ptr_struct->mailbox_write_offset);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mailbox_write_size   : " U32H_FMT "\n", ptr_struct->mailbox_write_size);
+
+}
+
+int connectib_cmdif_ctx_fpga_cap_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_fpga_cap_dump(const struct connectib_cmdif_ctx_fpga_cap *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_fpga_cap_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_fpga_access_reg_pack(const struct connectib_cmdif_ctx_fpga_access_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->state);
+
+}
+
+void connectib_cmdif_ctx_fpga_access_reg_unpack(struct connectib_cmdif_ctx_fpga_access_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->state = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_fpga_access_reg_print(const struct connectib_cmdif_ctx_fpga_access_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_fpga_access_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "state                : " U32H_FMT "\n", ptr_struct->state);
+
+}
+
+int connectib_cmdif_ctx_fpga_access_reg_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_fpga_access_reg_dump(const struct connectib_cmdif_ctx_fpga_access_reg *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_fpga_access_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_create_lag_pack(const struct connectib_cmdif_create_lag *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_remap_affinity_1);
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_remap_affinity_2);
+
+}
+
+void connectib_cmdif_create_lag_unpack(struct connectib_cmdif_create_lag *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->tx_remap_affinity_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 24;
+	ptr_struct->tx_remap_affinity_2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_create_lag_print(const struct connectib_cmdif_create_lag *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_create_lag ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_remap_affinity_1  : " UH_FMT "\n", ptr_struct->tx_remap_affinity_1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_remap_affinity_2  : " UH_FMT "\n", ptr_struct->tx_remap_affinity_2);
+
+}
+
+int connectib_cmdif_create_lag_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_create_lag_dump(const struct connectib_cmdif_create_lag *ptr_struct, FILE* file)
+{
+	connectib_cmdif_create_lag_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_modify_sq_pack(const struct connectib_cmdif_modify_sq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->qp_flush_syndrom);
+
+}
+
+void connectib_cmdif_modify_sq_unpack(struct connectib_cmdif_modify_sq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->qp_flush_syndrom = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_modify_sq_print(const struct connectib_cmdif_modify_sq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_modify_sq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_flush_syndrom     : " U32H_FMT "\n", ptr_struct->qp_flush_syndrom);
+
+}
+
+int connectib_cmdif_modify_sq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_modify_sq_dump(const struct connectib_cmdif_modify_sq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_modify_sq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_modify_rq_pack(const struct connectib_cmdif_modify_rq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->qp_flush_syndrom);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lwm);
+
+}
+
+void connectib_cmdif_modify_rq_unpack(struct connectib_cmdif_modify_rq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->qp_flush_syndrom = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->lwm = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_modify_rq_print(const struct connectib_cmdif_modify_rq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_modify_rq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_flush_syndrom     : " U32H_FMT "\n", ptr_struct->qp_flush_syndrom);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lwm                  : " U32H_FMT "\n", ptr_struct->lwm);
+
+}
+
+int connectib_cmdif_modify_rq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_modify_rq_dump(const struct connectib_cmdif_modify_rq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_modify_rq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_l2_table_pack(const struct connectib_cmdif_ctx_l2_table *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hw_rx_ix);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hw_sx_ix);
+
+}
+
+void connectib_cmdif_ctx_l2_table_unpack(struct connectib_cmdif_ctx_l2_table *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->hw_rx_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->hw_sx_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_l2_table_print(const struct connectib_cmdif_ctx_l2_table *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_l2_table ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_rx_ix             : " U32H_FMT "\n", ptr_struct->hw_rx_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_sx_ix             : " U32H_FMT "\n", ptr_struct->hw_sx_ix);
+
+}
+
+int connectib_cmdif_ctx_l2_table_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_l2_table_dump(const struct connectib_cmdif_ctx_l2_table *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_l2_table_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_dmfs_ft_pack(const struct connectib_cmdif_ctx_dmfs_ft *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_size);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ft_in_level0);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ft_is_root);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_table_id);
+
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->table_miss_mode);
+
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lag_demux);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->decap_en);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->encap_en);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_head_ix);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sx_head_ix);
+
+}
+
+void connectib_cmdif_ctx_dmfs_ft_unpack(struct connectib_cmdif_ctx_dmfs_ft *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 8;
+	ptr_struct->log_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 2;
+	ptr_struct->ft_in_level0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->ft_is_root = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 40;
+	ptr_struct->next_table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 36;
+	ptr_struct->table_miss_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 34;
+	ptr_struct->lag_demux = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 33;
+	ptr_struct->decap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->encap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 72;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 96;
+	ptr_struct->rx_head_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->sx_head_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_dmfs_ft_print(const struct connectib_cmdif_ctx_dmfs_ft *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_dmfs_ft ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_num            : " UH_FMT "\n", ptr_struct->vport_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_size             : " UH_FMT "\n", ptr_struct->log_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_in_level0         : " UH_FMT "\n", ptr_struct->ft_in_level0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_is_root           : " UH_FMT "\n", ptr_struct->ft_is_root);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "next_table_id        : " UH_FMT "\n", ptr_struct->next_table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_miss_mode      : " UH_FMT "\n", ptr_struct->table_miss_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lag_demux            : " UH_FMT "\n", ptr_struct->lag_demux);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "decap_en             : " UH_FMT "\n", ptr_struct->decap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encap_en             : " UH_FMT "\n", ptr_struct->encap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_type           : " UH_FMT "\n", ptr_struct->table_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_head_ix           : " U32H_FMT "\n", ptr_struct->rx_head_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_head_ix           : " U32H_FMT "\n", ptr_struct->sx_head_ix);
+
+}
+
+int connectib_cmdif_ctx_dmfs_ft_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_dmfs_ft_dump(const struct connectib_cmdif_ctx_dmfs_ft *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_dmfs_ft_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_dmfs_fg_pack(const struct connectib_cmdif_ctx_dmfs_fg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vst_root_hash_meta_ix);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_end_ste_ix);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sx_end_ste_ix);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_root_hash_meta_ix);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sx_root_hash_meta_ix);
+
+}
+
+void connectib_cmdif_ctx_dmfs_fg_unpack(struct connectib_cmdif_ctx_dmfs_fg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 72;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 96;
+	ptr_struct->vst_root_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->rx_end_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->sx_end_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->rx_root_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->sx_root_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_dmfs_fg_print(const struct connectib_cmdif_ctx_dmfs_fg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_dmfs_fg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_num            : " UH_FMT "\n", ptr_struct->vport_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_type           : " UH_FMT "\n", ptr_struct->table_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vst_root_hash_meta_ix : " U32H_FMT "\n", ptr_struct->vst_root_hash_meta_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_end_ste_ix        : " U32H_FMT "\n", ptr_struct->rx_end_ste_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_end_ste_ix        : " U32H_FMT "\n", ptr_struct->sx_end_ste_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_root_hash_meta_ix : " U32H_FMT "\n", ptr_struct->rx_root_hash_meta_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_root_hash_meta_ix : " U32H_FMT "\n", ptr_struct->sx_root_hash_meta_ix);
+
+}
+
+int connectib_cmdif_ctx_dmfs_fg_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_dmfs_fg_dump(const struct connectib_cmdif_ctx_dmfs_fg *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_dmfs_fg_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_dmfs_fte_pack(const struct connectib_cmdif_ctx_dmfs_fte *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->copied_items_cntr);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->next_hierarchy_to_alloc);
+
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fte_use_iterator);
+
+	offset = 38;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->src_port_ext_match_exists);
+
+	offset = 37;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->modify_flow_list);
+
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->external_dest_vport);
+
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->internal_dest_vport);
+
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->uc_match_exists);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mc_match_exists);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fte_add_remove_);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->iterator_ix);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fte_rx_ix);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fte_sx_ix);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fte_rx2_ix);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fte_sx2_ix);
+
+}
+
+void connectib_cmdif_ctx_dmfs_fte_unpack(struct connectib_cmdif_ctx_dmfs_fte *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 48;
+	ptr_struct->copied_items_cntr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 40;
+	ptr_struct->next_hierarchy_to_alloc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 39;
+	ptr_struct->fte_use_iterator = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 38;
+	ptr_struct->src_port_ext_match_exists = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 37;
+	ptr_struct->modify_flow_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 36;
+	ptr_struct->external_dest_vport = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 35;
+	ptr_struct->internal_dest_vport = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 34;
+	ptr_struct->uc_match_exists = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 33;
+	ptr_struct->mc_match_exists = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->fte_add_remove_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 72;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 96;
+	ptr_struct->iterator_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->fte_rx_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->fte_sx_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->fte_rx2_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->fte_sx2_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_dmfs_fte_print(const struct connectib_cmdif_ctx_dmfs_fte *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_dmfs_fte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_num            : " UH_FMT "\n", ptr_struct->vport_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "copied_items_cntr    : " UH_FMT "\n", ptr_struct->copied_items_cntr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "next_hierarchy_to_alloc : " UH_FMT "\n", ptr_struct->next_hierarchy_to_alloc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fte_use_iterator     : " UH_FMT "\n", ptr_struct->fte_use_iterator);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "src_port_ext_match_exists : " UH_FMT "\n", ptr_struct->src_port_ext_match_exists);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "modify_flow_list     : " UH_FMT "\n", ptr_struct->modify_flow_list);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "external_dest_vport  : " UH_FMT "\n", ptr_struct->external_dest_vport);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "internal_dest_vport  : " UH_FMT "\n", ptr_struct->internal_dest_vport);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uc_match_exists      : " UH_FMT "\n", ptr_struct->uc_match_exists);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mc_match_exists      : " UH_FMT "\n", ptr_struct->mc_match_exists);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fte_add_remove_      : " UH_FMT "\n", ptr_struct->fte_add_remove_);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_type           : " UH_FMT "\n", ptr_struct->table_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "iterator_ix          : " U32H_FMT "\n", ptr_struct->iterator_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fte_rx_ix            : " U32H_FMT "\n", ptr_struct->fte_rx_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fte_sx_ix            : " U32H_FMT "\n", ptr_struct->fte_sx_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fte_rx2_ix           : " U32H_FMT "\n", ptr_struct->fte_rx2_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fte_sx2_ix           : " U32H_FMT "\n", ptr_struct->fte_sx2_ix);
+
+}
+
+int connectib_cmdif_ctx_dmfs_fte_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_dmfs_fte_dump(const struct connectib_cmdif_ctx_dmfs_fte *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_dmfs_fte_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_create_mtt_pack(const struct connectib_cmdif_ctx_create_mtt *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->mtt_ix);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_mtts);
+
+}
+
+void connectib_cmdif_ctx_create_mtt_unpack(struct connectib_cmdif_ctx_create_mtt *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->mtt_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->num_mtts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_create_mtt_print(const struct connectib_cmdif_ctx_create_mtt *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_create_mtt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_ix               : " U64H_FMT "\n", ptr_struct->mtt_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_mtts             : " U32H_FMT "\n", ptr_struct->num_mtts);
+
+}
+
+int connectib_cmdif_ctx_create_mtt_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_create_mtt_dump(const struct connectib_cmdif_ctx_create_mtt *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_create_mtt_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_psv_pack(const struct connectib_cmdif_ctx_psv *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_psv);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_alloced_psv);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pd);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 256, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->psv_ix[i]);
+	}
+
+}
+
+void connectib_cmdif_ctx_psv_unpack(struct connectib_cmdif_ctx_psv *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->num_psv = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->num_alloced_psv = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->pd = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 256, 1);
+	ptr_struct->psv_ix[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_cmdif_ctx_psv_print(const struct connectib_cmdif_ctx_psv *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_psv ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_psv              : " U32H_FMT "\n", ptr_struct->num_psv);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_alloced_psv      : " U32H_FMT "\n", ptr_struct->num_alloced_psv);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pd                   : " U32H_FMT "\n", ptr_struct->pd);
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "psv_ix_%03d          : " U32H_FMT "\n", i, ptr_struct->psv_ix[i]);
+	}
+
+}
+
+int connectib_cmdif_ctx_psv_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_psv_dump(const struct connectib_cmdif_ctx_psv *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_psv_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_mcg_pack(const struct connectib_cmdif_ctx_mcg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_mcg_index);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sx_mcg_index);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->gid_msb);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->gid_lsb);
+
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->member_count);
+
+	offset = 206;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ulp);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->iterator_ix);
+
+}
+
+void connectib_cmdif_ctx_mcg_unpack(struct connectib_cmdif_ctx_mcg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->rx_mcg_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->sx_mcg_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->gid_msb = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 128;
+	ptr_struct->gid_lsb = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 208;
+	ptr_struct->member_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 206;
+	ptr_struct->ulp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 224;
+	ptr_struct->iterator_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_mcg_print(const struct connectib_cmdif_ctx_mcg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_mcg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_mcg_index         : " U32H_FMT "\n", ptr_struct->rx_mcg_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_mcg_index         : " U32H_FMT "\n", ptr_struct->sx_mcg_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gid_msb              : " U64H_FMT "\n", ptr_struct->gid_msb);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gid_lsb              : " U64H_FMT "\n", ptr_struct->gid_lsb);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "member_count         : " UH_FMT "\n", ptr_struct->member_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ulp                  : " UH_FMT "\n", ptr_struct->ulp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "iterator_ix          : " U32H_FMT "\n", ptr_struct->iterator_ix);
+
+}
+
+int connectib_cmdif_ctx_mcg_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_mcg_dump(const struct connectib_cmdif_ctx_mcg *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_mcg_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_sniffer_pack(const struct connectib_cmdif_ctx_sniffer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_0_1);
+
+}
+
+void connectib_cmdif_ctx_sniffer_unpack(struct connectib_cmdif_ctx_sniffer *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->port_0_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_cmdif_ctx_sniffer_print(const struct connectib_cmdif_ctx_sniffer *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_sniffer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_0_1             : " UH_FMT "\n", ptr_struct->port_0_1);
+
+}
+
+int connectib_cmdif_ctx_sniffer_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_sniffer_dump(const struct connectib_cmdif_ctx_sniffer *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_sniffer_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_modify_rmp_pack(const struct connectib_cmdif_ctx_special_modify_rmp *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bitmask);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lwm);
+
+}
+
+void connectib_cmdif_ctx_special_modify_rmp_unpack(struct connectib_cmdif_ctx_special_modify_rmp *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->bitmask = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->lwm = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_special_modify_rmp_print(const struct connectib_cmdif_ctx_special_modify_rmp *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_modify_rmp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bitmask              : " U64H_FMT "\n", ptr_struct->bitmask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lwm                  : " U32H_FMT "\n", ptr_struct->lwm);
+
+}
+
+int connectib_cmdif_ctx_special_modify_rmp_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_modify_rmp_dump(const struct connectib_cmdif_ctx_special_modify_rmp *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_modify_rmp_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_arm_rq_pack(const struct connectib_cmdif_ctx_special_arm_rq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lwm);
+
+}
+
+void connectib_cmdif_ctx_special_arm_rq_unpack(struct connectib_cmdif_ctx_special_arm_rq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->lwm = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_special_arm_rq_print(const struct connectib_cmdif_ctx_special_arm_rq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_arm_rq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lwm                  : " U32H_FMT "\n", ptr_struct->lwm);
+
+}
+
+int connectib_cmdif_ctx_special_arm_rq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_arm_rq_dump(const struct connectib_cmdif_ctx_special_arm_rq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_arm_rq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_mkey_pack(const struct connectib_cmdif_ctx_special_mkey *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->hw_addr);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_addr);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->octoword_actual_size_mtt);
+
+}
+
+void connectib_cmdif_ctx_special_mkey_unpack(struct connectib_cmdif_ctx_special_mkey *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->hw_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->fw_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 128;
+	ptr_struct->octoword_actual_size_mtt = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_special_mkey_print(const struct connectib_cmdif_ctx_special_mkey *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_mkey ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_addr              : " U64H_FMT "\n", ptr_struct->hw_addr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_addr              : " U64H_FMT "\n", ptr_struct->fw_addr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "octoword_actual_size_mtt : " U32H_FMT "\n", ptr_struct->octoword_actual_size_mtt);
+
+}
+
+int connectib_cmdif_ctx_special_mkey_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_mkey_dump(const struct connectib_cmdif_ctx_special_mkey *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_mkey_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_modify_cq_pack(const struct connectib_cmdif_ctx_special_modify_cq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->mtt_ix);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->producer_index);
+
+	offset = 127;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cqe_128b_size);
+
+	offset = 122;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log2_size);
+
+	offset = 117;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
+
+	offset = 111;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->cq_page_offset);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fence_slice);
+
+	offset = 184;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->old_sw_eqn);
+
+	offset = 183;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->modify_fields_c_eqn);
+
+}
+
+void connectib_cmdif_ctx_special_modify_cq_unpack(struct connectib_cmdif_ctx_special_modify_cq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->mtt_ix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 72;
+	ptr_struct->producer_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 127;
+	ptr_struct->cqe_128b_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 122;
+	ptr_struct->log2_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 117;
+	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 111;
+	ptr_struct->cq_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 128;
+	ptr_struct->fence_slice = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 184;
+	ptr_struct->old_sw_eqn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 183;
+	ptr_struct->modify_fields_c_eqn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_cmdif_ctx_special_modify_cq_print(const struct connectib_cmdif_ctx_special_modify_cq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_modify_cq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_ix               : " U64H_FMT "\n", ptr_struct->mtt_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "producer_index       : " UH_FMT "\n", ptr_struct->producer_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqe_128b_size        : " UH_FMT "\n", ptr_struct->cqe_128b_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2_size            : " UH_FMT "\n", ptr_struct->log2_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_page_size        : " UH_FMT "\n", ptr_struct->log_page_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_page_offset       : " UH_FMT "\n", ptr_struct->cq_page_offset);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fence_slice          : " U32H_FMT "\n", ptr_struct->fence_slice);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "old_sw_eqn           : " UH_FMT "\n", ptr_struct->old_sw_eqn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "modify_fields_c_eqn  : " UH_FMT "\n", ptr_struct->modify_fields_c_eqn);
+
+}
+
+int connectib_cmdif_ctx_special_modify_cq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_modify_cq_dump(const struct connectib_cmdif_ctx_special_modify_cq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_modify_cq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_create_cq_pack(const struct connectib_cmdif_ctx_special_create_cq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_addr);
+
+}
+
+void connectib_cmdif_ctx_special_create_cq_unpack(struct connectib_cmdif_ctx_special_create_cq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->fw_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_cmdif_ctx_special_create_cq_print(const struct connectib_cmdif_ctx_special_create_cq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_create_cq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_addr              : " U64H_FMT "\n", ptr_struct->fw_addr);
+
+}
+
+int connectib_cmdif_ctx_special_create_cq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_create_cq_dump(const struct connectib_cmdif_ctx_special_create_cq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_create_cq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_create_eq_pack(const struct connectib_cmdif_ctx_special_create_eq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_eqc_addr);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->mtt_ix_pas);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->event_bitmask);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hw_eqn);
+
+	offset = 248;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->offset_in_page);
+
+	offset = 242;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_page_size);
+
+	offset = 239;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_pa_mode);
+
+}
+
+void connectib_cmdif_ctx_special_create_eq_unpack(struct connectib_cmdif_ctx_special_create_eq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->fw_eqc_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->mtt_ix_pas = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 128;
+	ptr_struct->event_bitmask = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 192;
+	ptr_struct->hw_eqn = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 248;
+	ptr_struct->offset_in_page = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 242;
+	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 239;
+	ptr_struct->is_pa_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_cmdif_ctx_special_create_eq_print(const struct connectib_cmdif_ctx_special_create_eq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_create_eq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_eqc_addr          : " U64H_FMT "\n", ptr_struct->fw_eqc_addr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_ix_pas           : " U64H_FMT "\n", ptr_struct->mtt_ix_pas);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "event_bitmask        : " U64H_FMT "\n", ptr_struct->event_bitmask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_eqn               : " U32H_FMT "\n", ptr_struct->hw_eqn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "offset_in_page       : " UH_FMT "\n", ptr_struct->offset_in_page);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_page_size        : " UH_FMT "\n", ptr_struct->log_page_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_pa_mode           : " UH_FMT "\n", ptr_struct->is_pa_mode);
+
+}
+
+int connectib_cmdif_ctx_special_create_eq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_create_eq_dump(const struct connectib_cmdif_ctx_special_create_eq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_create_eq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_rqt_pack(const struct connectib_cmdif_ctx_rqt *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rqt_fw_data_ix);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rqt_hw_data_ix);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rss_indirection_table_base_qpn);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rss_qpn_size);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_rqs_to_dec);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_max_size);
+
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_actual_size);
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_actual_size_old);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rqt_fw_data_ix_old);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rqt_hw_data_ix_old);
+
+}
+
+void connectib_cmdif_ctx_rqt_unpack(struct connectib_cmdif_ctx_rqt *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->rqt_fw_data_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->rqt_hw_data_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->rss_indirection_table_base_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->rss_qpn_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 96;
+	ptr_struct->num_rqs_to_dec = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->rqt_max_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 176;
+	ptr_struct->rqt_actual_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 160;
+	ptr_struct->rqt_actual_size_old = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 192;
+	ptr_struct->rqt_fw_data_ix_old = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->rqt_hw_data_ix_old = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_rqt_print(const struct connectib_cmdif_ctx_rqt *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_rqt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_fw_data_ix       : " U32H_FMT "\n", ptr_struct->rqt_fw_data_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_hw_data_ix       : " U32H_FMT "\n", ptr_struct->rqt_hw_data_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rss_indirection_table_base_qpn : " UH_FMT "\n", ptr_struct->rss_indirection_table_base_qpn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rss_qpn_size         : " UH_FMT "\n", ptr_struct->rss_qpn_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_rqs_to_dec       : " U32H_FMT "\n", ptr_struct->num_rqs_to_dec);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_max_size         : " UH_FMT "\n", ptr_struct->rqt_max_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_actual_size      : " UH_FMT "\n", ptr_struct->rqt_actual_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_actual_size_old  : " UH_FMT "\n", ptr_struct->rqt_actual_size_old);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_fw_data_ix_old   : " U32H_FMT "\n", ptr_struct->rqt_fw_data_ix_old);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_hw_data_ix_old   : " U32H_FMT "\n", ptr_struct->rqt_hw_data_ix_old);
+
+}
+
+int connectib_cmdif_ctx_rqt_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_rqt_dump(const struct connectib_cmdif_ctx_rqt *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_rqt_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_create_xrq_pack(const struct connectib_cmdif_ctx_special_create_xrq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->curr_mtt_offset);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->fw_srqn);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->tgt_num);
+
+	offset = 68;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->offload);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->topology);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->nvme_sq_mkn);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->nvme_cq_mkn);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->uapp_data_mkn);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->uapp_ctrl_mkn);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_nim_indicies_allocated);
+
+}
+
+void connectib_cmdif_ctx_special_create_xrq_unpack(struct connectib_cmdif_ctx_special_create_xrq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->curr_mtt_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 40;
+	ptr_struct->fw_srqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 72;
+	ptr_struct->tgt_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 68;
+	ptr_struct->offload = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->topology = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 104;
+	ptr_struct->nvme_sq_mkn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 136;
+	ptr_struct->nvme_cq_mkn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 168;
+	ptr_struct->uapp_data_mkn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 200;
+	ptr_struct->uapp_ctrl_mkn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 224;
+	ptr_struct->num_nim_indicies_allocated = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_special_create_xrq_print(const struct connectib_cmdif_ctx_special_create_xrq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_create_xrq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "curr_mtt_offset      : " UH_FMT "\n", ptr_struct->curr_mtt_offset);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_srqn              : " UH_FMT "\n", ptr_struct->fw_srqn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tgt_num              : " UH_FMT "\n", ptr_struct->tgt_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "offload              : " UH_FMT "\n", ptr_struct->offload);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "topology             : " UH_FMT "\n", ptr_struct->topology);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvme_sq_mkn          : " UH_FMT "\n", ptr_struct->nvme_sq_mkn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvme_cq_mkn          : " UH_FMT "\n", ptr_struct->nvme_cq_mkn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uapp_data_mkn        : " UH_FMT "\n", ptr_struct->uapp_data_mkn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uapp_ctrl_mkn        : " UH_FMT "\n", ptr_struct->uapp_ctrl_mkn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_nim_indicies_allocated : " U32H_FMT "\n", ptr_struct->num_nim_indicies_allocated);
+
+}
+
+int connectib_cmdif_ctx_special_create_xrq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_create_xrq_dump(const struct connectib_cmdif_ctx_special_create_xrq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_create_xrq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_create_srq_pack(const struct connectib_cmdif_ctx_special_create_srq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_addr);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->srqi);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cont_srq);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pas_offset);
+
+}
+
+void connectib_cmdif_ctx_special_create_srq_unpack(struct connectib_cmdif_ctx_special_create_srq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->fw_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 72;
+	ptr_struct->srqi = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->cont_srq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->pas_offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_special_create_srq_print(const struct connectib_cmdif_ctx_special_create_srq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_create_srq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_addr              : " U64H_FMT "\n", ptr_struct->fw_addr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "srqi                 : " UH_FMT "\n", ptr_struct->srqi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cont_srq             : " UH_FMT "\n", ptr_struct->cont_srq);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pas_offset           : " U32H_FMT "\n", ptr_struct->pas_offset);
+
+}
+
+int connectib_cmdif_ctx_special_create_srq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_create_srq_dump(const struct connectib_cmdif_ctx_special_create_srq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_create_srq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_create_rq_pack(const struct connectib_cmdif_ctx_special_create_rq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_qpc_addr);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->no_lro_qpn);
+
+	offset = 123;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_max_qp);
+
+	offset = 116;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->wq_type);
+
+}
+
+void connectib_cmdif_ctx_special_create_rq_unpack(struct connectib_cmdif_ctx_special_create_rq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->fw_qpc_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->no_lro_qpn = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 123;
+	ptr_struct->log_max_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 116;
+	ptr_struct->wq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_special_create_rq_print(const struct connectib_cmdif_ctx_special_create_rq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_create_rq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_qpc_addr          : " U64H_FMT "\n", ptr_struct->fw_qpc_addr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_lro_qpn           : " U32H_FMT "\n", ptr_struct->no_lro_qpn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_max_qp           : " UH_FMT "\n", ptr_struct->log_max_qp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "wq_type              : " UH_FMT "\n", ptr_struct->wq_type);
+
+}
+
+int connectib_cmdif_ctx_special_create_rq_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_create_rq_dump(const struct connectib_cmdif_ctx_special_create_rq *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_create_rq_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_qp_commands_pack(const struct connectib_cmdif_ctx_special_qp_commands *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->fw_qpc_addr);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->qpi);
+
+	offset = 123;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_max_qp);
+
+	offset = 122;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_dci);
+
+	offset = 121;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_enhanced_ipoib);
+
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_xrq);
+
+	offset = 117;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->offload_xrq_type);
+
+	offset = 116;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_tag_matching_xrq);
+
+	offset = 128;
+	connectib_cmdif_ctx_special_qp_commands_specific_pack(&(ptr_struct->specific), ptr_buff + offset/8);
+
+}
+
+void connectib_cmdif_ctx_special_qp_commands_unpack(struct connectib_cmdif_ctx_special_qp_commands *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->fw_qpc_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->qpi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 123;
+	ptr_struct->log_max_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 122;
+	ptr_struct->is_dci = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 121;
+	ptr_struct->is_enhanced_ipoib = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 120;
+	ptr_struct->is_xrq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 117;
+	ptr_struct->offload_xrq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 116;
+	ptr_struct->is_tag_matching_xrq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 128;
+	connectib_cmdif_ctx_special_qp_commands_specific_unpack(&(ptr_struct->specific), ptr_buff + offset/8);
+
+}
+
+void connectib_cmdif_ctx_special_qp_commands_print(const struct connectib_cmdif_ctx_special_qp_commands *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_qp_commands ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_qpc_addr          : " U64H_FMT "\n", ptr_struct->fw_qpc_addr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qpi                  : " U32H_FMT "\n", ptr_struct->qpi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_max_qp           : " UH_FMT "\n", ptr_struct->log_max_qp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_dci               : " UH_FMT "\n", ptr_struct->is_dci);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_enhanced_ipoib    : " UH_FMT "\n", ptr_struct->is_enhanced_ipoib);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_xrq               : " UH_FMT "\n", ptr_struct->is_xrq);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "offload_xrq_type     : " UH_FMT "\n", ptr_struct->offload_xrq_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_tag_matching_xrq  : " UH_FMT "\n", ptr_struct->is_tag_matching_xrq);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "specific:\n");
+	connectib_cmdif_ctx_special_qp_commands_specific_print(&(ptr_struct->specific), file, indent_level + 1);
+
+}
+
+int connectib_cmdif_ctx_special_qp_commands_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_qp_commands_dump(const struct connectib_cmdif_ctx_special_qp_commands *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_qp_commands_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_modify_tis_pack(const struct connectib_cmdif_ctx_special_modify_tis *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->transport_domain);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->underlay_qpn);
+
+}
+
+void connectib_cmdif_ctx_special_modify_tis_unpack(struct connectib_cmdif_ctx_special_modify_tis *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->transport_domain = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 40;
+	ptr_struct->underlay_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_cmdif_ctx_special_modify_tis_print(const struct connectib_cmdif_ctx_special_modify_tis *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_modify_tis ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "transport_domain     : " UH_FMT "\n", ptr_struct->transport_domain);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "underlay_qpn         : " UH_FMT "\n", ptr_struct->underlay_qpn);
+
+}
+
+int connectib_cmdif_ctx_special_modify_tis_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_modify_tis_dump(const struct connectib_cmdif_ctx_special_modify_tis *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_modify_tis_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_modify_tir_pack(const struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->bitmask);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tir_ste_ix);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hash_filter_base_ix);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hash_entries_base_ix);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rqt_number);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->old_rqt_number);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->inline_rqn);
+
+	offset = 196;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->disp_type);
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->transport_domain);
+
+}
+
+void connectib_cmdif_ctx_special_modify_tir_unpack(struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->bitmask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->tir_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->hash_filter_base_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->hash_entries_base_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 136;
+	ptr_struct->rqt_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 168;
+	ptr_struct->old_rqt_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 200;
+	ptr_struct->inline_rqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 196;
+	ptr_struct->disp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 232;
+	ptr_struct->transport_domain = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_cmdif_ctx_special_modify_tir_print(const struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_modify_tir ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bitmask              : " U32H_FMT "\n", ptr_struct->bitmask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tir_ste_ix           : " U32H_FMT "\n", ptr_struct->tir_ste_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hash_filter_base_ix  : " U32H_FMT "\n", ptr_struct->hash_filter_base_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hash_entries_base_ix : " U32H_FMT "\n", ptr_struct->hash_entries_base_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_number           : " UH_FMT "\n", ptr_struct->rqt_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "old_rqt_number       : " UH_FMT "\n", ptr_struct->old_rqt_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inline_rqn           : " UH_FMT "\n", ptr_struct->inline_rqn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "disp_type            : " UH_FMT "\n", ptr_struct->disp_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "transport_domain     : " UH_FMT "\n", ptr_struct->transport_domain);
+
+}
+
+int connectib_cmdif_ctx_special_modify_tir_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_modify_tir_dump(const struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_modify_tir_print(ptr_struct, file, 0);
+}
+
+void connectib_cmdif_ctx_special_create_pack(const struct connectib_cmdif_ctx_special_create *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_mapped_mtts);
+
+}
+
+void connectib_cmdif_ctx_special_create_unpack(struct connectib_cmdif_ctx_special_create *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->num_mapped_mtts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_cmdif_ctx_special_create_print(const struct connectib_cmdif_ctx_special_create *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx_special_create ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_mapped_mtts      : " U32H_FMT "\n", ptr_struct->num_mapped_mtts);
+
+}
+
+int connectib_cmdif_ctx_special_create_size(void)
+{
+	 return 32;
+}
+
+void connectib_cmdif_ctx_special_create_dump(const struct connectib_cmdif_ctx_special_create *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_create_print(ptr_struct, file, 0);
+}
+
+void connectib_flush_type_bitmask_pack(const struct connectib_flush_type_bitmask *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword);
+
+}
+
+void connectib_flush_type_bitmask_unpack(struct connectib_flush_type_bitmask *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->dword = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_flush_type_bitmask_print(const struct connectib_flush_type_bitmask *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_flush_type_bitmask ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dword                : " U32H_FMT "\n", ptr_struct->dword);
+
+}
+
+int connectib_flush_type_bitmask_size(void)
+{
+	 return 4;
+}
+
+void connectib_flush_type_bitmask_dump(const struct connectib_flush_type_bitmask *ptr_struct, FILE* file)
+{
+	connectib_flush_type_bitmask_print(ptr_struct, file, 0);
+}
+
+void connectib_flush_type_bits_pack(const struct connectib_flush_type_bits *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mkey_flush);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_s_flush);
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_r_flush);
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_flush);
+
+}
+
+void connectib_flush_type_bits_unpack(struct connectib_flush_type_bits *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->mkey_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->qp_s_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 29;
+	ptr_struct->qp_r_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 28;
+	ptr_struct->rx_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_flush_type_bits_print(const struct connectib_flush_type_bits *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_flush_type_bits ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mkey_flush           : " UH_FMT "\n", ptr_struct->mkey_flush);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_s_flush           : " UH_FMT "\n", ptr_struct->qp_s_flush);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_r_flush           : " UH_FMT "\n", ptr_struct->qp_r_flush);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_flush             : " UH_FMT "\n", ptr_struct->rx_flush);
+
+}
+
+int connectib_flush_type_bits_size(void)
+{
+	 return 4;
+}
+
+void connectib_flush_type_bits_dump(const struct connectib_flush_type_bits *ptr_struct, FILE* file)
+{
+	connectib_flush_type_bits_print(ptr_struct, file, 0);
+}
+
+void connectib_reg_access_reg_tlv_data_pack(const union connectib_reg_access_reg_tlv_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_pmcr_reg_pack(&(ptr_struct->pmcr), ptr_buff);
+}
+
+void connectib_reg_access_reg_tlv_data_unpack(union connectib_reg_access_reg_tlv_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_pmcr_reg_unpack(&(ptr_struct->pmcr), ptr_buff);
+}
+
+void connectib_reg_access_reg_tlv_data_print(const union connectib_reg_access_reg_tlv_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_reg_access_reg_tlv_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mfpa:\n");
+	connectib_mfpa_print(&(ptr_struct->mfpa), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mfai:\n");
+	connectib_register_mfai_print(&(ptr_struct->mfai), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mfrl:\n");
+	connectib_register_mfrl_print(&(ptr_struct->mfrl), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtmp:\n");
+	connectib_mtmp_print(&(ptr_struct->mtmp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "misc_counters:\n");
+	connectib_register_misc_counters_print(&(ptr_struct->misc_counters), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mfba:\n");
+	connectib_project_mfba_print(&(ptr_struct->mfba), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mfbe:\n");
+	connectib_mfbe_print(&(ptr_struct->mfbe), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mcqs:\n");
+	connectib_mcqs_reg_print(&(ptr_struct->mcqs), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mcqi:\n");
+	connectib_mcqi_reg_print(&(ptr_struct->mcqi), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mcc:\n");
+	connectib_mcc_reg_print(&(ptr_struct->mcc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mcda:\n");
+	connectib_mcda_reg_print(&(ptr_struct->mcda), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mqis:\n");
+	connectib_mqis_reg_print(&(ptr_struct->mqis), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mjtag:\n");
+	connectib_mjtag_print(&(ptr_struct->mjtag), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "paos:\n");
+	connectib_paos_reg_print(&(ptr_struct->paos), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "slrp:\n");
+	connectib_slrp_reg_print(&(ptr_struct->slrp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sltp:\n");
+	connectib_sltp_reg_print(&(ptr_struct->sltp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ptas:\n");
+	connectib_ptas_reg_print(&(ptr_struct->ptas), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "slrg:\n");
+	connectib_slrg_reg_print(&(ptr_struct->slrg), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pptt:\n");
+	connectib_pptt_reg_print(&(ptr_struct->pptt), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pprt:\n");
+	connectib_pprt_reg_print(&(ptr_struct->pprt), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ppaos:\n");
+	connectib_ppaos_reg_print(&(ptr_struct->ppaos), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ppamp:\n");
+	connectib_pamp_reg_print(&(ptr_struct->ppamp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pmtu:\n");
+	connectib_pmtu_reg_print(&(ptr_struct->pmtu), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvda:\n");
+	connectib_project_nvda_print(&(ptr_struct->nvda), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvdi:\n");
+	connectib_nv_tlv_hdr_print(&(ptr_struct->nvdi), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvqc:\n");
+	connectib_project_nvqc_print(&(ptr_struct->nvqc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvgc:\n");
+	connectib_project_nvgc_print(&(ptr_struct->nvgc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvia:\n");
+	connectib_project_nvia_print(&(ptr_struct->nvia), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvgn:\n");
+	connectib_project_nvgn_print(&(ptr_struct->nvgn), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pplr:\n");
+	connectib_pplr_reg_print(&(ptr_struct->pplr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "plpc:\n");
+	connectib_plpc_reg_print(&(ptr_struct->plpc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pplm:\n");
+	connectib_pplm_reg_print(&(ptr_struct->pplm), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pmlp:\n");
+	connectib_pmlp_print(&(ptr_struct->pmlp), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mvts:\n");
+	connectib_mvts_print(&(ptr_struct->mvts), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mpein:\n");
+	connectib_mpein_reg_print(&(ptr_struct->mpein), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pmcr:\n");
+	connectib_pmcr_reg_print(&(ptr_struct->pmcr), file, indent_level + 1);
+
+}
+
+int connectib_reg_access_reg_tlv_data_size(void)
+{
+	 return 44;
+}
+
+void connectib_reg_access_reg_tlv_data_dump(const union connectib_reg_access_reg_tlv_data *ptr_struct, FILE* file)
+{
+	connectib_reg_access_reg_tlv_data_print(ptr_struct, file, 0);
+}
+
+void connectib_pmaos_reg_pack(const struct connectib_pmaos_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->oper_status);
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->admin_status);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->e);
+
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_type);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ee);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ase);
+
+}
+
+void connectib_pmaos_reg_unpack(struct connectib_pmaos_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->oper_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 20;
+	ptr_struct->admin_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 8;
+	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 62;
+	ptr_struct->e = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 52;
+	ptr_struct->error_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 33;
+	ptr_struct->ee = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->ase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_pmaos_reg_print(const struct connectib_pmaos_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pmaos_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "oper_status          : " UH_FMT "\n", ptr_struct->oper_status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "admin_status         : " UH_FMT "\n", ptr_struct->admin_status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e                    : " UH_FMT "\n", ptr_struct->e);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error_type           : " UH_FMT "\n", ptr_struct->error_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ee                   : " UH_FMT "\n", ptr_struct->ee);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ase                  : " UH_FMT "\n", ptr_struct->ase);
+
+}
+
+int connectib_pmaos_reg_size(void)
+{
+	 return 16;
+}
+
+void connectib_pmaos_reg_dump(const struct connectib_pmaos_reg *ptr_struct, FILE* file)
+{
+	connectib_pmaos_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mtppse_reg_pack(const struct connectib_mtppse_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pin);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->event_generation_mode);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->event_arm);
+
+}
+
+void connectib_mtppse_reg_unpack(struct connectib_mtppse_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->pin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 60;
+	ptr_struct->event_generation_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->event_arm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_mtppse_reg_print(const struct connectib_mtppse_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mtppse_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pin                  : " UH_FMT "\n", ptr_struct->pin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "event_generation_mode : " UH_FMT "\n", ptr_struct->event_generation_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "event_arm            : " UH_FMT "\n", ptr_struct->event_arm);
+
+}
+
+int connectib_mtppse_reg_size(void)
+{
+	 return 16;
+}
+
+void connectib_mtppse_reg_dump(const struct connectib_mtppse_reg *ptr_struct, FILE* file)
+{
+	connectib_mtppse_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mtpps_reg_pack(const struct connectib_mtpps_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_max_num_of_pps_out_pins);
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_max_num_of_pps_in_pins);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_number_of_pps_pins);
+
+	offset = 92;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_pin_0_mode);
+
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_pin_1_mode);
+
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_pin_2_mode);
+
+	offset = 68;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_pin_3_mode);
+
+	offset = 124;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_pin_4_mode);
+
+	offset = 116;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_pin_5_mode);
+
+	offset = 108;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_pin_6_mode);
+
+	offset = 100;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cap_pin_7_mode);
+
+	offset = 280;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pin);
+
+	offset = 276;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pin_mode);
+
+	offset = 268;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pattern);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable);
+
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_stamp_hi);
+
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_stamp_lo);
+
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->out_periodic_adjustment);
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->out_pulse_duration);
+
+}
+
+void connectib_mtpps_reg_unpack(struct connectib_mtpps_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->cap_max_num_of_pps_out_pins = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 20;
+	ptr_struct->cap_max_num_of_pps_in_pins = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 12;
+	ptr_struct->cap_number_of_pps_pins = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 92;
+	ptr_struct->cap_pin_0_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 84;
+	ptr_struct->cap_pin_1_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 76;
+	ptr_struct->cap_pin_2_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 68;
+	ptr_struct->cap_pin_3_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 124;
+	ptr_struct->cap_pin_4_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 116;
+	ptr_struct->cap_pin_5_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 108;
+	ptr_struct->cap_pin_6_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 100;
+	ptr_struct->cap_pin_7_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 280;
+	ptr_struct->pin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 276;
+	ptr_struct->pin_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 268;
+	ptr_struct->pattern = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 256;
+	ptr_struct->enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 320;
+	ptr_struct->time_stamp_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 352;
+	ptr_struct->time_stamp_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 400;
+	ptr_struct->out_periodic_adjustment = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 384;
+	ptr_struct->out_pulse_duration = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_mtpps_reg_print(const struct connectib_mtpps_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mtpps_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_max_num_of_pps_out_pins : " UH_FMT "\n", ptr_struct->cap_max_num_of_pps_out_pins);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_max_num_of_pps_in_pins : " UH_FMT "\n", ptr_struct->cap_max_num_of_pps_in_pins);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_number_of_pps_pins : " UH_FMT "\n", ptr_struct->cap_number_of_pps_pins);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_pin_0_mode       : " UH_FMT "\n", ptr_struct->cap_pin_0_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_pin_1_mode       : " UH_FMT "\n", ptr_struct->cap_pin_1_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_pin_2_mode       : " UH_FMT "\n", ptr_struct->cap_pin_2_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_pin_3_mode       : " UH_FMT "\n", ptr_struct->cap_pin_3_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_pin_4_mode       : " UH_FMT "\n", ptr_struct->cap_pin_4_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_pin_5_mode       : " UH_FMT "\n", ptr_struct->cap_pin_5_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_pin_6_mode       : " UH_FMT "\n", ptr_struct->cap_pin_6_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_pin_7_mode       : " UH_FMT "\n", ptr_struct->cap_pin_7_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pin                  : " UH_FMT "\n", ptr_struct->pin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pin_mode             : " UH_FMT "\n", ptr_struct->pin_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pattern              : " UH_FMT "\n", ptr_struct->pattern);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "enable               : " UH_FMT "\n", ptr_struct->enable);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_stamp_hi        : " U32H_FMT "\n", ptr_struct->time_stamp_hi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "time_stamp_lo        : " U32H_FMT "\n", ptr_struct->time_stamp_lo);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "out_periodic_adjustment : " UH_FMT "\n", ptr_struct->out_periodic_adjustment);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "out_pulse_duration   : " UH_FMT "\n", ptr_struct->out_pulse_duration);
+
+}
+
+int connectib_mtpps_reg_size(void)
+{
+	 return 64;
+}
+
+void connectib_mtpps_reg_dump(const struct connectib_mtpps_reg *ptr_struct, FILE* file)
+{
+	connectib_mtpps_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_fpga_ctrl_pack(const struct connectib_fpga_ctrl *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->status);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->operation);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flash_select_oper);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flash_select_admin);
+
+}
+
+void connectib_fpga_ctrl_unpack(struct connectib_fpga_ctrl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->operation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 56;
+	ptr_struct->flash_select_oper = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 40;
+	ptr_struct->flash_select_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_fpga_ctrl_print(const struct connectib_fpga_ctrl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fpga_ctrl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "status               : %s (" UH_FMT ")\n", (ptr_struct->status == 0 ? ("Success") : ((ptr_struct->status == 1 ? ("Failure") : ((ptr_struct->status == 2 ? ("In_progress") : ("unknown")))))), ptr_struct->status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "operation            : %s (" UH_FMT ")\n", (ptr_struct->operation == 1 ? ("LOAD") : ((ptr_struct->operation == 2 ? ("RESET") : ((ptr_struct->operation == 3 ? ("FLASH_SELECT") : ((ptr_struct->operation == 4 ? ("Sandbox_Bypass_On") : ((ptr_struct->operation == 5 ? ("Sandbox_Bypass_Off") : ("unknown")))))))))), ptr_struct->operation);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flash_select_oper    : %s (" UH_FMT ")\n", (ptr_struct->flash_select_oper == 0 ? ("Factory_default") : ((ptr_struct->flash_select_oper == 1 ? ("User") : ("unknown")))), ptr_struct->flash_select_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flash_select_admin   : %s (" UH_FMT ")\n", (ptr_struct->flash_select_admin == 0 ? ("Factory_default") : ((ptr_struct->flash_select_admin == 1 ? ("User") : ("unknown")))), ptr_struct->flash_select_admin);
+
+}
+
+int connectib_fpga_ctrl_size(void)
+{
+	 return 16;
+}
+
+void connectib_fpga_ctrl_dump(const struct connectib_fpga_ctrl *ptr_struct, FILE* file)
+{
+	connectib_fpga_ctrl_print(ptr_struct, file, 0);
+}
+
+void connectib_fpga_cap_pack(const struct connectib_fpga_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->fpga_device);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->fpga_id);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->register_file_ver);
+
+	offset = 78;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->access_reg_modify_mode);
+
+	offset = 70;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->access_reg_query_mode);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpga_ctrl_modify);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->image_version);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->image_date);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->image_time);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->shell_version);
+
+	offset = 384;
+	connectib_fpga_shell_caps_pack(&(ptr_struct->shell_caps), ptr_buff + offset/8);
+
+	offset = 904;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ieee_vendor_id);
+
+	offset = 944;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sandbox_product_id);
+
+	offset = 928;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sandbox_product_version);
+
+	offset = 960;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sandbox_basic_caps);
+
+	offset = 1008;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sandbox_extended_caps_len);
+
+	offset = 1024;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sandbox_extended_caps_addr_h);
+
+	offset = 1056;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sandbox_extended_caps_addr_l);
+
+	offset = 1088;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fpga_ddr_start_addr_h);
+
+	offset = 1120;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fpga_ddr_start_addr_l);
+
+	offset = 1152;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fpga_cr_space_start_addr_h);
+
+	offset = 1184;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fpga_cr_space_start_addr_l);
+
+	offset = 1216;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fpga_ddr_size);
+
+	offset = 1248;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fpga_cr_space_size);
+
+}
+
+void connectib_fpga_cap_unpack(struct connectib_fpga_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->fpga_device = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 0;
+	ptr_struct->fpga_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->register_file_ver = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 78;
+	ptr_struct->access_reg_modify_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 70;
+	ptr_struct->access_reg_query_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 64;
+	ptr_struct->fpga_ctrl_modify = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 128;
+	ptr_struct->image_version = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->image_date = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->image_time = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->shell_version = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 384;
+	connectib_fpga_shell_caps_unpack(&(ptr_struct->shell_caps), ptr_buff + offset/8);
+
+	offset = 904;
+	ptr_struct->ieee_vendor_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 944;
+	ptr_struct->sandbox_product_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 928;
+	ptr_struct->sandbox_product_version = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 960;
+	ptr_struct->sandbox_basic_caps = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1008;
+	ptr_struct->sandbox_extended_caps_len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 1024;
+	ptr_struct->sandbox_extended_caps_addr_h = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1056;
+	ptr_struct->sandbox_extended_caps_addr_l = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1088;
+	ptr_struct->fpga_ddr_start_addr_h = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1120;
+	ptr_struct->fpga_ddr_start_addr_l = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1152;
+	ptr_struct->fpga_cr_space_start_addr_h = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1184;
+	ptr_struct->fpga_cr_space_start_addr_l = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1216;
+	ptr_struct->fpga_ddr_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 1248;
+	ptr_struct->fpga_cr_space_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_fpga_cap_print(const struct connectib_fpga_cap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fpga_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_device          : %s (" UH_FMT ")\n", (ptr_struct->fpga_device == 0 ? ("KU040") : ((ptr_struct->fpga_device == 1 ? ("KU060") : ("unknown")))), ptr_struct->fpga_device);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_id              : %s (" UH_FMT ")\n", (ptr_struct->fpga_id == 0 ? ("unknown") : ((ptr_struct->fpga_id == 1 ? ("Newton_X") : ("unknown")))), ptr_struct->fpga_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "register_file_ver    : " U32H_FMT "\n", ptr_struct->register_file_ver);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_reg_modify_mode : %s (" UH_FMT ")\n", (ptr_struct->access_reg_modify_mode == 0 ? ("Not_allowed") : ((ptr_struct->access_reg_modify_mode == 1 ? ("All_range_allowed") : ("unknown")))), ptr_struct->access_reg_modify_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_reg_query_mode : %s (" UH_FMT ")\n", (ptr_struct->access_reg_query_mode == 0 ? ("Not_allowed") : ((ptr_struct->access_reg_query_mode == 1 ? ("All_range_allowed") : ("unknown")))), ptr_struct->access_reg_query_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_ctrl_modify     : " UH_FMT "\n", ptr_struct->fpga_ctrl_modify);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "image_version        : " U32H_FMT "\n", ptr_struct->image_version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "image_date           : " U32H_FMT "\n", ptr_struct->image_date);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "image_time           : " U32H_FMT "\n", ptr_struct->image_time);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "shell_version        : " U32H_FMT "\n", ptr_struct->shell_version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "shell_caps:\n");
+	connectib_fpga_shell_caps_print(&(ptr_struct->shell_caps), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ieee_vendor_id       : " UH_FMT "\n", ptr_struct->ieee_vendor_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sandbox_product_id   : %s (" UH_FMT ")\n", (ptr_struct->sandbox_product_id == 1 ? ("example") : ((ptr_struct->sandbox_product_id == 2 ? ("IPsec") : ((ptr_struct->sandbox_product_id == 3 ? ("TLS") : ("unknown")))))), ptr_struct->sandbox_product_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sandbox_product_version : " UH_FMT "\n", ptr_struct->sandbox_product_version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sandbox_basic_caps   : " U32H_FMT "\n", ptr_struct->sandbox_basic_caps);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sandbox_extended_caps_len : " UH_FMT "\n", ptr_struct->sandbox_extended_caps_len);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sandbox_extended_caps_addr_h : " U32H_FMT "\n", ptr_struct->sandbox_extended_caps_addr_h);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sandbox_extended_caps_addr_l : " U32H_FMT "\n", ptr_struct->sandbox_extended_caps_addr_l);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_ddr_start_addr_h : " U32H_FMT "\n", ptr_struct->fpga_ddr_start_addr_h);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_ddr_start_addr_l : " U32H_FMT "\n", ptr_struct->fpga_ddr_start_addr_l);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_cr_space_start_addr_h : " U32H_FMT "\n", ptr_struct->fpga_cr_space_start_addr_h);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_cr_space_start_addr_l : " U32H_FMT "\n", ptr_struct->fpga_cr_space_start_addr_l);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_ddr_size        : " U32H_FMT "\n", ptr_struct->fpga_ddr_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpga_cr_space_size   : " U32H_FMT "\n", ptr_struct->fpga_cr_space_size);
+
+}
+
+int connectib_fpga_cap_size(void)
+{
+	 return 256;
+}
+
+void connectib_fpga_cap_dump(const struct connectib_fpga_cap *ptr_struct, FILE* file)
+{
+	connectib_fpga_cap_print(ptr_struct, file, 0);
+}
+
+void connectib_fpga_access_reg_pack(const struct connectib_fpga_access_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->size);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->address_h);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->address_l);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(152, 8, i, 160, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->data[i]);
+	}
+
+}
+
+void connectib_fpga_access_reg_unpack(struct connectib_fpga_access_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 48;
+	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->address_h = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->address_l = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(152, 8, i, 160, 1);
+	ptr_struct->data[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
+
+}
+
+void connectib_fpga_access_reg_print(const struct connectib_fpga_access_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fpga_access_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "address_h            : " U32H_FMT "\n", ptr_struct->address_h);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "address_l            : " U32H_FMT "\n", ptr_struct->address_l);
+
+	for (i = 0; i < 1; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data_%03d            : " UH_FMT "\n", i, ptr_struct->data[i]);
+	}
+
+}
+
+int connectib_fpga_access_reg_size(void)
+{
+	 return 20;
+}
+
+void connectib_fpga_access_reg_dump(const struct connectib_fpga_access_reg *ptr_struct, FILE* file)
+{
+	connectib_fpga_access_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pmmp_reg_pack(const struct connectib_pmmp_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eeprom_override);
+
+	offset = 64;
+	connectib_pmmp_qsfp_protocol_override_layout_auto_pack(&(ptr_struct->qsfp_cable_protocol_technology), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_pmmp_sfp_protocol_override_layout_auto_pack(&(ptr_struct->sfp_cable_protocol_technology), ptr_buff + offset/8);
+
+	offset = 280;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cable_length);
+
+	offset = 312;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->attenuation_5g);
+
+	offset = 304;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->attenuation_7g);
+
+	offset = 296;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->attenuation_12g);
+
+	offset = 344;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module_identifier);
+
+}
+
+void connectib_pmmp_reg_unpack(struct connectib_pmmp_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 56;
+	ptr_struct->eeprom_override = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	connectib_pmmp_qsfp_protocol_override_layout_auto_unpack(&(ptr_struct->qsfp_cable_protocol_technology), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_pmmp_sfp_protocol_override_layout_auto_unpack(&(ptr_struct->sfp_cable_protocol_technology), ptr_buff + offset/8);
+
+	offset = 280;
+	ptr_struct->cable_length = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 312;
+	ptr_struct->attenuation_5g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 304;
+	ptr_struct->attenuation_7g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 296;
+	ptr_struct->attenuation_12g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 344;
+	ptr_struct->module_identifier = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_pmmp_reg_print(const struct connectib_pmmp_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pmmp_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eeprom_override      : " UH_FMT "\n", ptr_struct->eeprom_override);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qsfp_cable_protocol_technology:\n");
+	connectib_pmmp_qsfp_protocol_override_layout_auto_print(&(ptr_struct->qsfp_cable_protocol_technology), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sfp_cable_protocol_technology:\n");
+	connectib_pmmp_sfp_protocol_override_layout_auto_print(&(ptr_struct->sfp_cable_protocol_technology), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cable_length         : " UH_FMT "\n", ptr_struct->cable_length);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "attenuation_5g       : " UH_FMT "\n", ptr_struct->attenuation_5g);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "attenuation_7g       : " UH_FMT "\n", ptr_struct->attenuation_7g);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "attenuation_12g      : " UH_FMT "\n", ptr_struct->attenuation_12g);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module_identifier    : " UH_FMT "\n", ptr_struct->module_identifier);
+
+}
+
+int connectib_pmmp_reg_size(void)
+{
+	 return 44;
+}
+
+void connectib_pmmp_reg_dump(const struct connectib_pmmp_reg *ptr_struct, FILE* file)
+{
+	connectib_pmmp_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pcmr_reg_pack(const struct connectib_pcmr_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pcs_cap);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fcs_cap);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sht_cap);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mtu_cap);
+
+	offset = 59;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->type_cap);
+
+	offset = 58;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->len_cap);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fc_cap);
+
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cp_cap);
+
+	offset = 95;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pcs_chk);
+
+	offset = 94;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fcs_chk);
+
+	offset = 93;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sht_chk);
+
+	offset = 92;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mtu_chk);
+
+	offset = 91;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->type_chk);
+
+	offset = 90;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->len_chk);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fc_chk);
+
+	offset = 87;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cp_chk);
+
+}
+
+void connectib_pcmr_reg_unpack(struct connectib_pcmr_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 63;
+	ptr_struct->pcs_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 62;
+	ptr_struct->fcs_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 61;
+	ptr_struct->sht_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 60;
+	ptr_struct->mtu_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 59;
+	ptr_struct->type_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 58;
+	ptr_struct->len_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 56;
+	ptr_struct->fc_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 55;
+	ptr_struct->cp_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 95;
+	ptr_struct->pcs_chk = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 94;
+	ptr_struct->fcs_chk = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 93;
+	ptr_struct->sht_chk = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 92;
+	ptr_struct->mtu_chk = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 91;
+	ptr_struct->type_chk = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 90;
+	ptr_struct->len_chk = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 88;
+	ptr_struct->fc_chk = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 87;
+	ptr_struct->cp_chk = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_pcmr_reg_print(const struct connectib_pcmr_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pcmr_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcs_cap              : " UH_FMT "\n", ptr_struct->pcs_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fcs_cap              : " UH_FMT "\n", ptr_struct->fcs_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sht_cap              : " UH_FMT "\n", ptr_struct->sht_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtu_cap              : " UH_FMT "\n", ptr_struct->mtu_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type_cap             : " UH_FMT "\n", ptr_struct->type_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "len_cap              : " UH_FMT "\n", ptr_struct->len_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_cap               : " UH_FMT "\n", ptr_struct->fc_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cp_cap               : " UH_FMT "\n", ptr_struct->cp_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcs_chk              : " UH_FMT "\n", ptr_struct->pcs_chk);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fcs_chk              : " UH_FMT "\n", ptr_struct->fcs_chk);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sht_chk              : " UH_FMT "\n", ptr_struct->sht_chk);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtu_chk              : " UH_FMT "\n", ptr_struct->mtu_chk);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type_chk             : " UH_FMT "\n", ptr_struct->type_chk);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "len_chk              : " UH_FMT "\n", ptr_struct->len_chk);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_chk               : " UH_FMT "\n", ptr_struct->fc_chk);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cp_chk               : " UH_FMT "\n", ptr_struct->cp_chk);
+
+}
+
+int connectib_pcmr_reg_size(void)
+{
+	 return 12;
+}
+
+void connectib_pcmr_reg_dump(const struct connectib_pcmr_reg *ptr_struct, FILE* file)
+{
+	connectib_pcmr_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mcion_reg_pack(const struct connectib_mcion_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module_status_bits);
+
+}
+
+void connectib_mcion_reg_unpack(struct connectib_mcion_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 56;
+	ptr_struct->module_status_bits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_mcion_reg_print(const struct connectib_mcion_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mcion_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module_status_bits   : " UH_FMT "\n", ptr_struct->module_status_bits);
+
+}
+
+int connectib_mcion_reg_size(void)
+{
+	 return 24;
+}
+
+void connectib_mcion_reg_dump(const struct connectib_mcion_reg *ptr_struct, FILE* file)
+{
+	connectib_mcion_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pddr_reg_pack(const struct connectib_pddr_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pddr_reg_unpack(struct connectib_pddr_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+}
+
+void connectib_pddr_reg_print(const struct connectib_pddr_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pddr_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+}
+
+int connectib_pddr_reg_size(void)
+{
+	 return 256;
+}
+
+void connectib_pddr_reg_dump(const struct connectib_pddr_reg *ptr_struct, FILE* file)
+{
+	connectib_pddr_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mpcnt_reg_pack(const struct connectib_mpcnt_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->grp);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pcie_index);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clr);
+
+	offset = 64;
+	connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_pack(&(ptr_struct->counter_set), ptr_buff + offset/8);
+
+}
+
+void connectib_mpcnt_reg_unpack(struct connectib_mpcnt_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->grp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 8;
+	ptr_struct->pcie_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->clr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_unpack(&(ptr_struct->counter_set), ptr_buff + offset/8);
+
+}
+
+void connectib_mpcnt_reg_print(const struct connectib_mpcnt_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mpcnt_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "grp                  : " UH_FMT "\n", ptr_struct->grp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcie_index           : " UH_FMT "\n", ptr_struct->pcie_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "clr                  : " UH_FMT "\n", ptr_struct->clr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "counter_set:\n");
+	connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_print(&(ptr_struct->counter_set), file, indent_level + 1);
+
+}
+
+int connectib_mpcnt_reg_size(void)
+{
+	 return 256;
+}
+
+void connectib_mpcnt_reg_dump(const struct connectib_mpcnt_reg *ptr_struct, FILE* file)
+{
+	connectib_mpcnt_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mcia_reg_pack(const struct connectib_mcia_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->status);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_address);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->page_number);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->i2c_device_address);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->size);
+
+	offset = 66;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->passwd_cap);
+
+	offset = 65;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->passwd_clr);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->passwd_v);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->password);
+
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
+	}
+
+}
+
+void connectib_mcia_reg_unpack(struct connectib_mcia_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->l = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->device_address = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 40;
+	ptr_struct->page_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->i2c_device_address = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 80;
+	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 66;
+	ptr_struct->passwd_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 65;
+	ptr_struct->passwd_clr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->passwd_v = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->password = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 512, 1);
+	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_mcia_reg_print(const struct connectib_mcia_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mcia_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "status               : " UH_FMT "\n", ptr_struct->status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "l                    : " UH_FMT "\n", ptr_struct->l);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_address       : " UH_FMT "\n", ptr_struct->device_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "page_number          : " UH_FMT "\n", ptr_struct->page_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_device_address   : " UH_FMT "\n", ptr_struct->i2c_device_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "passwd_cap           : " UH_FMT "\n", ptr_struct->passwd_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "passwd_clr           : " UH_FMT "\n", ptr_struct->passwd_clr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "passwd_v             : " UH_FMT "\n", ptr_struct->passwd_v);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "password             : " U32H_FMT "\n", ptr_struct->password);
+
+	for (i = 0; i < 12; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
+	}
+
+}
+
+int connectib_mcia_reg_size(void)
+{
+	 return 64;
+}
+
+void connectib_mcia_reg_dump(const struct connectib_mcia_reg *ptr_struct, FILE* file)
+{
+	connectib_mcia_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_ppad_reg_pack(const struct connectib_ppad_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->mac_47_32);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->single_base_mac);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mac_31_0);
+
+}
+
+void connectib_ppad_reg_unpack(struct connectib_ppad_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->mac_47_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->single_base_mac = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->mac_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_ppad_reg_print(const struct connectib_ppad_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_ppad_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mac_47_32            : " UH_FMT "\n", ptr_struct->mac_47_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "single_base_mac      : " UH_FMT "\n", ptr_struct->single_base_mac);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mac_31_0             : " U32H_FMT "\n", ptr_struct->mac_31_0);
+
+}
+
+int connectib_ppad_reg_size(void)
+{
+	 return 16;
+}
+
+void connectib_ppad_reg_dump(const struct connectib_ppad_reg *ptr_struct, FILE* file)
+{
+	connectib_ppad_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pvlc_reg_pack(const struct connectib_pvlc_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl_hw_cap);
+
+	offset = 92;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl_admin);
+
+	offset = 124;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl_operational);
+
+}
+
+void connectib_pvlc_reg_unpack(struct connectib_pvlc_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 60;
+	ptr_struct->vl_hw_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 92;
+	ptr_struct->vl_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 124;
+	ptr_struct->vl_operational = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_pvlc_reg_print(const struct connectib_pvlc_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pvlc_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl_hw_cap            : " UH_FMT "\n", ptr_struct->vl_hw_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl_admin             : " UH_FMT "\n", ptr_struct->vl_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl_operational       : " UH_FMT "\n", ptr_struct->vl_operational);
+
+}
+
+int connectib_pvlc_reg_size(void)
+{
+	 return 16;
+}
+
+void connectib_pvlc_reg_dump(const struct connectib_pvlc_reg *ptr_struct, FILE* file)
+{
+	connectib_pvlc_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_ppcnt_reg_pack(const struct connectib_ppcnt_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->grp);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pnat);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->swid);
+
+	offset = 59;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->prio_tc);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clr);
+
+	offset = 64;
+	connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_pack(&(ptr_struct->counter_set), ptr_buff + offset/8);
+
+}
+
+void connectib_ppcnt_reg_unpack(struct connectib_ppcnt_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->grp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 16;
+	ptr_struct->pnat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->swid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 59;
+	ptr_struct->prio_tc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 32;
+	ptr_struct->clr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_unpack(&(ptr_struct->counter_set), ptr_buff + offset/8);
+
+}
+
+void connectib_ppcnt_reg_print(const struct connectib_ppcnt_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_ppcnt_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "grp                  : " UH_FMT "\n", ptr_struct->grp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pnat                 : " UH_FMT "\n", ptr_struct->pnat);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "swid                 : " UH_FMT "\n", ptr_struct->swid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prio_tc              : " UH_FMT "\n", ptr_struct->prio_tc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "clr                  : " UH_FMT "\n", ptr_struct->clr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "counter_set:\n");
+	connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_print(&(ptr_struct->counter_set), file, indent_level + 1);
+
+}
+
+int connectib_ppcnt_reg_size(void)
+{
+	 return 256;
+}
+
+void connectib_ppcnt_reg_dump(const struct connectib_ppcnt_reg *ptr_struct, FILE* file)
+{
+	connectib_ppcnt_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_ptys_reg_pack(const struct connectib_ptys_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->proto_mask);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_tx_aba_param);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->an_disable_cap);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->an_disable_admin);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved_high);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->data_rate_oper);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->an_status);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_proto_capability);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->eth_proto_capability);
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_proto_capability);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_link_width_capability);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_proto_admin);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->eth_proto_admin);
+
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_proto_admin);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_link_width_admin);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fc_proto_oper);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->eth_proto_oper);
+
+	offset = 336;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_proto_oper);
+
+	offset = 320;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_link_width_oper);
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->eth_proto_lp_advertise);
+
+}
+
+void connectib_ptys_reg_unpack(struct connectib_ptys_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 29;
+	ptr_struct->proto_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 7;
+	ptr_struct->force_tx_aba_param = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->an_disable_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->an_disable_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->reserved_high = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->data_rate_oper = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->an_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->fc_proto_capability = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->eth_proto_capability = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 144;
+	ptr_struct->ib_proto_capability = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 128;
+	ptr_struct->ib_link_width_capability = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 160;
+	ptr_struct->fc_proto_admin = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->eth_proto_admin = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 240;
+	ptr_struct->ib_proto_admin = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 224;
+	ptr_struct->ib_link_width_admin = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 256;
+	ptr_struct->fc_proto_oper = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->eth_proto_oper = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 336;
+	ptr_struct->ib_proto_oper = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 320;
+	ptr_struct->ib_link_width_oper = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 384;
+	ptr_struct->eth_proto_lp_advertise = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_ptys_reg_print(const struct connectib_ptys_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_ptys_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "proto_mask           : %s (" UH_FMT ")\n", (ptr_struct->proto_mask == 1 ? ("InfiniBand") : ((ptr_struct->proto_mask == 2 ? ("FC") : ((ptr_struct->proto_mask == 4 ? ("Ethernet") : ("unknown")))))), ptr_struct->proto_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "force_tx_aba_param   : " UH_FMT "\n", ptr_struct->force_tx_aba_param);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "an_disable_cap       : " UH_FMT "\n", ptr_struct->an_disable_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "an_disable_admin     : " UH_FMT "\n", ptr_struct->an_disable_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved_high        : " UH_FMT "\n", ptr_struct->reserved_high);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data_rate_oper       : " UH_FMT "\n", ptr_struct->data_rate_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "an_status            : " UH_FMT "\n", ptr_struct->an_status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_proto_capability  : " U32H_FMT "\n", ptr_struct->fc_proto_capability);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_proto_capability : " U32H_FMT "\n", ptr_struct->eth_proto_capability);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_proto_capability  : " UH_FMT "\n", ptr_struct->ib_proto_capability);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_link_width_capability : " UH_FMT "\n", ptr_struct->ib_link_width_capability);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_proto_admin       : " U32H_FMT "\n", ptr_struct->fc_proto_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_proto_admin      : " U32H_FMT "\n", ptr_struct->eth_proto_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_proto_admin       : " UH_FMT "\n", ptr_struct->ib_proto_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_link_width_admin  : " UH_FMT "\n", ptr_struct->ib_link_width_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc_proto_oper        : " U32H_FMT "\n", ptr_struct->fc_proto_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_proto_oper       : " U32H_FMT "\n", ptr_struct->eth_proto_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_proto_oper        : " UH_FMT "\n", ptr_struct->ib_proto_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_link_width_oper   : " UH_FMT "\n", ptr_struct->ib_link_width_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_proto_lp_advertise : " U32H_FMT "\n", ptr_struct->eth_proto_lp_advertise);
+
+}
+
+int connectib_ptys_reg_size(void)
+{
+	 return 64;
+}
+
+void connectib_ptys_reg_dump(const struct connectib_ptys_reg *ptr_struct, FILE* file)
+{
+	connectib_ptys_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pmlp_reg_pack(const struct connectib_pmlp_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->width);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rxtx);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lane0_module_mapping);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lane1_module_mapping);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lane2_module_mapping);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lane3_module_mapping);
+
+}
+
+void connectib_pmlp_reg_unpack(struct connectib_pmlp_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->width = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->rxtx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->lane0_module_mapping = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->lane1_module_mapping = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->lane2_module_mapping = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->lane3_module_mapping = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_pmlp_reg_print(const struct connectib_pmlp_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pmlp_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "width                : " UH_FMT "\n", ptr_struct->width);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rxtx                 : " UH_FMT "\n", ptr_struct->rxtx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane0_module_mapping : " U32H_FMT "\n", ptr_struct->lane0_module_mapping);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane1_module_mapping : " U32H_FMT "\n", ptr_struct->lane1_module_mapping);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane2_module_mapping : " U32H_FMT "\n", ptr_struct->lane2_module_mapping);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane3_module_mapping : " U32H_FMT "\n", ptr_struct->lane3_module_mapping);
+
+}
+
+int connectib_pmlp_reg_size(void)
+{
+	 return 64;
+}
+
+void connectib_pmlp_reg_dump(const struct connectib_pmlp_reg *ptr_struct, FILE* file)
+{
+	connectib_pmlp_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_register_mfbe_pack(const struct connectib_register_mfbe *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bulk_64kb_erase);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bulk_32kb_erase);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
+
+}
+
+void connectib_register_mfbe_unpack(struct connectib_register_mfbe *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 23;
+	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->bulk_64kb_erase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->bulk_32kb_erase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 72;
+	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_register_mfbe_print(const struct connectib_register_mfbe *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_mfbe ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk_64kb_erase      : " UH_FMT "\n", ptr_struct->bulk_64kb_erase);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk_32kb_erase      : " UH_FMT "\n", ptr_struct->bulk_32kb_erase);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
+
+}
+
+int connectib_register_mfbe_size(void)
+{
+	 return 12;
+}
+
+void connectib_register_mfbe_dump(const struct connectib_register_mfbe *ptr_struct, FILE* file)
+{
+	connectib_register_mfbe_print(ptr_struct, file, 0);
+}
+
+void connectib_register_mfba_pack(const struct connectib_register_mfba *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
+
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->size);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->address);
+
+	offset = 96;
+	connectib_register_access_data_pack(&(ptr_struct->data), ptr_buff + offset/8);
+
+}
+
+void connectib_register_mfba_unpack(struct connectib_register_mfba *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 23;
+	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 55;
+	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+
+	offset = 72;
+	ptr_struct->address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	connectib_register_access_data_unpack(&(ptr_struct->data), ptr_buff + offset/8);
+
+}
+
+void connectib_register_mfba_print(const struct connectib_register_mfba *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_mfba ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data:\n");
+	connectib_register_access_data_print(&(ptr_struct->data), file, indent_level + 1);
+
+}
+
+int connectib_register_mfba_size(void)
+{
+	 return 44;
+}
+
+void connectib_register_mfba_dump(const struct connectib_register_mfba *ptr_struct, FILE* file)
+{
+	connectib_register_mfba_print(ptr_struct, file, 0);
+}
+
+void connectib_register_mfpa_pack(const struct connectib_register_mfpa *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fs);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->p);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->boot_address);
+
+	offset = 156;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flash_num);
+
+	offset = 130;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bulk_64kb_erase_en);
+
+	offset = 129;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bulk_32kb_erase_en);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wip);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->jedec_id);
+
+	offset = 214;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->sector_size);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->block_allignment);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->capability_mask);
+
+}
+
+void connectib_register_mfpa_unpack(struct connectib_register_mfpa *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 23;
+	ptr_struct->p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 40;
+	ptr_struct->boot_address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 156;
+	ptr_struct->flash_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 130;
+	ptr_struct->bulk_64kb_erase_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 129;
+	ptr_struct->bulk_32kb_erase_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 128;
+	ptr_struct->wip = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 168;
+	ptr_struct->jedec_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 214;
+	ptr_struct->sector_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+
+	offset = 200;
+	ptr_struct->block_allignment = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 224;
+	ptr_struct->capability_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_register_mfpa_print(const struct connectib_register_mfpa *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_mfpa ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "boot_address         : " UH_FMT "\n", ptr_struct->boot_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flash_num            : " UH_FMT "\n", ptr_struct->flash_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk_64kb_erase_en   : " UH_FMT "\n", ptr_struct->bulk_64kb_erase_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bulk_32kb_erase_en   : " UH_FMT "\n", ptr_struct->bulk_32kb_erase_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "wip                  : " UH_FMT "\n", ptr_struct->wip);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "jedec_id             : " UH_FMT "\n", ptr_struct->jedec_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sector_size          : " UH_FMT "\n", ptr_struct->sector_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "block_allignment     : " UH_FMT "\n", ptr_struct->block_allignment);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "capability_mask      : " U32H_FMT "\n", ptr_struct->capability_mask);
+
+}
+
+int connectib_register_mfpa_size(void)
+{
+	 return 32;
+}
+
+void connectib_register_mfpa_dump(const struct connectib_register_mfpa *ptr_struct, FILE* file)
+{
+	connectib_register_mfpa_print(ptr_struct, file, 0);
+}
+
+void connectib_db_threshold_register_layout_pack(const struct connectib_db_threshold_register_layout *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->threshold);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->size);
+
+}
+
+void connectib_db_threshold_register_layout_unpack(struct connectib_db_threshold_register_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->threshold = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 48;
+	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_db_threshold_register_layout_print(const struct connectib_db_threshold_register_layout *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_db_threshold_register_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "threshold            : " UH_FMT "\n", ptr_struct->threshold);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+}
+
+int connectib_db_threshold_register_layout_size(void)
+{
+	 return 16;
+}
+
+void connectib_db_threshold_register_layout_dump(const struct connectib_db_threshold_register_layout *ptr_struct, FILE* file)
+{
+	connectib_db_threshold_register_layout_print(ptr_struct, file, 0);
+}
+
+void connectib_register_pplr_pack(const struct connectib_register_pplr *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->exl);
+
+}
+
+void connectib_register_pplr_unpack(struct connectib_register_pplr *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 61;
+	ptr_struct->exl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_register_pplr_print(const struct connectib_register_pplr *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_pplr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "exl                  : " UH_FMT "\n", ptr_struct->exl);
+
+}
+
+int connectib_register_pplr_size(void)
+{
+	 return 16;
+}
+
+void connectib_register_pplr_dump(const struct connectib_register_pplr *ptr_struct, FILE* file)
+{
+	connectib_register_pplr_print(ptr_struct, file, 0);
+}
+
+void connectib_register_host_endianness_pack(const struct connectib_register_host_endianness *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->he);
+
+}
+
+void connectib_register_host_endianness_unpack(struct connectib_register_host_endianness *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->he = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_register_host_endianness_print(const struct connectib_register_host_endianness *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_host_endianness ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "he                   : %s (" UH_FMT ")\n", (ptr_struct->he == 0 ? ("LITTLE_ENDIAN") : ((ptr_struct->he == 1 ? ("BIG_ENDIAN") : ("unknown")))), ptr_struct->he);
+
+}
+
+int connectib_register_host_endianness_size(void)
+{
+	 return 16;
+}
+
+void connectib_register_host_endianness_dump(const struct connectib_register_host_endianness *ptr_struct, FILE* file)
+{
+	connectib_register_host_endianness_print(ptr_struct, file, 0);
+}
+
+void connectib_register_fp_sl_map_pack(const struct connectib_register_fp_sl_map *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->fp_sl_indication);
+
+}
+
+void connectib_register_fp_sl_map_unpack(struct connectib_register_fp_sl_map *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->fp_sl_indication = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_register_fp_sl_map_print(const struct connectib_register_fp_sl_map *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_fp_sl_map ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fp_sl_indication     : " UH_FMT "\n", ptr_struct->fp_sl_indication);
+
+}
+
+int connectib_register_fp_sl_map_size(void)
+{
+	 return 16;
+}
+
+void connectib_register_fp_sl_map_dump(const struct connectib_register_fp_sl_map *ptr_struct, FILE* file)
+{
+	connectib_register_fp_sl_map_print(ptr_struct, file, 0);
+}
+
+void connectib_register_power_settings_pack(const struct connectib_register_power_settings *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->power_settings_level);
+
+}
+
+void connectib_register_power_settings_unpack(struct connectib_register_power_settings *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->power_settings_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_register_power_settings_print(const struct connectib_register_power_settings *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_power_settings ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "power_settings_level : " UH_FMT "\n", ptr_struct->power_settings_level);
+
+}
+
+int connectib_register_power_settings_size(void)
+{
+	 return 16;
+}
+
+void connectib_register_power_settings_dump(const struct connectib_register_power_settings *ptr_struct, FILE* file)
+{
+	connectib_register_power_settings_print(ptr_struct, file, 0);
+}
+
+void connectib_register_loopback_control_pack(const struct connectib_register_loopback_control *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_lb);
+
+}
+
+void connectib_register_loopback_control_unpack(struct connectib_register_loopback_control *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->no_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_register_loopback_control_print(const struct connectib_register_loopback_control *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_loopback_control ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_lb                : " UH_FMT "\n", ptr_struct->no_lb);
+
+}
+
+int connectib_register_loopback_control_size(void)
+{
+	 return 16;
+}
+
+void connectib_register_loopback_control_dump(const struct connectib_register_loopback_control *ptr_struct, FILE* file)
+{
+	connectib_register_loopback_control_print(ptr_struct, file, 0);
+}
+
+void connectib_pfcc_reg_pack(const struct connectib_pfcc_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->shl_opr);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->shl_cap);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pnat);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cap_remote_admin);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cap_local_admin);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dcbx_operation_type);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->prio_mask_rx);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->prio_mask_tx);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ppan);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cbftx);
+
+	offset = 87;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fctx_disabled);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pfctx);
+
+	offset = 65;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aptx);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pptx);
+
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cbfrx);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pfcrx);
+
+	offset = 97;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aprx);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pprx);
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_stall_critical_watermark);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_stall_minor_watermark);
+
+}
+
+void connectib_pfcc_reg_unpack(struct connectib_pfcc_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->shl_opr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->shl_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 16;
+	ptr_struct->pnat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->cap_remote_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->cap_local_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->dcbx_operation_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 56;
+	ptr_struct->prio_mask_rx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 40;
+	ptr_struct->prio_mask_tx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->ppan = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 88;
+	ptr_struct->cbftx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 87;
+	ptr_struct->fctx_disabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 72;
+	ptr_struct->pfctx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 65;
+	ptr_struct->aptx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->pptx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 120;
+	ptr_struct->cbfrx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 104;
+	ptr_struct->pfcrx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 97;
+	ptr_struct->aprx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->pprx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 144;
+	ptr_struct->device_stall_critical_watermark = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 128;
+	ptr_struct->device_stall_minor_watermark = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_pfcc_reg_print(const struct connectib_pfcc_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pfcc_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "shl_opr              : " UH_FMT "\n", ptr_struct->shl_opr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "shl_cap              : " UH_FMT "\n", ptr_struct->shl_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pnat                 : " UH_FMT "\n", ptr_struct->pnat);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_remote_admin     : " UH_FMT "\n", ptr_struct->cap_remote_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_local_admin      : " UH_FMT "\n", ptr_struct->cap_local_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcbx_operation_type  : " UH_FMT "\n", ptr_struct->dcbx_operation_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prio_mask_rx         : " UH_FMT "\n", ptr_struct->prio_mask_rx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prio_mask_tx         : " UH_FMT "\n", ptr_struct->prio_mask_tx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ppan                 : %s (" UH_FMT ")\n", (ptr_struct->ppan == 0 ? ("disabled") : ((ptr_struct->ppan == 1 ? ("enabled") : ("unknown")))), ptr_struct->ppan);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cbftx                : " UH_FMT "\n", ptr_struct->cbftx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fctx_disabled        : " UH_FMT "\n", ptr_struct->fctx_disabled);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pfctx                : " UH_FMT "\n", ptr_struct->pfctx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aptx                 : " UH_FMT "\n", ptr_struct->aptx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pptx                 : " UH_FMT "\n", ptr_struct->pptx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cbfrx                : " UH_FMT "\n", ptr_struct->cbfrx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pfcrx                : " UH_FMT "\n", ptr_struct->pfcrx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aprx                 : " UH_FMT "\n", ptr_struct->aprx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pprx                 : " UH_FMT "\n", ptr_struct->pprx);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_stall_critical_watermark : " UH_FMT "\n", ptr_struct->device_stall_critical_watermark);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_stall_minor_watermark : " UH_FMT "\n", ptr_struct->device_stall_minor_watermark);
+
+}
+
+int connectib_pfcc_reg_size(void)
+{
+	 return 32;
+}
+
+void connectib_pfcc_reg_dump(const struct connectib_pfcc_reg *ptr_struct, FILE* file)
+{
+	connectib_pfcc_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_access_register_unit_port_capabilities_pack(const struct connectib_access_register_unit_port_capabilities *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->reserved_1);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reserved_0);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_capabilities_127_96);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_capabilities_95_64);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_capabilities_63_32);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_capabilities_31_0);
+
+}
+
+void connectib_access_register_unit_port_capabilities_unpack(struct connectib_access_register_unit_port_capabilities *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->reserved_1 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->reserved_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->port_capabilities_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->port_capabilities_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->port_capabilities_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->port_capabilities_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_access_register_unit_port_capabilities_print(const struct connectib_access_register_unit_port_capabilities *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_access_register_unit_port_capabilities ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved_1           : " UH_FMT "\n", ptr_struct->reserved_1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved_0           : " UH_FMT "\n", ptr_struct->reserved_0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_capabilities_127_96 : " U32H_FMT "\n", ptr_struct->port_capabilities_127_96);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_capabilities_95_64 : " U32H_FMT "\n", ptr_struct->port_capabilities_95_64);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_capabilities_63_32 : " U32H_FMT "\n", ptr_struct->port_capabilities_63_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_capabilities_31_0 : " U32H_FMT "\n", ptr_struct->port_capabilities_31_0);
+
+}
+
+int connectib_access_register_unit_port_capabilities_size(void)
+{
+	 return 20;
+}
+
+void connectib_access_register_unit_port_capabilities_dump(const struct connectib_access_register_unit_port_capabilities *ptr_struct, FILE* file)
+{
+	connectib_access_register_unit_port_capabilities_print(ptr_struct, file, 0);
+}
+
+void connectib_register_unit_perf_counters_global_ctrl_pack(const struct connectib_register_unit_perf_counters_global_ctrl *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cmd);
+
+}
+
+void connectib_register_unit_perf_counters_global_ctrl_unpack(struct connectib_register_unit_perf_counters_global_ctrl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->cmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_register_unit_perf_counters_global_ctrl_print(const struct connectib_register_unit_perf_counters_global_ctrl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_unit_perf_counters_global_ctrl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmd                  : " UH_FMT "\n", ptr_struct->cmd);
+
+}
+
+int connectib_register_unit_perf_counters_global_ctrl_size(void)
+{
+	 return 16;
+}
+
+void connectib_register_unit_perf_counters_global_ctrl_dump(const struct connectib_register_unit_perf_counters_global_ctrl *ptr_struct, FILE* file)
+{
+	connectib_register_unit_perf_counters_global_ctrl_print(ptr_struct, file, 0);
+}
+
+void connectib_access_register_unit_perf_counters_data_pack(const struct connectib_access_register_unit_perf_counters_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	connectib_access_register_unit_perf_counters_data_line_pack(&(ptr_struct->counter[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_access_register_unit_perf_counters_data_unpack(struct connectib_access_register_unit_perf_counters_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	connectib_access_register_unit_perf_counters_data_line_unpack(&(ptr_struct->counter[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_access_register_unit_perf_counters_data_print(const struct connectib_access_register_unit_perf_counters_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_access_register_unit_perf_counters_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 8; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "counter_%03d:\n", i);
+	connectib_access_register_unit_perf_counters_data_line_print(&(ptr_struct->counter[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_access_register_unit_perf_counters_data_size(void)
+{
+	 return 32;
+}
+
+void connectib_access_register_unit_perf_counters_data_dump(const struct connectib_access_register_unit_perf_counters_data *ptr_struct, FILE* file)
+{
+	connectib_access_register_unit_perf_counters_data_print(ptr_struct, file, 0);
+}
+
+void connectib_access_register_unit_perf_counters_cfg_pack(const struct connectib_access_register_unit_perf_counters_cfg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	connectib_access_register_unit_perf_counters_cfg_line_pack(&(ptr_struct->counter[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_access_register_unit_perf_counters_cfg_unpack(struct connectib_access_register_unit_perf_counters_cfg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	connectib_access_register_unit_perf_counters_cfg_line_unpack(&(ptr_struct->counter[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_access_register_unit_perf_counters_cfg_print(const struct connectib_access_register_unit_perf_counters_cfg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_access_register_unit_perf_counters_cfg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 8; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "counter_%03d:\n", i);
+	connectib_access_register_unit_perf_counters_cfg_line_print(&(ptr_struct->counter[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_access_register_unit_perf_counters_cfg_size(void)
+{
+	 return 32;
+}
+
+void connectib_access_register_unit_perf_counters_cfg_dump(const struct connectib_access_register_unit_perf_counters_cfg *ptr_struct, FILE* file)
+{
+	connectib_access_register_unit_perf_counters_cfg_print(ptr_struct, file, 0);
+}
+
+void connectib_register_set_node_pack(const struct connectib_register_set_node *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_node_description_pack(&(ptr_struct->node_description), ptr_buff + offset/8);
+
+}
+
+void connectib_register_set_node_unpack(struct connectib_register_set_node *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_node_description_unpack(&(ptr_struct->node_description), ptr_buff + offset/8);
+
+}
+
+void connectib_register_set_node_print(const struct connectib_register_set_node *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_register_set_node ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "node_description:\n");
+	connectib_node_description_print(&(ptr_struct->node_description), file, indent_level + 1);
+
+}
+
+int connectib_register_set_node_size(void)
+{
+	 return 64;
+}
+
+void connectib_register_set_node_dump(const struct connectib_register_set_node *ptr_struct, FILE* file)
+{
+	connectib_register_set_node_print(ptr_struct, file, 0);
+}
+
+void connectib_dcbx_app_reg_pack(const struct connectib_dcbx_app_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_number);
+
+	offset = 58;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->num_app_prio);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 160, 1);
+	connectib_application_prio_entry_pack(&(ptr_struct->app_prio[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_dcbx_app_reg_unpack(struct connectib_dcbx_app_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 58;
+	ptr_struct->num_app_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	for (i = 0; i < 1; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 160, 1);
+	connectib_application_prio_entry_unpack(&(ptr_struct->app_prio[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_dcbx_app_reg_print(const struct connectib_dcbx_app_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dcbx_app_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_number          : " UH_FMT "\n", ptr_struct->port_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_app_prio         : " UH_FMT "\n", ptr_struct->num_app_prio);
+
+	for (i = 0; i < 1; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "app_prio_%03d:\n", i);
+	connectib_application_prio_entry_print(&(ptr_struct->app_prio[i]), file, indent_level + 1);
+	}
+
+}
+
+int connectib_dcbx_app_reg_size(void)
+{
+	 return 20;
+}
+
+void connectib_dcbx_app_reg_dump(const struct connectib_dcbx_app_reg *ptr_struct, FILE* file)
+{
+	connectib_dcbx_app_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_dcbx_param_reg_pack(const struct connectib_dcbx_param_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_application_table_size);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_number);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dcbx_standby_cap);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dcbx_ieee_cap);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dcbx_cee_cap);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->version_admin);
+
+	offset = 53;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->version_oper);
+
+	offset = 92;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_tc_admin);
+
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_tc_oper);
+
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pfc_cap_admin);
+
+	offset = 68;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pfc_cap_oper);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->willing_admin);
+
+	offset = 124;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->remote_num_of_tc);
+
+	offset = 100;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->remote_pfc_cap);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->remote_willing);
+
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->error);
+
+}
+
+void connectib_dcbx_param_reg_unpack(struct connectib_dcbx_param_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->max_application_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 8;
+	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 2;
+	ptr_struct->dcbx_standby_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->dcbx_ieee_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->dcbx_cee_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 61;
+	ptr_struct->version_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 53;
+	ptr_struct->version_oper = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 92;
+	ptr_struct->num_of_tc_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 84;
+	ptr_struct->num_of_tc_oper = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 76;
+	ptr_struct->pfc_cap_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 68;
+	ptr_struct->pfc_cap_oper = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->willing_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 124;
+	ptr_struct->remote_num_of_tc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 100;
+	ptr_struct->remote_pfc_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->remote_willing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 152;
+	ptr_struct->error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_dcbx_param_reg_print(const struct connectib_dcbx_param_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dcbx_param_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_application_table_size : " UH_FMT "\n", ptr_struct->max_application_table_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_number          : " UH_FMT "\n", ptr_struct->port_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcbx_standby_cap     : " UH_FMT "\n", ptr_struct->dcbx_standby_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcbx_ieee_cap        : " UH_FMT "\n", ptr_struct->dcbx_ieee_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcbx_cee_cap         : " UH_FMT "\n", ptr_struct->dcbx_cee_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "version_admin        : %s (" UH_FMT ")\n", (ptr_struct->version_admin == 0 ? ("disabled") : ((ptr_struct->version_admin == 1 ? ("CEE") : ((ptr_struct->version_admin == 2 ? ("IEEE") : ((ptr_struct->version_admin == 3 ? ("CEE_and_IEEE") : ("unknown")))))))), ptr_struct->version_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "version_oper         : %s (" UH_FMT ")\n", (ptr_struct->version_oper == 0 ? ("disabled") : ((ptr_struct->version_oper == 1 ? ("CEE_enabled") : ((ptr_struct->version_oper == 2 ? ("IEEE_enabled") : ("unknown")))))), ptr_struct->version_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_of_tc_admin      : " UH_FMT "\n", ptr_struct->num_of_tc_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_of_tc_oper       : " UH_FMT "\n", ptr_struct->num_of_tc_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pfc_cap_admin        : " UH_FMT "\n", ptr_struct->pfc_cap_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pfc_cap_oper         : " UH_FMT "\n", ptr_struct->pfc_cap_oper);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "willing_admin        : %s (" UH_FMT ")\n", (ptr_struct->willing_admin == 0 ? ("non_willing") : ((ptr_struct->willing_admin == 1 ? ("willing") : ("unknown")))), ptr_struct->willing_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "remote_num_of_tc     : " UH_FMT "\n", ptr_struct->remote_num_of_tc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "remote_pfc_cap       : " UH_FMT "\n", ptr_struct->remote_pfc_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "remote_willing       : " UH_FMT "\n", ptr_struct->remote_willing);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "error                : " UH_FMT "\n", ptr_struct->error);
+
+}
+
+int connectib_dcbx_param_reg_size(void)
+{
+	 return 64;
+}
+
+void connectib_dcbx_param_reg_dump(const struct connectib_dcbx_param_reg *ptr_struct, FILE* file)
+{
+	connectib_dcbx_param_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mlcr_pack(const struct connectib_mlcr *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->led_type);
+
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cap_local_or_uid_only);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->beacon_duration);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->beacon_remain);
+
+}
+
+void connectib_mlcr_unpack(struct connectib_mlcr *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->led_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 27;
+	ptr_struct->cap_local_or_uid_only = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 48;
+	ptr_struct->beacon_duration = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 80;
+	ptr_struct->beacon_remain = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_mlcr_print(const struct connectib_mlcr *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mlcr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "led_type             : " UH_FMT "\n", ptr_struct->led_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_local_or_uid_only : " UH_FMT "\n", ptr_struct->cap_local_or_uid_only);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "beacon_duration      : " UH_FMT "\n", ptr_struct->beacon_duration);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "beacon_remain        : " UH_FMT "\n", ptr_struct->beacon_remain);
+
+}
+
+int connectib_mlcr_size(void)
+{
+	 return 12;
+}
+
+void connectib_mlcr_dump(const struct connectib_mlcr *ptr_struct, FILE* file)
+{
+	connectib_mlcr_print(ptr_struct, file, 0);
+}
+
+void connectib_qhll_pack(const struct connectib_qhll *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+
+	offset = 59;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->hll_time);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hll_mask);
+
+	offset = 93;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->stall_cnt);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->stall_en);
+
+}
+
+void connectib_qhll_unpack(struct connectib_qhll *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 59;
+	ptr_struct->hll_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 32;
+	ptr_struct->hll_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 93;
+	ptr_struct->stall_cnt = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 64;
+	ptr_struct->stall_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_qhll_print(const struct connectib_qhll *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_qhll ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hll_time             : " UH_FMT "\n", ptr_struct->hll_time);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hll_mask             : " UH_FMT "\n", ptr_struct->hll_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "stall_cnt            : " UH_FMT "\n", ptr_struct->stall_cnt);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "stall_en             : " UH_FMT "\n", ptr_struct->stall_en);
+
+}
+
+int connectib_qhll_size(void)
+{
+	 return 12;
+}
+
+void connectib_qhll_dump(const struct connectib_qhll *ptr_struct, FILE* file)
+{
+	connectib_qhll_print(ptr_struct, file, 0);
+}
+
+void connectib_qtct_reg_pack(const struct connectib_qtct_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->prio);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_number);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cap_remote_admin);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cap_local_admin);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->operation_type);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->tclass);
+
+}
+
+void connectib_qtct_reg_unpack(struct connectib_qtct_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 29;
+	ptr_struct->prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 8;
+	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->cap_remote_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->cap_local_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->operation_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 61;
+	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_qtct_reg_print(const struct connectib_qtct_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_qtct_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prio                 : " UH_FMT "\n", ptr_struct->prio);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_number          : " UH_FMT "\n", ptr_struct->port_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_remote_admin     : " UH_FMT "\n", ptr_struct->cap_remote_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_local_admin      : " UH_FMT "\n", ptr_struct->cap_local_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "operation_type       : %s (" UH_FMT ")\n", (ptr_struct->operation_type == 0 ? ("local_operative_parameters") : ((ptr_struct->operation_type == 1 ? ("local_admin_parameters") : ((ptr_struct->operation_type == 2 ? ("remote_admin_parameters") : ("unknown")))))), ptr_struct->operation_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tclass               : " UH_FMT "\n", ptr_struct->tclass);
+
+}
+
+int connectib_qtct_reg_size(void)
+{
+	 return 8;
+}
+
+void connectib_qtct_reg_dump(const struct connectib_qtct_reg *ptr_struct, FILE* file)
+{
+	connectib_qtct_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_qpdp_reg_pack(const struct connectib_qpdp_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_number);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->pprio);
+
+}
+
+void connectib_qpdp_reg_unpack(struct connectib_qpdp_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 61;
+	ptr_struct->pprio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_qpdp_reg_print(const struct connectib_qpdp_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_qpdp_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_number          : " UH_FMT "\n", ptr_struct->port_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pprio                : " UH_FMT "\n", ptr_struct->pprio);
+
+}
+
+int connectib_qpdp_reg_size(void)
+{
+	 return 8;
+}
+
+void connectib_qpdp_reg_dump(const struct connectib_qpdp_reg *ptr_struct, FILE* file)
+{
+	connectib_qpdp_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_qetcr_reg_pack(const struct connectib_qetcr_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_number);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cap_remote_admin);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cap_local_admin);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->operation_type);
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(64, 64, i, 640, 1);
+	connectib_tc_qos_configuration_pack(&(ptr_struct->tc[i]), ptr_buff + offset/8);
+	}
+
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->global_configuration);
+
+}
+
+void connectib_qetcr_reg_unpack(struct connectib_qetcr_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->cap_remote_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->cap_local_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->operation_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(64, 64, i, 640, 1);
+	connectib_tc_qos_configuration_unpack(&(ptr_struct->tc[i]), ptr_buff + offset/8);
+	}
+
+	offset = 576;
+	ptr_struct->global_configuration = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_qetcr_reg_print(const struct connectib_qetcr_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_qetcr_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_number          : " UH_FMT "\n", ptr_struct->port_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_remote_admin     : " UH_FMT "\n", ptr_struct->cap_remote_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_local_admin      : " UH_FMT "\n", ptr_struct->cap_local_admin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "operation_type       : " UH_FMT "\n", ptr_struct->operation_type);
+
+	for (i = 0; i < 8; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tc_%03d:\n", i);
+	connectib_tc_qos_configuration_print(&(ptr_struct->tc[i]), file, indent_level + 1);
+	}
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "global_configuration : " U64H_FMT "\n", ptr_struct->global_configuration);
+
+}
+
+int connectib_qetcr_reg_size(void)
+{
+	 return 80;
+}
+
+void connectib_qetcr_reg_dump(const struct connectib_qetcr_reg *ptr_struct, FILE* file)
+{
+	connectib_qetcr_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_pcam_reg_pack(const struct connectib_pcam_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->access_reg_group);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->feature_group);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 640, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_access_reg_cap_mask[i]);
+	}
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(320, 32, i, 640, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->feature_cap_mask[i]);
+	}
+
+}
+
+void connectib_pcam_reg_unpack(struct connectib_pcam_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->access_reg_group = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->feature_group = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 640, 1);
+	ptr_struct->port_access_reg_cap_mask[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(320, 32, i, 640, 1);
+	ptr_struct->feature_cap_mask[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_pcam_reg_print(const struct connectib_pcam_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pcam_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_reg_group     : " UH_FMT "\n", ptr_struct->access_reg_group);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "feature_group        : " UH_FMT "\n", ptr_struct->feature_group);
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_access_reg_cap_mask_%03d : " U32H_FMT "\n", i, ptr_struct->port_access_reg_cap_mask[i]);
+	}
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "feature_cap_mask_%03d : " U32H_FMT "\n", i, ptr_struct->feature_cap_mask[i]);
+	}
+
+}
+
+int connectib_pcam_reg_size(void)
+{
+	 return 80;
+}
+
+void connectib_pcam_reg_dump(const struct connectib_pcam_reg *ptr_struct, FILE* file)
+{
+	connectib_pcam_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_mcam_reg_pack(const struct connectib_mcam_reg *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->access_reg_group);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->feature_group);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 576, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mng_access_reg_cap_mask[i]);
+	}
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(320, 32, i, 576, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mng_feature_cap_mask[i]);
+	}
+
+}
+
+void connectib_mcam_reg_unpack(struct connectib_mcam_reg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->access_reg_group = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->feature_group = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 576, 1);
+	ptr_struct->mng_access_reg_cap_mask[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(320, 32, i, 576, 1);
+	ptr_struct->mng_feature_cap_mask[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_mcam_reg_print(const struct connectib_mcam_reg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mcam_reg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_reg_group     : " UH_FMT "\n", ptr_struct->access_reg_group);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "feature_group        : " UH_FMT "\n", ptr_struct->feature_group);
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mng_access_reg_cap_mask_%03d : " U32H_FMT "\n", i, ptr_struct->mng_access_reg_cap_mask[i]);
+	}
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mng_feature_cap_mask_%03d : " U32H_FMT "\n", i, ptr_struct->mng_feature_cap_mask[i]);
+	}
+
+}
+
+int connectib_mcam_reg_size(void)
+{
+	 return 72;
+}
+
+void connectib_mcam_reg_dump(const struct connectib_mcam_reg *ptr_struct, FILE* file)
+{
+	connectib_mcam_reg_print(ptr_struct, file, 0);
+}
+
+void connectib_ib_gid_pack(const struct connectib_ib_gid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
+	}
+
+}
+
+void connectib_ib_gid_unpack(struct connectib_ib_gid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_ib_gid_print(const struct connectib_ib_gid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_ib_gid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
+	}
+
+}
+
+int connectib_ib_gid_size(void)
+{
+	 return 16;
+}
+
+void connectib_ib_gid_dump(const struct connectib_ib_gid *ptr_struct, FILE* file)
+{
+	connectib_ib_gid_print(ptr_struct, file, 0);
+}
+
+void connectib_dmfs_encap_meta_pack(const struct connectib_dmfs_encap_meta *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->header_type);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->encap_size);
+
+}
+
+void connectib_dmfs_encap_meta_unpack(struct connectib_dmfs_encap_meta *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 61;
+	ptr_struct->header_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 48;
+	ptr_struct->encap_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+
+}
+
+void connectib_dmfs_encap_meta_print(const struct connectib_dmfs_encap_meta *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dmfs_encap_meta ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "header_type          : " UH_FMT "\n", ptr_struct->header_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encap_size           : " UH_FMT "\n", ptr_struct->encap_size);
+
+}
+
+int connectib_dmfs_encap_meta_size(void)
+{
+	 return 8;
+}
+
+void connectib_dmfs_encap_meta_dump(const struct connectib_dmfs_encap_meta *ptr_struct, FILE* file)
+{
+	connectib_dmfs_encap_meta_print(ptr_struct, file, 0);
+}
+
+void connectib_flow_counter_fw_ctx_pack(const struct connectib_flow_counter_fw_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->src_gvmi);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ft_type);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ft_type_valid);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->mac);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->next_flow_counter);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->prev_flow_counter);
+
+}
+
+void connectib_flow_counter_fw_ctx_unpack(struct connectib_flow_counter_fw_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 48;
+	ptr_struct->src_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 33;
+	ptr_struct->ft_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 32;
+	ptr_struct->ft_type_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->mac = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 128;
+	ptr_struct->next_flow_counter = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->prev_flow_counter = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_flow_counter_fw_ctx_print(const struct connectib_flow_counter_fw_ctx *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_flow_counter_fw_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "src_gvmi             : " UH_FMT "\n", ptr_struct->src_gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_type              : " UH_FMT "\n", ptr_struct->ft_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_type_valid        : " UH_FMT "\n", ptr_struct->ft_type_valid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mac                  : " U64H_FMT "\n", ptr_struct->mac);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "next_flow_counter    : " U32H_FMT "\n", ptr_struct->next_flow_counter);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prev_flow_counter    : " U32H_FMT "\n", ptr_struct->prev_flow_counter);
+
+}
+
+int connectib_flow_counter_fw_ctx_size(void)
+{
+	 return 32;
+}
+
+void connectib_flow_counter_fw_ctx_dump(const struct connectib_flow_counter_fw_ctx *ptr_struct, FILE* file)
+{
+	connectib_flow_counter_fw_ctx_print(ptr_struct, file, 0);
+}
+
+void connectib_l2_table_entry_fw_ctx_pack(const struct connectib_l2_table_entry_fw_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_mac_address_layout_pack(&(ptr_struct->mac), ptr_buff + offset/8);
+
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->vlan);
+
+	offset = 83;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vlan_valid);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hw_rx_ix);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hw_sx_ix);
+
+}
+
+void connectib_l2_table_entry_fw_ctx_unpack(struct connectib_l2_table_entry_fw_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_mac_address_layout_unpack(&(ptr_struct->mac), ptr_buff + offset/8);
+
+	offset = 84;
+	ptr_struct->vlan = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 83;
+	ptr_struct->vlan_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->hw_rx_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->hw_sx_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_l2_table_entry_fw_ctx_print(const struct connectib_l2_table_entry_fw_ctx *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_l2_table_entry_fw_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mac:\n");
+	connectib_mac_address_layout_print(&(ptr_struct->mac), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vlan                 : " UH_FMT "\n", ptr_struct->vlan);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vlan_valid           : " UH_FMT "\n", ptr_struct->vlan_valid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_rx_ix             : " U32H_FMT "\n", ptr_struct->hw_rx_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_sx_ix             : " U32H_FMT "\n", ptr_struct->hw_sx_ix);
+
+}
+
+int connectib_l2_table_entry_fw_ctx_size(void)
+{
+	 return 32;
+}
+
+void connectib_l2_table_entry_fw_ctx_dump(const struct connectib_l2_table_entry_fw_ctx *ptr_struct, FILE* file)
+{
+	connectib_l2_table_entry_fw_ctx_print(ptr_struct, file, 0);
+}
+
+void connectib_dmfs_fte_meta_pack(const struct connectib_dmfs_fte_meta *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->external_dest_vport);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->internal_dest_vport);
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->uc_match_exists);
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mc_match_exists);
+
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->src_port_ext_match_exists);
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fte_use_iterator);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dest_iter_ix);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vst_dealloc_hash_ix);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vst_dealloc_ste_ix);
+
+}
+
+void connectib_dmfs_fte_meta_unpack(struct connectib_dmfs_fte_meta *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->external_dest_vport = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->internal_dest_vport = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 29;
+	ptr_struct->uc_match_exists = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 28;
+	ptr_struct->mc_match_exists = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 27;
+	ptr_struct->src_port_ext_match_exists = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 26;
+	ptr_struct->fte_use_iterator = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->dest_iter_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->vst_dealloc_hash_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->vst_dealloc_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_dmfs_fte_meta_print(const struct connectib_dmfs_fte_meta *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dmfs_fte_meta ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "external_dest_vport  : " UH_FMT "\n", ptr_struct->external_dest_vport);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "internal_dest_vport  : " UH_FMT "\n", ptr_struct->internal_dest_vport);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uc_match_exists      : " UH_FMT "\n", ptr_struct->uc_match_exists);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mc_match_exists      : " UH_FMT "\n", ptr_struct->mc_match_exists);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "src_port_ext_match_exists : " UH_FMT "\n", ptr_struct->src_port_ext_match_exists);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fte_use_iterator     : " UH_FMT "\n", ptr_struct->fte_use_iterator);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dest_iter_ix         : " U32H_FMT "\n", ptr_struct->dest_iter_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vst_dealloc_hash_ix  : " U32H_FMT "\n", ptr_struct->vst_dealloc_hash_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vst_dealloc_ste_ix   : " U32H_FMT "\n", ptr_struct->vst_dealloc_ste_ix);
+
+}
+
+int connectib_dmfs_fte_meta_size(void)
+{
+	 return 64;
+}
+
+void connectib_dmfs_fte_meta_dump(const struct connectib_dmfs_fte_meta *ptr_struct, FILE* file)
+{
+	connectib_dmfs_fte_meta_print(ptr_struct, file, 0);
+}
+
+void connectib_dmfs_ft_meta_pack(const struct connectib_dmfs_ft_meta *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log2_table_size);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->level);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ft_is_root);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->total_ref_count);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->prev_ft);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->next_ft);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->groups_list_head);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->groups_member_count);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ft_rx_head_ix);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ft_sx_head_ix);
+
+	offset = 264;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_table_id);
+
+	offset = 260;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->table_miss_mode);
+
+	offset = 258;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lag_demux);
+
+	offset = 257;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->decap_en);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->encap_en);
+
+	offset = 304;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->fgs_in_rx_hw_count);
+
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->fgs_in_sx_hw_count);
+
+}
+
+void connectib_dmfs_ft_meta_unpack(struct connectib_dmfs_ft_meta *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 16;
+	ptr_struct->log2_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 1;
+	ptr_struct->ft_is_root = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->total_ref_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->prev_ft = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->next_ft = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->groups_list_head = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->groups_member_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->ft_rx_head_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->ft_sx_head_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 264;
+	ptr_struct->next_table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 260;
+	ptr_struct->table_miss_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 258;
+	ptr_struct->lag_demux = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 257;
+	ptr_struct->decap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 256;
+	ptr_struct->encap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 304;
+	ptr_struct->fgs_in_rx_hw_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 288;
+	ptr_struct->fgs_in_sx_hw_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_dmfs_ft_meta_print(const struct connectib_dmfs_ft_meta *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dmfs_ft_meta ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_type           : " UH_FMT "\n", ptr_struct->table_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2_table_size      : " UH_FMT "\n", ptr_struct->log2_table_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "level                : " UH_FMT "\n", ptr_struct->level);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_is_root           : " UH_FMT "\n", ptr_struct->ft_is_root);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "total_ref_count      : " UH_FMT "\n", ptr_struct->total_ref_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_num            : " UH_FMT "\n", ptr_struct->vport_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prev_ft              : " U32H_FMT "\n", ptr_struct->prev_ft);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "next_ft              : " U32H_FMT "\n", ptr_struct->next_ft);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "groups_list_head     : " U32H_FMT "\n", ptr_struct->groups_list_head);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "groups_member_count  : " U32H_FMT "\n", ptr_struct->groups_member_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_rx_head_ix        : " U32H_FMT "\n", ptr_struct->ft_rx_head_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_sx_head_ix        : " U32H_FMT "\n", ptr_struct->ft_sx_head_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "next_table_id        : " UH_FMT "\n", ptr_struct->next_table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_miss_mode      : " UH_FMT "\n", ptr_struct->table_miss_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lag_demux            : " UH_FMT "\n", ptr_struct->lag_demux);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "decap_en             : " UH_FMT "\n", ptr_struct->decap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encap_en             : " UH_FMT "\n", ptr_struct->encap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fgs_in_rx_hw_count   : " UH_FMT "\n", ptr_struct->fgs_in_rx_hw_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fgs_in_sx_hw_count   : " UH_FMT "\n", ptr_struct->fgs_in_sx_hw_count);
+
+}
+
+int connectib_dmfs_ft_meta_size(void)
+{
+	 return 64;
+}
+
+void connectib_dmfs_ft_meta_dump(const struct connectib_dmfs_ft_meta *ptr_struct, FILE* file)
+{
+	connectib_dmfs_ft_meta_print(ptr_struct, file, 0);
+}
+
+void connectib_dmfs_fg_meta_pack(const struct connectib_dmfs_fg_meta *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->match_criteria_enable);
+
+	offset = 87;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vlan_match_exist);
+
+	offset = 86;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_rx_hw);
+
+	offset = 85;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_sx_hw);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->start_flow_index);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->end_flow_index);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->prev_group_id);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->next_group_id);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vst_root_hash_meta_ix);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_root_hash_meta_ix);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sx_root_hash_meta_ix);
+
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_end_ste_ix);
+
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sx_end_ste_ix);
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->unused_ftes_in_rx_count);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->unused_ftes_in_sx_count);
+
+}
+
+void connectib_dmfs_fg_meta_unpack(struct connectib_dmfs_fg_meta *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 56;
+	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 88;
+	ptr_struct->match_criteria_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 87;
+	ptr_struct->vlan_match_exist = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 86;
+	ptr_struct->in_rx_hw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 85;
+	ptr_struct->in_sx_hw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 96;
+	ptr_struct->start_flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->end_flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->prev_group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->next_group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->vst_root_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 256;
+	ptr_struct->rx_root_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->sx_root_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	ptr_struct->rx_end_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 352;
+	ptr_struct->sx_end_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 384;
+	ptr_struct->unused_ftes_in_rx_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 416;
+	ptr_struct->unused_ftes_in_sx_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_dmfs_fg_meta_print(const struct connectib_dmfs_fg_meta *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dmfs_fg_meta ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_type           : " UH_FMT "\n", ptr_struct->table_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "match_criteria_enable : " UH_FMT "\n", ptr_struct->match_criteria_enable);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vlan_match_exist     : " UH_FMT "\n", ptr_struct->vlan_match_exist);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in_rx_hw             : " UH_FMT "\n", ptr_struct->in_rx_hw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in_sx_hw             : " UH_FMT "\n", ptr_struct->in_sx_hw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_num            : " UH_FMT "\n", ptr_struct->vport_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "start_flow_index     : " U32H_FMT "\n", ptr_struct->start_flow_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "end_flow_index       : " U32H_FMT "\n", ptr_struct->end_flow_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prev_group_id        : " U32H_FMT "\n", ptr_struct->prev_group_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "next_group_id        : " U32H_FMT "\n", ptr_struct->next_group_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vst_root_hash_meta_ix : " U32H_FMT "\n", ptr_struct->vst_root_hash_meta_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_root_hash_meta_ix : " U32H_FMT "\n", ptr_struct->rx_root_hash_meta_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_root_hash_meta_ix : " U32H_FMT "\n", ptr_struct->sx_root_hash_meta_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_end_ste_ix        : " U32H_FMT "\n", ptr_struct->rx_end_ste_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_end_ste_ix        : " U32H_FMT "\n", ptr_struct->sx_end_ste_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "unused_ftes_in_rx_count : " U32H_FMT "\n", ptr_struct->unused_ftes_in_rx_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "unused_ftes_in_sx_count : " U32H_FMT "\n", ptr_struct->unused_ftes_in_sx_count);
+
+}
+
+int connectib_dmfs_fg_meta_size(void)
+{
+	 return 64;
+}
+
+void connectib_dmfs_fg_meta_dump(const struct connectib_dmfs_fg_meta *ptr_struct, FILE* file)
+{
+	connectib_dmfs_fg_meta_print(ptr_struct, file, 0);
+}
+
+void connectib_mkey_dump_pack(const struct connectib_mkey_dump *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ready_4_dump);
+
+}
+
+void connectib_mkey_dump_unpack(struct connectib_mkey_dump *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->ready_4_dump = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_mkey_dump_print(const struct connectib_mkey_dump *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mkey_dump ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ready_4_dump         : " UH_FMT "\n", ptr_struct->ready_4_dump);
+
+}
+
+int connectib_mkey_dump_size(void)
+{
+	 return 4;
+}
+
+void connectib_mkey_dump_dump(const struct connectib_mkey_dump *ptr_struct, FILE* file)
+{
+	connectib_mkey_dump_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_tis_pack(const struct connectib_fw_tis *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lag_tx_port_affinity);
+
+	offset = 59;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->strict_lag_tx_port_affinity);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->prio);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->sqn_head);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->transport_domain);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->underlay_qpn);
+
+}
+
+void connectib_fw_tis_unpack(struct connectib_fw_tis *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 60;
+	ptr_struct->lag_tx_port_affinity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 59;
+	ptr_struct->strict_lag_tx_port_affinity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->sqn_head = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 104;
+	ptr_struct->transport_domain = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 136;
+	ptr_struct->underlay_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_fw_tis_print(const struct connectib_fw_tis *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_tis ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lag_tx_port_affinity : " UH_FMT "\n", ptr_struct->lag_tx_port_affinity);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "strict_lag_tx_port_affinity : " UH_FMT "\n", ptr_struct->strict_lag_tx_port_affinity);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prio                 : " UH_FMT "\n", ptr_struct->prio);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sqn_head             : " UH_FMT "\n", ptr_struct->sqn_head);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "transport_domain     : " UH_FMT "\n", ptr_struct->transport_domain);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "underlay_qpn         : " UH_FMT "\n", ptr_struct->underlay_qpn);
+
+}
+
+int connectib_fw_tis_size(void)
+{
+	 return 64;
+}
+
+void connectib_fw_tis_dump(const struct connectib_fw_tis *ptr_struct, FILE* file)
+{
+	connectib_fw_tis_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_tir_pack(const struct connectib_fw_tir *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->inline_rqn);
+
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->disp_type);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lro_max_ip_payload_size);
+
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lro_enable_mask);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lro_timeout_period_usecs);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rqt_number);
+
+	offset = 100;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_hash_fn);
+
+	offset = 99;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tunneled_offload_en);
+
+	offset = 97;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_hash_symmetric);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->steering_start_pipe);
+
+	offset = 128;
+	connectib_rx_hash_field_select_pack(&(ptr_struct->rx_hash_field_selector_outer), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_rx_hash_field_select_pack(&(ptr_struct->rx_hash_field_selector_inner), ptr_buff + offset/8);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->transport_domain);
+
+	offset = 198;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->self_lb_block);
+
+	offset = 384;
+	connectib_tir_dmfs_pack(&(ptr_struct->dmfs), ptr_buff + offset/8);
+
+}
+
+void connectib_fw_tir_unpack(struct connectib_fw_tir *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 40;
+	ptr_struct->inline_rqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 36;
+	ptr_struct->disp_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 88;
+	ptr_struct->lro_max_ip_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 84;
+	ptr_struct->lro_enable_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->lro_timeout_period_usecs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 104;
+	ptr_struct->rqt_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 100;
+	ptr_struct->rx_hash_fn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 99;
+	ptr_struct->tunneled_offload_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 97;
+	ptr_struct->rx_hash_symmetric = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->steering_start_pipe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 128;
+	connectib_rx_hash_field_select_unpack(&(ptr_struct->rx_hash_field_selector_outer), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_rx_hash_field_select_unpack(&(ptr_struct->rx_hash_field_selector_inner), ptr_buff + offset/8);
+
+	offset = 200;
+	ptr_struct->transport_domain = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 198;
+	ptr_struct->self_lb_block = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 384;
+	connectib_tir_dmfs_unpack(&(ptr_struct->dmfs), ptr_buff + offset/8);
+
+}
+
+void connectib_fw_tir_print(const struct connectib_fw_tir *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_tir ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inline_rqn           : " UH_FMT "\n", ptr_struct->inline_rqn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "disp_type            : " UH_FMT "\n", ptr_struct->disp_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_max_ip_payload_size : " UH_FMT "\n", ptr_struct->lro_max_ip_payload_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_enable_mask      : " UH_FMT "\n", ptr_struct->lro_enable_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_timeout_period_usecs : " UH_FMT "\n", ptr_struct->lro_timeout_period_usecs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_number           : " UH_FMT "\n", ptr_struct->rqt_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_hash_fn           : " UH_FMT "\n", ptr_struct->rx_hash_fn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tunneled_offload_en  : " UH_FMT "\n", ptr_struct->tunneled_offload_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_hash_symmetric    : " UH_FMT "\n", ptr_struct->rx_hash_symmetric);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_start_pipe  : " UH_FMT "\n", ptr_struct->steering_start_pipe);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_hash_field_selector_outer:\n");
+	connectib_rx_hash_field_select_print(&(ptr_struct->rx_hash_field_selector_outer), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_hash_field_selector_inner:\n");
+	connectib_rx_hash_field_select_print(&(ptr_struct->rx_hash_field_selector_inner), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "transport_domain     : " UH_FMT "\n", ptr_struct->transport_domain);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "self_lb_block        : " UH_FMT "\n", ptr_struct->self_lb_block);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dmfs:\n");
+	connectib_tir_dmfs_print(&(ptr_struct->dmfs), file, indent_level + 1);
+
+}
+
+int connectib_fw_tir_size(void)
+{
+	 return 64;
+}
+
+void connectib_fw_tir_dump(const struct connectib_fw_tir *ptr_struct, FILE* file)
+{
+	connectib_fw_tir_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_qpc_pack(const struct connectib_fw_qpc *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sw_st);
+
+	offset = 53;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->sw_rwq_type);
+
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_sq);
+
+	offset = 50;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->sw_rq_type);
+
+	offset = 49;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_dual_write);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ack_fence_req);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ack_slice_to_fence);
+
+	offset = 37;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->min_wqe_inline_mode);
+
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->allow_multi_pkt_send_wqe);
+
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_connected_to_nvme_xrq);
+
+	offset = 91;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->sw_timer_granularity);
+
+	offset = 86;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->current_timer_granularity);
+
+	offset = 85;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->one_side_flush);
+
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->apm_path_validation_failed);
+
+	offset = 83;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cd_slave_send);
+
+	offset = 82;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cd_slave_receive);
+
+	offset = 81;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cd_master);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sqd_on_sigerr);
+
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl_diff_new_sl);
+
+	offset = 73;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->fw_max_read_atomic);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hca_sq_owner);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cmdif_entry_ix);
+
+	offset = 96;
+	connectib_fw_qpc_ts_special_pack(&(ptr_struct->fw_qpc_ts_special), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_fw_qpc_q_pack(&(ptr_struct->responder), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_fw_qpc_q_pack(&(ptr_struct->requestor), ptr_buff + offset/8);
+
+	offset = 384;
+	connectib_fw_qpc_special_pack(&(ptr_struct->fw_qpc_special), ptr_buff + offset/8);
+
+}
+
+void connectib_fw_qpc_unpack(struct connectib_fw_qpc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 56;
+	ptr_struct->sw_st = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 53;
+	ptr_struct->sw_rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 52;
+	ptr_struct->no_sq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 50;
+	ptr_struct->sw_rq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 49;
+	ptr_struct->qp_dual_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->ack_fence_req = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 40;
+	ptr_struct->ack_slice_to_fence = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 37;
+	ptr_struct->min_wqe_inline_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 36;
+	ptr_struct->allow_multi_pkt_send_wqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 35;
+	ptr_struct->is_connected_to_nvme_xrq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 91;
+	ptr_struct->sw_timer_granularity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 86;
+	ptr_struct->current_timer_granularity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 85;
+	ptr_struct->one_side_flush = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 84;
+	ptr_struct->apm_path_validation_failed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 83;
+	ptr_struct->cd_slave_send = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 82;
+	ptr_struct->cd_slave_receive = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 81;
+	ptr_struct->cd_master = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 80;
+	ptr_struct->sqd_on_sigerr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 76;
+	ptr_struct->sl_diff_new_sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 73;
+	ptr_struct->fw_max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 72;
+	ptr_struct->hca_sq_owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->cmdif_entry_ix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 96;
+	connectib_fw_qpc_ts_special_unpack(&(ptr_struct->fw_qpc_ts_special), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_fw_qpc_q_unpack(&(ptr_struct->responder), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_fw_qpc_q_unpack(&(ptr_struct->requestor), ptr_buff + offset/8);
+
+	offset = 384;
+	connectib_fw_qpc_special_unpack(&(ptr_struct->fw_qpc_special), ptr_buff + offset/8);
+
+}
+
+void connectib_fw_qpc_print(const struct connectib_fw_qpc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_qpc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sw_st                : " UH_FMT "\n", ptr_struct->sw_st);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sw_rwq_type          : " UH_FMT "\n", ptr_struct->sw_rwq_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_sq                : " UH_FMT "\n", ptr_struct->no_sq);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sw_rq_type           : " UH_FMT "\n", ptr_struct->sw_rq_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_dual_write        : " UH_FMT "\n", ptr_struct->qp_dual_write);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ack_fence_req        : " UH_FMT "\n", ptr_struct->ack_fence_req);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ack_slice_to_fence   : " UH_FMT "\n", ptr_struct->ack_slice_to_fence);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "min_wqe_inline_mode  : " UH_FMT "\n", ptr_struct->min_wqe_inline_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "allow_multi_pkt_send_wqe : " UH_FMT "\n", ptr_struct->allow_multi_pkt_send_wqe);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_connected_to_nvme_xrq : " UH_FMT "\n", ptr_struct->is_connected_to_nvme_xrq);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sw_timer_granularity : " UH_FMT "\n", ptr_struct->sw_timer_granularity);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "current_timer_granularity : " UH_FMT "\n", ptr_struct->current_timer_granularity);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "one_side_flush       : " UH_FMT "\n", ptr_struct->one_side_flush);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "apm_path_validation_failed : " UH_FMT "\n", ptr_struct->apm_path_validation_failed);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cd_slave_send        : " UH_FMT "\n", ptr_struct->cd_slave_send);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cd_slave_receive     : " UH_FMT "\n", ptr_struct->cd_slave_receive);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cd_master            : " UH_FMT "\n", ptr_struct->cd_master);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sqd_on_sigerr        : " UH_FMT "\n", ptr_struct->sqd_on_sigerr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sl_diff_new_sl       : " UH_FMT "\n", ptr_struct->sl_diff_new_sl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_max_read_atomic   : " UH_FMT "\n", ptr_struct->fw_max_read_atomic);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hca_sq_owner         : " UH_FMT "\n", ptr_struct->hca_sq_owner);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmdif_entry_ix       : " UH_FMT "\n", ptr_struct->cmdif_entry_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_qpc_ts_special:\n");
+	connectib_fw_qpc_ts_special_print(&(ptr_struct->fw_qpc_ts_special), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "responder:\n");
+	connectib_fw_qpc_q_print(&(ptr_struct->responder), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "requestor:\n");
+	connectib_fw_qpc_q_print(&(ptr_struct->requestor), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_qpc_special:\n");
+	connectib_fw_qpc_special_print(&(ptr_struct->fw_qpc_special), file, indent_level + 1);
+
+}
+
+int connectib_fw_qpc_size(void)
+{
+	 return 64;
+}
+
+void connectib_fw_qpc_dump(const struct connectib_fw_qpc *ptr_struct, FILE* file)
+{
+	connectib_fw_qpc_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_srqc_pack(const struct connectib_fw_srqc *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->catas_event_generated);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->basic_cyclic_rcv_wqe);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->invalid_user_index);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->end_padding_mode);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->trap_reason);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->trap_data);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->no_lro_qpn);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->memory_rq_state);
+
+	offset = 256;
+	connectib_fw_xrqc_pack(&(ptr_struct->xrq), ptr_buff + offset/8);
+
+}
+
+void connectib_fw_srqc_unpack(struct connectib_fw_srqc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 63;
+	ptr_struct->catas_event_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 62;
+	ptr_struct->basic_cyclic_rcv_wqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 61;
+	ptr_struct->invalid_user_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 60;
+	ptr_struct->end_padding_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->trap_reason = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->trap_data = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 136;
+	ptr_struct->no_lro_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 128;
+	ptr_struct->memory_rq_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 256;
+	connectib_fw_xrqc_unpack(&(ptr_struct->xrq), ptr_buff + offset/8);
+
+}
+
+void connectib_fw_srqc_print(const struct connectib_fw_srqc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_srqc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "catas_event_generated : " UH_FMT "\n", ptr_struct->catas_event_generated);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "basic_cyclic_rcv_wqe : " UH_FMT "\n", ptr_struct->basic_cyclic_rcv_wqe);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "invalid_user_index   : " UH_FMT "\n", ptr_struct->invalid_user_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "end_padding_mode     : " UH_FMT "\n", ptr_struct->end_padding_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "trap_reason          : %s (" UH_FMT ")\n", (ptr_struct->trap_reason == 1 ? ("NOP") : ((ptr_struct->trap_reason == 2 ? ("SET_LIMIT") : ("unknown")))), ptr_struct->trap_reason);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "trap_data            : " UH_FMT "\n", ptr_struct->trap_data);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_lro_qpn           : " UH_FMT "\n", ptr_struct->no_lro_qpn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "memory_rq_state      : " UH_FMT "\n", ptr_struct->memory_rq_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "xrq:\n");
+	connectib_fw_xrqc_print(&(ptr_struct->xrq), file, indent_level + 1);
+
+}
+
+int connectib_fw_srqc_size(void)
+{
+	 return 64;
+}
+
+void connectib_fw_srqc_dump(const struct connectib_fw_srqc *ptr_struct, FILE* file)
+{
+	connectib_fw_srqc_print(ptr_struct, file, 0);
+}
+
+void connectib_sw_ads_pack(const struct connectib_sw_ads *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey_index);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->free_ar);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fl);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rlid);
+
+	offset = 41;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->mlid);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
+
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->stat_rate);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_rtm);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->src_addr_index);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->ack_timeout);
+
+	offset = 108;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
+
+	offset = 100;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(152, 8, i, 352, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rgid_rip[i]);
+	}
+
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->udp_sport);
+
+	offset = 266;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->dscp);
+
+	offset = 264;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ecn);
+
+	offset = 263;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->f_eth_prio);
+
+	offset = 261;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->f_ecn);
+
+	offset = 260;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->f_dscp);
+
+	offset = 304;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rmac_47_32);
+
+	offset = 296;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
+
+	offset = 292;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+
+	offset = 289;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->eth_prio);
+
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dei_cfi_reserved_from_prm_041);
+
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rmac_31_0);
+
+}
+
+void connectib_sw_ads_unpack(struct connectib_sw_ads *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->pkey_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 1;
+	ptr_struct->free_ar = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->fl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->rlid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 41;
+	ptr_struct->mlid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 40;
+	ptr_struct->grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 88;
+	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 84;
+	ptr_struct->stat_rate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 80;
+	ptr_struct->log_rtm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->src_addr_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->ack_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 108;
+	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+
+	offset = 100;
+	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(152, 8, i, 352, 1);
+	ptr_struct->rgid_rip[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
+
+	offset = 272;
+	ptr_struct->udp_sport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 266;
+	ptr_struct->dscp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 264;
+	ptr_struct->ecn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 263;
+	ptr_struct->f_eth_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 261;
+	ptr_struct->f_ecn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 260;
+	ptr_struct->f_dscp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 304;
+	ptr_struct->rmac_47_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 296;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 292;
+	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 289;
+	ptr_struct->eth_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 288;
+	ptr_struct->dei_cfi_reserved_from_prm_041 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 320;
+	ptr_struct->rmac_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_sw_ads_print(const struct connectib_sw_ads *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sw_ads ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkey_index           : " UH_FMT "\n", ptr_struct->pkey_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "free_ar              : " UH_FMT "\n", ptr_struct->free_ar);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fl                   : " UH_FMT "\n", ptr_struct->fl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rlid                 : " UH_FMT "\n", ptr_struct->rlid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mlid                 : " UH_FMT "\n", ptr_struct->mlid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "grh                  : " UH_FMT "\n", ptr_struct->grh);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hop_limit            : " UH_FMT "\n", ptr_struct->hop_limit);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "stat_rate            : %s (" UH_FMT ")\n", (ptr_struct->stat_rate == 0 ? ("no_limit") : ((ptr_struct->stat_rate == 7 ? ("Gbps_2_5") : ((ptr_struct->stat_rate == 8 ? ("Gbps_10") : ((ptr_struct->stat_rate == 9 ? ("Gbps_30") : ((ptr_struct->stat_rate == 10 ? ("Gbps_5") : ((ptr_struct->stat_rate == 11 ? ("Gbps_20") : ((ptr_struct->stat_rate == 12 ? ("Gbps_40") : ((ptr_struct->stat_rate == 13 ? ("Gbps_60") : ((ptr_struct->stat_rate == 14 ? ("Gbps_80") : ((ptr_struct->stat_rate [...]
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_rtm              : " UH_FMT "\n", ptr_struct->log_rtm);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "src_addr_index       : " UH_FMT "\n", ptr_struct->src_addr_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ack_timeout          : " UH_FMT "\n", ptr_struct->ack_timeout);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_label           : " UH_FMT "\n", ptr_struct->flow_label);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tclass               : " UH_FMT "\n", ptr_struct->tclass);
+
+	for (i = 0; i < 16; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rgid_rip_%03d        : " UH_FMT "\n", i, ptr_struct->rgid_rip[i]);
+	}
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "udp_sport            : " UH_FMT "\n", ptr_struct->udp_sport);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dscp                 : " UH_FMT "\n", ptr_struct->dscp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ecn                  : " UH_FMT "\n", ptr_struct->ecn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "f_eth_prio           : " UH_FMT "\n", ptr_struct->f_eth_prio);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "f_ecn                : " UH_FMT "\n", ptr_struct->f_ecn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "f_dscp               : " UH_FMT "\n", ptr_struct->f_dscp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rmac_47_32           : " UH_FMT "\n", ptr_struct->rmac_47_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sl                   : " UH_FMT "\n", ptr_struct->sl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eth_prio             : " UH_FMT "\n", ptr_struct->eth_prio);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dei_cfi_reserved_from_prm_041 : " UH_FMT "\n", ptr_struct->dei_cfi_reserved_from_prm_041);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rmac_31_0            : " U32H_FMT "\n", ptr_struct->rmac_31_0);
+
+}
+
+int connectib_sw_ads_size(void)
+{
+	 return 44;
+}
+
+void connectib_sw_ads_dump(const struct connectib_sw_ads *ptr_struct, FILE* file)
+{
+	connectib_sw_ads_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_msix_ext_context_pack(const struct connectib_hw_msix_ext_context *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mask_3_0);
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->disable_3_0);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->need);
+
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->timestamp_51_32);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->min_wait);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->timestamp_31_0);
+
+}
+
+void connectib_hw_msix_ext_context_unpack(struct connectib_hw_msix_ext_context *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->mask_3_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 24;
+	ptr_struct->disable_3_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 23;
+	ptr_struct->need = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 76;
+	ptr_struct->timestamp_51_32 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+
+	offset = 64;
+	ptr_struct->min_wait = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 96;
+	ptr_struct->timestamp_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_msix_ext_context_print(const struct connectib_hw_msix_ext_context *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_msix_ext_context ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mask_3_0             : " UH_FMT "\n", ptr_struct->mask_3_0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "disable_3_0          : " UH_FMT "\n", ptr_struct->disable_3_0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "need                 : " UH_FMT "\n", ptr_struct->need);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "timestamp_51_32      : " UH_FMT "\n", ptr_struct->timestamp_51_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "min_wait             : " UH_FMT "\n", ptr_struct->min_wait);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "timestamp_31_0       : " U32H_FMT "\n", ptr_struct->timestamp_31_0);
+
+}
+
+int connectib_hw_msix_ext_context_size(void)
+{
+	 return 16;
+}
+
+void connectib_hw_msix_ext_context_dump(const struct connectib_hw_msix_ext_context *ptr_struct, FILE* file)
+{
+	connectib_hw_msix_ext_context_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_msix_context_pack(const struct connectib_hw_msix_context *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->addr_31_2_);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->addr_63_32_);
+
+	offset = 64;
+	connectib_hw_msix_context_data_pack(&(ptr_struct->data), ptr_buff + offset/8);
+
+	offset = 127;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec_mask);
+
+}
+
+void connectib_hw_msix_context_unpack(struct connectib_hw_msix_context *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->addr_31_2_ = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+
+	offset = 32;
+	ptr_struct->addr_63_32_ = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	connectib_hw_msix_context_data_unpack(&(ptr_struct->data), ptr_buff + offset/8);
+
+	offset = 127;
+	ptr_struct->spec_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_msix_context_print(const struct connectib_hw_msix_context *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_msix_context ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "addr_31_2_           : " UH_FMT "\n", ptr_struct->addr_31_2_);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "addr_63_32_          : " U32H_FMT "\n", ptr_struct->addr_63_32_);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data:\n");
+	connectib_hw_msix_context_data_print(&(ptr_struct->data), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "spec_mask            : " UH_FMT "\n", ptr_struct->spec_mask);
+
+}
+
+int connectib_hw_msix_context_size(void)
+{
+	 return 16;
+}
+
+void connectib_hw_msix_context_dump(const struct connectib_hw_msix_context *ptr_struct, FILE* file)
+{
+	connectib_hw_msix_context_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_rdb_atomic_data_pack(const struct connectib_hw_rdb_atomic_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->atomic_data[i]);
+	}
+
+}
+
+void connectib_hw_rdb_atomic_data_unpack(struct connectib_hw_rdb_atomic_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	ptr_struct->atomic_data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_hw_rdb_atomic_data_print(const struct connectib_hw_rdb_atomic_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_rdb_atomic_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 8; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "atomic_data_%03d     : " U32H_FMT "\n", i, ptr_struct->atomic_data[i]);
+	}
+
+}
+
+int connectib_hw_rdb_atomic_data_size(void)
+{
+	 return 32;
+}
+
+void connectib_hw_rdb_atomic_data_dump(const struct connectib_hw_rdb_atomic_data *ptr_struct, FILE* file)
+{
+	connectib_hw_rdb_atomic_data_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_mtt2_pack(const struct connectib_hw_mtt2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hi);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lo);
+
+}
+
+void connectib_hw_mtt2_unpack(struct connectib_hw_mtt2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_mtt2_print(const struct connectib_hw_mtt2 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_mtt2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hi                   : " U32H_FMT "\n", ptr_struct->hi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lo                   : " U32H_FMT "\n", ptr_struct->lo);
+
+}
+
+int connectib_hw_mtt2_size(void)
+{
+	 return 8;
+}
+
+void connectib_hw_mtt2_dump(const struct connectib_hw_mtt2 *ptr_struct, FILE* file)
+{
+	connectib_hw_mtt2_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_mtt_pack(const struct connectib_hw_mtt *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pas_63_32);
+
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rd_en);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wr_en);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->pas_31_3);
+
+}
+
+void connectib_hw_mtt_unpack(struct connectib_hw_mtt *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->pas_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 63;
+	ptr_struct->rd_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 62;
+	ptr_struct->wr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->pas_31_3 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
+
+}
+
+void connectib_hw_mtt_print(const struct connectib_hw_mtt *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_mtt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pas_63_32            : " U32H_FMT "\n", ptr_struct->pas_63_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rd_en                : " UH_FMT "\n", ptr_struct->rd_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "wr_en                : " UH_FMT "\n", ptr_struct->wr_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pas_31_3             : " UH_FMT "\n", ptr_struct->pas_31_3);
+
+}
+
+int connectib_hw_mtt_size(void)
+{
+	 return 8;
+}
+
+void connectib_hw_mtt_dump(const struct connectib_hw_mtt *ptr_struct, FILE* file)
+{
+	connectib_hw_mtt_print(ptr_struct, file, 0);
+}
+
+void connectib_steering_qp_list_pack(const struct connectib_steering_qp_list *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry0), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry1), ptr_buff + offset/8);
+
+	offset = 64;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry2), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry3), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry4), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry5), ptr_buff + offset/8);
+
+	offset = 192;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry6), ptr_buff + offset/8);
+
+	offset = 224;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry7), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry8), ptr_buff + offset/8);
+
+	offset = 288;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry9), ptr_buff + offset/8);
+
+	offset = 320;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry10), ptr_buff + offset/8);
+
+	offset = 352;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry11), ptr_buff + offset/8);
+
+	offset = 384;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry12), ptr_buff + offset/8);
+
+	offset = 416;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry13), ptr_buff + offset/8);
+
+	offset = 448;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry14), ptr_buff + offset/8);
+
+	offset = 480;
+	connectib_steering_qp_entry_pack(&(ptr_struct->steering_qp_entry15), ptr_buff + offset/8);
+
+}
+
+void connectib_steering_qp_list_unpack(struct connectib_steering_qp_list *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry0), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry1), ptr_buff + offset/8);
+
+	offset = 64;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry2), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry3), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry4), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry5), ptr_buff + offset/8);
+
+	offset = 192;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry6), ptr_buff + offset/8);
+
+	offset = 224;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry7), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry8), ptr_buff + offset/8);
+
+	offset = 288;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry9), ptr_buff + offset/8);
+
+	offset = 320;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry10), ptr_buff + offset/8);
+
+	offset = 352;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry11), ptr_buff + offset/8);
+
+	offset = 384;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry12), ptr_buff + offset/8);
+
+	offset = 416;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry13), ptr_buff + offset/8);
+
+	offset = 448;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry14), ptr_buff + offset/8);
+
+	offset = 480;
+	connectib_steering_qp_entry_unpack(&(ptr_struct->steering_qp_entry15), ptr_buff + offset/8);
+
+}
+
+void connectib_steering_qp_list_print(const struct connectib_steering_qp_list *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_steering_qp_list ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry0:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry0), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry1:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry1), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry2:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry2), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry3:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry3), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry4:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry4), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry5:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry5), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry6:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry6), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry7:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry7), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry8:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry8), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry9:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry9), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry10:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry10), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry11:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry11), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry12:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry12), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry13:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry13), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry14:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry14), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_entry15:\n");
+	connectib_steering_qp_entry_print(&(ptr_struct->steering_qp_entry15), file, indent_level + 1);
+
+}
+
+int connectib_steering_qp_list_size(void)
+{
+	 return 64;
+}
+
+void connectib_steering_qp_list_dump(const struct connectib_steering_qp_list *ptr_struct, FILE* file)
+{
+	connectib_steering_qp_list_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_ste_pack(const struct connectib_hw_ste *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->member_count);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_packet_qp);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_fw_int);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rx_cmd);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_byte_counters_trigger);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_packet_counters_trigger);
+
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_byte_counters_trigger);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_packet_counters_trigger);
+
+	offset = 37;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_sniffer);
+
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_func_lb);
+
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_wire);
+
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_fw_int);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->sx_cmd);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->fw_id);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_lookup_type);
+
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hit_lookup_type_hash_field_mask);
+
+	offset = 114;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_hit_entry_size);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hit_base_address_63_32);
+
+	offset = 184;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hit_lookup_type);
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->hit_base_address_31_8);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->miss_address_63_32);
+
+	offset = 250;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_hit_table_size);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 26, (u_int32_t)ptr_struct->miss_address_31_6);
+
+	offset = 256;
+	connectib_hw_ste_tag_pack(&(ptr_struct->tag_data), ptr_buff + offset/8);
+
+	offset = 384;
+	connectib_hw_ste_tag_pack(&(ptr_struct->tag_mask), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_ste_unpack(struct connectib_hw_ste *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->member_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 3;
+	ptr_struct->rx_packet_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->rx_fw_int = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->rx_cmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 56;
+	ptr_struct->pport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 48;
+	ptr_struct->pport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 44;
+	ptr_struct->vport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 40;
+	ptr_struct->vport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 37;
+	ptr_struct->sx_sniffer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 36;
+	ptr_struct->sx_func_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 35;
+	ptr_struct->sx_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 34;
+	ptr_struct->sx_fw_int = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->sx_cmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 72;
+	ptr_struct->fw_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->my_lookup_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 120;
+	ptr_struct->hit_lookup_type_hash_field_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 114;
+	ptr_struct->log2_hit_entry_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 96;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 128;
+	ptr_struct->hit_base_address_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 184;
+	ptr_struct->hit_lookup_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 160;
+	ptr_struct->hit_base_address_31_8 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 192;
+	ptr_struct->miss_address_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 250;
+	ptr_struct->log2_hit_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 224;
+	ptr_struct->miss_address_31_6 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 26);
+
+	offset = 256;
+	connectib_hw_ste_tag_unpack(&(ptr_struct->tag_data), ptr_buff + offset/8);
+
+	offset = 384;
+	connectib_hw_ste_tag_unpack(&(ptr_struct->tag_mask), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_ste_print(const struct connectib_hw_ste *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_ste ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "member_count         : " UH_FMT "\n", ptr_struct->member_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_packet_qp         : " UH_FMT "\n", ptr_struct->rx_packet_qp);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_fw_int            : " UH_FMT "\n", ptr_struct->rx_fw_int);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_cmd               : " UH_FMT "\n", ptr_struct->rx_cmd);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pport_byte_counters_trigger : " UH_FMT "\n", ptr_struct->pport_byte_counters_trigger);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pport_packet_counters_trigger : " UH_FMT "\n", ptr_struct->pport_packet_counters_trigger);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_byte_counters_trigger : " UH_FMT "\n", ptr_struct->vport_byte_counters_trigger);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_packet_counters_trigger : " UH_FMT "\n", ptr_struct->vport_packet_counters_trigger);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_sniffer           : " UH_FMT "\n", ptr_struct->sx_sniffer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_func_lb           : " UH_FMT "\n", ptr_struct->sx_func_lb);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_wire              : " UH_FMT "\n", ptr_struct->sx_wire);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_fw_int            : " UH_FMT "\n", ptr_struct->sx_fw_int);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_cmd               : " UH_FMT "\n", ptr_struct->sx_cmd);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_id                : " UH_FMT "\n", ptr_struct->fw_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "my_lookup_type       : " UH_FMT "\n", ptr_struct->my_lookup_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hit_lookup_type_hash_field_mask : " UH_FMT "\n", ptr_struct->hit_lookup_type_hash_field_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2_hit_entry_size  : " UH_FMT "\n", ptr_struct->log2_hit_entry_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hit_base_address_63_32 : " U32H_FMT "\n", ptr_struct->hit_base_address_63_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hit_lookup_type      : " UH_FMT "\n", ptr_struct->hit_lookup_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hit_base_address_31_8 : " UH_FMT "\n", ptr_struct->hit_base_address_31_8);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "miss_address_63_32   : " U32H_FMT "\n", ptr_struct->miss_address_63_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2_hit_table_size  : " UH_FMT "\n", ptr_struct->log2_hit_table_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "miss_address_31_6    : " UH_FMT "\n", ptr_struct->miss_address_31_6);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tag_data:\n");
+	connectib_hw_ste_tag_print(&(ptr_struct->tag_data), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tag_mask:\n");
+	connectib_hw_ste_tag_print(&(ptr_struct->tag_mask), file, indent_level + 1);
+
+}
+
+int connectib_hw_ste_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_ste_dump(const struct connectib_hw_ste *ptr_struct, FILE* file)
+{
+	connectib_hw_ste_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_timer_pack(const struct connectib_hw_timer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->timer_granularity);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->timer_state);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->timer_valid);
+
+}
+
+void connectib_hw_timer_unpack(struct connectib_hw_timer *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 3;
+	ptr_struct->timer_granularity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 1;
+	ptr_struct->timer_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 0;
+	ptr_struct->timer_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_timer_print(const struct connectib_hw_timer *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_timer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "timer_granularity    : " UH_FMT "\n", ptr_struct->timer_granularity);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "timer_state          : " UH_FMT "\n", ptr_struct->timer_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "timer_valid          : " UH_FMT "\n", ptr_struct->timer_valid);
+
+}
+
+int connectib_hw_timer_size(void)
+{
+	 return 1;
+}
+
+void connectib_hw_timer_dump(const struct connectib_hw_timer *ptr_struct, FILE* file)
+{
+	connectib_hw_timer_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_requestor_in_sq_pack(const struct connectib_sxdc_requestor_in_sq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_requestor_in_sq_unpack(struct connectib_sxdc_requestor_in_sq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 39;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_sxdc_requestor_in_sq_print(const struct connectib_sxdc_requestor_in_sq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_requestor_in_sq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_requestor_in_sq_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_requestor_in_sq_dump(const struct connectib_sxdc_requestor_in_sq *ptr_struct, FILE* file)
+{
+	connectib_sxdc_requestor_in_sq_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_responder_in_sq_pack(const struct connectib_sxdc_responder_in_sq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 38;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_responder_in_sq_unpack(struct connectib_sxdc_responder_in_sq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 38;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_sxdc_responder_in_sq_print(const struct connectib_sxdc_responder_in_sq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_responder_in_sq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_responder_in_sq_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_responder_in_sq_dump(const struct connectib_sxdc_responder_in_sq *ptr_struct, FILE* file)
+{
+	connectib_sxdc_responder_in_sq_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_scheduling_interrupt_pack(const struct connectib_sxdc_scheduling_interrupt *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 37;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_scheduling_interrupt_unpack(struct connectib_sxdc_scheduling_interrupt *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 37;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_sxdc_scheduling_interrupt_print(const struct connectib_sxdc_scheduling_interrupt *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_scheduling_interrupt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_scheduling_interrupt_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_scheduling_interrupt_dump(const struct connectib_sxdc_scheduling_interrupt *ptr_struct, FILE* file)
+{
+	connectib_sxdc_scheduling_interrupt_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_doorbell_int_pack(const struct connectib_sxdc_doorbell_int *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_doorbell_int_unpack(struct connectib_sxdc_doorbell_int *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 35;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_sxdc_doorbell_int_print(const struct connectib_sxdc_doorbell_int *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_doorbell_int ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_doorbell_int_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_doorbell_int_dump(const struct connectib_sxdc_doorbell_int *ptr_struct, FILE* file)
+{
+	connectib_sxdc_doorbell_int_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_fast_path_pack(const struct connectib_sxdc_fast_path *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_fast_path_unpack(struct connectib_sxdc_fast_path *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 34;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_sxdc_fast_path_print(const struct connectib_sxdc_fast_path *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_fast_path ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_fast_path_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_fast_path_dump(const struct connectib_sxdc_fast_path *ptr_struct, FILE* file)
+{
+	connectib_sxdc_fast_path_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_external_db_en_pack(const struct connectib_sxdc_external_db_en *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_external_db_en_unpack(struct connectib_sxdc_external_db_en *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 33;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_sxdc_external_db_en_print(const struct connectib_sxdc_external_db_en *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_external_db_en ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_external_db_en_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_external_db_en_dump(const struct connectib_sxdc_external_db_en *ptr_struct, FILE* file)
+{
+	connectib_sxdc_external_db_en_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_valid_pack(const struct connectib_sxdc_valid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_valid_unpack(struct connectib_sxdc_valid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 32;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_sxdc_valid_print(const struct connectib_sxdc_valid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_valid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_valid_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_valid_dump(const struct connectib_sxdc_valid *ptr_struct, FILE* file)
+{
+	connectib_sxdc_valid_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_sq_pack(const struct connectib_sxdc_sq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_sq_unpack(struct connectib_sxdc_sq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_sxdc_sq_print(const struct connectib_sxdc_sq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_sq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_sq_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_sq_dump(const struct connectib_sxdc_sq *ptr_struct, FILE* file)
+{
+	connectib_sxdc_sq_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_swqe_producer_index_pack(const struct connectib_sxdc_swqe_producer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_swqe_producer_index_unpack(struct connectib_sxdc_swqe_producer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_sxdc_swqe_producer_index_print(const struct connectib_sxdc_swqe_producer_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_swqe_producer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_swqe_producer_index_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_swqe_producer_index_dump(const struct connectib_sxdc_swqe_producer_index *ptr_struct, FILE* file)
+{
+	connectib_sxdc_swqe_producer_index_print(ptr_struct, file, 0);
+}
+
+void connectib_sxdc_uar_pack(const struct connectib_sxdc_uar *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_sxdc_uar_unpack(struct connectib_sxdc_uar *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 40;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_sxdc_uar_print(const struct connectib_sxdc_uar *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sxdc_uar ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_sxdc_uar_size(void)
+{
+	 return 8;
+}
+
+void connectib_sxdc_uar_dump(const struct connectib_sxdc_uar *ptr_struct, FILE* file)
+{
+	connectib_sxdc_uar_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_pack(const struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_check_gen);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_init);
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->m_pad);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_check_gen);
+
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_init);
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->w_pad);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->raw_size);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+
+	offset = 135;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+
+	offset = 134;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+
+	offset = 131;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+
+	offset = 130;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+
+	offset = 257;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->w_dif_ref_tag);
+
+	offset = 320;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+
+	offset = 385;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->m_dif_ref_tag);
+
+	offset = 448;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_unpack(struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->m_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->m_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 28;
+	ptr_struct->m_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 23;
+	ptr_struct->w_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 22;
+	ptr_struct->w_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 20;
+	ptr_struct->w_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 8;
+	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 32;
+	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 104;
+	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 136;
+	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 135;
+	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 134;
+	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 131;
+	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 130;
+	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 168;
+	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 200;
+	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 192;
+	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 232;
+	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 224;
+	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 272;
+	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 257;
+	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 256;
+	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 288;
+	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 385;
+	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 384;
+	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 416;
+	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 448;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_print(const struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_bsf_entry_w_non_repeating_m_non_repeating ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_check_gen          : " UH_FMT "\n", ptr_struct->m_check_gen);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_init               : " UH_FMT "\n", ptr_struct->m_init);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_pad                : " UH_FMT "\n", ptr_struct->m_pad);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_check_gen          : " UH_FMT "\n", ptr_struct->w_check_gen);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_init               : " UH_FMT "\n", ptr_struct->w_init);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_pad                : " UH_FMT "\n", ptr_struct->w_pad);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "byte_check_en        : " UH_FMT "\n", ptr_struct->byte_check_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aligned              : " UH_FMT "\n", ptr_struct->aligned);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "raw_size             : " U32H_FMT "\n", ptr_struct->raw_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_psv_pointer      : " UH_FMT "\n", ptr_struct->w_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_psv_pointer      : " UH_FMT "\n", ptr_struct->m_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prologue_size        : " UH_FMT "\n", ptr_struct->prologue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_end              : " UH_FMT "\n", ptr_struct->m_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_start            : " UH_FMT "\n", ptr_struct->m_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_end              : " UH_FMT "\n", ptr_struct->w_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_start            : " UH_FMT "\n", ptr_struct->w_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "epilogue_size        : " UH_FMT "\n", ptr_struct->epilogue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_psv_pointer      : " UH_FMT "\n", ptr_struct->w_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_psv_pointer      : " UH_FMT "\n", ptr_struct->m_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_app_tag        : " UH_FMT "\n", ptr_struct->w_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_refresh_dif_params : " UH_FMT "\n", ptr_struct->w_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_vld        : " UH_FMT "\n", ptr_struct->w_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->w_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_app_tag        : " UH_FMT "\n", ptr_struct->m_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_refresh_dif_params : " UH_FMT "\n", ptr_struct->m_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_vld        : " UH_FMT "\n", ptr_struct->m_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->m_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+
+}
+
+int connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_dump(const struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, FILE* file)
+{
+	connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_bsf_entry_w_non_repeating_m_repeating_pack(const struct connectib_hw_bsf_entry_w_non_repeating_m_repeating *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_block_size_selector);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_check_gen);
+
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_init);
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->w_pad);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->raw_size);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+
+	offset = 135;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+
+	offset = 134;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+
+	offset = 131;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+
+	offset = 130;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+
+	offset = 257;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->w_dif_ref_tag);
+
+	offset = 320;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+
+	offset = 385;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->m_dif_ref_tag);
+
+	offset = 448;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_w_non_repeating_m_repeating_unpack(struct connectib_hw_bsf_entry_w_non_repeating_m_repeating *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->m_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 23;
+	ptr_struct->w_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 22;
+	ptr_struct->w_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 20;
+	ptr_struct->w_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 8;
+	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 32;
+	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 104;
+	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 136;
+	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 135;
+	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 134;
+	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 131;
+	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 130;
+	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 168;
+	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 200;
+	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 192;
+	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 232;
+	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 224;
+	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 272;
+	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 257;
+	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 256;
+	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 288;
+	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 385;
+	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 384;
+	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 416;
+	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 448;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_w_non_repeating_m_repeating_print(const struct connectib_hw_bsf_entry_w_non_repeating_m_repeating *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_bsf_entry_w_non_repeating_m_repeating ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_block_size_selector : " UH_FMT "\n", ptr_struct->m_block_size_selector);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_check_gen          : " UH_FMT "\n", ptr_struct->w_check_gen);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_init               : " UH_FMT "\n", ptr_struct->w_init);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_pad                : " UH_FMT "\n", ptr_struct->w_pad);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "byte_check_en        : " UH_FMT "\n", ptr_struct->byte_check_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aligned              : " UH_FMT "\n", ptr_struct->aligned);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "raw_size             : " U32H_FMT "\n", ptr_struct->raw_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_psv_pointer      : " UH_FMT "\n", ptr_struct->w_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_psv_pointer      : " UH_FMT "\n", ptr_struct->m_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prologue_size        : " UH_FMT "\n", ptr_struct->prologue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_end              : " UH_FMT "\n", ptr_struct->m_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_start            : " UH_FMT "\n", ptr_struct->m_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_end              : " UH_FMT "\n", ptr_struct->w_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_start            : " UH_FMT "\n", ptr_struct->w_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "epilogue_size        : " UH_FMT "\n", ptr_struct->epilogue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_psv_pointer      : " UH_FMT "\n", ptr_struct->w_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_psv_pointer      : " UH_FMT "\n", ptr_struct->m_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_app_tag        : " UH_FMT "\n", ptr_struct->w_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_refresh_dif_params : " UH_FMT "\n", ptr_struct->w_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_vld        : " UH_FMT "\n", ptr_struct->w_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->w_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_app_tag        : " UH_FMT "\n", ptr_struct->m_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_refresh_dif_params : " UH_FMT "\n", ptr_struct->m_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_vld        : " UH_FMT "\n", ptr_struct->m_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->m_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+
+}
+
+int connectib_hw_bsf_entry_w_non_repeating_m_repeating_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_bsf_entry_w_non_repeating_m_repeating_dump(const struct connectib_hw_bsf_entry_w_non_repeating_m_repeating *ptr_struct, FILE* file)
+{
+	connectib_hw_bsf_entry_w_non_repeating_m_repeating_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_bsf_entry_w_repeating_m_non_repeating_pack(const struct connectib_hw_bsf_entry_w_repeating_m_non_repeating *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_check_gen);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_init);
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->m_pad);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_block_size_selector);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->raw_size);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+
+	offset = 135;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+
+	offset = 134;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+
+	offset = 131;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+
+	offset = 130;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+
+	offset = 257;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->w_dif_ref_tag);
+
+	offset = 320;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+
+	offset = 385;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->m_dif_ref_tag);
+
+	offset = 448;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_w_repeating_m_non_repeating_unpack(struct connectib_hw_bsf_entry_w_repeating_m_non_repeating *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->m_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->m_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 28;
+	ptr_struct->m_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 16;
+	ptr_struct->w_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 32;
+	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 104;
+	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 136;
+	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 135;
+	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 134;
+	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 131;
+	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 130;
+	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 168;
+	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 200;
+	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 192;
+	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 232;
+	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 224;
+	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 272;
+	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 257;
+	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 256;
+	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 288;
+	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 385;
+	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 384;
+	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 416;
+	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 448;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_w_repeating_m_non_repeating_print(const struct connectib_hw_bsf_entry_w_repeating_m_non_repeating *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_bsf_entry_w_repeating_m_non_repeating ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_check_gen          : " UH_FMT "\n", ptr_struct->m_check_gen);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_init               : " UH_FMT "\n", ptr_struct->m_init);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_pad                : " UH_FMT "\n", ptr_struct->m_pad);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_block_size_selector : " UH_FMT "\n", ptr_struct->w_block_size_selector);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "byte_check_en        : " UH_FMT "\n", ptr_struct->byte_check_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aligned              : " UH_FMT "\n", ptr_struct->aligned);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "raw_size             : " U32H_FMT "\n", ptr_struct->raw_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_psv_pointer      : " UH_FMT "\n", ptr_struct->w_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_psv_pointer      : " UH_FMT "\n", ptr_struct->m_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prologue_size        : " UH_FMT "\n", ptr_struct->prologue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_end              : " UH_FMT "\n", ptr_struct->m_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_start            : " UH_FMT "\n", ptr_struct->m_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_end              : " UH_FMT "\n", ptr_struct->w_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_start            : " UH_FMT "\n", ptr_struct->w_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "epilogue_size        : " UH_FMT "\n", ptr_struct->epilogue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_psv_pointer      : " UH_FMT "\n", ptr_struct->w_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_psv_pointer      : " UH_FMT "\n", ptr_struct->m_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_app_tag        : " UH_FMT "\n", ptr_struct->w_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_refresh_dif_params : " UH_FMT "\n", ptr_struct->w_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_vld        : " UH_FMT "\n", ptr_struct->w_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->w_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_app_tag        : " UH_FMT "\n", ptr_struct->m_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_refresh_dif_params : " UH_FMT "\n", ptr_struct->m_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_vld        : " UH_FMT "\n", ptr_struct->m_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->m_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+
+}
+
+int connectib_hw_bsf_entry_w_repeating_m_non_repeating_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_bsf_entry_w_repeating_m_non_repeating_dump(const struct connectib_hw_bsf_entry_w_repeating_m_non_repeating *ptr_struct, FILE* file)
+{
+	connectib_hw_bsf_entry_w_repeating_m_non_repeating_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_bsf_entry_w_repeating_m_repeating_pack(const struct connectib_hw_bsf_entry_w_repeating_m_repeating *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_block_size_selector);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_block_size_selector);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->raw_size);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+
+	offset = 135;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+
+	offset = 134;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+
+	offset = 131;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+
+	offset = 130;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+
+	offset = 257;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->w_dif_ref_tag);
+
+	offset = 320;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+
+	offset = 385;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->m_dif_ref_tag);
+
+	offset = 448;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_w_repeating_m_repeating_unpack(struct connectib_hw_bsf_entry_w_repeating_m_repeating *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->m_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 16;
+	ptr_struct->w_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 32;
+	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 104;
+	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 136;
+	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 135;
+	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 134;
+	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 131;
+	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 130;
+	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 168;
+	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 200;
+	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 192;
+	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 232;
+	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 224;
+	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 272;
+	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 257;
+	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 256;
+	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 288;
+	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 385;
+	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 384;
+	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 416;
+	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 448;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_w_repeating_m_repeating_print(const struct connectib_hw_bsf_entry_w_repeating_m_repeating *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_bsf_entry_w_repeating_m_repeating ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_block_size_selector : " UH_FMT "\n", ptr_struct->m_block_size_selector);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_block_size_selector : " UH_FMT "\n", ptr_struct->w_block_size_selector);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "byte_check_en        : " UH_FMT "\n", ptr_struct->byte_check_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aligned              : " UH_FMT "\n", ptr_struct->aligned);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "raw_size             : " U32H_FMT "\n", ptr_struct->raw_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_psv_pointer      : " UH_FMT "\n", ptr_struct->w_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_psv_pointer      : " UH_FMT "\n", ptr_struct->m_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prologue_size        : " UH_FMT "\n", ptr_struct->prologue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_end              : " UH_FMT "\n", ptr_struct->m_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_start            : " UH_FMT "\n", ptr_struct->m_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_end              : " UH_FMT "\n", ptr_struct->w_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_start            : " UH_FMT "\n", ptr_struct->w_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "epilogue_size        : " UH_FMT "\n", ptr_struct->epilogue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_psv_pointer      : " UH_FMT "\n", ptr_struct->w_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_psv_pointer      : " UH_FMT "\n", ptr_struct->m_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_app_tag        : " UH_FMT "\n", ptr_struct->w_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_refresh_dif_params : " UH_FMT "\n", ptr_struct->w_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_vld        : " UH_FMT "\n", ptr_struct->w_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->w_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_app_tag        : " UH_FMT "\n", ptr_struct->m_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_refresh_dif_params : " UH_FMT "\n", ptr_struct->m_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_vld        : " UH_FMT "\n", ptr_struct->m_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->m_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+
+}
+
+int connectib_hw_bsf_entry_w_repeating_m_repeating_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_bsf_entry_w_repeating_m_repeating_dump(const struct connectib_hw_bsf_entry_w_repeating_m_repeating *ptr_struct, FILE* file)
+{
+	connectib_hw_bsf_entry_w_repeating_m_repeating_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_bsf_entry_same_block_non_repeating_pack(const struct connectib_hw_bsf_entry_same_block_non_repeating *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_check_gen);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_init);
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->m_pad);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->copy_byte_mask);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->raw_size);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+
+	offset = 135;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+
+	offset = 134;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+
+	offset = 131;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+
+	offset = 130;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+
+	offset = 257;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->w_dif_ref_tag);
+
+	offset = 320;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+
+	offset = 385;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->m_dif_ref_tag);
+
+	offset = 448;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_same_block_non_repeating_unpack(struct connectib_hw_bsf_entry_same_block_non_repeating *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->m_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->m_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 28;
+	ptr_struct->m_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 16;
+	ptr_struct->copy_byte_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 32;
+	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 104;
+	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 136;
+	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 135;
+	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 134;
+	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 131;
+	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 130;
+	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 168;
+	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 200;
+	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 192;
+	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 232;
+	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 224;
+	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 272;
+	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 257;
+	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 256;
+	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 288;
+	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 385;
+	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 384;
+	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 416;
+	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 448;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_same_block_non_repeating_print(const struct connectib_hw_bsf_entry_same_block_non_repeating *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_bsf_entry_same_block_non_repeating ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_check_gen          : " UH_FMT "\n", ptr_struct->m_check_gen);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_init               : " UH_FMT "\n", ptr_struct->m_init);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_pad                : " UH_FMT "\n", ptr_struct->m_pad);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "copy_byte_mask       : " UH_FMT "\n", ptr_struct->copy_byte_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "byte_check_en        : " UH_FMT "\n", ptr_struct->byte_check_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aligned              : " UH_FMT "\n", ptr_struct->aligned);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "raw_size             : " U32H_FMT "\n", ptr_struct->raw_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_psv_pointer      : " UH_FMT "\n", ptr_struct->w_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_psv_pointer      : " UH_FMT "\n", ptr_struct->m_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prologue_size        : " UH_FMT "\n", ptr_struct->prologue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_end              : " UH_FMT "\n", ptr_struct->m_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_start            : " UH_FMT "\n", ptr_struct->m_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_end              : " UH_FMT "\n", ptr_struct->w_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_start            : " UH_FMT "\n", ptr_struct->w_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "epilogue_size        : " UH_FMT "\n", ptr_struct->epilogue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_psv_pointer      : " UH_FMT "\n", ptr_struct->w_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_psv_pointer      : " UH_FMT "\n", ptr_struct->m_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_app_tag        : " UH_FMT "\n", ptr_struct->w_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_refresh_dif_params : " UH_FMT "\n", ptr_struct->w_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_vld        : " UH_FMT "\n", ptr_struct->w_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->w_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_app_tag        : " UH_FMT "\n", ptr_struct->m_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_refresh_dif_params : " UH_FMT "\n", ptr_struct->m_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_vld        : " UH_FMT "\n", ptr_struct->m_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->m_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+
+}
+
+int connectib_hw_bsf_entry_same_block_non_repeating_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_bsf_entry_same_block_non_repeating_dump(const struct connectib_hw_bsf_entry_same_block_non_repeating *ptr_struct, FILE* file)
+{
+	connectib_hw_bsf_entry_same_block_non_repeating_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_bsf_entry_same_block_repeating_pack(const struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_block_size_selector);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->copy_byte_mask);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->raw_size);
+
+	offset = 72;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+
+	offset = 135;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+
+	offset = 134;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+
+	offset = 131;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+
+	offset = 130;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+
+	offset = 257;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->w_dif_ref_tag);
+
+	offset = 320;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+
+	offset = 385;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->m_dif_ref_tag);
+
+	offset = 448;
+	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_same_block_repeating_unpack(struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->m_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 16;
+	ptr_struct->copy_byte_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 3;
+	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 32;
+	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 72;
+	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 64;
+	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 104;
+	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 96;
+	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 136;
+	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 135;
+	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 134;
+	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 131;
+	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 130;
+	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 168;
+	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 200;
+	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 192;
+	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 232;
+	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 224;
+	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 272;
+	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 257;
+	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 256;
+	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 288;
+	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+
+	offset = 400;
+	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 385;
+	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 384;
+	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 416;
+	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 448;
+	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+
+}
+
+void connectib_hw_bsf_entry_same_block_repeating_print(const struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_bsf_entry_same_block_repeating ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_block_size_selector : " UH_FMT "\n", ptr_struct->m_block_size_selector);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "copy_byte_mask       : " UH_FMT "\n", ptr_struct->copy_byte_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "byte_check_en        : " UH_FMT "\n", ptr_struct->byte_check_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aligned              : " UH_FMT "\n", ptr_struct->aligned);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "raw_size             : " U32H_FMT "\n", ptr_struct->raw_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_psv_pointer      : " UH_FMT "\n", ptr_struct->w_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_psv_pointer      : " UH_FMT "\n", ptr_struct->m_b_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_b_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_b_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prologue_size        : " UH_FMT "\n", ptr_struct->prologue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_end              : " UH_FMT "\n", ptr_struct->m_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_start            : " UH_FMT "\n", ptr_struct->m_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_end              : " UH_FMT "\n", ptr_struct->w_t_end);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_start            : " UH_FMT "\n", ptr_struct->w_t_start);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "epilogue_size        : " UH_FMT "\n", ptr_struct->epilogue_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_psv_pointer      : " UH_FMT "\n", ptr_struct->w_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->w_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_psv_pointer      : " UH_FMT "\n", ptr_struct->m_t_psv_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_t_pdf_ptr          : " UH_FMT "\n", ptr_struct->m_t_pdf_ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_app_tag        : " UH_FMT "\n", ptr_struct->w_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_refresh_dif_params : " UH_FMT "\n", ptr_struct->w_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_vld        : " UH_FMT "\n", ptr_struct->w_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->w_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_app_tag        : " UH_FMT "\n", ptr_struct->m_dif_app_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_refresh_dif_params : " UH_FMT "\n", ptr_struct->m_refresh_dif_params);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_vld        : " UH_FMT "\n", ptr_struct->m_in_line_vld);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_dif_ref_tag        : " U32H_FMT "\n", ptr_struct->m_dif_ref_tag);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_in_line_pdf:\n");
+	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+
+}
+
+int connectib_hw_bsf_entry_same_block_repeating_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_bsf_entry_same_block_repeating_dump(const struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, FILE* file)
+{
+	connectib_hw_bsf_entry_same_block_repeating_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_dct_pack(const union connectib_hw_dct *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_dct_dc_access_key_63_32_pack(&(ptr_struct->dc_access_key_63_32), ptr_buff);
+}
+
+void connectib_hw_dct_unpack(union connectib_hw_dct *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_dct_dc_access_key_63_32_unpack(&(ptr_struct->dc_access_key_63_32), ptr_buff);
+}
+
+void connectib_hw_dct_print(const union connectib_hw_dct *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_dct ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "complete_to_64B_eyald:\n");
+	connectib_hw_dct_complete_to_64B_eyald_print(&(ptr_struct->complete_to_64B_eyald), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rnr_timer:\n");
+	connectib_hw_dct_rnr_timer_print(&(ptr_struct->rnr_timer), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "write_enable:\n");
+	connectib_hw_dct_write_enable_print(&(ptr_struct->write_enable), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inline_scatter:\n");
+	connectib_hw_dct_inline_scatter_print(&(ptr_struct->inline_scatter), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_message_size:\n");
+	connectib_hw_dct_max_message_size_print(&(ptr_struct->max_message_size), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ignore_pkey_check:\n");
+	connectib_hw_dct_ignore_pkey_check_print(&(ptr_struct->ignore_pkey_check), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "send_with_invalidate_enable:\n");
+	connectib_hw_dct_send_with_invalidate_enable_print(&(ptr_struct->send_with_invalidate_enable), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "read_enable:\n");
+	connectib_hw_dct_read_enable_print(&(ptr_struct->read_enable), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtu:\n");
+	connectib_hw_dct_mtu_print(&(ptr_struct->mtu), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fast_path:\n");
+	connectib_hw_dct_fast_path_print(&(ptr_struct->fast_path), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dc_access_key_log_num_byte:\n");
+	connectib_hw_dct_dc_access_key_log_num_byte_print(&(ptr_struct->dc_access_key_log_num_byte), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcu_drop:\n");
+	connectib_hw_dct_tcu_drop_print(&(ptr_struct->tcu_drop), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcu_trap:\n");
+	connectib_hw_dct_tcu_trap_print(&(ptr_struct->tcu_trap), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "adaptive_routing:\n");
+	connectib_hw_dct_adaptive_routing_print(&(ptr_struct->adaptive_routing), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_number:\n");
+	connectib_hw_dct_port_number_print(&(ptr_struct->port_number), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "grh_bit:\n");
+	connectib_hw_dct_grh_bit_print(&(ptr_struct->grh_bit), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_label:\n");
+	connectib_hw_dct_flow_label_print(&(ptr_struct->flow_label), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_read_atomic:\n");
+	connectib_hw_dct_max_read_atomic_print(&(ptr_struct->max_read_atomic), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_valid:\n");
+	connectib_hw_dct_qp_valid_print(&(ptr_struct->qp_valid), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "my_lid:\n");
+	connectib_hw_dct_my_lid_print(&(ptr_struct->my_lid), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "atomic_like_write:\n");
+	connectib_hw_dct_atomic_like_write_print(&(ptr_struct->atomic_like_write), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "srq_number:\n");
+	connectib_hw_dct_srq_number_print(&(ptr_struct->srq_number), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "counter_index:\n");
+	connectib_hw_dct_counter_index_print(&(ptr_struct->counter_index), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkey_table_index:\n");
+	connectib_hw_dct_pkey_table_index_print(&(ptr_struct->pkey_table_index), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "extended_atomic:\n");
+	connectib_hw_dct_extended_atomic_print(&(ptr_struct->extended_atomic), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "my_gid_mac_index:\n");
+	connectib_hw_dct_my_gid_mac_index_print(&(ptr_struct->my_gid_mac_index), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ipd:\n");
+	connectib_hw_dct_ipd_print(&(ptr_struct->ipd), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts:\n");
+	connectib_hw_dct_ts_print(&(ptr_struct->ts), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_number:\n");
+	connectib_hw_dct_cq_number_print(&(ptr_struct->cq_number), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hop_limit:\n");
+	connectib_hw_dct_hop_limit_print(&(ptr_struct->hop_limit), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "context_number:\n");
+	connectib_hw_dct_context_number_print(&(ptr_struct->context_number), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tclass:\n");
+	connectib_hw_dct_tclass_print(&(ptr_struct->tclass), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dc_access_key_31_0:\n");
+	connectib_hw_dct_dc_access_key_31_0_print(&(ptr_struct->dc_access_key_31_0), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dc_access_key_63_32:\n");
+	connectib_hw_dct_dc_access_key_63_32_print(&(ptr_struct->dc_access_key_63_32), file, indent_level + 1);
+
+}
+
+int connectib_hw_dct_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_dct_dump(const union connectib_hw_dct *ptr_struct, FILE* file)
+{
+	connectib_hw_dct_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_r_qpc_pack(const union connectib_hw_r_qpc *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_r_qpc_qp_valid_pack(&(ptr_struct->qp_valid), ptr_buff);
+}
+
+void connectib_hw_r_qpc_unpack(union connectib_hw_r_qpc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_r_qpc_qp_valid_unpack(&(ptr_struct->qp_valid), ptr_buff);
+}
+
+void connectib_hw_r_qpc_print(const union connectib_hw_r_qpc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_r_qpc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "connection_state:\n");
+	connectib_hw_r_qpc_connection_state_print(&(ptr_struct->connection_state), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "check_source_mc_wire:\n");
+	connectib_hw_r_qpc_check_source_mc_wire_print(&(ptr_struct->check_source_mc_wire), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e2e_pa_31_2:\n");
+	connectib_hw_r_qpc_e2e_pa_31_2_print(&(ptr_struct->e2e_pa_31_2), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e2e_pa_63_32:\n");
+	connectib_hw_r_qpc_e2e_pa_63_32_print(&(ptr_struct->e2e_pa_63_32), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcr_connected:\n");
+	connectib_hw_r_qpc_dcr_connected_print(&(ptr_struct->dcr_connected), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "xrc_domain:\n");
+	connectib_hw_r_qpc_xrc_domain_print(&(ptr_struct->xrc_domain), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "responder_session_id:\n");
+	connectib_hw_r_qpc_responder_session_id_print(&(ptr_struct->responder_session_id), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mpi_uar:\n");
+	connectib_hw_r_qpc_mpi_uar_print(&(ptr_struct->mpi_uar), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "next_dcr:\n");
+	connectib_hw_r_qpc_next_dcr_print(&(ptr_struct->next_dcr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "srq_number:\n");
+	connectib_hw_r_qpc_srq_number_print(&(ptr_struct->srq_number), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "write_va_31_0:\n");
+	connectib_hw_r_qpc_write_va_31_0_print(&(ptr_struct->write_va_31_0), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "write_va_63_32:\n");
+	connectib_hw_r_qpc_write_va_63_32_print(&(ptr_struct->write_va_63_32), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_wqe_drop_count:\n");
+	connectib_hw_r_qpc_no_wqe_drop_count_print(&(ptr_struct->no_wqe_drop_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dct_gvmi:\n");
+	connectib_hw_r_qpc_dct_gvmi_print(&(ptr_struct->dct_gvmi), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sqn:\n");
+	connectib_hw_r_qpc_sqn_print(&(ptr_struct->sqn), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_heartbeat:\n");
+	connectib_hw_r_qpc_sx_heartbeat_print(&(ptr_struct->sx_heartbeat), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts:\n");
+	connectib_hw_r_qpc_ts_print(&(ptr_struct->ts), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_length_committed:\n");
+	connectib_hw_r_qpc_rx_length_committed_print(&(ptr_struct->rx_length_committed), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rdb_read_pointer:\n");
+	connectib_hw_r_qpc_rdb_read_pointer_print(&(ptr_struct->rdb_read_pointer), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "always_zero:\n");
+	connectib_hw_r_qpc_always_zero_print(&(ptr_struct->always_zero), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "counter_index:\n");
+	connectib_hw_r_qpc_counter_index_print(&(ptr_struct->counter_index), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flush_syndrom:\n");
+	connectib_hw_r_qpc_flush_syndrom_print(&(ptr_struct->flush_syndrom), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "expected_psn:\n");
+	connectib_hw_r_qpc_expected_psn_print(&(ptr_struct->expected_psn), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_number:\n");
+	connectib_hw_r_qpc_cq_number_print(&(ptr_struct->cq_number), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dct_number:\n");
+	connectib_hw_r_qpc_dct_number_print(&(ptr_struct->dct_number), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msn:\n");
+	connectib_hw_r_qpc_msn_print(&(ptr_struct->msn), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rcyclic_consumer:\n");
+	connectib_hw_r_qpc_rcyclic_consumer_print(&(ptr_struct->rcyclic_consumer), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "first_non_acked_psn:\n");
+	connectib_hw_r_qpc_first_non_acked_psn_print(&(ptr_struct->first_non_acked_psn), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rdb_write_pointer:\n");
+	connectib_hw_r_qpc_rdb_write_pointer_print(&(ptr_struct->rdb_write_pointer), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_state:\n");
+	connectib_hw_r_qpc_qp_state_print(&(ptr_struct->qp_state), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwqe_producer_index:\n");
+	connectib_hw_r_qpc_rwqe_producer_index_print(&(ptr_struct->rwqe_producer_index), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rcyclic_producer:\n");
+	connectib_hw_r_qpc_rcyclic_producer_print(&(ptr_struct->rcyclic_producer), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwqe_consumer_index:\n");
+	connectib_hw_r_qpc_rwqe_consumer_index_print(&(ptr_struct->rwqe_consumer_index), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwqe_limit_event:\n");
+	connectib_hw_r_qpc_rwqe_limit_event_print(&(ptr_struct->rwqe_limit_event), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rnr_timer:\n");
+	connectib_hw_r_qpc_rnr_timer_print(&(ptr_struct->rnr_timer), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcu_trap:\n");
+	connectib_hw_r_qpc_tcu_trap_print(&(ptr_struct->tcu_trap), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "can_use_reserved_lkey:\n");
+	connectib_hw_r_qpc_can_use_reserved_lkey_print(&(ptr_struct->can_use_reserved_lkey), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcu_drop:\n");
+	connectib_hw_r_qpc_tcu_drop_print(&(ptr_struct->tcu_drop), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e2e_fetch_enable:\n");
+	connectib_hw_r_qpc_e2e_fetch_enable_print(&(ptr_struct->e2e_fetch_enable), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e2e_credits_prefetch_threshold:\n");
+	connectib_hw_r_qpc_e2e_credits_prefetch_threshold_print(&(ptr_struct->e2e_credits_prefetch_threshold), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_heartbeat:\n");
+	connectib_hw_r_qpc_rx_heartbeat_print(&(ptr_struct->rx_heartbeat), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "write_rkey:\n");
+	connectib_hw_r_qpc_write_rkey_print(&(ptr_struct->write_rkey), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "check_source_uc_wire:\n");
+	connectib_hw_r_qpc_check_source_uc_wire_print(&(ptr_struct->check_source_uc_wire), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_link_type:\n");
+	connectib_hw_r_qpc_fw_link_type_print(&(ptr_struct->fw_link_type), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_opcode:\n");
+	connectib_hw_r_qpc_last_opcode_print(&(ptr_struct->last_opcode), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwq_type:\n");
+	connectib_hw_r_qpc_rwq_type_print(&(ptr_struct->rwq_type), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inline_scatter:\n");
+	connectib_hw_r_qpc_inline_scatter_print(&(ptr_struct->inline_scatter), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "check_source_gvmi:\n");
+	connectib_hw_r_qpc_check_source_gvmi_print(&(ptr_struct->check_source_gvmi), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "check_source_mc_lb:\n");
+	connectib_hw_r_qpc_check_source_mc_lb_print(&(ptr_struct->check_source_mc_lb), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "check_source_uc_lb:\n");
+	connectib_hw_r_qpc_check_source_uc_lb_print(&(ptr_struct->check_source_uc_lb), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fast_path:\n");
+	connectib_hw_r_qpc_fast_path_print(&(ptr_struct->fast_path), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "read_enable:\n");
+	connectib_hw_r_qpc_read_enable_print(&(ptr_struct->read_enable), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "send_with_invalidate_enable:\n");
+	connectib_hw_r_qpc_send_with_invalidate_enable_print(&(ptr_struct->send_with_invalidate_enable), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ignore_pkey_check:\n");
+	connectib_hw_r_qpc_ignore_pkey_check_print(&(ptr_struct->ignore_pkey_check), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "extended_atomic:\n");
+	connectib_hw_r_qpc_extended_atomic_print(&(ptr_struct->extended_atomic), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_read_atomic:\n");
+	connectib_hw_r_qpc_max_read_atomic_print(&(ptr_struct->max_read_atomic), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "write_enable:\n");
+	connectib_hw_r_qpc_write_enable_print(&(ptr_struct->write_enable), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "atomic_like_write:\n");
+	connectib_hw_r_qpc_atomic_like_write_print(&(ptr_struct->atomic_like_write), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "post_receive_slave_enable:\n");
+	connectib_hw_r_qpc_post_receive_slave_enable_print(&(ptr_struct->post_receive_slave_enable), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_direct_access:\n");
+	connectib_hw_r_qpc_no_direct_access_print(&(ptr_struct->no_direct_access), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e2e_credits_enabled:\n");
+	connectib_hw_r_qpc_e2e_credits_enabled_print(&(ptr_struct->e2e_credits_enabled), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ack_type:\n");
+	connectib_hw_r_qpc_ack_type_print(&(ptr_struct->ack_type), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "drop_my_self_multicast:\n");
+	connectib_hw_r_qpc_drop_my_self_multicast_print(&(ptr_struct->drop_my_self_multicast), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "grh_to_cqe:\n");
+	connectib_hw_r_qpc_grh_to_cqe_print(&(ptr_struct->grh_to_cqe), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_valid:\n");
+	connectib_hw_r_qpc_qp_valid_print(&(ptr_struct->qp_valid), file, indent_level + 1);
+
+}
+
+int connectib_hw_r_qpc_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_r_qpc_dump(const union connectib_hw_r_qpc *ptr_struct, FILE* file)
+{
+	connectib_hw_r_qpc_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_packet_allowed_pack(const struct connectib_hw_s_qpc_packet_allowed *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_packet_allowed_unpack(struct connectib_hw_s_qpc_packet_allowed *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 2;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_packet_allowed_print(const struct connectib_hw_s_qpc_packet_allowed *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_packet_allowed ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_packet_allowed_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_packet_allowed_dump(const struct connectib_hw_s_qpc_packet_allowed *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_packet_allowed_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_qp_valid_pack(const struct connectib_hw_s_qpc_qp_valid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_qp_valid_unpack(struct connectib_hw_s_qpc_qp_valid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_qp_valid_print(const struct connectib_hw_s_qpc_qp_valid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_qp_valid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_qp_valid_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_qp_valid_dump(const struct connectib_hw_s_qpc_qp_valid *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_qp_valid_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_uncompleted_non_wire_wqe_pack(const struct connectib_hw_s_qpc_uncompleted_non_wire_wqe *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_uncompleted_non_wire_wqe_unpack(struct connectib_hw_s_qpc_uncompleted_non_wire_wqe *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_uncompleted_non_wire_wqe_print(const struct connectib_hw_s_qpc_uncompleted_non_wire_wqe *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_uncompleted_non_wire_wqe ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_uncompleted_non_wire_wqe_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_uncompleted_non_wire_wqe_dump(const struct connectib_hw_s_qpc_uncompleted_non_wire_wqe *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_uncompleted_non_wire_wqe_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_dc_full_handshake_pack(const struct connectib_hw_s_qpc_dc_full_handshake *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_dc_full_handshake_unpack(struct connectib_hw_s_qpc_dc_full_handshake *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 3;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_dc_full_handshake_print(const struct connectib_hw_s_qpc_dc_full_handshake *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_dc_full_handshake ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_dc_full_handshake_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_dc_full_handshake_dump(const struct connectib_hw_s_qpc_dc_full_handshake *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_dc_full_handshake_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_e2e_credits_enabled_pack(const struct connectib_hw_s_qpc_e2e_credits_enabled *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_e2e_credits_enabled_unpack(struct connectib_hw_s_qpc_e2e_credits_enabled *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 4;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_e2e_credits_enabled_print(const struct connectib_hw_s_qpc_e2e_credits_enabled *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_e2e_credits_enabled ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_e2e_credits_enabled_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_e2e_credits_enabled_dump(const struct connectib_hw_s_qpc_e2e_credits_enabled *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_e2e_credits_enabled_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_no_direct_access_pack(const struct connectib_hw_s_qpc_no_direct_access *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_no_direct_access_unpack(struct connectib_hw_s_qpc_no_direct_access *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 5;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_no_direct_access_print(const struct connectib_hw_s_qpc_no_direct_access *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_no_direct_access ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_no_direct_access_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_no_direct_access_dump(const struct connectib_hw_s_qpc_no_direct_access *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_no_direct_access_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_umr_permission_select_pack(const struct connectib_hw_s_qpc_umr_permission_select *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_umr_permission_select_unpack(struct connectib_hw_s_qpc_umr_permission_select *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 6;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_hw_s_qpc_umr_permission_select_print(const struct connectib_hw_s_qpc_umr_permission_select *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_umr_permission_select ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_umr_permission_select_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_umr_permission_select_dump(const struct connectib_hw_s_qpc_umr_permission_select *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_umr_permission_select_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_max_read_atomic_pack(const struct connectib_hw_s_qpc_max_read_atomic *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_max_read_atomic_unpack(struct connectib_hw_s_qpc_max_read_atomic *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 9;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_s_qpc_max_read_atomic_print(const struct connectib_hw_s_qpc_max_read_atomic *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_max_read_atomic ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_max_read_atomic_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_max_read_atomic_dump(const struct connectib_hw_s_qpc_max_read_atomic *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_max_read_atomic_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_extended_atomic_pack(const struct connectib_hw_s_qpc_extended_atomic *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_extended_atomic_unpack(struct connectib_hw_s_qpc_extended_atomic *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 12;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_s_qpc_extended_atomic_print(const struct connectib_hw_s_qpc_extended_atomic *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_extended_atomic ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_extended_atomic_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_extended_atomic_dump(const struct connectib_hw_s_qpc_extended_atomic *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_extended_atomic_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_ignore_pkey_check_pack(const struct connectib_hw_s_qpc_ignore_pkey_check *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_ignore_pkey_check_unpack(struct connectib_hw_s_qpc_ignore_pkey_check *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_ignore_pkey_check_print(const struct connectib_hw_s_qpc_ignore_pkey_check *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_ignore_pkey_check ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_ignore_pkey_check_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_ignore_pkey_check_dump(const struct connectib_hw_s_qpc_ignore_pkey_check *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_ignore_pkey_check_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_rnr_nak_retry_counter_pack(const struct connectib_hw_s_qpc_rnr_nak_retry_counter *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_rnr_nak_retry_counter_unpack(struct connectib_hw_s_qpc_rnr_nak_retry_counter *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 17;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_s_qpc_rnr_nak_retry_counter_print(const struct connectib_hw_s_qpc_rnr_nak_retry_counter *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_rnr_nak_retry_counter ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_rnr_nak_retry_counter_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_rnr_nak_retry_counter_dump(const struct connectib_hw_s_qpc_rnr_nak_retry_counter *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_rnr_nak_retry_counter_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_fast_path_pack(const struct connectib_hw_s_qpc_fast_path *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_fast_path_unpack(struct connectib_hw_s_qpc_fast_path *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 20;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_fast_path_print(const struct connectib_hw_s_qpc_fast_path *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_fast_path ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_fast_path_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_fast_path_dump(const struct connectib_hw_s_qpc_fast_path *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_fast_path_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_rnr_nak_retry_limit_pack(const struct connectib_hw_s_qpc_rnr_nak_retry_limit *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_rnr_nak_retry_limit_unpack(struct connectib_hw_s_qpc_rnr_nak_retry_limit *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 21;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_s_qpc_rnr_nak_retry_limit_print(const struct connectib_hw_s_qpc_rnr_nak_retry_limit *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_rnr_nak_retry_limit ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_rnr_nak_retry_limit_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_rnr_nak_retry_limit_dump(const struct connectib_hw_s_qpc_rnr_nak_retry_limit *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_rnr_nak_retry_limit_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_inline_scatter_pack(const struct connectib_hw_s_qpc_inline_scatter *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_inline_scatter_unpack(struct connectib_hw_s_qpc_inline_scatter *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_hw_s_qpc_inline_scatter_print(const struct connectib_hw_s_qpc_inline_scatter *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_inline_scatter ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_inline_scatter_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_inline_scatter_dump(const struct connectib_hw_s_qpc_inline_scatter *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_inline_scatter_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_ldb_int_pack(const struct connectib_hw_s_qpc_ldb_int *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_ldb_int_unpack(struct connectib_hw_s_qpc_ldb_int *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_ldb_int_print(const struct connectib_hw_s_qpc_ldb_int *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_ldb_int ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_ldb_int_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_ldb_int_dump(const struct connectib_hw_s_qpc_ldb_int *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_ldb_int_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_rx_heartbeat_pack(const struct connectib_hw_s_qpc_rx_heartbeat *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_rx_heartbeat_unpack(struct connectib_hw_s_qpc_rx_heartbeat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 64;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_rx_heartbeat_print(const struct connectib_hw_s_qpc_rx_heartbeat *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_rx_heartbeat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_rx_heartbeat_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_rx_heartbeat_dump(const struct connectib_hw_s_qpc_rx_heartbeat *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_rx_heartbeat_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_frwr_enable_pack(const struct connectib_hw_s_qpc_frwr_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 66;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_frwr_enable_unpack(struct connectib_hw_s_qpc_frwr_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 66;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_frwr_enable_print(const struct connectib_hw_s_qpc_frwr_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_frwr_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_frwr_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_frwr_enable_dump(const struct connectib_hw_s_qpc_frwr_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_frwr_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_umr_enable_pack(const struct connectib_hw_s_qpc_umr_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 67;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_umr_enable_unpack(struct connectib_hw_s_qpc_umr_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 67;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_umr_enable_print(const struct connectib_hw_s_qpc_umr_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_umr_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_umr_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_umr_enable_dump(const struct connectib_hw_s_qpc_umr_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_umr_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_tcu_drop_pack(const struct connectib_hw_s_qpc_tcu_drop *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 69;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_tcu_drop_unpack(struct connectib_hw_s_qpc_tcu_drop *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 69;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_tcu_drop_print(const struct connectib_hw_s_qpc_tcu_drop *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_tcu_drop ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_tcu_drop_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_tcu_drop_dump(const struct connectib_hw_s_qpc_tcu_drop *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_tcu_drop_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_can_use_reserved_lkey_pack(const struct connectib_hw_s_qpc_can_use_reserved_lkey *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 70;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_can_use_reserved_lkey_unpack(struct connectib_hw_s_qpc_can_use_reserved_lkey *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 70;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_can_use_reserved_lkey_print(const struct connectib_hw_s_qpc_can_use_reserved_lkey *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_can_use_reserved_lkey ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_can_use_reserved_lkey_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_can_use_reserved_lkey_dump(const struct connectib_hw_s_qpc_can_use_reserved_lkey *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_can_use_reserved_lkey_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_tcu_trap_pack(const struct connectib_hw_s_qpc_tcu_trap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 71;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_tcu_trap_unpack(struct connectib_hw_s_qpc_tcu_trap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 71;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_tcu_trap_print(const struct connectib_hw_s_qpc_tcu_trap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_tcu_trap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_tcu_trap_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_tcu_trap_dump(const struct connectib_hw_s_qpc_tcu_trap *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_tcu_trap_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_ack_req_frequency_pack(const struct connectib_hw_s_qpc_ack_req_frequency *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_ack_req_frequency_unpack(struct connectib_hw_s_qpc_ack_req_frequency *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 72;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_s_qpc_ack_req_frequency_print(const struct connectib_hw_s_qpc_ack_req_frequency *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_ack_req_frequency ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_ack_req_frequency_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_ack_req_frequency_dump(const struct connectib_hw_s_qpc_ack_req_frequency *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_ack_req_frequency_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_limited_qp_pack(const struct connectib_hw_s_qpc_limited_qp *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_limited_qp_unpack(struct connectib_hw_s_qpc_limited_qp *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 76;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_s_qpc_limited_qp_print(const struct connectib_hw_s_qpc_limited_qp *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_limited_qp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_limited_qp_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_limited_qp_dump(const struct connectib_hw_s_qpc_limited_qp *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_limited_qp_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_dc_state_pack(const struct connectib_hw_s_qpc_dc_state *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 94;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_dc_state_unpack(struct connectib_hw_s_qpc_dc_state *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 94;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_hw_s_qpc_dc_state_print(const struct connectib_hw_s_qpc_dc_state *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_dc_state ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_dc_state_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_dc_state_dump(const struct connectib_hw_s_qpc_dc_state *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_dc_state_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_currently_completing_wqe_index_pack(const struct connectib_hw_s_qpc_currently_completing_wqe_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_currently_completing_wqe_index_unpack(struct connectib_hw_s_qpc_currently_completing_wqe_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 96;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_s_qpc_currently_completing_wqe_index_print(const struct connectib_hw_s_qpc_currently_completing_wqe_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_currently_completing_wqe_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_currently_completing_wqe_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_currently_completing_wqe_index_dump(const struct connectib_hw_s_qpc_currently_completing_wqe_index *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_currently_completing_wqe_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_swqe_consumer_index_pack(const struct connectib_hw_s_qpc_swqe_consumer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_swqe_consumer_index_unpack(struct connectib_hw_s_qpc_swqe_consumer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 128;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_s_qpc_swqe_consumer_index_print(const struct connectib_hw_s_qpc_swqe_consumer_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_swqe_consumer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_swqe_consumer_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_swqe_consumer_index_dump(const struct connectib_hw_s_qpc_swqe_consumer_index *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_swqe_consumer_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_qp_state_pack(const struct connectib_hw_s_qpc_qp_state *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_qp_state_unpack(struct connectib_hw_s_qpc_qp_state *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 144;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_s_qpc_qp_state_print(const struct connectib_hw_s_qpc_qp_state *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_qp_state ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_qp_state_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_qp_state_dump(const struct connectib_hw_s_qpc_qp_state *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_qp_state_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_psn_since_ackreq_pack(const struct connectib_hw_s_qpc_psn_since_ackreq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_psn_since_ackreq_unpack(struct connectib_hw_s_qpc_psn_since_ackreq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 160;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_s_qpc_psn_since_ackreq_print(const struct connectib_hw_s_qpc_psn_since_ackreq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_psn_since_ackreq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_psn_since_ackreq_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_psn_since_ackreq_dump(const struct connectib_hw_s_qpc_psn_since_ackreq *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_psn_since_ackreq_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_oldest_non_acked_psn_pack(const struct connectib_hw_s_qpc_oldest_non_acked_psn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_oldest_non_acked_psn_unpack(struct connectib_hw_s_qpc_oldest_non_acked_psn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 168;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_oldest_non_acked_psn_print(const struct connectib_hw_s_qpc_oldest_non_acked_psn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_oldest_non_acked_psn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_oldest_non_acked_psn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_oldest_non_acked_psn_dump(const struct connectib_hw_s_qpc_oldest_non_acked_psn *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_oldest_non_acked_psn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_deth_sqpn_pack(const struct connectib_hw_s_qpc_deth_sqpn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_deth_sqpn_unpack(struct connectib_hw_s_qpc_deth_sqpn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 168;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_deth_sqpn_print(const struct connectib_hw_s_qpc_deth_sqpn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_deth_sqpn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_deth_sqpn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_deth_sqpn_dump(const struct connectib_hw_s_qpc_deth_sqpn *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_deth_sqpn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_responder_session_id_pack(const struct connectib_hw_s_qpc_responder_session_id *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_responder_session_id_unpack(struct connectib_hw_s_qpc_responder_session_id *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 200;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_responder_session_id_print(const struct connectib_hw_s_qpc_responder_session_id *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_responder_session_id ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_responder_session_id_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_responder_session_id_dump(const struct connectib_hw_s_qpc_responder_session_id *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_responder_session_id_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_cq_number_pack(const struct connectib_hw_s_qpc_cq_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_cq_number_unpack(struct connectib_hw_s_qpc_cq_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 232;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_cq_number_print(const struct connectib_hw_s_qpc_cq_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_cq_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_cq_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_cq_number_dump(const struct connectib_hw_s_qpc_cq_number *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_cq_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_next_to_send_psn_pack(const struct connectib_hw_s_qpc_next_to_send_psn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_next_to_send_psn_unpack(struct connectib_hw_s_qpc_next_to_send_psn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 256;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_next_to_send_psn_print(const struct connectib_hw_s_qpc_next_to_send_psn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_next_to_send_psn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_next_to_send_psn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_next_to_send_psn_dump(const struct connectib_hw_s_qpc_next_to_send_psn *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_next_to_send_psn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_flush_syndrom_pack(const struct connectib_hw_s_qpc_flush_syndrom *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 280;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_flush_syndrom_unpack(struct connectib_hw_s_qpc_flush_syndrom *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 280;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_s_qpc_flush_syndrom_print(const struct connectib_hw_s_qpc_flush_syndrom *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_flush_syndrom ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_flush_syndrom_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_flush_syndrom_dump(const struct connectib_hw_s_qpc_flush_syndrom *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_flush_syndrom_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_counter_index_pack(const struct connectib_hw_s_qpc_counter_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_counter_index_unpack(struct connectib_hw_s_qpc_counter_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 288;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_s_qpc_counter_index_print(const struct connectib_hw_s_qpc_counter_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_counter_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_counter_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_counter_index_dump(const struct connectib_hw_s_qpc_counter_index *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_counter_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_ssn_pack(const struct connectib_hw_s_qpc_ssn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 296;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_ssn_unpack(struct connectib_hw_s_qpc_ssn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 296;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_ssn_print(const struct connectib_hw_s_qpc_ssn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_ssn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_ssn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_ssn_dump(const struct connectib_hw_s_qpc_ssn *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_ssn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_to_sequence_error_retry_counter_pack(const struct connectib_hw_s_qpc_to_sequence_error_retry_counter *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 329;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_to_sequence_error_retry_counter_unpack(struct connectib_hw_s_qpc_to_sequence_error_retry_counter *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 329;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_s_qpc_to_sequence_error_retry_counter_print(const struct connectib_hw_s_qpc_to_sequence_error_retry_counter *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_to_sequence_error_retry_counter ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_to_sequence_error_retry_counter_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_to_sequence_error_retry_counter_dump(const struct connectib_hw_s_qpc_to_sequence_error_retry_counter *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_to_sequence_error_retry_counter_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_reverse_sl_pack(const struct connectib_hw_s_qpc_reverse_sl *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 332;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_reverse_sl_unpack(struct connectib_hw_s_qpc_reverse_sl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 332;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_s_qpc_reverse_sl_print(const struct connectib_hw_s_qpc_reverse_sl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_reverse_sl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_reverse_sl_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_reverse_sl_dump(const struct connectib_hw_s_qpc_reverse_sl *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_reverse_sl_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_force_grh_tclass_pack(const struct connectib_hw_s_qpc_force_grh_tclass *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 336;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_force_grh_tclass_unpack(struct connectib_hw_s_qpc_force_grh_tclass *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 336;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_force_grh_tclass_print(const struct connectib_hw_s_qpc_force_grh_tclass *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_force_grh_tclass ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_force_grh_tclass_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_force_grh_tclass_dump(const struct connectib_hw_s_qpc_force_grh_tclass *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_force_grh_tclass_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_ts_pack(const struct connectib_hw_s_qpc_ts *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_ts_unpack(struct connectib_hw_s_qpc_ts *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_s_qpc_ts_print(const struct connectib_hw_s_qpc_ts *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_ts ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_ts_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_ts_dump(const struct connectib_hw_s_qpc_ts *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_ts_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_sx_heartbeat_pack(const struct connectib_hw_s_qpc_sx_heartbeat *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 356;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_sx_heartbeat_unpack(struct connectib_hw_s_qpc_sx_heartbeat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 356;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_sx_heartbeat_print(const struct connectib_hw_s_qpc_sx_heartbeat *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_sx_heartbeat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_sx_heartbeat_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_sx_heartbeat_dump(const struct connectib_hw_s_qpc_sx_heartbeat *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_sx_heartbeat_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_to_sequence_error_retry_limit_pack(const struct connectib_hw_s_qpc_to_sequence_error_retry_limit *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 357;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_to_sequence_error_retry_limit_unpack(struct connectib_hw_s_qpc_to_sequence_error_retry_limit *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 357;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_s_qpc_to_sequence_error_retry_limit_print(const struct connectib_hw_s_qpc_to_sequence_error_retry_limit *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_to_sequence_error_retry_limit ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_to_sequence_error_retry_limit_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_to_sequence_error_retry_limit_dump(const struct connectib_hw_s_qpc_to_sequence_error_retry_limit *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_to_sequence_error_retry_limit_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_force_my_gid_index_pack(const struct connectib_hw_s_qpc_force_my_gid_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 360;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_force_my_gid_index_unpack(struct connectib_hw_s_qpc_force_my_gid_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 360;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_force_my_gid_index_print(const struct connectib_hw_s_qpc_force_my_gid_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_force_my_gid_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_force_my_gid_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_force_my_gid_index_dump(const struct connectib_hw_s_qpc_force_my_gid_index *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_force_my_gid_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_sx_gather_commit_pack(const struct connectib_hw_s_qpc_sx_gather_commit *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 361;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 23, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_sx_gather_commit_unpack(struct connectib_hw_s_qpc_sx_gather_commit *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 361;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 23);
+
+}
+
+void connectib_hw_s_qpc_sx_gather_commit_print(const struct connectib_hw_s_qpc_sx_gather_commit *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_sx_gather_commit ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_sx_gather_commit_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_sx_gather_commit_dump(const struct connectib_hw_s_qpc_sx_gather_commit *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_sx_gather_commit_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_lsn_pack(const struct connectib_hw_s_qpc_lsn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 392;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_lsn_unpack(struct connectib_hw_s_qpc_lsn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 392;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_lsn_print(const struct connectib_hw_s_qpc_lsn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_lsn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_lsn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_lsn_dump(const struct connectib_hw_s_qpc_lsn *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_lsn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_dc_access_key_63_32_pack(const struct connectib_hw_s_qpc_dc_access_key_63_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_dc_access_key_63_32_unpack(struct connectib_hw_s_qpc_dc_access_key_63_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_s_qpc_dc_access_key_63_32_print(const struct connectib_hw_s_qpc_dc_access_key_63_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_dc_access_key_63_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_dc_access_key_63_32_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_dc_access_key_63_32_dump(const struct connectib_hw_s_qpc_dc_access_key_63_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_dc_access_key_63_32_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_dc_access_key_31_0_pack(const struct connectib_hw_s_qpc_dc_access_key_31_0 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_dc_access_key_31_0_unpack(struct connectib_hw_s_qpc_dc_access_key_31_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_s_qpc_dc_access_key_31_0_print(const struct connectib_hw_s_qpc_dc_access_key_31_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_dc_access_key_31_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_dc_access_key_31_0_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_dc_access_key_31_0_dump(const struct connectib_hw_s_qpc_dc_access_key_31_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_dc_access_key_31_0_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_force_grh_pack(const struct connectib_hw_s_qpc_force_grh *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_force_grh_unpack(struct connectib_hw_s_qpc_force_grh *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_force_grh_print(const struct connectib_hw_s_qpc_force_grh *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_force_grh ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_force_grh_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_force_grh_dump(const struct connectib_hw_s_qpc_force_grh *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_force_grh_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_vl15_pack(const struct connectib_hw_s_qpc_vl15 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 449;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_vl15_unpack(struct connectib_hw_s_qpc_vl15 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 449;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_vl15_print(const struct connectib_hw_s_qpc_vl15 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_vl15 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_vl15_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_vl15_dump(const struct connectib_hw_s_qpc_vl15 *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_vl15_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_timer_enable_pack(const struct connectib_hw_s_qpc_timer_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 449;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_timer_enable_unpack(struct connectib_hw_s_qpc_timer_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 449;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_s_qpc_timer_enable_print(const struct connectib_hw_s_qpc_timer_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_timer_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_timer_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_timer_enable_dump(const struct connectib_hw_s_qpc_timer_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_timer_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_currently_completing_ds_pack(const struct connectib_hw_s_qpc_currently_completing_ds *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 450;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_currently_completing_ds_unpack(struct connectib_hw_s_qpc_currently_completing_ds *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 450;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+}
+
+void connectib_hw_s_qpc_currently_completing_ds_print(const struct connectib_hw_s_qpc_currently_completing_ds *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_currently_completing_ds ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_currently_completing_ds_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_currently_completing_ds_dump(const struct connectib_hw_s_qpc_currently_completing_ds *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_currently_completing_ds_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_first_psn_of_message_currently_completing_pack(const struct connectib_hw_s_qpc_first_psn_of_message_currently_completing *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 456;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_first_psn_of_message_currently_completing_unpack(struct connectib_hw_s_qpc_first_psn_of_message_currently_completing *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 456;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_first_psn_of_message_currently_completing_print(const struct connectib_hw_s_qpc_first_psn_of_message_currently_completing *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_first_psn_of_message_currently_completing ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_first_psn_of_message_currently_completing_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_first_psn_of_message_currently_completing_dump(const struct connectib_hw_s_qpc_first_psn_of_message_currently_completing *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_first_psn_of_message_currently_completing_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_number_outstanding_reads_pack(const struct connectib_hw_s_qpc_number_outstanding_reads *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_number_outstanding_reads_unpack(struct connectib_hw_s_qpc_number_outstanding_reads *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_s_qpc_number_outstanding_reads_print(const struct connectib_hw_s_qpc_number_outstanding_reads *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_number_outstanding_reads ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_number_outstanding_reads_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_number_outstanding_reads_dump(const struct connectib_hw_s_qpc_number_outstanding_reads *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_number_outstanding_reads_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_s_qpc_first_unsent_psn_pack(const struct connectib_hw_s_qpc_first_unsent_psn *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 488;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_s_qpc_first_unsent_psn_unpack(struct connectib_hw_s_qpc_first_unsent_psn *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 488;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_s_qpc_first_unsent_psn_print(const struct connectib_hw_s_qpc_first_unsent_psn *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc_first_unsent_psn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_s_qpc_first_unsent_psn_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_s_qpc_first_unsent_psn_dump(const struct connectib_hw_s_qpc_first_unsent_psn *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_first_unsent_psn_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_common_valid_pack(const struct connectib_hw_c_qpc_common_valid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_common_valid_unpack(struct connectib_hw_c_qpc_common_valid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_common_valid_print(const struct connectib_hw_c_qpc_common_valid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_common_valid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_common_valid_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_common_valid_dump(const struct connectib_hw_c_qpc_common_valid *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_common_valid_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_wq_signature_pack(const struct connectib_hw_c_qpc_wq_signature *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_wq_signature_unpack(struct connectib_hw_c_qpc_wq_signature *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 1;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_wq_signature_print(const struct connectib_hw_c_qpc_wq_signature *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_wq_signature ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_wq_signature_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_wq_signature_dump(const struct connectib_hw_c_qpc_wq_signature *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_wq_signature_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_dual_write_pack(const struct connectib_hw_c_qpc_dual_write *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_dual_write_unpack(struct connectib_hw_c_qpc_dual_write *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 2;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_dual_write_print(const struct connectib_hw_c_qpc_dual_write *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_dual_write ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_dual_write_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_dual_write_dump(const struct connectib_hw_c_qpc_dual_write *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_dual_write_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_log_page_size_pack(const struct connectib_hw_c_qpc_log_page_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_log_page_size_unpack(struct connectib_hw_c_qpc_log_page_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 3;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+}
+
+void connectib_hw_c_qpc_log_page_size_print(const struct connectib_hw_c_qpc_log_page_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_log_page_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_log_page_size_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_log_page_size_dump(const struct connectib_hw_c_qpc_log_page_size *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_log_page_size_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_rwq_type_pack(const struct connectib_hw_c_qpc_rwq_type *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_rwq_type_unpack(struct connectib_hw_c_qpc_rwq_type *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 26;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_hw_c_qpc_rwq_type_print(const struct connectib_hw_c_qpc_rwq_type *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_rwq_type ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_rwq_type_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_rwq_type_dump(const struct connectib_hw_c_qpc_rwq_type *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_rwq_type_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_force_loopback_pack(const struct connectib_hw_c_qpc_force_loopback *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_force_loopback_unpack(struct connectib_hw_c_qpc_force_loopback *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_force_loopback_print(const struct connectib_hw_c_qpc_force_loopback *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_force_loopback ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_force_loopback_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_force_loopback_dump(const struct connectib_hw_c_qpc_force_loopback *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_force_loopback_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_ipd_pack(const struct connectib_hw_c_qpc_ipd *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_ipd_unpack(struct connectib_hw_c_qpc_ipd *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 44;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_ipd_print(const struct connectib_hw_c_qpc_ipd *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_ipd ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_ipd_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_ipd_dump(const struct connectib_hw_c_qpc_ipd *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_ipd_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_rwqe_stride_pack(const struct connectib_hw_c_qpc_rwqe_stride *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 49;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_rwqe_stride_unpack(struct connectib_hw_c_qpc_rwqe_stride *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 49;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_c_qpc_rwqe_stride_print(const struct connectib_hw_c_qpc_rwqe_stride *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_rwqe_stride ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_rwqe_stride_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_rwqe_stride_dump(const struct connectib_hw_c_qpc_rwqe_stride *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_rwqe_stride_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_rcyclic_size_pack(const struct connectib_hw_c_qpc_rcyclic_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 51;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_rcyclic_size_unpack(struct connectib_hw_c_qpc_rcyclic_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 51;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+}
+
+void connectib_hw_c_qpc_rcyclic_size_print(const struct connectib_hw_c_qpc_rcyclic_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_rcyclic_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_rcyclic_size_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_rcyclic_size_dump(const struct connectib_hw_c_qpc_rcyclic_size *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_rcyclic_size_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_rwqe_buffer_size_pack(const struct connectib_hw_c_qpc_rwqe_buffer_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_rwqe_buffer_size_unpack(struct connectib_hw_c_qpc_rwqe_buffer_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 52;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_rwqe_buffer_size_print(const struct connectib_hw_c_qpc_rwqe_buffer_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_rwqe_buffer_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_rwqe_buffer_size_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_rwqe_buffer_size_dump(const struct connectib_hw_c_qpc_rwqe_buffer_size *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_rwqe_buffer_size_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_tclass_pack(const struct connectib_hw_c_qpc_tclass *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_tclass_unpack(struct connectib_hw_c_qpc_tclass *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 56;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_c_qpc_tclass_print(const struct connectib_hw_c_qpc_tclass *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_tclass ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_tclass_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_tclass_dump(const struct connectib_hw_c_qpc_tclass *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_tclass_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_hop_limit_pack(const struct connectib_hw_c_qpc_hop_limit *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_hop_limit_unpack(struct connectib_hw_c_qpc_hop_limit *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 64;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_c_qpc_hop_limit_print(const struct connectib_hw_c_qpc_hop_limit *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_hop_limit ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_hop_limit_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_hop_limit_dump(const struct connectib_hw_c_qpc_hop_limit *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_hop_limit_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_peer_qp_pack(const struct connectib_hw_c_qpc_peer_qp *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_peer_qp_unpack(struct connectib_hw_c_qpc_peer_qp *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 72;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_c_qpc_peer_qp_print(const struct connectib_hw_c_qpc_peer_qp *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_peer_qp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_peer_qp_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_peer_qp_dump(const struct connectib_hw_c_qpc_peer_qp *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_peer_qp_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_rx_migreq_pack(const struct connectib_hw_c_qpc_rx_migreq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_rx_migreq_unpack(struct connectib_hw_c_qpc_rx_migreq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 96;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_rx_migreq_print(const struct connectib_hw_c_qpc_rx_migreq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_rx_migreq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_rx_migreq_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_rx_migreq_dump(const struct connectib_hw_c_qpc_rx_migreq *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_rx_migreq_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_sx_migreq_pack(const struct connectib_hw_c_qpc_sx_migreq *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 97;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_sx_migreq_unpack(struct connectib_hw_c_qpc_sx_migreq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 97;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_sx_migreq_print(const struct connectib_hw_c_qpc_sx_migreq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_sx_migreq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_sx_migreq_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_sx_migreq_dump(const struct connectib_hw_c_qpc_sx_migreq *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_sx_migreq_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_wqe_page_offset_pack(const struct connectib_hw_c_qpc_wqe_page_offset *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 98;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_wqe_page_offset_unpack(struct connectib_hw_c_qpc_wqe_page_offset *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 98;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+}
+
+void connectib_hw_c_qpc_wqe_page_offset_print(const struct connectib_hw_c_qpc_wqe_page_offset *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_wqe_page_offset ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_wqe_page_offset_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_wqe_page_offset_dump(const struct connectib_hw_c_qpc_wqe_page_offset *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_wqe_page_offset_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_context_number_pack(const struct connectib_hw_c_qpc_context_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_context_number_unpack(struct connectib_hw_c_qpc_context_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 104;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_c_qpc_context_number_print(const struct connectib_hw_c_qpc_context_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_context_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_context_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_context_number_dump(const struct connectib_hw_c_qpc_context_number *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_context_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_pkey_table_index_pack(const struct connectib_hw_c_qpc_pkey_table_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_pkey_table_index_unpack(struct connectib_hw_c_qpc_pkey_table_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 128;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+}
+
+void connectib_hw_c_qpc_pkey_table_index_print(const struct connectib_hw_c_qpc_pkey_table_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_pkey_table_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_pkey_table_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_pkey_table_index_dump(const struct connectib_hw_c_qpc_pkey_table_index *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_pkey_table_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_flow_label_pack(const struct connectib_hw_c_qpc_flow_label *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 140;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_flow_label_unpack(struct connectib_hw_c_qpc_flow_label *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 140;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+
+}
+
+void connectib_hw_c_qpc_flow_label_print(const struct connectib_hw_c_qpc_flow_label *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_flow_label ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_flow_label_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_flow_label_dump(const struct connectib_hw_c_qpc_flow_label *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_flow_label_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_qkey_pack(const struct connectib_hw_c_qpc_qkey *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_qkey_unpack(struct connectib_hw_c_qpc_qkey *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 160;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_qkey_print(const struct connectib_hw_c_qpc_qkey *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_qkey ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_qkey_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_qkey_dump(const struct connectib_hw_c_qpc_qkey *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_qkey_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_mtu_pack(const struct connectib_hw_c_qpc_mtu *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_mtu_unpack(struct connectib_hw_c_qpc_mtu *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 192;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_c_qpc_mtu_print(const struct connectib_hw_c_qpc_mtu *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_mtu ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_mtu_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_mtu_dump(const struct connectib_hw_c_qpc_mtu *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_mtu_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_max_message_size_pack(const struct connectib_hw_c_qpc_max_message_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 195;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_max_message_size_unpack(struct connectib_hw_c_qpc_max_message_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 195;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+}
+
+void connectib_hw_c_qpc_max_message_size_print(const struct connectib_hw_c_qpc_max_message_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_max_message_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_max_message_size_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_max_message_size_dump(const struct connectib_hw_c_qpc_max_message_size *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_max_message_size_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_my_gid_mac_index_pack(const struct connectib_hw_c_qpc_my_gid_mac_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_my_gid_mac_index_unpack(struct connectib_hw_c_qpc_my_gid_mac_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 200;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_hw_c_qpc_my_gid_mac_index_print(const struct connectib_hw_c_qpc_my_gid_mac_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_my_gid_mac_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_my_gid_mac_index_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_my_gid_mac_index_dump(const struct connectib_hw_c_qpc_my_gid_mac_index *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_my_gid_mac_index_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_my_lid_pack(const struct connectib_hw_c_qpc_my_lid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 233;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_my_lid_unpack(struct connectib_hw_c_qpc_my_lid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 233;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+}
+
+void connectib_hw_c_qpc_my_lid_print(const struct connectib_hw_c_qpc_my_lid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_my_lid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_my_lid_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_my_lid_dump(const struct connectib_hw_c_qpc_my_lid *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_my_lid_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_peer_lid_pack(const struct connectib_hw_c_qpc_peer_lid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_peer_lid_unpack(struct connectib_hw_c_qpc_peer_lid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 240;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_c_qpc_peer_lid_print(const struct connectib_hw_c_qpc_peer_lid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_peer_lid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_peer_lid_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_peer_lid_dump(const struct connectib_hw_c_qpc_peer_lid *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_peer_lid_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_swqe_buffer_size_pack(const struct connectib_hw_c_qpc_swqe_buffer_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 260;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_swqe_buffer_size_unpack(struct connectib_hw_c_qpc_swqe_buffer_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 260;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_swqe_buffer_size_print(const struct connectib_hw_c_qpc_swqe_buffer_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_swqe_buffer_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_swqe_buffer_size_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_swqe_buffer_size_dump(const struct connectib_hw_c_qpc_swqe_buffer_size *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_swqe_buffer_size_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_adaptive_routing_pack(const struct connectib_hw_c_qpc_adaptive_routing *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 265;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_adaptive_routing_unpack(struct connectib_hw_c_qpc_adaptive_routing *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 265;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_adaptive_routing_print(const struct connectib_hw_c_qpc_adaptive_routing *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_adaptive_routing ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_adaptive_routing_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_adaptive_routing_dump(const struct connectib_hw_c_qpc_adaptive_routing *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_adaptive_routing_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_port_number_pack(const struct connectib_hw_c_qpc_port_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 266;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_port_number_unpack(struct connectib_hw_c_qpc_port_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 266;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_port_number_print(const struct connectib_hw_c_qpc_port_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_port_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_port_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_port_number_dump(const struct connectib_hw_c_qpc_port_number *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_port_number_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_grh_bit_pack(const struct connectib_hw_c_qpc_grh_bit *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 267;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_grh_bit_unpack(struct connectib_hw_c_qpc_grh_bit *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 267;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_c_qpc_grh_bit_print(const struct connectib_hw_c_qpc_grh_bit *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_grh_bit ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_grh_bit_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_grh_bit_dump(const struct connectib_hw_c_qpc_grh_bit *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_grh_bit_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_sl_pack(const struct connectib_hw_c_qpc_sl *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 268;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_sl_unpack(struct connectib_hw_c_qpc_sl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 268;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_sl_print(const struct connectib_hw_c_qpc_sl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_sl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_sl_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_sl_dump(const struct connectib_hw_c_qpc_sl *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_sl_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_mtt_pointer_39_37_pack(const struct connectib_hw_c_qpc_mtt_pointer_39_37 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 317;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_mtt_pointer_39_37_unpack(struct connectib_hw_c_qpc_mtt_pointer_39_37 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 317;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_hw_c_qpc_mtt_pointer_39_37_print(const struct connectib_hw_c_qpc_mtt_pointer_39_37 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_mtt_pointer_39_37 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_mtt_pointer_39_37_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_mtt_pointer_39_37_dump(const struct connectib_hw_c_qpc_mtt_pointer_39_37 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_mtt_pointer_39_37_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_mtt_pointer_36_5_pack(const struct connectib_hw_c_qpc_mtt_pointer_36_5 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_mtt_pointer_36_5_unpack(struct connectib_hw_c_qpc_mtt_pointer_36_5 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 320;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_mtt_pointer_36_5_print(const struct connectib_hw_c_qpc_mtt_pointer_36_5 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_mtt_pointer_36_5 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_mtt_pointer_36_5_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_mtt_pointer_36_5_dump(const struct connectib_hw_c_qpc_mtt_pointer_36_5 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_mtt_pointer_36_5_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_mtt_pointer_4_0_pack(const struct connectib_hw_c_qpc_mtt_pointer_4_0 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_mtt_pointer_4_0_unpack(struct connectib_hw_c_qpc_mtt_pointer_4_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+}
+
+void connectib_hw_c_qpc_mtt_pointer_4_0_print(const struct connectib_hw_c_qpc_mtt_pointer_4_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_mtt_pointer_4_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_mtt_pointer_4_0_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_mtt_pointer_4_0_dump(const struct connectib_hw_c_qpc_mtt_pointer_4_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_mtt_pointer_4_0_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_pd_pack(const struct connectib_hw_c_qpc_pd *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 360;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_pd_unpack(struct connectib_hw_c_qpc_pd *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 360;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_c_qpc_pd_print(const struct connectib_hw_c_qpc_pd *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_pd ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_pd_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_pd_dump(const struct connectib_hw_c_qpc_pd *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_pd_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_peer_qp2_pack(const struct connectib_hw_c_qpc_peer_qp2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 456;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_peer_qp2_unpack(struct connectib_hw_c_qpc_peer_qp2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 456;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_hw_c_qpc_peer_qp2_print(const struct connectib_hw_c_qpc_peer_qp2 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_peer_qp2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_peer_qp2_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_peer_qp2_dump(const struct connectib_hw_c_qpc_peer_qp2 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_peer_qp2_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_peer_lid2_pack(const struct connectib_hw_c_qpc_peer_lid2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_peer_lid2_unpack(struct connectib_hw_c_qpc_peer_lid2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 496;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_hw_c_qpc_peer_lid2_print(const struct connectib_hw_c_qpc_peer_lid2 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_peer_lid2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_peer_lid2_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_peer_lid2_dump(const struct connectib_hw_c_qpc_peer_lid2 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_peer_lid2_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_peer_gid_127_96_pack(const struct connectib_hw_c_qpc_peer_gid_127_96 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_peer_gid_127_96_unpack(struct connectib_hw_c_qpc_peer_gid_127_96 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_peer_gid_127_96_print(const struct connectib_hw_c_qpc_peer_gid_127_96 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_peer_gid_127_96 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_peer_gid_127_96_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_peer_gid_127_96_dump(const struct connectib_hw_c_qpc_peer_gid_127_96 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_peer_gid_127_96_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_peer_gid_95_64_pack(const struct connectib_hw_c_qpc_peer_gid_95_64 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_peer_gid_95_64_unpack(struct connectib_hw_c_qpc_peer_gid_95_64 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_peer_gid_95_64_print(const struct connectib_hw_c_qpc_peer_gid_95_64 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_peer_gid_95_64 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_peer_gid_95_64_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_peer_gid_95_64_dump(const struct connectib_hw_c_qpc_peer_gid_95_64 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_peer_gid_95_64_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_peer_gid_63_32_pack(const struct connectib_hw_c_qpc_peer_gid_63_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_peer_gid_63_32_unpack(struct connectib_hw_c_qpc_peer_gid_63_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_peer_gid_63_32_print(const struct connectib_hw_c_qpc_peer_gid_63_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_peer_gid_63_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_peer_gid_63_32_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_peer_gid_63_32_dump(const struct connectib_hw_c_qpc_peer_gid_63_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_peer_gid_63_32_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_c_qpc_peer_gid_31_0_pack(const struct connectib_hw_c_qpc_peer_gid_31_0 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_hw_c_qpc_peer_gid_31_0_unpack(struct connectib_hw_c_qpc_peer_gid_31_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_hw_c_qpc_peer_gid_31_0_print(const struct connectib_hw_c_qpc_peer_gid_31_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_qpc_peer_gid_31_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_hw_c_qpc_peer_gid_31_0_size(void)
+{
+	 return 64;
+}
+
+void connectib_hw_c_qpc_peer_gid_31_0_dump(const struct connectib_hw_c_qpc_peer_gid_31_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_peer_gid_31_0_print(ptr_struct, file, 0);
+}
+
+void connectib_e2e_pa_33_2_pack(const struct connectib_e2e_pa_33_2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_e2e_pa_33_2_unpack(struct connectib_e2e_pa_33_2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 480;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_e2e_pa_33_2_print(const struct connectib_e2e_pa_33_2 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_e2e_pa_33_2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_e2e_pa_33_2_size(void)
+{
+	 return 64;
+}
+
+void connectib_e2e_pa_33_2_dump(const struct connectib_e2e_pa_33_2 *ptr_struct, FILE* file)
+{
+	connectib_e2e_pa_33_2_print(ptr_struct, file, 0);
+}
+
+void connectib_wq_signature_pack(const struct connectib_wq_signature *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_wq_signature_unpack(struct connectib_wq_signature *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 448;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_wq_signature_print(const struct connectib_wq_signature *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_wq_signature ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_wq_signature_size(void)
+{
+	 return 64;
+}
+
+void connectib_wq_signature_dump(const struct connectib_wq_signature *ptr_struct, FILE* file)
+{
+	connectib_wq_signature_print(ptr_struct, file, 0);
+}
+
+void connectib_srq_valid_pack(const struct connectib_srq_valid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 449;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_srq_valid_unpack(struct connectib_srq_valid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 449;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_srq_valid_print(const struct connectib_srq_valid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_srq_valid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_srq_valid_size(void)
+{
+	 return 64;
+}
+
+void connectib_srq_valid_dump(const struct connectib_srq_valid *ptr_struct, FILE* file)
+{
+	connectib_srq_valid_print(ptr_struct, file, 0);
+}
+
+void connectib_e2e_pa_63_34_pack(const struct connectib_e2e_pa_63_34 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 450;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_e2e_pa_63_34_unpack(struct connectib_e2e_pa_63_34 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 450;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+
+}
+
+void connectib_e2e_pa_63_34_print(const struct connectib_e2e_pa_63_34 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_e2e_pa_63_34 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_e2e_pa_63_34_size(void)
+{
+	 return 64;
+}
+
+void connectib_e2e_pa_63_34_dump(const struct connectib_e2e_pa_63_34 *ptr_struct, FILE* file)
+{
+	connectib_e2e_pa_63_34_print(ptr_struct, file, 0);
+}
+
+void connectib_mtt_pointer_31_0_pack(const struct connectib_mtt_pointer_31_0 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_mtt_pointer_31_0_unpack(struct connectib_mtt_pointer_31_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 416;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_mtt_pointer_31_0_print(const struct connectib_mtt_pointer_31_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mtt_pointer_31_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_mtt_pointer_31_0_size(void)
+{
+	 return 64;
+}
+
+void connectib_mtt_pointer_31_0_dump(const struct connectib_mtt_pointer_31_0 *ptr_struct, FILE* file)
+{
+	connectib_mtt_pointer_31_0_print(ptr_struct, file, 0);
+}
+
+void connectib_rwqe_limit_event_pack(const struct connectib_rwqe_limit_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_rwqe_limit_event_unpack(struct connectib_rwqe_limit_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 384;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_rwqe_limit_event_print(const struct connectib_rwqe_limit_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_rwqe_limit_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_rwqe_limit_event_size(void)
+{
+	 return 64;
+}
+
+void connectib_rwqe_limit_event_dump(const struct connectib_rwqe_limit_event *ptr_struct, FILE* file)
+{
+	connectib_rwqe_limit_event_print(ptr_struct, file, 0);
+}
+
+void connectib_e2e_fetch_enable_pack(const struct connectib_e2e_fetch_enable *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_e2e_fetch_enable_unpack(struct connectib_e2e_fetch_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 400;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_e2e_fetch_enable_print(const struct connectib_e2e_fetch_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_e2e_fetch_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_e2e_fetch_enable_size(void)
+{
+	 return 64;
+}
+
+void connectib_e2e_fetch_enable_dump(const struct connectib_e2e_fetch_enable *ptr_struct, FILE* file)
+{
+	connectib_e2e_fetch_enable_print(ptr_struct, file, 0);
+}
+
+void connectib_rx_heartbeat_pack(const struct connectib_rx_heartbeat *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 401;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_rx_heartbeat_unpack(struct connectib_rx_heartbeat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 401;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_rx_heartbeat_print(const struct connectib_rx_heartbeat *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_rx_heartbeat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_rx_heartbeat_size(void)
+{
+	 return 64;
+}
+
+void connectib_rx_heartbeat_dump(const struct connectib_rx_heartbeat *ptr_struct, FILE* file)
+{
+	connectib_rx_heartbeat_print(ptr_struct, file, 0);
+}
+
+void connectib_wqe_page_offset_pack(const struct connectib_wqe_page_offset *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 402;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_wqe_page_offset_unpack(struct connectib_wqe_page_offset *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 402;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+}
+
+void connectib_wqe_page_offset_print(const struct connectib_wqe_page_offset *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_wqe_page_offset ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_wqe_page_offset_size(void)
+{
+	 return 64;
+}
+
+void connectib_wqe_page_offset_dump(const struct connectib_wqe_page_offset *ptr_struct, FILE* file)
+{
+	connectib_wqe_page_offset_print(ptr_struct, file, 0);
+}
+
+void connectib_mtt_pointer_39_32_pack(const struct connectib_mtt_pointer_39_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 408;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_mtt_pointer_39_32_unpack(struct connectib_mtt_pointer_39_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 408;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_mtt_pointer_39_32_print(const struct connectib_mtt_pointer_39_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_mtt_pointer_39_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_mtt_pointer_39_32_size(void)
+{
+	 return 64;
+}
+
+void connectib_mtt_pointer_39_32_dump(const struct connectib_mtt_pointer_39_32 *ptr_struct, FILE* file)
+{
+	connectib_mtt_pointer_39_32_print(ptr_struct, file, 0);
+}
+
+void connectib_tcu_trap_pack(const struct connectib_tcu_trap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_tcu_trap_unpack(struct connectib_tcu_trap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 352;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_tcu_trap_print(const struct connectib_tcu_trap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_tcu_trap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_tcu_trap_size(void)
+{
+	 return 64;
+}
+
+void connectib_tcu_trap_dump(const struct connectib_tcu_trap *ptr_struct, FILE* file)
+{
+	connectib_tcu_trap_print(ptr_struct, file, 0);
+}
+
+void connectib_can_use_reserved_lkey_pack(const struct connectib_can_use_reserved_lkey *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 353;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_can_use_reserved_lkey_unpack(struct connectib_can_use_reserved_lkey *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 353;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_can_use_reserved_lkey_print(const struct connectib_can_use_reserved_lkey *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_can_use_reserved_lkey ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_can_use_reserved_lkey_size(void)
+{
+	 return 64;
+}
+
+void connectib_can_use_reserved_lkey_dump(const struct connectib_can_use_reserved_lkey *ptr_struct, FILE* file)
+{
+	connectib_can_use_reserved_lkey_print(ptr_struct, file, 0);
+}
+
+void connectib_tcu_drop_pack(const struct connectib_tcu_drop *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 354;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_tcu_drop_unpack(struct connectib_tcu_drop *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 354;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_tcu_drop_print(const struct connectib_tcu_drop *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_tcu_drop ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_tcu_drop_size(void)
+{
+	 return 64;
+}
+
+void connectib_tcu_drop_dump(const struct connectib_tcu_drop *ptr_struct, FILE* file)
+{
+	connectib_tcu_drop_print(ptr_struct, file, 0);
+}
+
+void connectib_log_page_size_pack(const struct connectib_log_page_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 355;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_log_page_size_unpack(struct connectib_log_page_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 355;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+}
+
+void connectib_log_page_size_print(const struct connectib_log_page_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_log_page_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_log_page_size_size(void)
+{
+	 return 64;
+}
+
+void connectib_log_page_size_dump(const struct connectib_log_page_size *ptr_struct, FILE* file)
+{
+	connectib_log_page_size_print(ptr_struct, file, 0);
+}
+
+void connectib_context_number_pack(const struct connectib_context_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 360;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_context_number_unpack(struct connectib_context_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 360;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_context_number_print(const struct connectib_context_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_context_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_context_number_size(void)
+{
+	 return 64;
+}
+
+void connectib_context_number_dump(const struct connectib_context_number *ptr_struct, FILE* file)
+{
+	connectib_context_number_print(ptr_struct, file, 0);
+}
+
+void connectib_rwqe_stride_pack(const struct connectib_rwqe_stride *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 321;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
+
+}
+
+void connectib_rwqe_stride_unpack(struct connectib_rwqe_stride *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 321;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+}
+
+void connectib_rwqe_stride_print(const struct connectib_rwqe_stride *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_rwqe_stride ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
+
+}
+
+int connectib_rwqe_stride_size(void)
+{
+	 return 64;
+}
+
+void connectib_rwqe_stride_dump(const struct connectib_rwqe_stride *ptr_struct, FILE* file)
+{
+	connectib_rwqe_stride_print(ptr_struct, file, 0);
+}
+
+void connectib_rwqe_buffer_size_pack(const struct connectib_rwqe_buffer_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+	offset = 324;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+}
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+void connectib_rwqe_buffer_size_unpack(struct connectib_rwqe_buffer_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=135;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+	offset = 324;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=134;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+}
 
-	offset=131;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+void connectib_rwqe_buffer_size_print(const struct connectib_rwqe_buffer_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_rwqe_buffer_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=130;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+}
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+int connectib_rwqe_buffer_size_size(void)
+{
+	 return 64;
+}
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+void connectib_rwqe_buffer_size_dump(const struct connectib_rwqe_buffer_size *ptr_struct, FILE* file)
+{
+	connectib_rwqe_buffer_size_print(ptr_struct, file, 0);
+}
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+void connectib_cq_number_pack(const struct connectib_cq_number *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+	offset = 328;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	offset=272;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+}
 
-	offset=257;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+void connectib_cq_number_unpack(struct connectib_cq_number *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+	offset = 328;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->w_dif_ref_tag);
+}
 
-	offset=320;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+void connectib_cq_number_print(const struct connectib_cq_number *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cq_number ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=385;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+}
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+int connectib_cq_number_size(void)
+{
+	 return 64;
+}
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->m_dif_ref_tag);
+void connectib_cq_number_dump(const struct connectib_cq_number *ptr_struct, FILE* file)
+{
+	connectib_cq_number_print(ptr_struct, file, 0);
+}
 
-	offset=448;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+void connectib_e2e_credits_prefetch_threshold_pack(const struct connectib_e2e_credits_prefetch_threshold *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 293;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
 
 }
 
-void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_unpack(struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_e2e_credits_prefetch_threshold_unpack(struct connectib_e2e_credits_prefetch_threshold *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->m_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 293;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=30;
-	ptr_struct->m_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=28;
-	ptr_struct->m_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+void connectib_e2e_credits_prefetch_threshold_print(const struct connectib_e2e_credits_prefetch_threshold *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_e2e_credits_prefetch_threshold ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=23;
-	ptr_struct->w_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=22;
-	ptr_struct->w_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=20;
-	ptr_struct->w_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+int connectib_e2e_credits_prefetch_threshold_size(void)
+{
+	 return 64;
+}
 
-	offset=8;
-	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_e2e_credits_prefetch_threshold_dump(const struct connectib_e2e_credits_prefetch_threshold *ptr_struct, FILE* file)
+{
+	connectib_e2e_credits_prefetch_threshold_print(ptr_struct, file, 0);
+}
 
-	offset=3;
-	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_pd_pack(const struct connectib_pd *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 296;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	offset=32;
-	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=72;
-	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_pd_unpack(struct connectib_pd *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=64;
-	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 296;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=104;
-	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=96;
-	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_pd_print(const struct connectib_pd *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pd ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=136;
-	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=135;
-	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=134;
-	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_pd_size(void)
+{
+	 return 64;
+}
 
-	offset=131;
-	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_pd_dump(const struct connectib_pd *ptr_struct, FILE* file)
+{
+	connectib_pd_print(ptr_struct, file, 0);
+}
 
-	offset=130;
-	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_xrc_domain_pack(const struct connectib_xrc_domain *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=168;
-	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 264;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	offset=200;
-	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=192;
-	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_xrc_domain_unpack(struct connectib_xrc_domain *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=232;
-	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 264;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=224;
-	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=272;
-	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_xrc_domain_print(const struct connectib_xrc_domain *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_xrc_domain ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=257;
-	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=256;
-	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=288;
-	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+int connectib_xrc_domain_size(void)
+{
+	 return 64;
+}
 
-	offset=320;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+void connectib_xrc_domain_dump(const struct connectib_xrc_domain *ptr_struct, FILE* file)
+{
+	connectib_xrc_domain_print(ptr_struct, file, 0);
+}
 
-	offset=400;
-	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_e2e_producer_index_pack(const struct connectib_e2e_producer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=385;
-	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
 
-	offset=384;
-	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=416;
-	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_e2e_producer_index_unpack(struct connectib_e2e_producer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=448;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+	offset = 224;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_print(const struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, FILE* file, int indent_level){
+void connectib_e2e_producer_index_print(const struct connectib_e2e_producer_index *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_bsf_entry_w_non_repeating_m_non_repeating ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_e2e_producer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_check_gen          : "UH_FMT"\n", ptr_struct->m_check_gen);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_init               : "UH_FMT"\n", ptr_struct->m_init);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_pad                : "UH_FMT"\n", ptr_struct->m_pad);
+int connectib_e2e_producer_index_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_check_gen          : "UH_FMT"\n", ptr_struct->w_check_gen);
+void connectib_e2e_producer_index_dump(const struct connectib_e2e_producer_index *ptr_struct, FILE* file)
+{
+	connectib_e2e_producer_index_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_init               : "UH_FMT"\n", ptr_struct->w_init);
+void connectib_rwqe_consumer_index_pack(const struct connectib_rwqe_consumer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_pad                : "UH_FMT"\n", ptr_struct->w_pad);
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_check_en        : "UH_FMT"\n", ptr_struct->byte_check_en);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aligned              : "UH_FMT"\n", ptr_struct->aligned);
+void connectib_rwqe_consumer_index_unpack(struct connectib_rwqe_consumer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+	offset = 240;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "raw_size             : "U32H_FMT"\n", ptr_struct->raw_size);
+}
 
+void connectib_rwqe_consumer_index_print(const struct connectib_rwqe_consumer_index *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_psv_pointer      : "UH_FMT"\n", ptr_struct->w_b_psv_pointer);
+	fprintf(file, "======== connectib_rwqe_consumer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_b_pdf_ptr);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_psv_pointer      : "UH_FMT"\n", ptr_struct->m_b_psv_pointer);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_b_pdf_ptr);
+int connectib_rwqe_consumer_index_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prologue_size        : "UH_FMT"\n", ptr_struct->prologue_size);
+void connectib_rwqe_consumer_index_dump(const struct connectib_rwqe_consumer_index *ptr_struct, FILE* file)
+{
+	connectib_rwqe_consumer_index_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_end              : "UH_FMT"\n", ptr_struct->m_t_end);
+void connectib_srq_fw_pack(const struct connectib_srq_fw *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_start            : "UH_FMT"\n", ptr_struct->m_t_start);
+	offset = 198;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_end              : "UH_FMT"\n", ptr_struct->w_t_end);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_start            : "UH_FMT"\n", ptr_struct->w_t_start);
+void connectib_srq_fw_unpack(struct connectib_srq_fw *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "epilogue_size        : "UH_FMT"\n", ptr_struct->epilogue_size);
+	offset = 198;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_psv_pointer      : "UH_FMT"\n", ptr_struct->w_t_psv_pointer);
+}
 
+void connectib_srq_fw_print(const struct connectib_srq_fw *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_t_pdf_ptr);
+	fprintf(file, "======== connectib_srq_fw ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_psv_pointer      : "UH_FMT"\n", ptr_struct->m_t_psv_pointer);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_t_pdf_ptr);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_app_tag        : "UH_FMT"\n", ptr_struct->w_dif_app_tag);
+int connectib_srq_fw_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_refresh_dif_params : "UH_FMT"\n", ptr_struct->w_refresh_dif_params);
+void connectib_srq_fw_dump(const struct connectib_srq_fw *ptr_struct, FILE* file)
+{
+	connectib_srq_fw_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_vld        : "UH_FMT"\n", ptr_struct->w_in_line_vld);
+void connectib_e2e_consumer_index_pack(const struct connectib_e2e_consumer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->w_dif_ref_tag);
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_app_tag        : "UH_FMT"\n", ptr_struct->m_dif_app_tag);
+void connectib_e2e_consumer_index_unpack(struct connectib_e2e_consumer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_refresh_dif_params : "UH_FMT"\n", ptr_struct->m_refresh_dif_params);
+	offset = 208;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_vld        : "UH_FMT"\n", ptr_struct->m_in_line_vld);
+}
 
+void connectib_e2e_consumer_index_print(const struct connectib_e2e_consumer_index *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->m_dif_ref_tag);
+	fprintf(file, "======== connectib_e2e_consumer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
 }
 
-int connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_size(void){
+int connectib_e2e_consumer_index_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_dump(const struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, FILE* file) {
-	connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_print(ptr_struct, file, 0);
+void connectib_e2e_consumer_index_dump(const struct connectib_e2e_consumer_index *ptr_struct, FILE* file)
+{
+	connectib_e2e_consumer_index_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_w_non_repeating_m_repeating_pack(const struct connectib_hw_bsf_entry_w_non_repeating_m_repeating *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pf_vf_cfg_space_pack(const struct connectib_pf_vf_cfg_space *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_block_size_selector);
+	offset = 0;
+	connectib_pf_vf_sriov_pack(&(ptr_struct->sriov), ptr_buff + offset/8);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_check_gen);
+	offset = 64;
+	connectib_pf_vf_vpd_pack(&(ptr_struct->vpd), ptr_buff + offset/8);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_init);
+	offset = 150;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->hw_msix_vec0);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->w_pad);
+	offset = 149;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->msix_func_mask);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+	offset = 148;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->msix_enable);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+	offset = 147;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bus_master_en);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+	offset = 146;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->memory_space);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->raw_size);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->serr_status);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
+	offset = 143;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->serr_enable);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+	offset = 142;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->perr_enable);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+	offset = 141;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->int_disable);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+	offset = 140;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->need_to_fire_flr_event);
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+	offset = 139;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_middle_of_flr);
 
-	offset=135;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+	offset = 138;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hide);
 
-	offset=134;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->power_state);
 
-	offset=131;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cache_line);
 
-	offset=130;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+	offset = 184;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->interrupt_line);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+	offset = 181;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->exp_rom_en);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 21, (u_int32_t)ptr_struct->exp_rom_addr_31_11);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+	offset = 223;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_correctable_error_report_en);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+	offset = 222;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_nonfatal_error_report_en);
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+	offset = 221;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_fatal_error_report_en);
 
-	offset=272;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+	offset = 220;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_ur_error_report_en);
 
-	offset=257;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+	offset = 219;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_enable_relaxed_ordering);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+	offset = 216;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->device_control_max_payload_size);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->w_dif_ref_tag);
+	offset = 215;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_extended_tag_en);
 
-	offset=320;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+	offset = 214;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_enable_no_snoop);
 
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+	offset = 211;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->device_control_max_read_request_size);
 
-	offset=385;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+	offset = 210;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_status_correctable_error_detected);
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+	offset = 209;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_status_nonfatal_error_detected);
+
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_status_fatal_error_detected);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->m_dif_ref_tag);
+	offset = 207;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_status_ur_error_detected);
 
-	offset=448;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+	offset = 206;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_memory_space);
+
+	offset = 205;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_bus_master_en);
+
+	offset = 204;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_perr_report_en);
+
+	offset = 203;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_serr_report_en);
+
+	offset = 202;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_interrupt_disable);
+
+	offset = 201;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_interrupt_status);
+
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_perr);
+
+	offset = 199;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_serr);
+
+	offset = 198;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_received_master_abort);
+
+	offset = 197;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_received_target_abort);
+
+	offset = 196;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_detected_parity_error);
+
+	offset = 195;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_signaled_target_abort);
 
 }
 
-void connectib_hw_bsf_entry_w_non_repeating_m_repeating_unpack(struct connectib_hw_bsf_entry_w_non_repeating_m_repeating *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pf_vf_cfg_space_unpack(struct connectib_pf_vf_cfg_space *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->m_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	connectib_pf_vf_sriov_unpack(&(ptr_struct->sriov), ptr_buff + offset/8);
 
-	offset=23;
-	ptr_struct->w_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	connectib_pf_vf_vpd_unpack(&(ptr_struct->vpd), ptr_buff + offset/8);
 
-	offset=22;
-	ptr_struct->w_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 150;
+	ptr_struct->hw_msix_vec0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=20;
-	ptr_struct->w_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 149;
+	ptr_struct->msix_func_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=8;
-	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 148;
+	ptr_struct->msix_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=3;
-	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 147;
+	ptr_struct->bus_master_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 146;
+	ptr_struct->memory_space = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 144;
+	ptr_struct->serr_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=72;
-	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 143;
+	ptr_struct->serr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 142;
+	ptr_struct->perr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=104;
-	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 141;
+	ptr_struct->int_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 140;
+	ptr_struct->need_to_fire_flr_event = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=136;
-	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 139;
+	ptr_struct->in_middle_of_flr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=135;
-	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 138;
+	ptr_struct->hide = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=134;
-	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 136;
+	ptr_struct->power_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=131;
-	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	ptr_struct->cache_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=130;
-	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 184;
+	ptr_struct->interrupt_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=168;
-	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 181;
+	ptr_struct->exp_rom_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=200;
-	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 160;
+	ptr_struct->exp_rom_addr_31_11 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 21);
 
-	offset=192;
-	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 223;
+	ptr_struct->device_control_correctable_error_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 222;
+	ptr_struct->device_control_nonfatal_error_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=224;
-	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 221;
+	ptr_struct->device_control_fatal_error_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=272;
-	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 220;
+	ptr_struct->device_control_ur_error_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=257;
-	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 219;
+	ptr_struct->device_control_enable_relaxed_ordering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 216;
+	ptr_struct->device_control_max_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=288;
-	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 215;
+	ptr_struct->device_control_extended_tag_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=320;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+	offset = 214;
+	ptr_struct->device_control_enable_no_snoop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=400;
-	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 211;
+	ptr_struct->device_control_max_read_request_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=385;
-	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 210;
+	ptr_struct->device_status_correctable_error_detected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 209;
+	ptr_struct->device_status_nonfatal_error_detected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 208;
+	ptr_struct->device_status_fatal_error_detected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 207;
+	ptr_struct->device_status_ur_error_detected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 206;
+	ptr_struct->command_register_memory_space = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 205;
+	ptr_struct->command_register_bus_master_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 204;
+	ptr_struct->command_register_perr_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 203;
+	ptr_struct->command_register_serr_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 202;
+	ptr_struct->command_register_interrupt_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 201;
+	ptr_struct->status_register_interrupt_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 200;
+	ptr_struct->status_register_perr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 199;
+	ptr_struct->status_register_serr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 198;
+	ptr_struct->status_register_received_master_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 197;
+	ptr_struct->status_register_received_target_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 196;
+	ptr_struct->status_register_detected_parity_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 195;
+	ptr_struct->status_register_signaled_target_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_pf_vf_cfg_space_print(const struct connectib_pf_vf_cfg_space *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pf_vf_cfg_space ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sriov:\n");
+	connectib_pf_vf_sriov_print(&(ptr_struct->sriov), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vpd:\n");
+	connectib_pf_vf_vpd_print(&(ptr_struct->vpd), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_msix_vec0         : " UH_FMT "\n", ptr_struct->hw_msix_vec0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msix_func_mask       : " UH_FMT "\n", ptr_struct->msix_func_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msix_enable          : " UH_FMT "\n", ptr_struct->msix_enable);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bus_master_en        : " UH_FMT "\n", ptr_struct->bus_master_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "memory_space         : " UH_FMT "\n", ptr_struct->memory_space);
 
-	offset=384;
-	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "serr_status          : " UH_FMT "\n", ptr_struct->serr_status);
 
-	offset=416;
-	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "serr_enable          : " UH_FMT "\n", ptr_struct->serr_enable);
 
-	offset=448;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "perr_enable          : " UH_FMT "\n", ptr_struct->perr_enable);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "int_disable          : " UH_FMT "\n", ptr_struct->int_disable);
 
-void connectib_hw_bsf_entry_w_non_repeating_m_repeating_print(const struct connectib_hw_bsf_entry_w_non_repeating_m_repeating *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_bsf_entry_w_non_repeating_m_repeating ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "need_to_fire_flr_event : " UH_FMT "\n", ptr_struct->need_to_fire_flr_event);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_block_size_selector : "UH_FMT"\n", ptr_struct->m_block_size_selector);
+	fprintf(file, "in_middle_of_flr     : " UH_FMT "\n", ptr_struct->in_middle_of_flr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_check_gen          : "UH_FMT"\n", ptr_struct->w_check_gen);
+	fprintf(file, "hide                 : " UH_FMT "\n", ptr_struct->hide);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_init               : "UH_FMT"\n", ptr_struct->w_init);
+	fprintf(file, "power_state          : " UH_FMT "\n", ptr_struct->power_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_pad                : "UH_FMT"\n", ptr_struct->w_pad);
+	fprintf(file, "cache_line           : " UH_FMT "\n", ptr_struct->cache_line);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_check_en        : "UH_FMT"\n", ptr_struct->byte_check_en);
+	fprintf(file, "interrupt_line       : " UH_FMT "\n", ptr_struct->interrupt_line);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aligned              : "UH_FMT"\n", ptr_struct->aligned);
+	fprintf(file, "exp_rom_en           : " UH_FMT "\n", ptr_struct->exp_rom_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+	fprintf(file, "exp_rom_addr_31_11   : " UH_FMT "\n", ptr_struct->exp_rom_addr_31_11);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "raw_size             : "U32H_FMT"\n", ptr_struct->raw_size);
+	fprintf(file, "device_control_correctable_error_report_en : " UH_FMT "\n", ptr_struct->device_control_correctable_error_report_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_psv_pointer      : "UH_FMT"\n", ptr_struct->w_b_psv_pointer);
+	fprintf(file, "device_control_nonfatal_error_report_en : " UH_FMT "\n", ptr_struct->device_control_nonfatal_error_report_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_b_pdf_ptr);
+	fprintf(file, "device_control_fatal_error_report_en : " UH_FMT "\n", ptr_struct->device_control_fatal_error_report_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_psv_pointer      : "UH_FMT"\n", ptr_struct->m_b_psv_pointer);
+	fprintf(file, "device_control_ur_error_report_en : " UH_FMT "\n", ptr_struct->device_control_ur_error_report_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_b_pdf_ptr);
+	fprintf(file, "device_control_enable_relaxed_ordering : " UH_FMT "\n", ptr_struct->device_control_enable_relaxed_ordering);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prologue_size        : "UH_FMT"\n", ptr_struct->prologue_size);
+	fprintf(file, "device_control_max_payload_size : " UH_FMT "\n", ptr_struct->device_control_max_payload_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_end              : "UH_FMT"\n", ptr_struct->m_t_end);
+	fprintf(file, "device_control_extended_tag_en : " UH_FMT "\n", ptr_struct->device_control_extended_tag_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_start            : "UH_FMT"\n", ptr_struct->m_t_start);
+	fprintf(file, "device_control_enable_no_snoop : " UH_FMT "\n", ptr_struct->device_control_enable_no_snoop);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_end              : "UH_FMT"\n", ptr_struct->w_t_end);
+	fprintf(file, "device_control_max_read_request_size : " UH_FMT "\n", ptr_struct->device_control_max_read_request_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_start            : "UH_FMT"\n", ptr_struct->w_t_start);
+	fprintf(file, "device_status_correctable_error_detected : " UH_FMT "\n", ptr_struct->device_status_correctable_error_detected);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "epilogue_size        : "UH_FMT"\n", ptr_struct->epilogue_size);
+	fprintf(file, "device_status_nonfatal_error_detected : " UH_FMT "\n", ptr_struct->device_status_nonfatal_error_detected);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_psv_pointer      : "UH_FMT"\n", ptr_struct->w_t_psv_pointer);
+	fprintf(file, "device_status_fatal_error_detected : " UH_FMT "\n", ptr_struct->device_status_fatal_error_detected);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_t_pdf_ptr);
+	fprintf(file, "device_status_ur_error_detected : " UH_FMT "\n", ptr_struct->device_status_ur_error_detected);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_psv_pointer      : "UH_FMT"\n", ptr_struct->m_t_psv_pointer);
+	fprintf(file, "command_register_memory_space : " UH_FMT "\n", ptr_struct->command_register_memory_space);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_t_pdf_ptr);
+	fprintf(file, "command_register_bus_master_en : " UH_FMT "\n", ptr_struct->command_register_bus_master_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_app_tag        : "UH_FMT"\n", ptr_struct->w_dif_app_tag);
+	fprintf(file, "command_register_perr_report_en : " UH_FMT "\n", ptr_struct->command_register_perr_report_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_refresh_dif_params : "UH_FMT"\n", ptr_struct->w_refresh_dif_params);
+	fprintf(file, "command_register_serr_report_en : " UH_FMT "\n", ptr_struct->command_register_serr_report_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_vld        : "UH_FMT"\n", ptr_struct->w_in_line_vld);
+	fprintf(file, "command_register_interrupt_disable : " UH_FMT "\n", ptr_struct->command_register_interrupt_disable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->w_dif_ref_tag);
+	fprintf(file, "status_register_interrupt_status : " UH_FMT "\n", ptr_struct->status_register_interrupt_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+	fprintf(file, "status_register_perr : " UH_FMT "\n", ptr_struct->status_register_perr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_app_tag        : "UH_FMT"\n", ptr_struct->m_dif_app_tag);
+	fprintf(file, "status_register_serr : " UH_FMT "\n", ptr_struct->status_register_serr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_refresh_dif_params : "UH_FMT"\n", ptr_struct->m_refresh_dif_params);
+	fprintf(file, "status_register_received_master_abort : " UH_FMT "\n", ptr_struct->status_register_received_master_abort);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_vld        : "UH_FMT"\n", ptr_struct->m_in_line_vld);
+	fprintf(file, "status_register_received_target_abort : " UH_FMT "\n", ptr_struct->status_register_received_target_abort);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->m_dif_ref_tag);
+	fprintf(file, "status_register_detected_parity_error : " UH_FMT "\n", ptr_struct->status_register_detected_parity_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+	fprintf(file, "status_register_signaled_target_abort : " UH_FMT "\n", ptr_struct->status_register_signaled_target_abort);
 
 }
 
-int connectib_hw_bsf_entry_w_non_repeating_m_repeating_size(void){
-	 return 64;
+int connectib_pf_vf_cfg_space_size(void)
+{
+	 return 28;
 }
 
-void connectib_hw_bsf_entry_w_non_repeating_m_repeating_dump(const struct connectib_hw_bsf_entry_w_non_repeating_m_repeating *ptr_struct, FILE* file) {
-	connectib_hw_bsf_entry_w_non_repeating_m_repeating_print(ptr_struct, file, 0);
+void connectib_pf_vf_cfg_space_dump(const struct connectib_pf_vf_cfg_space *ptr_struct, FILE* file)
+{
+	connectib_pf_vf_cfg_space_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_w_repeating_m_non_repeating_pack(const struct connectib_hw_bsf_entry_w_repeating_m_non_repeating *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_init_info_pack(const struct connectib_hw_init_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_check_gen);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_init);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->m_pad);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_block_size_selector);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->raw_size);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
-
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
-
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
-
-	offset=135;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
-
-	offset=134;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
-
-	offset=131;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
-
-	offset=130;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
-
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
-
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
-
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
-
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
-
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
-
-	offset=272;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
-
-	offset=257;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
-
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
-
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->w_dif_ref_tag);
-
-	offset=320;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
-
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
-
-	offset=385;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
-
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->init_state);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->m_dif_ref_tag);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->init_lock);
 
-	offset=448;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->owner_pf);
 
 }
 
-void connectib_hw_bsf_entry_w_repeating_m_non_repeating_unpack(struct connectib_hw_bsf_entry_w_repeating_m_non_repeating *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_init_info_unpack(struct connectib_hw_init_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->m_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->m_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->m_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=16;
-	ptr_struct->w_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=3;
-	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=32;
-	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=72;
-	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=64;
-	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=104;
-	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=96;
-	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=136;
-	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=135;
-	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=134;
-	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=131;
-	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=130;
-	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	ptr_struct->init_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=168;
-	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 29;
+	ptr_struct->init_lock = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=200;
-	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 12;
+	ptr_struct->owner_pf = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
-	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=232;
-	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_hw_init_info_print(const struct connectib_hw_init_info *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_init_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=224;
-	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "init_state           : " UH_FMT "\n", ptr_struct->init_state);
 
-	offset=272;
-	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "init_lock            : " UH_FMT "\n", ptr_struct->init_lock);
 
-	offset=257;
-	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "owner_pf             : " UH_FMT "\n", ptr_struct->owner_pf);
 
-	offset=256;
-	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=288;
-	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+int connectib_hw_init_info_size(void)
+{
+	 return 4;
+}
 
-	offset=320;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+void connectib_hw_init_info_dump(const struct connectib_hw_init_info *ptr_struct, FILE* file)
+{
+	connectib_hw_init_info_print(ptr_struct, file, 0);
+}
 
-	offset=400;
-	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_hw_cqc_moderation_timestamp_7_0_pack(const struct connectib_hw_cqc_moderation_timestamp_7_0 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=385;
-	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
 
-	offset=384;
-	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=416;
-	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_hw_cqc_moderation_timestamp_7_0_unpack(struct connectib_hw_cqc_moderation_timestamp_7_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=448;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+	offset = 480;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_hw_bsf_entry_w_repeating_m_non_repeating_print(const struct connectib_hw_bsf_entry_w_repeating_m_non_repeating *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_cqc_moderation_timestamp_7_0_print(const struct connectib_hw_cqc_moderation_timestamp_7_0 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_bsf_entry_w_repeating_m_non_repeating ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_cqc_moderation_timestamp_7_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_check_gen          : "UH_FMT"\n", ptr_struct->m_check_gen);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_init               : "UH_FMT"\n", ptr_struct->m_init);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_pad                : "UH_FMT"\n", ptr_struct->m_pad);
+int connectib_hw_cqc_moderation_timestamp_7_0_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_block_size_selector : "UH_FMT"\n", ptr_struct->w_block_size_selector);
+void connectib_hw_cqc_moderation_timestamp_7_0_dump(const struct connectib_hw_cqc_moderation_timestamp_7_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_moderation_timestamp_7_0_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_check_en        : "UH_FMT"\n", ptr_struct->byte_check_en);
+void connectib_hw_cqc_uar_pack(const struct connectib_hw_cqc_uar *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aligned              : "UH_FMT"\n", ptr_struct->aligned);
+	offset = 488;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "raw_size             : "U32H_FMT"\n", ptr_struct->raw_size);
+void connectib_hw_cqc_uar_unpack(struct connectib_hw_cqc_uar *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_psv_pointer      : "UH_FMT"\n", ptr_struct->w_b_psv_pointer);
+	offset = 488;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_b_pdf_ptr);
+}
 
+void connectib_hw_cqc_uar_print(const struct connectib_hw_cqc_uar *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_psv_pointer      : "UH_FMT"\n", ptr_struct->m_b_psv_pointer);
+	fprintf(file, "======== connectib_hw_cqc_uar ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_b_pdf_ptr);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prologue_size        : "UH_FMT"\n", ptr_struct->prologue_size);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_end              : "UH_FMT"\n", ptr_struct->m_t_end);
+int connectib_hw_cqc_uar_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_start            : "UH_FMT"\n", ptr_struct->m_t_start);
+void connectib_hw_cqc_uar_dump(const struct connectib_hw_cqc_uar *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_uar_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_end              : "UH_FMT"\n", ptr_struct->w_t_end);
+void connectib_hw_cqc_moderation_timestamp_39_8_pack(const struct connectib_hw_cqc_moderation_timestamp_39_8 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_start            : "UH_FMT"\n", ptr_struct->w_t_start);
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "epilogue_size        : "UH_FMT"\n", ptr_struct->epilogue_size);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_psv_pointer      : "UH_FMT"\n", ptr_struct->w_t_psv_pointer);
+void connectib_hw_cqc_moderation_timestamp_39_8_unpack(struct connectib_hw_cqc_moderation_timestamp_39_8 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_t_pdf_ptr);
+	offset = 448;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_psv_pointer      : "UH_FMT"\n", ptr_struct->m_t_psv_pointer);
+}
 
+void connectib_hw_cqc_moderation_timestamp_39_8_print(const struct connectib_hw_cqc_moderation_timestamp_39_8 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_t_pdf_ptr);
+	fprintf(file, "======== connectib_hw_cqc_moderation_timestamp_39_8 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_app_tag        : "UH_FMT"\n", ptr_struct->w_dif_app_tag);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_refresh_dif_params : "UH_FMT"\n", ptr_struct->w_refresh_dif_params);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_vld        : "UH_FMT"\n", ptr_struct->w_in_line_vld);
+int connectib_hw_cqc_moderation_timestamp_39_8_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->w_dif_ref_tag);
+void connectib_hw_cqc_moderation_timestamp_39_8_dump(const struct connectib_hw_cqc_moderation_timestamp_39_8 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_moderation_timestamp_39_8_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+void connectib_hw_cqc_pa1_31_12_pack(const struct connectib_hw_cqc_pa1_31_12 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_app_tag        : "UH_FMT"\n", ptr_struct->m_dif_app_tag);
+	offset = 416;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_refresh_dif_params : "UH_FMT"\n", ptr_struct->m_refresh_dif_params);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_vld        : "UH_FMT"\n", ptr_struct->m_in_line_vld);
+void connectib_hw_cqc_pa1_31_12_unpack(struct connectib_hw_cqc_pa1_31_12 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
+	offset = 416;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+
+}
+
+void connectib_hw_cqc_pa1_31_12_print(const struct connectib_hw_cqc_pa1_31_12 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->m_dif_ref_tag);
+	fprintf(file, "======== connectib_hw_cqc_pa1_31_12 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
 }
 
-int connectib_hw_bsf_entry_w_repeating_m_non_repeating_size(void){
+int connectib_hw_cqc_pa1_31_12_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_bsf_entry_w_repeating_m_non_repeating_dump(const struct connectib_hw_bsf_entry_w_repeating_m_non_repeating *ptr_struct, FILE* file) {
-	connectib_hw_bsf_entry_w_repeating_m_non_repeating_print(ptr_struct, file, 0);
+void connectib_hw_cqc_pa1_31_12_dump(const struct connectib_hw_cqc_pa1_31_12 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_pa1_31_12_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_w_repeating_m_repeating_pack(const struct connectib_hw_bsf_entry_w_repeating_m_repeating *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_cqc_moderation_timestamp_51_40_pack(const struct connectib_hw_cqc_moderation_timestamp_51_40 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_block_size_selector);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_block_size_selector);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->raw_size);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+	offset = 436;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->val);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
-
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
-
-	offset=135;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+}
 
-	offset=134;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+void connectib_hw_cqc_moderation_timestamp_51_40_unpack(struct connectib_hw_cqc_moderation_timestamp_51_40 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=131;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+	offset = 436;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=130;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+}
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+void connectib_hw_cqc_moderation_timestamp_51_40_print(const struct connectib_hw_cqc_moderation_timestamp_51_40 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_moderation_timestamp_51_40 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+}
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+int connectib_hw_cqc_moderation_timestamp_51_40_size(void)
+{
+	 return 64;
+}
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+void connectib_hw_cqc_moderation_timestamp_51_40_dump(const struct connectib_hw_cqc_moderation_timestamp_51_40 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_moderation_timestamp_51_40_print(ptr_struct, file, 0);
+}
 
-	offset=272;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+void connectib_hw_cqc_pa1_63_32_pack(const struct connectib_hw_cqc_pa1_63_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=257;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+}
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->w_dif_ref_tag);
+void connectib_hw_cqc_pa1_63_32_unpack(struct connectib_hw_cqc_pa1_63_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=320;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+	offset = 384;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+}
 
-	offset=385;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+void connectib_hw_cqc_pa1_63_32_print(const struct connectib_hw_cqc_pa1_63_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_pa1_63_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->m_dif_ref_tag);
+}
 
-	offset=448;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+int connectib_hw_cqc_pa1_63_32_size(void)
+{
+	 return 64;
+}
 
+void connectib_hw_cqc_pa1_63_32_dump(const struct connectib_hw_cqc_pa1_63_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_pa1_63_32_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_w_repeating_m_repeating_unpack(struct connectib_hw_bsf_entry_w_repeating_m_repeating *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_cqc_mtt_pointer_4_0_pack(const struct connectib_hw_cqc_mtt_pointer_4_0 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->m_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->w_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=3;
-	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 352;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
 
-	offset=32;
-	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=72;
-	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_hw_cqc_mtt_pointer_4_0_unpack(struct connectib_hw_cqc_mtt_pointer_4_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=64;
-	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 352;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=104;
-	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=96;
-	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_hw_cqc_mtt_pointer_4_0_print(const struct connectib_hw_cqc_mtt_pointer_4_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_mtt_pointer_4_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=136;
-	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=135;
-	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=134;
-	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_hw_cqc_mtt_pointer_4_0_size(void)
+{
+	 return 64;
+}
 
-	offset=131;
-	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_mtt_pointer_4_0_dump(const struct connectib_hw_cqc_mtt_pointer_4_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_mtt_pointer_4_0_print(ptr_struct, file, 0);
+}
 
-	offset=130;
-	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_overrun_ignore_pack(const struct connectib_hw_cqc_overrun_ignore *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=168;
-	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 357;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	offset=200;
-	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=192;
-	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_hw_cqc_overrun_ignore_unpack(struct connectib_hw_cqc_overrun_ignore *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=232;
-	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 357;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=224;
-	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=272;
-	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_hw_cqc_overrun_ignore_print(const struct connectib_hw_cqc_overrun_ignore *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_overrun_ignore ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=257;
-	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=256;
-	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=288;
-	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+int connectib_hw_cqc_overrun_ignore_size(void)
+{
+	 return 64;
+}
 
-	offset=320;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+void connectib_hw_cqc_overrun_ignore_dump(const struct connectib_hw_cqc_overrun_ignore *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_overrun_ignore_print(ptr_struct, file, 0);
+}
 
-	offset=400;
-	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_hw_cqc_cq_state_pack(const struct connectib_hw_cqc_cq_state *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=385;
-	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 358;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
 
-	offset=384;
-	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=416;
-	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_hw_cqc_cq_state_unpack(struct connectib_hw_cqc_cq_state *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=448;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+	offset = 358;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
 }
 
-void connectib_hw_bsf_entry_w_repeating_m_repeating_print(const struct connectib_hw_bsf_entry_w_repeating_m_repeating *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_cqc_cq_state_print(const struct connectib_hw_cqc_cq_state *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_bsf_entry_w_repeating_m_repeating ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_cqc_cq_state ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_block_size_selector : "UH_FMT"\n", ptr_struct->m_block_size_selector);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_block_size_selector : "UH_FMT"\n", ptr_struct->w_block_size_selector);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_check_en        : "UH_FMT"\n", ptr_struct->byte_check_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aligned              : "UH_FMT"\n", ptr_struct->aligned);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "raw_size             : "U32H_FMT"\n", ptr_struct->raw_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_psv_pointer      : "UH_FMT"\n", ptr_struct->w_b_psv_pointer);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_b_pdf_ptr);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_psv_pointer      : "UH_FMT"\n", ptr_struct->m_b_psv_pointer);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_b_pdf_ptr);
+int connectib_hw_cqc_cq_state_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prologue_size        : "UH_FMT"\n", ptr_struct->prologue_size);
+void connectib_hw_cqc_cq_state_dump(const struct connectib_hw_cqc_cq_state *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cq_state_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_end              : "UH_FMT"\n", ptr_struct->m_t_end);
+void connectib_hw_cqc_consumer_index_pack(const struct connectib_hw_cqc_consumer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_start            : "UH_FMT"\n", ptr_struct->m_t_start);
+	offset = 360;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_end              : "UH_FMT"\n", ptr_struct->w_t_end);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_start            : "UH_FMT"\n", ptr_struct->w_t_start);
+void connectib_hw_cqc_consumer_index_unpack(struct connectib_hw_cqc_consumer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "epilogue_size        : "UH_FMT"\n", ptr_struct->epilogue_size);
+	offset = 360;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_psv_pointer      : "UH_FMT"\n", ptr_struct->w_t_psv_pointer);
+}
 
+void connectib_hw_cqc_consumer_index_print(const struct connectib_hw_cqc_consumer_index *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_t_pdf_ptr);
+	fprintf(file, "======== connectib_hw_cqc_consumer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_psv_pointer      : "UH_FMT"\n", ptr_struct->m_t_psv_pointer);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_t_pdf_ptr);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_app_tag        : "UH_FMT"\n", ptr_struct->w_dif_app_tag);
+int connectib_hw_cqc_consumer_index_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_refresh_dif_params : "UH_FMT"\n", ptr_struct->w_refresh_dif_params);
+void connectib_hw_cqc_consumer_index_dump(const struct connectib_hw_cqc_consumer_index *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_consumer_index_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_vld        : "UH_FMT"\n", ptr_struct->w_in_line_vld);
+void connectib_hw_cqc_mtt_pointer_36_5_pack(const struct connectib_hw_cqc_mtt_pointer_36_5 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->w_dif_ref_tag);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_app_tag        : "UH_FMT"\n", ptr_struct->m_dif_app_tag);
+void connectib_hw_cqc_mtt_pointer_36_5_unpack(struct connectib_hw_cqc_mtt_pointer_36_5 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_refresh_dif_params : "UH_FMT"\n", ptr_struct->m_refresh_dif_params);
+	offset = 320;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_vld        : "UH_FMT"\n", ptr_struct->m_in_line_vld);
+}
 
+void connectib_hw_cqc_mtt_pointer_36_5_print(const struct connectib_hw_cqc_mtt_pointer_36_5 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->m_dif_ref_tag);
+	fprintf(file, "======== connectib_hw_cqc_mtt_pointer_36_5 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
 
 }
 
-int connectib_hw_bsf_entry_w_repeating_m_repeating_size(void){
+int connectib_hw_cqc_mtt_pointer_36_5_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_bsf_entry_w_repeating_m_repeating_dump(const struct connectib_hw_bsf_entry_w_repeating_m_repeating *ptr_struct, FILE* file) {
-	connectib_hw_bsf_entry_w_repeating_m_repeating_print(ptr_struct, file, 0);
+void connectib_hw_cqc_mtt_pointer_36_5_dump(const struct connectib_hw_cqc_mtt_pointer_36_5 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_mtt_pointer_36_5_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_same_block_non_repeating_pack(const struct connectib_hw_bsf_entry_same_block_non_repeating *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_cqc_cipa_31_3_pack(const struct connectib_hw_cqc_cipa_31_3 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_check_gen);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_init);
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->val);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->m_pad);
+}
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->copy_byte_mask);
+void connectib_hw_cqc_cipa_31_3_unpack(struct connectib_hw_cqc_cipa_31_3 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+	offset = 288;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+void connectib_hw_cqc_cipa_31_3_print(const struct connectib_hw_cqc_cipa_31_3 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_cipa_31_3 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->raw_size);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
+}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+int connectib_hw_cqc_cipa_31_3_size(void)
+{
+	 return 64;
+}
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+void connectib_hw_cqc_cipa_31_3_dump(const struct connectib_hw_cqc_cipa_31_3 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cipa_31_3_print(ptr_struct, file, 0);
+}
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+void connectib_hw_cqc_mtt_pointer_39_37_pack(const struct connectib_hw_cqc_mtt_pointer_39_37 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+	offset = 317;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->val);
 
-	offset=135;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+}
 
-	offset=134;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+void connectib_hw_cqc_mtt_pointer_39_37_unpack(struct connectib_hw_cqc_mtt_pointer_39_37 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=131;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+	offset = 317;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=130;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+}
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+void connectib_hw_cqc_mtt_pointer_39_37_print(const struct connectib_hw_cqc_mtt_pointer_39_37 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_mtt_pointer_39_37 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+}
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+int connectib_hw_cqc_mtt_pointer_39_37_size(void)
+{
+	 return 64;
+}
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+void connectib_hw_cqc_mtt_pointer_39_37_dump(const struct connectib_hw_cqc_mtt_pointer_39_37 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_mtt_pointer_39_37_print(ptr_struct, file, 0);
+}
 
-	offset=272;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+void connectib_hw_cqc_cipa_63_32_pack(const struct connectib_hw_cqc_cipa_63_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=257;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+}
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->w_dif_ref_tag);
+void connectib_hw_cqc_cipa_63_32_unpack(struct connectib_hw_cqc_cipa_63_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=320;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+	offset = 256;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+}
 
-	offset=385;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+void connectib_hw_cqc_cipa_63_32_print(const struct connectib_hw_cqc_cipa_63_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_cipa_63_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->m_dif_ref_tag);
+}
 
-	offset=448;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+int connectib_hw_cqc_cipa_63_32_size(void)
+{
+	 return 64;
+}
 
+void connectib_hw_cqc_cipa_63_32_dump(const struct connectib_hw_cqc_cipa_63_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cipa_63_32_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_same_block_non_repeating_unpack(struct connectib_hw_bsf_entry_same_block_non_repeating *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_cqc_number_of_events_generated_pack(const struct connectib_hw_cqc_number_of_events_generated *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->m_check_gen = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->m_init = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->m_pad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=16;
-	ptr_struct->copy_byte_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=3;
-	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
 
-	offset=32;
-	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=72;
-	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_hw_cqc_number_of_events_generated_unpack(struct connectib_hw_cqc_number_of_events_generated *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=64;
-	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 224;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=104;
-	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=96;
-	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_hw_cqc_number_of_events_generated_print(const struct connectib_hw_cqc_number_of_events_generated *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_number_of_events_generated ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=136;
-	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=135;
-	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=134;
-	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_hw_cqc_number_of_events_generated_size(void)
+{
+	 return 64;
+}
 
-	offset=131;
-	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_number_of_events_generated_dump(const struct connectib_hw_cqc_number_of_events_generated *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_number_of_events_generated_print(ptr_struct, file, 0);
+}
 
-	offset=130;
-	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_db_heartbeat_pack(const struct connectib_hw_cqc_db_heartbeat *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=168;
-	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 226;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	offset=200;
-	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=192;
-	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_hw_cqc_db_heartbeat_unpack(struct connectib_hw_cqc_db_heartbeat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=232;
-	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 226;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=224;
-	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=272;
-	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_hw_cqc_db_heartbeat_print(const struct connectib_hw_cqc_db_heartbeat *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_db_heartbeat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=257;
-	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=256;
-	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=288;
-	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+int connectib_hw_cqc_db_heartbeat_size(void)
+{
+	 return 64;
+}
 
-	offset=320;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+void connectib_hw_cqc_db_heartbeat_dump(const struct connectib_hw_cqc_db_heartbeat *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_db_heartbeat_print(ptr_struct, file, 0);
+}
 
-	offset=400;
-	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_hw_cqc_log2_size_pack(const struct connectib_hw_cqc_log2_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=385;
-	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 227;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
 
-	offset=384;
-	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=416;
-	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_hw_cqc_log2_size_unpack(struct connectib_hw_cqc_log2_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=448;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+	offset = 227;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
 }
 
-void connectib_hw_bsf_entry_same_block_non_repeating_print(const struct connectib_hw_bsf_entry_same_block_non_repeating *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_cqc_log2_size_print(const struct connectib_hw_cqc_log2_size *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_bsf_entry_same_block_non_repeating ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_cqc_log2_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_check_gen          : "UH_FMT"\n", ptr_struct->m_check_gen);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_init               : "UH_FMT"\n", ptr_struct->m_init);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_pad                : "UH_FMT"\n", ptr_struct->m_pad);
+int connectib_hw_cqc_log2_size_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "copy_byte_mask       : "UH_FMT"\n", ptr_struct->copy_byte_mask);
+void connectib_hw_cqc_log2_size_dump(const struct connectib_hw_cqc_log2_size *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_log2_size_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_check_en        : "UH_FMT"\n", ptr_struct->byte_check_en);
+void connectib_hw_cqc_db_ci_pack(const struct connectib_hw_cqc_db_ci *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aligned              : "UH_FMT"\n", ptr_struct->aligned);
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "raw_size             : "U32H_FMT"\n", ptr_struct->raw_size);
+void connectib_hw_cqc_db_ci_unpack(struct connectib_hw_cqc_db_ci *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_psv_pointer      : "UH_FMT"\n", ptr_struct->w_b_psv_pointer);
+	offset = 232;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_b_pdf_ptr);
+}
 
+void connectib_hw_cqc_db_ci_print(const struct connectib_hw_cqc_db_ci *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_psv_pointer      : "UH_FMT"\n", ptr_struct->m_b_psv_pointer);
+	fprintf(file, "======== connectib_hw_cqc_db_ci ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_b_pdf_ptr);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prologue_size        : "UH_FMT"\n", ptr_struct->prologue_size);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_end              : "UH_FMT"\n", ptr_struct->m_t_end);
+int connectib_hw_cqc_db_ci_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_start            : "UH_FMT"\n", ptr_struct->m_t_start);
+void connectib_hw_cqc_db_ci_dump(const struct connectib_hw_cqc_db_ci *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_db_ci_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_end              : "UH_FMT"\n", ptr_struct->w_t_end);
+void connectib_hw_cqc_moderation_min_wait_time_pack(const struct connectib_hw_cqc_moderation_min_wait_time *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_start            : "UH_FMT"\n", ptr_struct->w_t_start);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "epilogue_size        : "UH_FMT"\n", ptr_struct->epilogue_size);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_psv_pointer      : "UH_FMT"\n", ptr_struct->w_t_psv_pointer);
+void connectib_hw_cqc_moderation_min_wait_time_unpack(struct connectib_hw_cqc_moderation_min_wait_time *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_t_pdf_ptr);
+	offset = 192;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_psv_pointer      : "UH_FMT"\n", ptr_struct->m_t_psv_pointer);
+}
 
+void connectib_hw_cqc_moderation_min_wait_time_print(const struct connectib_hw_cqc_moderation_min_wait_time *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_t_pdf_ptr);
+	fprintf(file, "======== connectib_hw_cqc_moderation_min_wait_time ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_app_tag        : "UH_FMT"\n", ptr_struct->w_dif_app_tag);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_refresh_dif_params : "UH_FMT"\n", ptr_struct->w_refresh_dif_params);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_vld        : "UH_FMT"\n", ptr_struct->w_in_line_vld);
+int connectib_hw_cqc_moderation_min_wait_time_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->w_dif_ref_tag);
+void connectib_hw_cqc_moderation_min_wait_time_dump(const struct connectib_hw_cqc_moderation_min_wait_time *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_moderation_min_wait_time_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+void connectib_hw_cqc_eqn_msix_pack(const struct connectib_hw_cqc_eqn_msix *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_app_tag        : "UH_FMT"\n", ptr_struct->m_dif_app_tag);
+	offset = 204;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_refresh_dif_params : "UH_FMT"\n", ptr_struct->m_refresh_dif_params);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_vld        : "UH_FMT"\n", ptr_struct->m_in_line_vld);
+void connectib_hw_cqc_eqn_msix_unpack(struct connectib_hw_cqc_eqn_msix *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 204;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
 
+}
+
+void connectib_hw_cqc_eqn_msix_print(const struct connectib_hw_cqc_eqn_msix *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->m_dif_ref_tag);
+	fprintf(file, "======== connectib_hw_cqc_eqn_msix ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
 }
 
-int connectib_hw_bsf_entry_same_block_non_repeating_size(void){
+int connectib_hw_cqc_eqn_msix_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_bsf_entry_same_block_non_repeating_dump(const struct connectib_hw_bsf_entry_same_block_non_repeating *ptr_struct, FILE* file) {
-	connectib_hw_bsf_entry_same_block_non_repeating_print(ptr_struct, file, 0);
+void connectib_hw_cqc_eqn_msix_dump(const struct connectib_hw_cqc_eqn_msix *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_eqn_msix_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_same_block_repeating_pack(const struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_cqc_moderation_cnt_limit_7_0_pack(const struct connectib_hw_cqc_moderation_cnt_limit_7_0 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_block_size_selector);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->copy_byte_mask);
+}
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->byte_check_en);
+void connectib_hw_cqc_moderation_cnt_limit_7_0_unpack(struct connectib_hw_cqc_moderation_cnt_limit_7_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aligned);
+	offset = 160;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->size);
+}
+
+void connectib_hw_cqc_moderation_cnt_limit_7_0_print(const struct connectib_hw_cqc_moderation_cnt_limit_7_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_moderation_cnt_limit_7_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->raw_size);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_b_psv_pointer);
+}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_b_pdf_ptr);
+int connectib_hw_cqc_moderation_cnt_limit_7_0_size(void)
+{
+	 return 64;
+}
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_b_psv_pointer);
+void connectib_hw_cqc_moderation_cnt_limit_7_0_dump(const struct connectib_hw_cqc_moderation_cnt_limit_7_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_moderation_cnt_limit_7_0_print(ptr_struct, file, 0);
+}
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_b_pdf_ptr);
+void connectib_hw_cqc_producer_index_pack(const struct connectib_hw_cqc_producer_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->prologue_size);
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	offset=135;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_end);
+}
 
-	offset=134;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_t_start);
+void connectib_hw_cqc_producer_index_unpack(struct connectib_hw_cqc_producer_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=131;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_end);
+	offset = 168;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=130;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_t_start);
+}
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->epilogue_size);
+void connectib_hw_cqc_producer_index_print(const struct connectib_hw_cqc_producer_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_producer_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->w_t_psv_pointer);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->w_t_pdf_ptr);
+}
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->m_t_psv_pointer);
+int connectib_hw_cqc_producer_index_size(void)
+{
+	 return 64;
+}
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->m_t_pdf_ptr);
+void connectib_hw_cqc_producer_index_dump(const struct connectib_hw_cqc_producer_index *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_producer_index_print(ptr_struct, file, 0);
+}
 
-	offset=272;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->w_dif_app_tag);
+void connectib_hw_cqc_last_notified_index_pack(const struct connectib_hw_cqc_last_notified_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=257;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_refresh_dif_params);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->w_in_line_vld);
+}
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->w_dif_ref_tag);
+void connectib_hw_cqc_last_notified_index_unpack(struct connectib_hw_cqc_last_notified_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=320;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+	offset = 128;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->m_dif_app_tag);
+}
 
-	offset=385;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_refresh_dif_params);
+void connectib_hw_cqc_last_notified_index_print(const struct connectib_hw_cqc_last_notified_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_last_notified_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->m_in_line_vld);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->m_dif_ref_tag);
+}
 
-	offset=448;
-	connectib_hw_pdf_entry_pack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+int connectib_hw_cqc_last_notified_index_size(void)
+{
+	 return 64;
+}
 
+void connectib_hw_cqc_last_notified_index_dump(const struct connectib_hw_cqc_last_notified_index *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_last_notified_index_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_same_block_repeating_unpack(struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_cqc_moderation_cnt_limit_15_8_pack(const struct connectib_hw_cqc_moderation_cnt_limit_15_8 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->m_block_size_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->copy_byte_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->byte_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=3;
-	ptr_struct->aligned = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
 
-	offset=32;
-	ptr_struct->raw_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=72;
-	ptr_struct->w_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_hw_cqc_moderation_cnt_limit_15_8_unpack(struct connectib_hw_cqc_moderation_cnt_limit_15_8 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=64;
-	ptr_struct->w_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 152;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=104;
-	ptr_struct->m_b_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=96;
-	ptr_struct->m_b_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_hw_cqc_moderation_cnt_limit_15_8_print(const struct connectib_hw_cqc_moderation_cnt_limit_15_8 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_moderation_cnt_limit_15_8 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=136;
-	ptr_struct->prologue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=135;
-	ptr_struct->m_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=134;
-	ptr_struct->m_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_hw_cqc_moderation_cnt_limit_15_8_size(void)
+{
+	 return 64;
+}
 
-	offset=131;
-	ptr_struct->w_t_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_moderation_cnt_limit_15_8_dump(const struct connectib_hw_cqc_moderation_cnt_limit_15_8 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_moderation_cnt_limit_15_8_print(ptr_struct, file, 0);
+}
 
-	offset=130;
-	ptr_struct->w_t_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_pa0_31_12_pack(const struct connectib_hw_cqc_pa0_31_12 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=168;
-	ptr_struct->epilogue_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->val);
 
-	offset=200;
-	ptr_struct->w_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=192;
-	ptr_struct->w_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_hw_cqc_pa0_31_12_unpack(struct connectib_hw_cqc_pa0_31_12 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=232;
-	ptr_struct->m_t_psv_pointer = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 96;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
 
-	offset=224;
-	ptr_struct->m_t_pdf_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=272;
-	ptr_struct->w_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_hw_cqc_pa0_31_12_print(const struct connectib_hw_cqc_pa0_31_12 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_pa0_31_12 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=257;
-	ptr_struct->w_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=256;
-	ptr_struct->w_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=288;
-	ptr_struct->w_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+int connectib_hw_cqc_pa0_31_12_size(void)
+{
+	 return 64;
+}
 
-	offset=320;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->w_in_line_pdf), ptr_buff + offset/8);
+void connectib_hw_cqc_pa0_31_12_dump(const struct connectib_hw_cqc_pa0_31_12 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_pa0_31_12_print(ptr_struct, file, 0);
+}
 
-	offset=400;
-	ptr_struct->m_dif_app_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_hw_cqc_cq_trap_pack(const struct connectib_hw_cqc_cq_trap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=385;
-	ptr_struct->m_refresh_dif_params = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 116;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	offset=384;
-	ptr_struct->m_in_line_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=416;
-	ptr_struct->m_dif_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_hw_cqc_cq_trap_unpack(struct connectib_hw_cqc_cq_trap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=448;
-	connectib_hw_pdf_entry_unpack(&(ptr_struct->m_in_line_pdf), ptr_buff + offset/8);
+	offset = 116;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_bsf_entry_same_block_repeating_print(const struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_cqc_cq_trap_print(const struct connectib_hw_cqc_cq_trap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_bsf_entry_same_block_repeating ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_cqc_cq_trap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_block_size_selector : "UH_FMT"\n", ptr_struct->m_block_size_selector);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "copy_byte_mask       : "UH_FMT"\n", ptr_struct->copy_byte_mask);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_check_en        : "UH_FMT"\n", ptr_struct->byte_check_en);
+int connectib_hw_cqc_cq_trap_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aligned              : "UH_FMT"\n", ptr_struct->aligned);
+void connectib_hw_cqc_cq_trap_dump(const struct connectib_hw_cqc_cq_trap *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cq_trap_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+void connectib_hw_cqc_shrink_pack(const struct connectib_hw_cqc_shrink *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "raw_size             : "U32H_FMT"\n", ptr_struct->raw_size);
+	offset = 117;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_psv_pointer      : "UH_FMT"\n", ptr_struct->w_b_psv_pointer);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_b_pdf_ptr);
+void connectib_hw_cqc_shrink_unpack(struct connectib_hw_cqc_shrink *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_psv_pointer      : "UH_FMT"\n", ptr_struct->m_b_psv_pointer);
+	offset = 117;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_b_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_b_pdf_ptr);
+}
 
+void connectib_hw_cqc_shrink_print(const struct connectib_hw_cqc_shrink *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prologue_size        : "UH_FMT"\n", ptr_struct->prologue_size);
+	fprintf(file, "======== connectib_hw_cqc_shrink ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_end              : "UH_FMT"\n", ptr_struct->m_t_end);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_start            : "UH_FMT"\n", ptr_struct->m_t_start);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_end              : "UH_FMT"\n", ptr_struct->w_t_end);
+int connectib_hw_cqc_shrink_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_start            : "UH_FMT"\n", ptr_struct->w_t_start);
+void connectib_hw_cqc_shrink_dump(const struct connectib_hw_cqc_shrink *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_shrink_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "epilogue_size        : "UH_FMT"\n", ptr_struct->epilogue_size);
+void connectib_hw_cqc_pa_mode_pack(const struct connectib_hw_cqc_pa_mode *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_psv_pointer      : "UH_FMT"\n", ptr_struct->w_t_psv_pointer);
+	offset = 118;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->w_t_pdf_ptr);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_psv_pointer      : "UH_FMT"\n", ptr_struct->m_t_psv_pointer);
+void connectib_hw_cqc_pa_mode_unpack(struct connectib_hw_cqc_pa_mode *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_t_pdf_ptr          : "UH_FMT"\n", ptr_struct->m_t_pdf_ptr);
+	offset = 118;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_app_tag        : "UH_FMT"\n", ptr_struct->w_dif_app_tag);
+}
 
+void connectib_hw_cqc_pa_mode_print(const struct connectib_hw_cqc_pa_mode *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_refresh_dif_params : "UH_FMT"\n", ptr_struct->w_refresh_dif_params);
+	fprintf(file, "======== connectib_hw_cqc_pa_mode ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_vld        : "UH_FMT"\n", ptr_struct->w_in_line_vld);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->w_dif_ref_tag);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->w_in_line_pdf), file, indent_level + 1);
+int connectib_hw_cqc_pa_mode_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_app_tag        : "UH_FMT"\n", ptr_struct->m_dif_app_tag);
+void connectib_hw_cqc_pa_mode_dump(const struct connectib_hw_cqc_pa_mode *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_pa_mode_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_refresh_dif_params : "UH_FMT"\n", ptr_struct->m_refresh_dif_params);
+void connectib_hw_cqc_cqe_heartbeat_pack(const struct connectib_hw_cqc_cqe_heartbeat *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_vld        : "UH_FMT"\n", ptr_struct->m_in_line_vld);
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
 
+void connectib_hw_cqc_cqe_heartbeat_unpack(struct connectib_hw_cqc_cqe_heartbeat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 120;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_hw_cqc_cqe_heartbeat_print(const struct connectib_hw_cqc_cqe_heartbeat *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_dif_ref_tag        : "U32H_FMT"\n", ptr_struct->m_dif_ref_tag);
+	fprintf(file, "======== connectib_hw_cqc_cqe_heartbeat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_in_line_pdf:\n");
-	connectib_hw_pdf_entry_print(&(ptr_struct->m_in_line_pdf), file, indent_level + 1);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
 }
 
-int connectib_hw_bsf_entry_same_block_repeating_size(void){
+int connectib_hw_cqc_cqe_heartbeat_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_bsf_entry_same_block_repeating_dump(const struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, FILE* file) {
-	connectib_hw_bsf_entry_same_block_repeating_print(ptr_struct, file, 0);
+void connectib_hw_cqc_cqe_heartbeat_dump(const struct connectib_hw_cqc_cqe_heartbeat *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cqe_heartbeat_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_dct_pack(const struct connectib_hw_dct *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_cqc_db_recovery_enable_pack(const struct connectib_hw_cqc_db_recovery_enable *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->complete_to_64B_eyald);
+	offset = 121;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
+
+}
 
-	offset=283;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rnr_timer);
+void connectib_hw_cqc_db_recovery_enable_unpack(struct connectib_hw_cqc_db_recovery_enable *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=282;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_enable);
+	offset = 121;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
+}
 
-	offset=275;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->max_message_size);
+void connectib_hw_cqc_db_recovery_enable_print(const struct connectib_hw_cqc_db_recovery_enable *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_db_recovery_enable ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=274;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=273;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->send_with_invalidate_enable);
+}
 
-	offset=272;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_enable);
+int connectib_hw_cqc_db_recovery_enable_size(void)
+{
+	 return 64;
+}
 
-	offset=269;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtu);
+void connectib_hw_cqc_db_recovery_enable_dump(const struct connectib_hw_cqc_db_recovery_enable *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_db_recovery_enable_print(ptr_struct, file, 0);
+}
 
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+void connectib_hw_cqc_cq_page_offset_pack(const struct connectib_hw_cqc_cq_page_offset *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->dc_access_key_log_num_byte);
+	offset = 122;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->val);
 
-	offset=264;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+}
 
-	offset=263;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+void connectib_hw_cqc_cq_page_offset_unpack(struct connectib_hw_cqc_cq_page_offset *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=262;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
+	offset = 122;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=261;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+}
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
+void connectib_hw_cqc_cq_page_offset_print(const struct connectib_hw_cqc_cq_page_offset *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_cq_page_offset ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=300;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=297;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
+}
 
-	offset=296;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+int connectib_hw_cqc_cq_page_offset_size(void)
+{
+	 return 64;
+}
 
-	offset=289;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->my_lid);
+void connectib_hw_cqc_cq_page_offset_dump(const struct connectib_hw_cqc_cq_page_offset *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cq_page_offset_print(ptr_struct, file, 0);
+}
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->atomic_like_write);
+void connectib_hw_cqc_pa0_63_32_pack(const struct connectib_hw_cqc_pa0_63_32 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=328;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->srq_number);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+}
 
-	offset=372;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
+void connectib_hw_cqc_pa0_63_32_unpack(struct connectib_hw_cqc_pa0_63_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
+	offset = 64;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
+}
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ipd);
+void connectib_hw_cqc_pa0_63_32_print(const struct connectib_hw_cqc_pa0_63_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_pa0_63_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
 
-	offset=392;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+}
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
+int connectib_hw_cqc_pa0_63_32_size(void)
+{
+	 return 64;
+}
 
-	offset=424;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
+void connectib_hw_cqc_pa0_63_32_dump(const struct connectib_hw_cqc_pa0_63_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_pa0_63_32_print(ptr_struct, file, 0);
+}
 
-	offset=416;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
+void connectib_hw_cqc_lookahead_size_7_0_pack(const struct connectib_hw_cqc_lookahead_size_7_0 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->dc_access_key);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->val);
 
 }
 
-void connectib_hw_dct_unpack(struct connectib_hw_dct *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_cqc_lookahead_size_7_0_unpack(struct connectib_hw_cqc_lookahead_size_7_0 *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->complete_to_64B_eyald = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
 
-	offset=283;
-	ptr_struct->rnr_timer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+void connectib_hw_cqc_lookahead_size_7_0_print(const struct connectib_hw_cqc_lookahead_size_7_0 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_lookahead_size_7_0 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=282;
-	ptr_struct->write_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=280;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+}
 
-	offset=275;
-	ptr_struct->max_message_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+int connectib_hw_cqc_lookahead_size_7_0_size(void)
+{
+	 return 64;
+}
 
-	offset=274;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_lookahead_size_7_0_dump(const struct connectib_hw_cqc_lookahead_size_7_0 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_lookahead_size_7_0_print(ptr_struct, file, 0);
+}
 
-	offset=273;
-	ptr_struct->send_with_invalidate_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_last_solicited_index_pack(const struct connectib_hw_cqc_last_solicited_index *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=272;
-	ptr_struct->read_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->val);
 
-	offset=269;
-	ptr_struct->mtu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=268;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_last_solicited_index_unpack(struct connectib_hw_cqc_last_solicited_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=265;
-	ptr_struct->dc_access_key_log_num_byte = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 40;
+	ptr_struct->val = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=264;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=263;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_last_solicited_index_print(const struct connectib_hw_cqc_last_solicited_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_last_solicited_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=262;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=261;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=260;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_hw_cqc_last_solicited_index_size(void)
+{
+	 return 64;
+}
 
-	offset=300;
-	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+void connectib_hw_cqc_last_solicited_index_dump(const struct connectib_hw_cqc_last_solicited_index *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_last_solicited_index_print(ptr_struct, file, 0);
+}
 
-	offset=297;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_hw_cqc_last_notified_check_for_arm_en_pack(const struct connectib_hw_cqc_last_notified_check_for_arm_en *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=296;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	offset=289;
-	ptr_struct->my_lid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+}
 
-	offset=288;
-	ptr_struct->atomic_like_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_last_notified_check_for_arm_en_unpack(struct connectib_hw_cqc_last_notified_check_for_arm_en *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=328;
-	ptr_struct->srq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=320;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=372;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+void connectib_hw_cqc_last_notified_check_for_arm_en_print(const struct connectib_hw_cqc_last_notified_check_for_arm_en *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_last_notified_check_for_arm_en ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=368;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=360;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=356;
-	ptr_struct->ipd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+int connectib_hw_cqc_last_notified_check_for_arm_en_size(void)
+{
+	 return 64;
+}
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_hw_cqc_last_notified_check_for_arm_en_dump(const struct connectib_hw_cqc_last_notified_check_for_arm_en *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_last_notified_check_for_arm_en_print(ptr_struct, file, 0);
+}
 
-	offset=392;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_hw_cqc_poll_cq_queue_in_error_state_pack(const struct connectib_hw_cqc_poll_cq_queue_in_error_state *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=384;
-	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	offset=424;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=416;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_hw_cqc_poll_cq_queue_in_error_state_unpack(struct connectib_hw_cqc_poll_cq_queue_in_error_state *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=448;
-	ptr_struct->dc_access_key = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 1;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_dct_print(const struct connectib_hw_dct *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_cqc_poll_cq_queue_in_error_state_print(const struct connectib_hw_cqc_poll_cq_queue_in_error_state *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_dct ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_cqc_poll_cq_queue_in_error_state ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "complete_to_64B_eyald : "U32H_FMT"\n", ptr_struct->complete_to_64B_eyald);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_timer            : "UH_FMT"\n", ptr_struct->rnr_timer);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_enable         : "UH_FMT"\n", ptr_struct->write_enable);
+int connectib_hw_cqc_poll_cq_queue_in_error_state_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+void connectib_hw_cqc_poll_cq_queue_in_error_state_dump(const struct connectib_hw_cqc_poll_cq_queue_in_error_state *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_poll_cq_queue_in_error_state_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_message_size     : "UH_FMT"\n", ptr_struct->max_message_size);
+void connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_pack(const struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "send_with_invalidate_enable : "UH_FMT"\n", ptr_struct->send_with_invalidate_enable);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_enable          : "UH_FMT"\n", ptr_struct->read_enable);
+void connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_unpack(struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtu                  : "UH_FMT"\n", ptr_struct->mtu);
+	offset = 2;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+}
 
+void connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_print(const struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_access_key_log_num_byte : "UH_FMT"\n", ptr_struct->dc_access_key_log_num_byte);
+	fprintf(file, "======== connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+int connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+void connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_dump(const struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
+void connectib_hw_cqc_log_page_size_pack(const struct connectib_hw_cqc_log_page_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+void connectib_hw_cqc_log_page_size_unpack(struct connectib_hw_cqc_log_page_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_lid               : "UH_FMT"\n", ptr_struct->my_lid);
+	offset = 3;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_like_write    : "UH_FMT"\n", ptr_struct->atomic_like_write);
+}
 
+void connectib_hw_cqc_log_page_size_print(const struct connectib_hw_cqc_log_page_size *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_number           : "UH_FMT"\n", ptr_struct->srq_number);
+	fprintf(file, "======== connectib_hw_cqc_log_page_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+int connectib_hw_cqc_log_page_size_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
+void connectib_hw_cqc_log_page_size_dump(const struct connectib_hw_cqc_log_page_size *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_log_page_size_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ipd                  : "UH_FMT"\n", ptr_struct->ipd);
+void connectib_hw_cqc_pa_error_pack(const struct connectib_hw_cqc_pa_error *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->val);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_limit            : "UH_FMT"\n", ptr_struct->hop_limit);
+void connectib_hw_cqc_pa_error_unpack(struct connectib_hw_cqc_pa_error *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
+	offset = 8;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
 
+void connectib_hw_cqc_pa_error_print(const struct connectib_hw_cqc_pa_error *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+	fprintf(file, "======== connectib_hw_cqc_pa_error ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_access_key        : "U64H_FMT"\n", ptr_struct->dc_access_key);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
 }
 
-int connectib_hw_dct_size(void){
+int connectib_hw_cqc_pa_error_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_dct_dump(const struct connectib_hw_dct *ptr_struct, FILE* file) {
-	connectib_hw_dct_print(ptr_struct, file, 0);
+void connectib_hw_cqc_pa_error_dump(const struct connectib_hw_cqc_pa_error *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_pa_error_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_ud_l2_cd_pack(const struct connectib_hw_r_qpc_ud_l2_cd *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_cqc_cqe_coalesce_checksum_msix_pack(const struct connectib_hw_cqc_cqe_coalesce_checksum_msix *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_wire);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_gvmi);
+}
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_lb);
+void connectib_hw_cqc_cqe_coalesce_checksum_msix_unpack(struct connectib_hw_cqc_cqe_coalesce_checksum_msix *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_lb);
+	offset = 13;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+}
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+void connectib_hw_cqc_cqe_coalesce_checksum_msix_print(const struct connectib_hw_cqc_cqe_coalesce_checksum_msix *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_cqe_coalesce_checksum_msix ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+}
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->drop_my_self_multicast);
+int connectib_hw_cqc_cqe_coalesce_checksum_msix_size(void)
+{
+	 return 64;
+}
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_to_cqe);
+void connectib_hw_cqc_cqe_coalesce_checksum_msix_dump(const struct connectib_hw_cqc_cqe_coalesce_checksum_msix *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cqe_coalesce_checksum_msix_print(ptr_struct, file, 0);
+}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+void connectib_hw_cqc_cqe_128b_size_pack(const struct connectib_hw_cqc_cqe_128b_size *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+}
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+void connectib_hw_cqc_cqe_128b_size_unpack(struct connectib_hw_cqc_cqe_128b_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+	offset = 14;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+}
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+void connectib_hw_cqc_cqe_128b_size_print(const struct connectib_hw_cqc_cqe_128b_size *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_cqe_128b_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_producer_index);
+}
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
+int connectib_hw_cqc_cqe_128b_size_size(void)
+{
+	 return 64;
+}
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+void connectib_hw_cqc_cqe_128b_size_dump(const struct connectib_hw_cqc_cqe_128b_size *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cqe_128b_size_print(ptr_struct, file, 0);
+}
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rcyclic_consumer);
+void connectib_hw_cqc_cqc_valid_pack(const struct connectib_hw_cqc_cqc_valid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->val);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+}
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+void connectib_hw_cqc_cqc_valid_unpack(struct connectib_hw_cqc_cqc_valid *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 15;
+	ptr_struct->val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->no_wqe_drop_count);
+}
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+void connectib_hw_cqc_cqc_valid_print(const struct connectib_hw_cqc_cqc_valid *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_cqc_valid ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_wire);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->mpi_uar);
+int connectib_hw_cqc_cqc_valid_size(void)
+{
+	 return 64;
+}
 
+void connectib_hw_cqc_cqc_valid_dump(const struct connectib_hw_cqc_cqc_valid *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_cqc_valid_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_ud_l2_cd_unpack(struct connectib_hw_r_qpc_ud_l2_cd *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_cqc_lookahead_size_23_8_pack(const struct connectib_hw_cqc_lookahead_size_23_8 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->check_source_uc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->val);
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+}
 
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+void connectib_hw_cqc_lookahead_size_23_8_unpack(struct connectib_hw_cqc_lookahead_size_23_8 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=23;
-	ptr_struct->check_source_gvmi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->val = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=22;
-	ptr_struct->check_source_mc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=21;
-	ptr_struct->check_source_uc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_lookahead_size_23_8_print(const struct connectib_hw_cqc_lookahead_size_23_8 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_cqc_lookahead_size_23_8 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " UH_FMT "\n", ptr_struct->val);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_hw_cqc_lookahead_size_23_8_size(void)
+{
+	 return 64;
+}
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_cqc_lookahead_size_23_8_dump(const struct connectib_hw_cqc_lookahead_size_23_8 *ptr_struct, FILE* file)
+{
+	connectib_hw_cqc_lookahead_size_23_8_print(ptr_struct, file, 0);
+}
 
-	offset=3;
-	ptr_struct->drop_my_self_multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_mlnx_enhanced_equal_info_ini_pack(const struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=1;
-	ptr_struct->grh_to_cqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_100kr4_extended_time_sup);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_100cr4_extended_time_sup);
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_40cr4_extended_time_sup);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_40kr4_extended_time_sup);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_kr_extended_time_sup);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->edr_rx_atten_sup);
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->edr_rx_atten);
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fdr_rx_atten_sup);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->fdr_rx_atten);
 
-	offset=112;
-	ptr_struct->rwqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qdr_ddr_ts3_rev);
 
-	offset=96;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+}
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_mlnx_enhanced_equal_info_ini_unpack(struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=192;
-	ptr_struct->rcyclic_consumer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 31;
+	ptr_struct->mlpn_100kr4_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 30;
+	ptr_struct->mlpn_100cr4_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 29;
+	ptr_struct->mlpn_40cr4_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 28;
+	ptr_struct->mlpn_40kr4_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 27;
+	ptr_struct->mlpn_kr_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=368;
-	ptr_struct->no_wqe_drop_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 26;
+	ptr_struct->edr_rx_atten_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 21;
+	ptr_struct->edr_rx_atten = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 20;
+	ptr_struct->fdr_rx_atten_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
-	ptr_struct->check_source_mc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	ptr_struct->fdr_rx_atten = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=480;
-	ptr_struct->mpi_uar = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 14;
+	ptr_struct->qdr_ddr_ts3_rev = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_r_qpc_ud_l2_cd_print(const struct connectib_hw_r_qpc_ud_l2_cd *ptr_struct, FILE* file, int indent_level){
+void connectib_mlnx_enhanced_equal_info_ini_print(const struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_ud_l2_cd ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_mlnx_enhanced_equal_info_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_wire : "UH_FMT"\n", ptr_struct->check_source_uc_wire);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_gvmi    : "UH_FMT"\n", ptr_struct->check_source_gvmi);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_lb   : "UH_FMT"\n", ptr_struct->check_source_mc_lb);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_lb   : "UH_FMT"\n", ptr_struct->check_source_uc_lb);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	fprintf(file, "mlpn_100kr4_extended_time_sup : " UH_FMT "\n", ptr_struct->mlpn_100kr4_extended_time_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "drop_my_self_multicast : "UH_FMT"\n", ptr_struct->drop_my_self_multicast);
+	fprintf(file, "mlpn_100cr4_extended_time_sup : " UH_FMT "\n", ptr_struct->mlpn_100cr4_extended_time_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_to_cqe           : "UH_FMT"\n", ptr_struct->grh_to_cqe);
+	fprintf(file, "mlpn_40cr4_extended_time_sup : " UH_FMT "\n", ptr_struct->mlpn_40cr4_extended_time_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	fprintf(file, "mlpn_40kr4_extended_time_sup : " UH_FMT "\n", ptr_struct->mlpn_40kr4_extended_time_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	fprintf(file, "mlpn_kr_extended_time_sup : " UH_FMT "\n", ptr_struct->mlpn_kr_extended_time_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	fprintf(file, "edr_rx_atten_sup     : " UH_FMT "\n", ptr_struct->edr_rx_atten_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "edr_rx_atten         : " UH_FMT "\n", ptr_struct->edr_rx_atten);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "fdr_rx_atten_sup     : " UH_FMT "\n", ptr_struct->fdr_rx_atten_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "fdr_rx_atten         : " UH_FMT "\n", ptr_struct->fdr_rx_atten);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_producer_index  : "UH_FMT"\n", ptr_struct->rwqe_producer_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_consumer     : "U32H_FMT"\n", ptr_struct->rcyclic_consumer);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_wqe_drop_count    : "UH_FMT"\n", ptr_struct->no_wqe_drop_count);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_wire : "UH_FMT"\n", ptr_struct->check_source_mc_wire);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mpi_uar              : "UH_FMT"\n", ptr_struct->mpi_uar);
+	fprintf(file, "qdr_ddr_ts3_rev      : " UH_FMT "\n", ptr_struct->qdr_ddr_ts3_rev);
 
 }
 
-int connectib_hw_r_qpc_ud_l2_cd_size(void){
-	 return 64;
+int connectib_mlnx_enhanced_equal_info_ini_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_r_qpc_ud_l2_cd_dump(const struct connectib_hw_r_qpc_ud_l2_cd *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_ud_l2_cd_print(ptr_struct, file, 0);
+void connectib_mlnx_enhanced_equal_info_ini_dump(const struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, FILE* file)
+{
+	connectib_mlnx_enhanced_equal_info_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_ud_l2_2srq_pack(const struct connectib_hw_r_qpc_ud_l2_2srq *ptr_struct, u_int8_t* ptr_buff){
+void connectib_mlpn_database_all_protocol_bits_ini_pack(const struct connectib_mlpn_database_all_protocol_bits_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_wire);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_gvmi);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fdr_8_10);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_lb);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlx_kr2);
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_lb);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eth_56gb);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fdr10);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->speed_reduction);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->width_reduction);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eth_cbf);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->drop_my_self_multicast);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_64b_credits);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_to_cqe);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_edr);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_fdr);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_fdr10);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_qdr);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_ddr);
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_sdr);
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_56_kr4);
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_56_kx4);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_kr4);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_producer_index);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_cr4);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_slr4);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_kr);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rcyclic_consumer);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_cr);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_slr);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_xaui);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_sgmii);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fc_protocol);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->no_wqe_drop_count);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eth_protocol);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_protocol);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_64_66_spec_recovery);
 
-	offset=456;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->srq_number);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_128b_llr);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_wire);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ll_llr);
 
 }
 
-void connectib_hw_r_qpc_ud_l2_2srq_unpack(struct connectib_hw_r_qpc_ud_l2_2srq *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_mlpn_database_all_protocol_bits_ini_unpack(struct connectib_mlpn_database_all_protocol_bits_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->check_source_uc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=23;
-	ptr_struct->check_source_gvmi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 31;
+	ptr_struct->fdr_8_10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=22;
-	ptr_struct->check_source_mc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	ptr_struct->mlx_kr2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=21;
-	ptr_struct->check_source_uc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 29;
+	ptr_struct->eth_56gb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	ptr_struct->fdr10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	ptr_struct->speed_reduction = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 26;
+	ptr_struct->width_reduction = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 25;
+	ptr_struct->eth_cbf = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=3;
-	ptr_struct->drop_my_self_multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->ib_64b_credits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
-	ptr_struct->grh_to_cqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 23;
+	ptr_struct->llr_ib_edr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 22;
+	ptr_struct->llr_ib_fdr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 21;
+	ptr_struct->llr_ib_fdr10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 20;
+	ptr_struct->llr_ib_qdr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 19;
+	ptr_struct->llr_ib_ddr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 18;
+	ptr_struct->llr_ib_sdr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 17;
+	ptr_struct->llr_56_kr4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 16;
+	ptr_struct->llr_56_kx4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	ptr_struct->llr_kr4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=112;
-	ptr_struct->rwqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 14;
+	ptr_struct->llr_cr4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 13;
+	ptr_struct->llr_slr4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 12;
+	ptr_struct->llr_kr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->rcyclic_consumer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 11;
+	ptr_struct->llr_cr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 10;
+	ptr_struct->llr_slr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 9;
+	ptr_struct->llr_xaui = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->llr_sgmii = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 6;
+	ptr_struct->fc_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=368;
-	ptr_struct->no_wqe_drop_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 5;
+	ptr_struct->eth_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 4;
+	ptr_struct->ib_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 3;
+	ptr_struct->ib_64_66_spec_recovery = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=456;
-	ptr_struct->srq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 2;
+	ptr_struct->ib_128b_llr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
-	ptr_struct->check_source_mc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	ptr_struct->ll_llr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_r_qpc_ud_l2_2srq_print(const struct connectib_hw_r_qpc_ud_l2_2srq *ptr_struct, FILE* file, int indent_level){
+void connectib_mlpn_database_all_protocol_bits_ini_print(const struct connectib_mlpn_database_all_protocol_bits_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_ud_l2_2srq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_mlpn_database_all_protocol_bits_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_wire : "UH_FMT"\n", ptr_struct->check_source_uc_wire);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_gvmi    : "UH_FMT"\n", ptr_struct->check_source_gvmi);
+	fprintf(file, "fdr_8_10             : " UH_FMT "\n", ptr_struct->fdr_8_10);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_lb   : "UH_FMT"\n", ptr_struct->check_source_mc_lb);
+	fprintf(file, "mlx_kr2              : " UH_FMT "\n", ptr_struct->mlx_kr2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_lb   : "UH_FMT"\n", ptr_struct->check_source_uc_lb);
+	fprintf(file, "eth_56gb             : " UH_FMT "\n", ptr_struct->eth_56gb);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "fdr10                : " UH_FMT "\n", ptr_struct->fdr10);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	fprintf(file, "speed_reduction      : " UH_FMT "\n", ptr_struct->speed_reduction);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	fprintf(file, "width_reduction      : " UH_FMT "\n", ptr_struct->width_reduction);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	fprintf(file, "eth_cbf              : " UH_FMT "\n", ptr_struct->eth_cbf);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "drop_my_self_multicast : "UH_FMT"\n", ptr_struct->drop_my_self_multicast);
+	fprintf(file, "ib_64b_credits       : " UH_FMT "\n", ptr_struct->ib_64b_credits);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_to_cqe           : "UH_FMT"\n", ptr_struct->grh_to_cqe);
+	fprintf(file, "llr_ib_edr           : " UH_FMT "\n", ptr_struct->llr_ib_edr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	fprintf(file, "llr_ib_fdr           : " UH_FMT "\n", ptr_struct->llr_ib_fdr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	fprintf(file, "llr_ib_fdr10         : " UH_FMT "\n", ptr_struct->llr_ib_fdr10);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	fprintf(file, "llr_ib_qdr           : " UH_FMT "\n", ptr_struct->llr_ib_qdr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "llr_ib_ddr           : " UH_FMT "\n", ptr_struct->llr_ib_ddr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "llr_ib_sdr           : " UH_FMT "\n", ptr_struct->llr_ib_sdr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "llr_56_kr4           : " UH_FMT "\n", ptr_struct->llr_56_kr4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	fprintf(file, "llr_56_kx4           : " UH_FMT "\n", ptr_struct->llr_56_kx4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "llr_kr4              : " UH_FMT "\n", ptr_struct->llr_kr4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_producer_index  : "UH_FMT"\n", ptr_struct->rwqe_producer_index);
+	fprintf(file, "llr_cr4              : " UH_FMT "\n", ptr_struct->llr_cr4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
+	fprintf(file, "llr_slr4             : " UH_FMT "\n", ptr_struct->llr_slr4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	fprintf(file, "llr_kr               : " UH_FMT "\n", ptr_struct->llr_kr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_consumer     : "U32H_FMT"\n", ptr_struct->rcyclic_consumer);
+	fprintf(file, "llr_cr               : " UH_FMT "\n", ptr_struct->llr_cr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	fprintf(file, "llr_slr              : " UH_FMT "\n", ptr_struct->llr_slr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	fprintf(file, "llr_xaui             : " UH_FMT "\n", ptr_struct->llr_xaui);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+	fprintf(file, "llr_sgmii            : " UH_FMT "\n", ptr_struct->llr_sgmii);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	fprintf(file, "fc_protocol          : " UH_FMT "\n", ptr_struct->fc_protocol);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_wqe_drop_count    : "UH_FMT"\n", ptr_struct->no_wqe_drop_count);
+	fprintf(file, "eth_protocol         : " UH_FMT "\n", ptr_struct->eth_protocol);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	fprintf(file, "ib_protocol          : " UH_FMT "\n", ptr_struct->ib_protocol);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "ib_64_66_spec_recovery : " UH_FMT "\n", ptr_struct->ib_64_66_spec_recovery);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_number           : "UH_FMT"\n", ptr_struct->srq_number);
+	fprintf(file, "ib_128b_llr          : " UH_FMT "\n", ptr_struct->ib_128b_llr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_wire : "UH_FMT"\n", ptr_struct->check_source_mc_wire);
+	fprintf(file, "ll_llr               : " UH_FMT "\n", ptr_struct->ll_llr);
 
 }
 
-int connectib_hw_r_qpc_ud_l2_2srq_size(void){
-	 return 64;
+int connectib_mlpn_database_all_protocol_bits_ini_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_r_qpc_ud_l2_2srq_dump(const struct connectib_hw_r_qpc_ud_l2_2srq *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_ud_l2_2srq_print(ptr_struct, file, 0);
+void connectib_mlpn_database_all_protocol_bits_ini_dump(const struct connectib_mlpn_database_all_protocol_bits_ini *ptr_struct, FILE* file)
+{
+	connectib_mlpn_database_all_protocol_bits_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_ud_l2_2cyclicbuff_pack(const struct connectib_hw_r_qpc_ud_l2_2cyclicbuff *ptr_struct, u_int8_t* ptr_buff){
+void connectib_serdes_preset_sets_ini_pack(const struct connectib_serdes_preset_sets_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_wire);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_gvmi);
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_lb);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_lb);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->drop_my_self_multicast);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_to_cqe);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
-
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
-
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
-
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
-
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
-
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rcyclic_producer);
-
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
-
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rcyclic_consumer);
-
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
-
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
-
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
-
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
-
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->no_wqe_drop_count);
-
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
-
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
-
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->e2e_pa_63_32);
-
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_wire);
-
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->e2e_pa_31_2);
+	offset = 0;
+	connectib_serdes_conf_preset_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_r_qpc_ud_l2_2cyclicbuff_unpack(struct connectib_hw_r_qpc_ud_l2_2cyclicbuff *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_serdes_preset_sets_ini_unpack(struct connectib_serdes_preset_sets_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->check_source_uc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=23;
-	ptr_struct->check_source_gvmi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=22;
-	ptr_struct->check_source_mc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=21;
-	ptr_struct->check_source_uc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=3;
-	ptr_struct->drop_my_self_multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->grh_to_cqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_serdes_conf_preset_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	offset=96;
-	ptr_struct->rcyclic_producer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_serdes_preset_sets_ini_print(const struct connectib_serdes_preset_sets_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_preset_sets_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=192;
-	ptr_struct->rcyclic_consumer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx:\n");
+	connectib_serdes_conf_preset_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+int connectib_serdes_preset_sets_ini_size(void)
+{
+	 return 64;
+}
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_serdes_preset_sets_ini_dump(const struct connectib_serdes_preset_sets_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_preset_sets_ini_print(ptr_struct, file, 0);
+}
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_serdes_active_sets_ini_pack(const struct connectib_serdes_active_sets_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=368;
-	ptr_struct->no_wqe_drop_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	connectib_serdes_active_rx_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 256;
+	connectib_serdes_active_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=448;
-	ptr_struct->e2e_pa_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_serdes_active_sets_ini_unpack(struct connectib_serdes_active_sets_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=510;
-	ptr_struct->check_source_mc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_serdes_active_rx_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	offset=480;
-	ptr_struct->e2e_pa_31_2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+	offset = 256;
+	connectib_serdes_active_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_r_qpc_ud_l2_2cyclicbuff_print(const struct connectib_hw_r_qpc_ud_l2_2cyclicbuff *ptr_struct, FILE* file, int indent_level){
+void connectib_serdes_active_sets_ini_print(const struct connectib_serdes_active_sets_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_ud_l2_2cyclicbuff ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_serdes_active_sets_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_wire : "UH_FMT"\n", ptr_struct->check_source_uc_wire);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_gvmi    : "UH_FMT"\n", ptr_struct->check_source_gvmi);
+	fprintf(file, "rx:\n");
+	connectib_serdes_active_rx_ini_print(&(ptr_struct->rx), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_lb   : "UH_FMT"\n", ptr_struct->check_source_mc_lb);
+	fprintf(file, "tx:\n");
+	connectib_serdes_active_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_lb   : "UH_FMT"\n", ptr_struct->check_source_uc_lb);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+int connectib_serdes_active_sets_ini_size(void)
+{
+	 return 48;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+void connectib_serdes_active_sets_ini_dump(const struct connectib_serdes_active_sets_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_active_sets_ini_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+void connectib_serdes_force_sets_ini_pack(const struct connectib_serdes_force_sets_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	offset = 0;
+	connectib_serdes_force_rx_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "drop_my_self_multicast : "UH_FMT"\n", ptr_struct->drop_my_self_multicast);
+	offset = 640;
+	connectib_serdes_force_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_to_cqe           : "UH_FMT"\n", ptr_struct->grh_to_cqe);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+void connectib_serdes_force_sets_ini_unpack(struct connectib_serdes_force_sets_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	offset = 0;
+	connectib_serdes_force_rx_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	offset = 640;
+	connectib_serdes_force_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+}
 
+void connectib_serdes_force_sets_ini_print(const struct connectib_serdes_force_sets_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "======== connectib_serdes_force_sets_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "rx:\n");
+	connectib_serdes_force_rx_ini_print(&(ptr_struct->rx), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	fprintf(file, "tx:\n");
+	connectib_serdes_force_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_producer     : "U32H_FMT"\n", ptr_struct->rcyclic_producer);
+int connectib_serdes_force_sets_ini_size(void)
+{
+	 return 120;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+void connectib_serdes_force_sets_ini_dump(const struct connectib_serdes_force_sets_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_force_sets_ini_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_consumer     : "U32H_FMT"\n", ptr_struct->rcyclic_consumer);
+void connectib_serdes_aba_sets_ini_pack(const struct connectib_serdes_aba_sets_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	offset = 0;
+	connectib_serdes_conf_aba_rx_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	offset = 2048;
+	connectib_serdes_conf_aba_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+void connectib_serdes_aba_sets_ini_unpack(struct connectib_serdes_aba_sets_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_wqe_drop_count    : "UH_FMT"\n", ptr_struct->no_wqe_drop_count);
+	offset = 0;
+	connectib_serdes_conf_aba_rx_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	offset = 2048;
+	connectib_serdes_conf_aba_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+}
 
+void connectib_serdes_aba_sets_ini_print(const struct connectib_serdes_aba_sets_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_63_32         : "U32H_FMT"\n", ptr_struct->e2e_pa_63_32);
+	fprintf(file, "======== connectib_serdes_aba_sets_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_wire : "UH_FMT"\n", ptr_struct->check_source_mc_wire);
+	fprintf(file, "rx:\n");
+	connectib_serdes_conf_aba_rx_ini_print(&(ptr_struct->rx), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_31_2          : "UH_FMT"\n", ptr_struct->e2e_pa_31_2);
+	fprintf(file, "tx:\n");
+	connectib_serdes_conf_aba_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
 
 }
 
-int connectib_hw_r_qpc_ud_l2_2cyclicbuff_size(void){
-	 return 64;
+int connectib_serdes_aba_sets_ini_size(void)
+{
+	 return 384;
 }
 
-void connectib_hw_r_qpc_ud_l2_2cyclicbuff_dump(const struct connectib_hw_r_qpc_ud_l2_2cyclicbuff *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_ud_l2_2cyclicbuff_print(ptr_struct, file, 0);
+void connectib_serdes_aba_sets_ini_dump(const struct connectib_serdes_aba_sets_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_aba_sets_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_ud_l2_pack(const struct connectib_hw_r_qpc_ud_l2 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_serdes_autoneg_sets_ini_pack(const struct connectib_serdes_autoneg_sets_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_wire);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_gvmi);
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_lb);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_lb);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->drop_my_self_multicast);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_to_cqe);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
-
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
-
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
-
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
-
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
-
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
-
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_producer_index);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
-
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 0;
+	connectib_serdes_conf_autoneg_rx_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rcyclic_consumer);
+	offset = 2048;
+	connectib_serdes_conf_autoneg_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+}
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+void connectib_serdes_autoneg_sets_ini_unpack(struct connectib_serdes_autoneg_sets_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+	offset = 0;
+	connectib_serdes_conf_autoneg_rx_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 2048;
+	connectib_serdes_conf_autoneg_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->no_wqe_drop_count);
+}
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+void connectib_serdes_autoneg_sets_ini_print(const struct connectib_serdes_autoneg_sets_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_autoneg_sets_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx:\n");
+	connectib_serdes_conf_autoneg_rx_ini_print(&(ptr_struct->rx), file, indent_level + 1);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->e2e_pa_63_32);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx:\n");
+	connectib_serdes_conf_autoneg_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_wire);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->e2e_pa_31_2);
+int connectib_serdes_autoneg_sets_ini_size(void)
+{
+	 return 384;
+}
 
+void connectib_serdes_autoneg_sets_ini_dump(const struct connectib_serdes_autoneg_sets_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_autoneg_sets_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_ud_l2_unpack(struct connectib_hw_r_qpc_ud_l2 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_spec1_3_preset_ini_pack(const struct connectib_spec1_3_preset_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->check_source_uc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->preset_tx_mask_internal);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->preset_tx_mask);
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 59;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask0_start);
 
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 51;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask0_end);
 
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->tx_ABA_en_mask);
 
-	offset=23;
-	ptr_struct->check_source_gvmi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask0);
 
-	offset=22;
-	ptr_struct->check_source_mc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 91;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask1_start);
 
-	offset=21;
-	ptr_struct->check_source_uc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 83;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask1_end);
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->tx_ABA_mode_mask);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask1);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 123;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask2_start);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 115;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask2_end);
 
-	offset=3;
-	ptr_struct->drop_my_self_multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask2);
 
-	offset=1;
-	ptr_struct->grh_to_cqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 155;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask3_start);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 147;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask3_end);
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask3);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 187;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask4_start);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 179;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask4_end);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask4);
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 219;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask5_start);
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 211;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask5_end);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask5);
 
-	offset=112;
-	ptr_struct->rwqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 224;
+	connectib_aba_indexes_pack(&(ptr_struct->aba_indexes), ptr_buff + offset/8);
 
-	offset=96;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+}
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_spec1_3_preset_ini_unpack(struct connectib_spec1_3_preset_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=192;
-	ptr_struct->rcyclic_consumer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->preset_tx_mask_internal = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	ptr_struct->preset_tx_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 59;
+	ptr_struct->aba_mask0_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 51;
+	ptr_struct->aba_mask0_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 48;
+	ptr_struct->tx_ABA_en_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=368;
-	ptr_struct->no_wqe_drop_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	ptr_struct->aba_mask0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 91;
+	ptr_struct->aba_mask1_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 83;
+	ptr_struct->aba_mask1_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=448;
-	ptr_struct->e2e_pa_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 80;
+	ptr_struct->tx_ABA_mode_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=510;
-	ptr_struct->check_source_mc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->aba_mask1 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=480;
-	ptr_struct->e2e_pa_31_2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+	offset = 123;
+	ptr_struct->aba_mask2_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-}
+	offset = 115;
+	ptr_struct->aba_mask2_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-void connectib_hw_r_qpc_ud_l2_print(const struct connectib_hw_r_qpc_ud_l2 *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_ud_l2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 96;
+	ptr_struct->aba_mask2 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_wire : "UH_FMT"\n", ptr_struct->check_source_uc_wire);
+	offset = 155;
+	ptr_struct->aba_mask3_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
+	offset = 147;
+	ptr_struct->aba_mask3_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	offset = 128;
+	ptr_struct->aba_mask3 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	offset = 187;
+	ptr_struct->aba_mask4_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_gvmi    : "UH_FMT"\n", ptr_struct->check_source_gvmi);
+	offset = 179;
+	ptr_struct->aba_mask4_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_lb   : "UH_FMT"\n", ptr_struct->check_source_mc_lb);
+	offset = 160;
+	ptr_struct->aba_mask4 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_lb   : "UH_FMT"\n", ptr_struct->check_source_uc_lb);
+	offset = 219;
+	ptr_struct->aba_mask5_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	offset = 211;
+	ptr_struct->aba_mask5_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	offset = 192;
+	ptr_struct->aba_mask5 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	offset = 224;
+	connectib_aba_indexes_unpack(&(ptr_struct->aba_indexes), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+}
 
+void connectib_spec1_3_preset_ini_print(const struct connectib_spec1_3_preset_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "drop_my_self_multicast : "UH_FMT"\n", ptr_struct->drop_my_self_multicast);
+	fprintf(file, "======== connectib_spec1_3_preset_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_to_cqe           : "UH_FMT"\n", ptr_struct->grh_to_cqe);
+	fprintf(file, "preset_tx_mask_internal : " UH_FMT "\n", ptr_struct->preset_tx_mask_internal);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	fprintf(file, "preset_tx_mask       : " UH_FMT "\n", ptr_struct->preset_tx_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	fprintf(file, "aba_mask0_start      : " UH_FMT "\n", ptr_struct->aba_mask0_start);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	fprintf(file, "aba_mask0_end        : " UH_FMT "\n", ptr_struct->aba_mask0_end);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "tx_ABA_en_mask       : " UH_FMT "\n", ptr_struct->tx_ABA_en_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "aba_mask0            : " UH_FMT "\n", ptr_struct->aba_mask0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "aba_mask1_start      : " UH_FMT "\n", ptr_struct->aba_mask1_start);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	fprintf(file, "aba_mask1_end        : " UH_FMT "\n", ptr_struct->aba_mask1_end);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "tx_ABA_mode_mask     : " UH_FMT "\n", ptr_struct->tx_ABA_mode_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_producer_index  : "UH_FMT"\n", ptr_struct->rwqe_producer_index);
+	fprintf(file, "aba_mask1            : " UH_FMT "\n", ptr_struct->aba_mask1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
+	fprintf(file, "aba_mask2_start      : " UH_FMT "\n", ptr_struct->aba_mask2_start);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	fprintf(file, "aba_mask2_end        : " UH_FMT "\n", ptr_struct->aba_mask2_end);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_consumer     : "U32H_FMT"\n", ptr_struct->rcyclic_consumer);
+	fprintf(file, "aba_mask2            : " UH_FMT "\n", ptr_struct->aba_mask2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	fprintf(file, "aba_mask3_start      : " UH_FMT "\n", ptr_struct->aba_mask3_start);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	fprintf(file, "aba_mask3_end        : " UH_FMT "\n", ptr_struct->aba_mask3_end);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+	fprintf(file, "aba_mask3            : " UH_FMT "\n", ptr_struct->aba_mask3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	fprintf(file, "aba_mask4_start      : " UH_FMT "\n", ptr_struct->aba_mask4_start);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_wqe_drop_count    : "UH_FMT"\n", ptr_struct->no_wqe_drop_count);
+	fprintf(file, "aba_mask4_end        : " UH_FMT "\n", ptr_struct->aba_mask4_end);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	fprintf(file, "aba_mask4            : " UH_FMT "\n", ptr_struct->aba_mask4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "aba_mask5_start      : " UH_FMT "\n", ptr_struct->aba_mask5_start);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_63_32         : "U32H_FMT"\n", ptr_struct->e2e_pa_63_32);
+	fprintf(file, "aba_mask5_end        : " UH_FMT "\n", ptr_struct->aba_mask5_end);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_wire : "UH_FMT"\n", ptr_struct->check_source_mc_wire);
+	fprintf(file, "aba_mask5            : " UH_FMT "\n", ptr_struct->aba_mask5);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_31_2          : "UH_FMT"\n", ptr_struct->e2e_pa_31_2);
+	fprintf(file, "aba_indexes:\n");
+	connectib_aba_indexes_print(&(ptr_struct->aba_indexes), file, indent_level + 1);
 
 }
 
-int connectib_hw_r_qpc_ud_l2_size(void){
-	 return 64;
+int connectib_spec1_3_preset_ini_size(void)
+{
+	 return 76;
 }
 
-void connectib_hw_r_qpc_ud_l2_dump(const struct connectib_hw_r_qpc_ud_l2 *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_ud_l2_print(ptr_struct, file, 0);
+void connectib_spec1_3_preset_ini_dump(const struct connectib_spec1_3_preset_ini *ptr_struct, FILE* file)
+{
+	connectib_spec1_3_preset_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_unconnected_common_pack(const struct connectib_hw_r_qpc_unconnected_common *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ib_ini_per_lcl_ini_pack(const struct connectib_ib_ini_per_lcl_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_wire);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_gvmi);
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_lb);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_uc_lb);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec1_2_ib_support);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec1_3_ib_support);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fec_request_fdr);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->drop_my_self_multicast);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fec_request_fdr10);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_to_cqe);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->heartbeat_enable);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->force_speed_val);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_speed_en);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->force_width_val);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_width_en);
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_qdr_is_fdr10_val);
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_qdr_is_fdr10_en);
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_llr_fdr_en);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_llr_fdr_val);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_llr_fdr10_en);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rcyclic_consumer);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_llr_fdr10_val);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_en);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_cell_size);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->speed_reduction_force);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->width_reduction_force);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->no_wqe_drop_count);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_fdr10_force);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_fdr_force);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec1_2_legacy_mode);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->check_source_mc_wire);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_disable_failsafe);
 
 }
 
-void connectib_hw_r_qpc_unconnected_common_unpack(struct connectib_hw_r_qpc_unconnected_common *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ib_ini_per_lcl_ini_unpack(struct connectib_ib_ini_per_lcl_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->check_source_uc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=23;
-	ptr_struct->check_source_gvmi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=22;
-	ptr_struct->check_source_mc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=21;
-	ptr_struct->check_source_uc_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 31;
+	ptr_struct->spec1_2_ib_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	ptr_struct->spec1_3_ib_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 29;
+	ptr_struct->fec_request_fdr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=3;
-	ptr_struct->drop_my_self_multicast = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	ptr_struct->fec_request_fdr10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
-	ptr_struct->grh_to_cqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	ptr_struct->heartbeat_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 23;
+	ptr_struct->force_speed_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 22;
+	ptr_struct->force_speed_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 18;
+	ptr_struct->force_width_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 17;
+	ptr_struct->force_width_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->force_qdr_is_fdr10_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	ptr_struct->force_qdr_is_fdr10_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 14;
+	ptr_struct->force_llr_fdr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 13;
+	ptr_struct->force_llr_fdr_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 12;
+	ptr_struct->force_llr_fdr10_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->rcyclic_consumer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 11;
+	ptr_struct->force_llr_fdr10_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 10;
+	ptr_struct->mlpn_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 9;
+	ptr_struct->llr_cell_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->speed_reduction_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 7;
+	ptr_struct->width_reduction_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=368;
-	ptr_struct->no_wqe_drop_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 6;
+	ptr_struct->llr_fdr10_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->llr_fdr_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 1;
+	ptr_struct->spec1_2_legacy_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
-	ptr_struct->check_source_mc_wire = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->llr_disable_failsafe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_r_qpc_unconnected_common_print(const struct connectib_hw_r_qpc_unconnected_common *ptr_struct, FILE* file, int indent_level){
+void connectib_ib_ini_per_lcl_ini_print(const struct connectib_ib_ini_per_lcl_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_unconnected_common ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ib_ini_per_lcl_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_wire : "UH_FMT"\n", ptr_struct->check_source_uc_wire);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	fprintf(file, "spec1_2_ib_support   : " UH_FMT "\n", ptr_struct->spec1_2_ib_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	fprintf(file, "spec1_3_ib_support   : " UH_FMT "\n", ptr_struct->spec1_3_ib_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_gvmi    : "UH_FMT"\n", ptr_struct->check_source_gvmi);
+	fprintf(file, "fec_request_fdr      : " UH_FMT "\n", ptr_struct->fec_request_fdr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_lb   : "UH_FMT"\n", ptr_struct->check_source_mc_lb);
+	fprintf(file, "fec_request_fdr10    : " UH_FMT "\n", ptr_struct->fec_request_fdr10);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_uc_lb   : "UH_FMT"\n", ptr_struct->check_source_uc_lb);
+	fprintf(file, "heartbeat_enable     : " UH_FMT "\n", ptr_struct->heartbeat_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "force_speed_val      : " UH_FMT "\n", ptr_struct->force_speed_val);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	fprintf(file, "force_speed_en       : " UH_FMT "\n", ptr_struct->force_speed_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	fprintf(file, "force_width_val      : " UH_FMT "\n", ptr_struct->force_width_val);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	fprintf(file, "force_width_en       : " UH_FMT "\n", ptr_struct->force_width_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "drop_my_self_multicast : "UH_FMT"\n", ptr_struct->drop_my_self_multicast);
+	fprintf(file, "force_qdr_is_fdr10_val : " UH_FMT "\n", ptr_struct->force_qdr_is_fdr10_val);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_to_cqe           : "UH_FMT"\n", ptr_struct->grh_to_cqe);
+	fprintf(file, "force_qdr_is_fdr10_en : " UH_FMT "\n", ptr_struct->force_qdr_is_fdr10_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	fprintf(file, "force_llr_fdr_en     : " UH_FMT "\n", ptr_struct->force_llr_fdr_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	fprintf(file, "force_llr_fdr_val    : " UH_FMT "\n", ptr_struct->force_llr_fdr_val);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	fprintf(file, "force_llr_fdr10_en   : " UH_FMT "\n", ptr_struct->force_llr_fdr10_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "force_llr_fdr10_val  : " UH_FMT "\n", ptr_struct->force_llr_fdr10_val);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "mlpn_en              : " UH_FMT "\n", ptr_struct->mlpn_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "llr_cell_size        : " UH_FMT "\n", ptr_struct->llr_cell_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	fprintf(file, "speed_reduction_force : " UH_FMT "\n", ptr_struct->speed_reduction_force);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "width_reduction_force : " UH_FMT "\n", ptr_struct->width_reduction_force);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	fprintf(file, "llr_fdr10_force      : " UH_FMT "\n", ptr_struct->llr_fdr10_force);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_consumer     : "U32H_FMT"\n", ptr_struct->rcyclic_consumer);
+	fprintf(file, "llr_fdr_force        : " UH_FMT "\n", ptr_struct->llr_fdr_force);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	fprintf(file, "spec1_2_legacy_mode  : " UH_FMT "\n", ptr_struct->spec1_2_legacy_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_wqe_drop_count    : "UH_FMT"\n", ptr_struct->no_wqe_drop_count);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "check_source_mc_wire : "UH_FMT"\n", ptr_struct->check_source_mc_wire);
+	fprintf(file, "llr_disable_failsafe : " UH_FMT "\n", ptr_struct->llr_disable_failsafe);
 
 }
 
-int connectib_hw_r_qpc_unconnected_common_size(void){
-	 return 64;
+int connectib_ib_ini_per_lcl_ini_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_r_qpc_unconnected_common_dump(const struct connectib_hw_r_qpc_unconnected_common *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_unconnected_common_print(ptr_struct, file, 0);
+void connectib_ib_ini_per_lcl_ini_dump(const struct connectib_ib_ini_per_lcl_ini *ptr_struct, FILE* file)
+{
+	connectib_ib_ini_per_lcl_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_xrc_pack(const struct connectib_hw_r_qpc_xrc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_serdes_param_mask_ini_pack(const struct connectib_serdes_param_mask_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_opcode);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_enable);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->send_with_invalidate_enable);
+	offset = 0;
+	connectib_serdes_param_mask_per_proto_ini_pack(&(ptr_struct->encode_8_10), ptr_buff + offset/8);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	offset = 32;
+	connectib_serdes_param_mask_per_proto_ini_pack(&(ptr_struct->encode_64_66), ptr_buff + offset/8);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
+	offset = 64;
+	connectib_serdes_param_mask_per_proto_ini_pack(&(ptr_struct->encode_kr), ptr_buff + offset/8);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
+	offset = 96;
+	connectib_serdes_param_mask_per_proto_ini_pack(&(ptr_struct->fdr), ptr_buff + offset/8);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_enable);
+}
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->atomic_like_write);
+void connectib_serdes_param_mask_ini_unpack(struct connectib_serdes_param_mask_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
+	offset = 0;
+	connectib_serdes_param_mask_per_proto_ini_unpack(&(ptr_struct->encode_8_10), ptr_buff + offset/8);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+	offset = 32;
+	connectib_serdes_param_mask_per_proto_ini_unpack(&(ptr_struct->encode_64_66), ptr_buff + offset/8);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
+	offset = 64;
+	connectib_serdes_param_mask_per_proto_ini_unpack(&(ptr_struct->encode_kr), ptr_buff + offset/8);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ack_type);
+	offset = 96;
+	connectib_serdes_param_mask_per_proto_ini_unpack(&(ptr_struct->fdr), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+}
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->write_rkey);
+void connectib_serdes_param_mask_ini_print(const struct connectib_serdes_param_mask_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_serdes_param_mask_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encode_8_10:\n");
+	connectib_serdes_param_mask_per_proto_ini_print(&(ptr_struct->encode_8_10), file, indent_level + 1);
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rnr_timer);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encode_64_66:\n");
+	connectib_serdes_param_mask_per_proto_ini_print(&(ptr_struct->encode_64_66), file, indent_level + 1);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encode_kr:\n");
+	connectib_serdes_param_mask_per_proto_ini_print(&(ptr_struct->encode_kr), file, indent_level + 1);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fdr:\n");
+	connectib_serdes_param_mask_per_proto_ini_print(&(ptr_struct->fdr), file, indent_level + 1);
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+}
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+int connectib_serdes_param_mask_ini_size(void)
+{
+	 return 16;
+}
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+void connectib_serdes_param_mask_ini_dump(const struct connectib_serdes_param_mask_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_param_mask_ini_print(ptr_struct, file, 0);
+}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+void connectib_nv_tlv_data_tpt_capabilities_pack(const struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_producer_index);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->log_max_payload_size_supported);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
+}
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+void connectib_nv_tlv_data_tpt_capabilities_unpack(struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_non_acked_psn);
+	offset = 0;
+	ptr_struct->log_max_payload_size_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+}
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->msn);
+void connectib_nv_tlv_data_tpt_capabilities_print(const struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_tlv_data_tpt_capabilities ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_max_payload_size_supported : " UH_FMT "\n", ptr_struct->log_max_payload_size_supported);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+}
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+int connectib_nv_tlv_data_tpt_capabilities_size(void)
+{
+	 return 4;
+}
 
-	offset=312;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_read_pointer);
+void connectib_nv_tlv_data_tpt_capabilities_dump(const struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_data_tpt_capabilities_print(ptr_struct, file, 0);
+}
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+void connectib_nv_tpt_conf_pack(const struct connectib_nv_tpt_conf *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_length_committed);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_max_payload_size);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
+}
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->sqn);
+void connectib_nv_tpt_conf_unpack(struct connectib_nv_tpt_conf *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	offset = 28;
+	ptr_struct->log_max_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+}
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->write_va);
+void connectib_nv_tpt_conf_print(const struct connectib_nv_tpt_conf *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_tpt_conf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=456;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->srq_number);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_max_payload_size : %s (" UH_FMT ")\n", (ptr_struct->log_max_payload_size == 0 ? ("AUTOMATIC") : ((ptr_struct->log_max_payload_size == 12 ? ("_4KB") : ("unknown")))), ptr_struct->log_max_payload_size);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->connection_state);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->xrc_domain);
+int connectib_nv_tpt_conf_size(void)
+{
+	 return 4;
+}
 
+void connectib_nv_tpt_conf_dump(const struct connectib_nv_tpt_conf *ptr_struct, FILE* file)
+{
+	connectib_nv_tpt_conf_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_xrc_unpack(struct connectib_hw_r_qpc_xrc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_global_pci_cap_pack(const struct connectib_nv_global_pci_cap *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->last_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_prefetchable_pf_bar_supported);
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->read_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pf_bar_size_supported);
 
-	offset=17;
-	ptr_struct->send_with_invalidate_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_bar_size_supported);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_pf_msix_supported);
 
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_vf_msix_supported);
 
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_pfs_supported);
 
-	offset=8;
-	ptr_struct->write_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->max_total_bar_valid);
 
-	offset=7;
-	ptr_struct->atomic_like_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->max_total_msix_valid);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->max_vfs_per_pf_valid);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_vfs_per_pf);
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_num_pfs);
 
-	offset=1;
-	ptr_struct->ack_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpp_support);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_qos_control_support);
 
-	offset=32;
-	ptr_struct->write_rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_support);
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 90;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_log_pf_uar_bar_size);
 
-	offset=75;
-	ptr_struct->rnr_timer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_log_vf_uar_bar_size);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 74;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->max_num_pf_msix);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->max_num_vf_msix);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_total_msix);
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_total_bar);
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_nv_global_pci_cap_unpack(struct connectib_nv_global_pci_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=112;
-	ptr_struct->rwqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 8;
+	ptr_struct->non_prefetchable_pf_bar_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 7;
+	ptr_struct->pf_bar_size_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 6;
+	ptr_struct->vf_bar_size_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=168;
-	ptr_struct->first_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 5;
+	ptr_struct->num_pf_msix_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 4;
+	ptr_struct->num_vf_msix_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=200;
-	ptr_struct->msn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 3;
+	ptr_struct->num_pfs_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 2;
+	ptr_struct->max_total_bar_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 1;
+	ptr_struct->max_total_msix_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	ptr_struct->max_vfs_per_pf_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=312;
-	ptr_struct->rdb_read_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 48;
+	ptr_struct->max_vfs_per_pf = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 44;
+	ptr_struct->max_num_pfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
-	ptr_struct->rx_length_committed = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 34;
+	ptr_struct->fpp_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=368;
-	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 33;
+	ptr_struct->vf_qos_control_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=357;
-	ptr_struct->sqn = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 32;
+	ptr_struct->sriov_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 90;
+	ptr_struct->max_log_pf_uar_bar_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 84;
+	ptr_struct->max_log_vf_uar_bar_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=384;
-	ptr_struct->write_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 74;
+	ptr_struct->max_num_pf_msix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=456;
-	ptr_struct->srq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 64;
+	ptr_struct->max_num_vf_msix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=510;
-	ptr_struct->connection_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 96;
+	ptr_struct->max_total_msix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=480;
-	ptr_struct->xrc_domain = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 128;
+	ptr_struct->max_total_bar = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_r_qpc_xrc_print(const struct connectib_hw_r_qpc_xrc *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_global_pci_cap_print(const struct connectib_nv_global_pci_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_xrc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_global_pci_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_opcode          : "UH_FMT"\n", ptr_struct->last_opcode);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "non_prefetchable_pf_bar_supported : " UH_FMT "\n", ptr_struct->non_prefetchable_pf_bar_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_enable          : "UH_FMT"\n", ptr_struct->read_enable);
+	fprintf(file, "pf_bar_size_supported : " UH_FMT "\n", ptr_struct->pf_bar_size_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "send_with_invalidate_enable : "UH_FMT"\n", ptr_struct->send_with_invalidate_enable);
+	fprintf(file, "vf_bar_size_supported : " UH_FMT "\n", ptr_struct->vf_bar_size_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	fprintf(file, "num_pf_msix_supported : " UH_FMT "\n", ptr_struct->num_pf_msix_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+	fprintf(file, "num_vf_msix_supported : " UH_FMT "\n", ptr_struct->num_vf_msix_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+	fprintf(file, "num_pfs_supported    : " UH_FMT "\n", ptr_struct->num_pfs_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_enable         : "UH_FMT"\n", ptr_struct->write_enable);
+	fprintf(file, "max_total_bar_valid  : " UH_FMT "\n", ptr_struct->max_total_bar_valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_like_write    : "UH_FMT"\n", ptr_struct->atomic_like_write);
+	fprintf(file, "max_total_msix_valid : " UH_FMT "\n", ptr_struct->max_total_msix_valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	fprintf(file, "max_vfs_per_pf_valid : " UH_FMT "\n", ptr_struct->max_vfs_per_pf_valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	fprintf(file, "max_vfs_per_pf       : " UH_FMT "\n", ptr_struct->max_vfs_per_pf);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+	fprintf(file, "max_num_pfs          : " UH_FMT "\n", ptr_struct->max_num_pfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_type             : "UH_FMT"\n", ptr_struct->ack_type);
+	fprintf(file, "fpp_support          : " UH_FMT "\n", ptr_struct->fpp_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	fprintf(file, "vf_qos_control_support : " UH_FMT "\n", ptr_struct->vf_qos_control_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_rkey           : "U32H_FMT"\n", ptr_struct->write_rkey);
+	fprintf(file, "sriov_support        : " UH_FMT "\n", ptr_struct->sriov_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	fprintf(file, "max_log_pf_uar_bar_size : " UH_FMT "\n", ptr_struct->max_log_pf_uar_bar_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_timer            : "UH_FMT"\n", ptr_struct->rnr_timer);
+	fprintf(file, "max_log_vf_uar_bar_size : " UH_FMT "\n", ptr_struct->max_log_vf_uar_bar_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	fprintf(file, "max_num_pf_msix      : " UH_FMT "\n", ptr_struct->max_num_pf_msix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "max_num_vf_msix      : " UH_FMT "\n", ptr_struct->max_num_vf_msix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "max_total_msix       : " U32H_FMT "\n", ptr_struct->max_total_msix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "max_total_bar        : " U32H_FMT "\n", ptr_struct->max_total_bar);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+int connectib_nv_global_pci_cap_size(void)
+{
+	 return 20;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_producer_index  : "UH_FMT"\n", ptr_struct->rwqe_producer_index);
+void connectib_nv_global_pci_cap_dump(const struct connectib_nv_global_pci_cap *ptr_struct, FILE* file)
+{
+	connectib_nv_global_pci_cap_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
+void connectib_nv_global_pci_conf_pack(const struct connectib_nv_global_pci_conf *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->toolpf_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_non_acked_psn  : "UH_FMT"\n", ptr_struct->first_non_acked_psn);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_prefetchable_pf_bar);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_write_pointer    : "UH_FMT"\n", ptr_struct->rdb_write_pointer);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_prefetchable_pf_bar_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msn                  : "UH_FMT"\n", ptr_struct->msn);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pf_bar_size_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_bar_size_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_pf_msix_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_vf_msix_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_read_pointer     : "UH_FMT"\n", ptr_struct->rdb_read_pointer);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_pfs_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpp_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_length_committed  : "UH_FMT"\n", ptr_struct->rx_length_committed);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->full_vf_qos_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_gvmi             : "UH_FMT"\n", ptr_struct->dct_gvmi);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqn                  : "UH_FMT"\n", ptr_struct->sqn);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->total_vfs);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_pfs);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpp_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_va             : "U64H_FMT"\n", ptr_struct->write_va);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->full_vf_qos);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_number           : "UH_FMT"\n", ptr_struct->srq_number);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connection_state     : "UH_FMT"\n", ptr_struct->connection_state);
+	offset = 90;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_pf_uar_bar_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "xrc_domain           : "UH_FMT"\n", ptr_struct->xrc_domain);
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_vf_uar_bar_size);
 
-}
+	offset = 74;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->num_pf_msix);
 
-int connectib_hw_r_qpc_xrc_size(void){
-	 return 64;
-}
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->num_vf_msix);
 
-void connectib_hw_r_qpc_xrc_dump(const struct connectib_hw_r_qpc_xrc *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_xrc_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_dcr_pack(const struct connectib_hw_r_qpc_dcr *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_global_pci_conf_unpack(struct connectib_nv_global_pci_conf *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_opcode);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
+	offset = 15;
+	ptr_struct->toolpf_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
+	offset = 14;
+	ptr_struct->non_prefetchable_pf_bar = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+	offset = 8;
+	ptr_struct->non_prefetchable_pf_bar_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_enable);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->send_with_invalidate_enable);
+	offset = 7;
+	ptr_struct->pf_bar_size_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	offset = 6;
+	ptr_struct->vf_bar_size_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
+	offset = 5;
+	ptr_struct->num_pf_msix_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
+	offset = 4;
+	ptr_struct->num_vf_msix_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_enable);
+	offset = 3;
+	ptr_struct->num_pfs_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->atomic_like_write);
+	offset = 2;
+	ptr_struct->fpp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
+	offset = 1;
+	ptr_struct->full_vf_qos_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+	offset = 0;
+	ptr_struct->sriov_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
+	offset = 48;
+	ptr_struct->total_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ack_type);
+	offset = 44;
+	ptr_struct->num_pfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 34;
+	ptr_struct->fpp_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->write_rkey);
+	offset = 33;
+	ptr_struct->full_vf_qos = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	offset = 32;
+	ptr_struct->sriov_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rnr_timer);
+	offset = 90;
+	ptr_struct->log_pf_uar_bar_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	offset = 84;
+	ptr_struct->log_vf_uar_bar_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	offset = 74;
+	ptr_struct->num_pf_msix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+	offset = 64;
+	ptr_struct->num_vf_msix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+}
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+void connectib_nv_global_pci_conf_print(const struct connectib_nv_global_pci_conf *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_global_pci_conf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "toolpf_en            : " UH_FMT "\n", ptr_struct->toolpf_en);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_producer_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "non_prefetchable_pf_bar : " UH_FMT "\n", ptr_struct->non_prefetchable_pf_bar);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "non_prefetchable_pf_bar_valid : " UH_FMT "\n", ptr_struct->non_prefetchable_pf_bar_valid);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pf_bar_size_valid    : " UH_FMT "\n", ptr_struct->pf_bar_size_valid);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_non_acked_psn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_bar_size_valid    : " UH_FMT "\n", ptr_struct->vf_bar_size_valid);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_pf_msix_valid    : " UH_FMT "\n", ptr_struct->num_pf_msix_valid);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->msn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_vf_msix_valid    : " UH_FMT "\n", ptr_struct->num_vf_msix_valid);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dct_number);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_pfs_valid        : " UH_FMT "\n", ptr_struct->num_pfs_valid);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpp_valid            : " UH_FMT "\n", ptr_struct->fpp_valid);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "full_vf_qos_valid    : " UH_FMT "\n", ptr_struct->full_vf_qos_valid);
 
-	offset=312;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_read_pointer);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sriov_valid          : " UH_FMT "\n", ptr_struct->sriov_valid);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "total_vfs            : " UH_FMT "\n", ptr_struct->total_vfs);
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_length_committed);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_pfs              : " UH_FMT "\n", ptr_struct->num_pfs);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpp_en               : " UH_FMT "\n", ptr_struct->fpp_en);
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->sqn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "full_vf_qos          : " UH_FMT "\n", ptr_struct->full_vf_qos);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sriov_en             : " UH_FMT "\n", ptr_struct->sriov_en);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_pf_uar_bar_size  : " UH_FMT "\n", ptr_struct->log_pf_uar_bar_size);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->write_va);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_vf_uar_bar_size  : " UH_FMT "\n", ptr_struct->log_vf_uar_bar_size);
 
-	offset=456;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_dcr);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_pf_msix          : " UH_FMT "\n", ptr_struct->num_pf_msix);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->connection_state);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_vf_msix          : " UH_FMT "\n", ptr_struct->num_vf_msix);
 
-	offset=509;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dcr_connected);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->responder_session_id);
+int connectib_nv_global_pci_conf_size(void)
+{
+	 return 12;
+}
 
+void connectib_nv_global_pci_conf_dump(const struct connectib_nv_global_pci_conf *ptr_struct, FILE* file)
+{
+	connectib_nv_global_pci_conf_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_dcr_unpack(struct connectib_hw_r_qpc_dcr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_acs_ctrl_fields_pack(const struct connectib_pcie_acs_ctrl_fields *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->last_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->read_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->send_with_invalidate_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_source_validation);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_translation_blocking);
 
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_p2p_request_redirect);
 
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_p2p_complition_redirect);
 
-	offset=8;
-	ptr_struct->write_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_upstream_forwarding);
 
-	offset=7;
-	ptr_struct->atomic_like_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_p2p_egress_control);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_direct_translated_p2p);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->egress_controll_vector_size);
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_source_validation_enable);
 
-	offset=1;
-	ptr_struct->ack_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_translation_blocking_enable);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_p2p_request_redirect_enable);
 
-	offset=32;
-	ptr_struct->write_rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_p2p_complition_redirect_enable);
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_p2p_upstream_forwarding_enable);
 
-	offset=75;
-	ptr_struct->rnr_timer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_p2p_egress_control_enable);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_direct_translated_p2p_enable);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=112;
-	ptr_struct->rwqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=96;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=168;
-	ptr_struct->first_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=160;
-	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=200;
-	ptr_struct->msn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_pcie_acs_ctrl_fields_unpack(struct connectib_pcie_acs_ctrl_fields *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=232;
-	ptr_struct->dct_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 31;
+	ptr_struct->acs_source_validation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 30;
+	ptr_struct->acs_translation_blocking = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 29;
+	ptr_struct->acs_p2p_request_redirect = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=312;
-	ptr_struct->rdb_read_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 28;
+	ptr_struct->acs_p2p_complition_redirect = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 27;
+	ptr_struct->acs_upstream_forwarding = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=320;
-	ptr_struct->rx_length_committed = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 26;
+	ptr_struct->acs_p2p_egress_control = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=368;
-	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 25;
+	ptr_struct->acs_direct_translated_p2p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=357;
-	ptr_struct->sqn = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 16;
+	ptr_struct->egress_controll_vector_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	ptr_struct->acs_source_validation_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 14;
+	ptr_struct->acs_translation_blocking_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=384;
-	ptr_struct->write_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 13;
+	ptr_struct->acs_p2p_request_redirect_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=456;
-	ptr_struct->next_dcr = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 12;
+	ptr_struct->acs_p2p_complition_redirect_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
-	ptr_struct->connection_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 11;
+	ptr_struct->acs_p2p_upstream_forwarding_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=509;
-	ptr_struct->dcr_connected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 10;
+	ptr_struct->acs_p2p_egress_control_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=480;
-	ptr_struct->responder_session_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 9;
+	ptr_struct->acs_direct_translated_p2p_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_r_qpc_dcr_print(const struct connectib_hw_r_qpc_dcr *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_acs_ctrl_fields_print(const struct connectib_pcie_acs_ctrl_fields *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_dcr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_acs_ctrl_fields ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
+	fprintf(file, "acs_source_validation : " UH_FMT "\n", ptr_struct->acs_source_validation);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_opcode          : "UH_FMT"\n", ptr_struct->last_opcode);
+	fprintf(file, "acs_translation_blocking : " UH_FMT "\n", ptr_struct->acs_translation_blocking);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	fprintf(file, "acs_p2p_request_redirect : " UH_FMT "\n", ptr_struct->acs_p2p_request_redirect);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	fprintf(file, "acs_p2p_complition_redirect : " UH_FMT "\n", ptr_struct->acs_p2p_complition_redirect);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "acs_upstream_forwarding : " UH_FMT "\n", ptr_struct->acs_upstream_forwarding);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_enable          : "UH_FMT"\n", ptr_struct->read_enable);
+	fprintf(file, "acs_p2p_egress_control : " UH_FMT "\n", ptr_struct->acs_p2p_egress_control);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "send_with_invalidate_enable : "UH_FMT"\n", ptr_struct->send_with_invalidate_enable);
+	fprintf(file, "acs_direct_translated_p2p : " UH_FMT "\n", ptr_struct->acs_direct_translated_p2p);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	fprintf(file, "egress_controll_vector_size : " UH_FMT "\n", ptr_struct->egress_controll_vector_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+	fprintf(file, "acs_source_validation_enable : " UH_FMT "\n", ptr_struct->acs_source_validation_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+	fprintf(file, "acs_translation_blocking_enable : " UH_FMT "\n", ptr_struct->acs_translation_blocking_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_enable         : "UH_FMT"\n", ptr_struct->write_enable);
+	fprintf(file, "acs_p2p_request_redirect_enable : " UH_FMT "\n", ptr_struct->acs_p2p_request_redirect_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_like_write    : "UH_FMT"\n", ptr_struct->atomic_like_write);
+	fprintf(file, "acs_p2p_complition_redirect_enable : " UH_FMT "\n", ptr_struct->acs_p2p_complition_redirect_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	fprintf(file, "acs_p2p_upstream_forwarding_enable : " UH_FMT "\n", ptr_struct->acs_p2p_upstream_forwarding_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	fprintf(file, "acs_p2p_egress_control_enable : " UH_FMT "\n", ptr_struct->acs_p2p_egress_control_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+	fprintf(file, "acs_direct_translated_p2p_enable : " UH_FMT "\n", ptr_struct->acs_direct_translated_p2p_enable);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_type             : "UH_FMT"\n", ptr_struct->ack_type);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+int connectib_pcie_acs_ctrl_fields_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_rkey           : "U32H_FMT"\n", ptr_struct->write_rkey);
+void connectib_pcie_acs_ctrl_fields_dump(const struct connectib_pcie_acs_ctrl_fields *ptr_struct, FILE* file)
+{
+	connectib_pcie_acs_ctrl_fields_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+void connectib_header_log_pack(const struct connectib_header_log *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_timer            : "UH_FMT"\n", ptr_struct->rnr_timer);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hdr_127_96);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hdr_95_64);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hdr_63_32);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hdr_31_0);
+
+}
+
+void connectib_header_log_unpack(struct connectib_header_log *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->hdr_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->hdr_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->hdr_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->hdr_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
 
+void connectib_header_log_print(const struct connectib_header_log *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "======== connectib_header_log ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	fprintf(file, "hdr_127_96           : " U32H_FMT "\n", ptr_struct->hdr_127_96);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "hdr_95_64            : " U32H_FMT "\n", ptr_struct->hdr_95_64);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_producer_index  : "UH_FMT"\n", ptr_struct->rwqe_producer_index);
+	fprintf(file, "hdr_63_32            : " U32H_FMT "\n", ptr_struct->hdr_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
+	fprintf(file, "hdr_31_0             : " U32H_FMT "\n", ptr_struct->hdr_31_0);
+
+}
+
+int connectib_header_log_size(void)
+{
+	 return 16;
+}
+
+void connectib_header_log_dump(const struct connectib_header_log *ptr_struct, FILE* file)
+{
+	connectib_header_log_print(ptr_struct, file, 0);
+}
+
+void connectib_advanced_error_cap_ctl_pack(const struct connectib_advanced_error_cap_ctl *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->first_error_pointer);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_non_acked_psn  : "UH_FMT"\n", ptr_struct->first_non_acked_psn);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_generation_cap);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_write_pointer    : "UH_FMT"\n", ptr_struct->rdb_write_pointer);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_generation_enable);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msn                  : "UH_FMT"\n", ptr_struct->msn);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_check_cap);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_number           : "UH_FMT"\n", ptr_struct->dct_number);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_check_enable);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+void connectib_advanced_error_cap_ctl_unpack(struct connectib_advanced_error_cap_ctl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_read_pointer     : "UH_FMT"\n", ptr_struct->rdb_read_pointer);
+	offset = 27;
+	ptr_struct->first_error_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	offset = 26;
+	ptr_struct->ecrc_generation_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_length_committed  : "UH_FMT"\n", ptr_struct->rx_length_committed);
+	offset = 25;
+	ptr_struct->ecrc_generation_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_gvmi             : "UH_FMT"\n", ptr_struct->dct_gvmi);
+	offset = 24;
+	ptr_struct->ecrc_check_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqn                  : "UH_FMT"\n", ptr_struct->sqn);
+	offset = 23;
+	ptr_struct->ecrc_check_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+}
 
+void connectib_advanced_error_cap_ctl_print(const struct connectib_advanced_error_cap_ctl *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "======== connectib_advanced_error_cap_ctl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_va             : "U64H_FMT"\n", ptr_struct->write_va);
+	fprintf(file, "first_error_pointer  : " UH_FMT "\n", ptr_struct->first_error_pointer);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_dcr             : "UH_FMT"\n", ptr_struct->next_dcr);
+	fprintf(file, "ecrc_generation_cap  : " UH_FMT "\n", ptr_struct->ecrc_generation_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connection_state     : "UH_FMT"\n", ptr_struct->connection_state);
+	fprintf(file, "ecrc_generation_enable : " UH_FMT "\n", ptr_struct->ecrc_generation_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dcr_connected        : "UH_FMT"\n", ptr_struct->dcr_connected);
+	fprintf(file, "ecrc_check_cap       : " UH_FMT "\n", ptr_struct->ecrc_check_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "responder_session_id : "UH_FMT"\n", ptr_struct->responder_session_id);
+	fprintf(file, "ecrc_check_enable    : " UH_FMT "\n", ptr_struct->ecrc_check_enable);
 
 }
 
-int connectib_hw_r_qpc_dcr_size(void){
-	 return 64;
+int connectib_advanced_error_cap_ctl_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_r_qpc_dcr_dump(const struct connectib_hw_r_qpc_dcr *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_dcr_print(ptr_struct, file, 0);
+void connectib_advanced_error_cap_ctl_dump(const struct connectib_advanced_error_cap_ctl *ptr_struct, FILE* file)
+{
+	connectib_advanced_error_cap_ctl_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_rc_uc_2srq_pack(const struct connectib_hw_r_qpc_rc_uc_2srq *ptr_struct, u_int8_t* ptr_buff){
+void connectib_correctable_error_mask_pack(const struct connectib_correctable_error_mask *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_error_mask);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved1);
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved2);
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved3);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_opcode);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved4);
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved5);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bad_tlp_mask);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bad_dllp_mask);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_enable);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->replay_num_rollover_mask);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->send_with_invalidate_enable);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved9);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved10);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved11);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->replay_timer_timeout_mask);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_enable);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->advisory_non_fatal_err_mask);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->atomic_like_write);
+}
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
+void connectib_correctable_error_mask_unpack(struct connectib_correctable_error_mask *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+	offset = 31;
+	ptr_struct->receiver_error_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
+	offset = 30;
+	ptr_struct->reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ack_type);
+	offset = 29;
+	ptr_struct->reserved2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 28;
+	ptr_struct->reserved3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->write_rkey);
+	offset = 27;
+	ptr_struct->reserved4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	offset = 26;
+	ptr_struct->reserved5 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rnr_timer);
+	offset = 25;
+	ptr_struct->bad_tlp_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	offset = 24;
+	ptr_struct->bad_dllp_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	offset = 23;
+	ptr_struct->replay_num_rollover_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+	offset = 22;
+	ptr_struct->reserved9 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+	offset = 21;
+	ptr_struct->reserved10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 20;
+	ptr_struct->reserved11 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	offset = 19;
+	ptr_struct->replay_timer_timeout_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_producer_index);
+	offset = 18;
+	ptr_struct->advisory_non_fatal_err_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
+}
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+void connectib_correctable_error_mask_print(const struct connectib_correctable_error_mask *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_correctable_error_mask ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_non_acked_psn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "receiver_error_mask  : " UH_FMT "\n", ptr_struct->receiver_error_mask);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved1            : " UH_FMT "\n", ptr_struct->reserved1);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->msn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved2            : " UH_FMT "\n", ptr_struct->reserved2);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved3            : " UH_FMT "\n", ptr_struct->reserved3);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved4            : " UH_FMT "\n", ptr_struct->reserved4);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved5            : " UH_FMT "\n", ptr_struct->reserved5);
 
-	offset=312;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_read_pointer);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bad_tlp_mask         : " UH_FMT "\n", ptr_struct->bad_tlp_mask);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bad_dllp_mask        : " UH_FMT "\n", ptr_struct->bad_dllp_mask);
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_length_committed);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "replay_num_rollover_mask : " UH_FMT "\n", ptr_struct->replay_num_rollover_mask);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved9            : " UH_FMT "\n", ptr_struct->reserved9);
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->sqn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved10           : " UH_FMT "\n", ptr_struct->reserved10);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved11           : " UH_FMT "\n", ptr_struct->reserved11);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "replay_timer_timeout_mask : " UH_FMT "\n", ptr_struct->replay_timer_timeout_mask);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->write_va);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "advisory_non_fatal_err_mask : " UH_FMT "\n", ptr_struct->advisory_non_fatal_err_mask);
 
-	offset=456;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->srq_number);
+}
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->connection_state);
+int connectib_correctable_error_mask_size(void)
+{
+	 return 4;
+}
 
+void connectib_correctable_error_mask_dump(const struct connectib_correctable_error_mask *ptr_struct, FILE* file)
+{
+	connectib_correctable_error_mask_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_rc_uc_2srq_unpack(struct connectib_hw_r_qpc_rc_uc_2srq *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_correctable_error_status_pack(const struct connectib_correctable_error_status *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_error_status);
+
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bad_tlp_status);
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bad_dllp_status);
 
-	offset=28;
-	ptr_struct->last_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->replay_num_rollover_status);
 
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->replay_timer_timeout_status);
 
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->advisory_nonftl_err_status);
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=18;
-	ptr_struct->read_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_correctable_error_status_unpack(struct connectib_correctable_error_status *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=17;
-	ptr_struct->send_with_invalidate_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 31;
+	ptr_struct->receiver_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 25;
+	ptr_struct->bad_tlp_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->bad_dllp_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 23;
+	ptr_struct->replay_num_rollover_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=8;
-	ptr_struct->write_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 19;
+	ptr_struct->replay_timer_timeout_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=7;
-	ptr_struct->atomic_like_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 18;
+	ptr_struct->advisory_nonftl_err_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_correctable_error_status_print(const struct connectib_correctable_error_status *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_correctable_error_status ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "receiver_error_status : " UH_FMT "\n", ptr_struct->receiver_error_status);
 
-	offset=1;
-	ptr_struct->ack_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bad_tlp_status       : " UH_FMT "\n", ptr_struct->bad_tlp_status);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bad_dllp_status      : " UH_FMT "\n", ptr_struct->bad_dllp_status);
 
-	offset=32;
-	ptr_struct->write_rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "replay_num_rollover_status : " UH_FMT "\n", ptr_struct->replay_num_rollover_status);
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "replay_timer_timeout_status : " UH_FMT "\n", ptr_struct->replay_timer_timeout_status);
 
-	offset=75;
-	ptr_struct->rnr_timer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "advisory_nonftl_err_status : " UH_FMT "\n", ptr_struct->advisory_nonftl_err_status);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_correctable_error_status_size(void)
+{
+	 return 4;
+}
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_correctable_error_status_dump(const struct connectib_correctable_error_status *ptr_struct, FILE* file)
+{
+	connectib_correctable_error_status_print(ptr_struct, file, 0);
+}
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_uncorrectable_error_severity_pack(const struct connectib_uncorrectable_error_severity *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->training_error_severity);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved1);
 
-	offset=112;
-	ptr_struct->rwqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved2);
 
-	offset=96;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved3);
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->data_link_protocol_error);
 
-	offset=168;
-	ptr_struct->first_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved5);
 
-	offset=160;
-	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved6);
 
-	offset=200;
-	ptr_struct->msn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved7);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved8);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved9);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved10);
 
-	offset=312;
-	ptr_struct->rdb_read_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved11);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->poisoned_tlp);
 
-	offset=320;
-	ptr_struct->rx_length_committed = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->flow_control_protocol_error);
 
-	offset=368;
-	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout);
 
-	offset=357;
-	ptr_struct->sqn = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completer_abort);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unexpected_completion);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_overflow);
 
-	offset=384;
-	ptr_struct->write_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->malformed_tlp);
 
-	offset=456;
-	ptr_struct->srq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_error);
 
-	offset=510;
-	ptr_struct->connection_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request_error);
 
 }
 
-void connectib_hw_r_qpc_rc_uc_2srq_print(const struct connectib_hw_r_qpc_rc_uc_2srq *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_rc_uc_2srq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
+void connectib_uncorrectable_error_severity_unpack(struct connectib_uncorrectable_error_severity *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_opcode          : "UH_FMT"\n", ptr_struct->last_opcode);
+	offset = 31;
+	ptr_struct->training_error_severity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	offset = 30;
+	ptr_struct->reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	offset = 29;
+	ptr_struct->reserved2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	offset = 28;
+	ptr_struct->reserved3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_enable          : "UH_FMT"\n", ptr_struct->read_enable);
+	offset = 27;
+	ptr_struct->data_link_protocol_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "send_with_invalidate_enable : "UH_FMT"\n", ptr_struct->send_with_invalidate_enable);
+	offset = 26;
+	ptr_struct->reserved5 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	offset = 25;
+	ptr_struct->reserved6 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+	offset = 24;
+	ptr_struct->reserved7 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+	offset = 23;
+	ptr_struct->reserved8 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_enable         : "UH_FMT"\n", ptr_struct->write_enable);
+	offset = 22;
+	ptr_struct->reserved9 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_like_write    : "UH_FMT"\n", ptr_struct->atomic_like_write);
+	offset = 21;
+	ptr_struct->reserved10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	offset = 20;
+	ptr_struct->reserved11 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	offset = 19;
+	ptr_struct->poisoned_tlp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+	offset = 18;
+	ptr_struct->flow_control_protocol_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_type             : "UH_FMT"\n", ptr_struct->ack_type);
+	offset = 17;
+	ptr_struct->completion_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	offset = 16;
+	ptr_struct->completer_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_rkey           : "U32H_FMT"\n", ptr_struct->write_rkey);
+	offset = 15;
+	ptr_struct->unexpected_completion = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	offset = 14;
+	ptr_struct->receiver_overflow = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_timer            : "UH_FMT"\n", ptr_struct->rnr_timer);
+	offset = 13;
+	ptr_struct->malformed_tlp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	offset = 12;
+	ptr_struct->ecrc_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	offset = 11;
+	ptr_struct->unsupported_request_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+}
 
+void connectib_uncorrectable_error_severity_print(const struct connectib_uncorrectable_error_severity *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "======== connectib_uncorrectable_error_severity ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	fprintf(file, "training_error_severity : " UH_FMT "\n", ptr_struct->training_error_severity);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "reserved1            : " UH_FMT "\n", ptr_struct->reserved1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_producer_index  : "UH_FMT"\n", ptr_struct->rwqe_producer_index);
+	fprintf(file, "reserved2            : " UH_FMT "\n", ptr_struct->reserved2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
+	fprintf(file, "reserved3            : " UH_FMT "\n", ptr_struct->reserved3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	fprintf(file, "data_link_protocol_error : " UH_FMT "\n", ptr_struct->data_link_protocol_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_non_acked_psn  : "UH_FMT"\n", ptr_struct->first_non_acked_psn);
+	fprintf(file, "reserved5            : " UH_FMT "\n", ptr_struct->reserved5);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_write_pointer    : "UH_FMT"\n", ptr_struct->rdb_write_pointer);
+	fprintf(file, "reserved6            : " UH_FMT "\n", ptr_struct->reserved6);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msn                  : "UH_FMT"\n", ptr_struct->msn);
+	fprintf(file, "reserved7            : " UH_FMT "\n", ptr_struct->reserved7);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	fprintf(file, "reserved8            : " UH_FMT "\n", ptr_struct->reserved8);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	fprintf(file, "reserved9            : " UH_FMT "\n", ptr_struct->reserved9);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+	fprintf(file, "reserved10           : " UH_FMT "\n", ptr_struct->reserved10);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_read_pointer     : "UH_FMT"\n", ptr_struct->rdb_read_pointer);
+	fprintf(file, "reserved11           : " UH_FMT "\n", ptr_struct->reserved11);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	fprintf(file, "poisoned_tlp         : " UH_FMT "\n", ptr_struct->poisoned_tlp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_length_committed  : "UH_FMT"\n", ptr_struct->rx_length_committed);
+	fprintf(file, "flow_control_protocol_error : " UH_FMT "\n", ptr_struct->flow_control_protocol_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_gvmi             : "UH_FMT"\n", ptr_struct->dct_gvmi);
+	fprintf(file, "completion_timeout   : " UH_FMT "\n", ptr_struct->completion_timeout);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqn                  : "UH_FMT"\n", ptr_struct->sqn);
+	fprintf(file, "completer_abort      : " UH_FMT "\n", ptr_struct->completer_abort);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	fprintf(file, "unexpected_completion : " UH_FMT "\n", ptr_struct->unexpected_completion);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "receiver_overflow    : " UH_FMT "\n", ptr_struct->receiver_overflow);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_va             : "U64H_FMT"\n", ptr_struct->write_va);
+	fprintf(file, "malformed_tlp        : " UH_FMT "\n", ptr_struct->malformed_tlp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_number           : "UH_FMT"\n", ptr_struct->srq_number);
+	fprintf(file, "ecrc_error           : " UH_FMT "\n", ptr_struct->ecrc_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connection_state     : "UH_FMT"\n", ptr_struct->connection_state);
+	fprintf(file, "unsupported_request_error : " UH_FMT "\n", ptr_struct->unsupported_request_error);
 
 }
 
-int connectib_hw_r_qpc_rc_uc_2srq_size(void){
-	 return 64;
+int connectib_uncorrectable_error_severity_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_r_qpc_rc_uc_2srq_dump(const struct connectib_hw_r_qpc_rc_uc_2srq *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_rc_uc_2srq_print(ptr_struct, file, 0);
+void connectib_uncorrectable_error_severity_dump(const struct connectib_uncorrectable_error_severity *ptr_struct, FILE* file)
+{
+	connectib_uncorrectable_error_severity_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_rc_uc_2cycbuff_pack(const struct connectib_hw_r_qpc_rc_uc_2cycbuff *ptr_struct, u_int8_t* ptr_buff){
+void connectib_uncorrectable_error_mask_pack(const struct connectib_uncorrectable_error_mask *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_opcode);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_enable);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->send_with_invalidate_enable);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
-
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_enable);
-
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->atomic_like_write);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ack_type);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->write_rkey);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
-
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rnr_timer);
-
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
-
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
-
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
-
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
-
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->training_error_mask);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved1);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rcyclic_producer);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved2);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved3);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_non_acked_psn);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->data_link_protocol_error);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved5);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rcyclic_consumer);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved6);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved7);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved8);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved9);
 
-	offset=312;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_read_pointer);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved10);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved11);
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_length_committed);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->poisoned_tlp);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->flow_control_protocol_error);
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->sqn);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completer_abort);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unexpected_completion);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->write_va);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_overflow);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->e2e_pa_63_32);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->malformed_tlp);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->connection_state);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_error);
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->e2e_pa_31_2);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request_error);
 
 }
 
-void connectib_hw_r_qpc_rc_uc_2cycbuff_unpack(struct connectib_hw_r_qpc_rc_uc_2cycbuff *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_uncorrectable_error_mask_unpack(struct connectib_uncorrectable_error_mask *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->last_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->read_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->send_with_invalidate_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=8;
-	ptr_struct->write_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=7;
-	ptr_struct->atomic_like_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->ack_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	ptr_struct->write_rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=75;
-	ptr_struct->rnr_timer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 31;
+	ptr_struct->training_error_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	ptr_struct->reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->rcyclic_producer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 29;
+	ptr_struct->reserved2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 28;
+	ptr_struct->reserved3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=168;
-	ptr_struct->first_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 27;
+	ptr_struct->data_link_protocol_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 26;
+	ptr_struct->reserved5 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->rcyclic_consumer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 25;
+	ptr_struct->reserved6 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 24;
+	ptr_struct->reserved7 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 23;
+	ptr_struct->reserved8 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 22;
+	ptr_struct->reserved9 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=312;
-	ptr_struct->rdb_read_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 21;
+	ptr_struct->reserved10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 20;
+	ptr_struct->reserved11 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=320;
-	ptr_struct->rx_length_committed = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 19;
+	ptr_struct->poisoned_tlp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=368;
-	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 18;
+	ptr_struct->flow_control_protocol_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=357;
-	ptr_struct->sqn = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 17;
+	ptr_struct->completion_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->completer_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 15;
+	ptr_struct->unexpected_completion = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=384;
-	ptr_struct->write_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 14;
+	ptr_struct->receiver_overflow = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=448;
-	ptr_struct->e2e_pa_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 13;
+	ptr_struct->malformed_tlp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
-	ptr_struct->connection_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 12;
+	ptr_struct->ecrc_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=480;
-	ptr_struct->e2e_pa_31_2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+	offset = 11;
+	ptr_struct->unsupported_request_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_r_qpc_rc_uc_2cycbuff_print(const struct connectib_hw_r_qpc_rc_uc_2cycbuff *ptr_struct, FILE* file, int indent_level){
+void connectib_uncorrectable_error_mask_print(const struct connectib_uncorrectable_error_mask *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_rc_uc_2cycbuff ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_uncorrectable_error_mask ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
+	fprintf(file, "training_error_mask  : " UH_FMT "\n", ptr_struct->training_error_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_opcode          : "UH_FMT"\n", ptr_struct->last_opcode);
+	fprintf(file, "reserved1            : " UH_FMT "\n", ptr_struct->reserved1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	fprintf(file, "reserved2            : " UH_FMT "\n", ptr_struct->reserved2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	fprintf(file, "reserved3            : " UH_FMT "\n", ptr_struct->reserved3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "data_link_protocol_error : " UH_FMT "\n", ptr_struct->data_link_protocol_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_enable          : "UH_FMT"\n", ptr_struct->read_enable);
+	fprintf(file, "reserved5            : " UH_FMT "\n", ptr_struct->reserved5);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "send_with_invalidate_enable : "UH_FMT"\n", ptr_struct->send_with_invalidate_enable);
+	fprintf(file, "reserved6            : " UH_FMT "\n", ptr_struct->reserved6);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	fprintf(file, "reserved7            : " UH_FMT "\n", ptr_struct->reserved7);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+	fprintf(file, "reserved8            : " UH_FMT "\n", ptr_struct->reserved8);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+	fprintf(file, "reserved9            : " UH_FMT "\n", ptr_struct->reserved9);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_enable         : "UH_FMT"\n", ptr_struct->write_enable);
+	fprintf(file, "reserved10           : " UH_FMT "\n", ptr_struct->reserved10);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_like_write    : "UH_FMT"\n", ptr_struct->atomic_like_write);
+	fprintf(file, "reserved11           : " UH_FMT "\n", ptr_struct->reserved11);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	fprintf(file, "poisoned_tlp         : " UH_FMT "\n", ptr_struct->poisoned_tlp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	fprintf(file, "flow_control_protocol_error : " UH_FMT "\n", ptr_struct->flow_control_protocol_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+	fprintf(file, "completion_timeout   : " UH_FMT "\n", ptr_struct->completion_timeout);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_type             : "UH_FMT"\n", ptr_struct->ack_type);
+	fprintf(file, "completer_abort      : " UH_FMT "\n", ptr_struct->completer_abort);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	fprintf(file, "unexpected_completion : " UH_FMT "\n", ptr_struct->unexpected_completion);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_rkey           : "U32H_FMT"\n", ptr_struct->write_rkey);
+	fprintf(file, "receiver_overflow    : " UH_FMT "\n", ptr_struct->receiver_overflow);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	fprintf(file, "malformed_tlp        : " UH_FMT "\n", ptr_struct->malformed_tlp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_timer            : "UH_FMT"\n", ptr_struct->rnr_timer);
+	fprintf(file, "ecrc_error           : " UH_FMT "\n", ptr_struct->ecrc_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	fprintf(file, "unsupported_request_error : " UH_FMT "\n", ptr_struct->unsupported_request_error);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+int connectib_uncorrectable_error_mask_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+void connectib_uncorrectable_error_mask_dump(const struct connectib_uncorrectable_error_mask *ptr_struct, FILE* file)
+{
+	connectib_uncorrectable_error_mask_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+void connectib_uncorrectable_error_status_pack(const struct connectib_uncorrectable_error_status *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->training_error_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_producer     : "U32H_FMT"\n", ptr_struct->rcyclic_producer);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->data_link_protocol_error_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->poisoned_tlp_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_non_acked_psn  : "UH_FMT"\n", ptr_struct->first_non_acked_psn);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->flow_control_protocol_error_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_write_pointer    : "UH_FMT"\n", ptr_struct->rdb_write_pointer);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_consumer     : "U32H_FMT"\n", ptr_struct->rcyclic_consumer);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completer_abort_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unexpected_completion_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_overflow_status);
+
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->malformed_tlp_status);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_error_status);
+
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request_error_status);
+
+}
+
+void connectib_uncorrectable_error_status_unpack(struct connectib_uncorrectable_error_status *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->training_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 27;
+	ptr_struct->data_link_protocol_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 19;
+	ptr_struct->poisoned_tlp_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 18;
+	ptr_struct->flow_control_protocol_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 17;
+	ptr_struct->completion_timeout_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 16;
+	ptr_struct->completer_abort_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 15;
+	ptr_struct->unexpected_completion_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 14;
+	ptr_struct->receiver_overflow_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 13;
+	ptr_struct->malformed_tlp_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 12;
+	ptr_struct->ecrc_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 11;
+	ptr_struct->unsupported_request_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
 
+void connectib_uncorrectable_error_status_print(const struct connectib_uncorrectable_error_status *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+	fprintf(file, "======== connectib_uncorrectable_error_status ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_read_pointer     : "UH_FMT"\n", ptr_struct->rdb_read_pointer);
+	fprintf(file, "training_error_status : " UH_FMT "\n", ptr_struct->training_error_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	fprintf(file, "data_link_protocol_error_status : " UH_FMT "\n", ptr_struct->data_link_protocol_error_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_length_committed  : "UH_FMT"\n", ptr_struct->rx_length_committed);
+	fprintf(file, "poisoned_tlp_status  : " UH_FMT "\n", ptr_struct->poisoned_tlp_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_gvmi             : "UH_FMT"\n", ptr_struct->dct_gvmi);
+	fprintf(file, "flow_control_protocol_error_status : " UH_FMT "\n", ptr_struct->flow_control_protocol_error_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqn                  : "UH_FMT"\n", ptr_struct->sqn);
+	fprintf(file, "completion_timeout_status : " UH_FMT "\n", ptr_struct->completion_timeout_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	fprintf(file, "completer_abort_status : " UH_FMT "\n", ptr_struct->completer_abort_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "unexpected_completion_status : " UH_FMT "\n", ptr_struct->unexpected_completion_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_va             : "U64H_FMT"\n", ptr_struct->write_va);
+	fprintf(file, "receiver_overflow_status : " UH_FMT "\n", ptr_struct->receiver_overflow_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_63_32         : "U32H_FMT"\n", ptr_struct->e2e_pa_63_32);
+	fprintf(file, "malformed_tlp_status : " UH_FMT "\n", ptr_struct->malformed_tlp_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connection_state     : "UH_FMT"\n", ptr_struct->connection_state);
+	fprintf(file, "ecrc_error_status    : " UH_FMT "\n", ptr_struct->ecrc_error_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_31_2          : "UH_FMT"\n", ptr_struct->e2e_pa_31_2);
+	fprintf(file, "unsupported_request_error_status : " UH_FMT "\n", ptr_struct->unsupported_request_error_status);
 
 }
 
-int connectib_hw_r_qpc_rc_uc_2cycbuff_size(void){
-	 return 64;
+int connectib_uncorrectable_error_status_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_r_qpc_rc_uc_2cycbuff_dump(const struct connectib_hw_r_qpc_rc_uc_2cycbuff *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_rc_uc_2cycbuff_print(ptr_struct, file, 0);
+void connectib_uncorrectable_error_status_dump(const struct connectib_uncorrectable_error_status *ptr_struct, FILE* file)
+{
+	connectib_uncorrectable_error_status_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_rc_uc_cd_pack(const struct connectib_hw_r_qpc_rc_uc_cd *ptr_struct, u_int8_t* ptr_buff){
+void connectib_bar_high_pack(const struct connectib_bar_high *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_opcode);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_enable);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->send_with_invalidate_enable);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->addr_63_32);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
-
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_enable);
-
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->atomic_like_write);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ack_type);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->write_rkey);
+}
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+void connectib_bar_high_unpack(struct connectib_bar_high *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rnr_timer);
+	offset = 0;
+	ptr_struct->addr_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+}
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+void connectib_bar_high_print(const struct connectib_bar_high *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_bar_high ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "addr_63_32           : " U32H_FMT "\n", ptr_struct->addr_63_32);
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+}
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+int connectib_bar_high_size(void)
+{
+	 return 4;
+}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+void connectib_bar_high_dump(const struct connectib_bar_high *ptr_struct, FILE* file)
+{
+	connectib_bar_high_print(ptr_struct, file, 0);
+}
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_producer_index);
+void connectib_bar_low_pack(const struct connectib_bar_low *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->memory_or_io);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->type);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_non_acked_psn);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->prefetchable);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 28, (u_int32_t)ptr_struct->addr_31_4);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->msn);
+}
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+void connectib_bar_low_unpack(struct connectib_bar_low *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 31;
+	ptr_struct->memory_or_io = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+	offset = 29;
+	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=312;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_read_pointer);
+	offset = 28;
+	ptr_struct->prefetchable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 0;
+	ptr_struct->addr_31_4 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 28);
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_length_committed);
+}
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
+void connectib_bar_low_print(const struct connectib_bar_low *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_bar_low ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->sqn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "memory_or_io         : " UH_FMT "\n", ptr_struct->memory_or_io);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prefetchable         : " UH_FMT "\n", ptr_struct->prefetchable);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->write_va);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "addr_31_4            : " UH_FMT "\n", ptr_struct->addr_31_4);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->connection_state);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->mpi_uar);
+int connectib_bar_low_size(void)
+{
+	 return 4;
+}
 
+void connectib_bar_low_dump(const struct connectib_bar_low *ptr_struct, FILE* file)
+{
+	connectib_bar_low_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_rc_uc_cd_unpack(struct connectib_hw_r_qpc_rc_uc_cd *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sriov_status_pack(const struct connectib_sriov_status *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->last_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_mig_status);
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=18;
-	ptr_struct->read_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_sriov_status_unpack(struct connectib_sriov_status *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=17;
-	ptr_struct->send_with_invalidate_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	ptr_struct->vf_mig_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_sriov_status_print(const struct connectib_sriov_status *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sriov_status ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_mig_status        : " UH_FMT "\n", ptr_struct->vf_mig_status);
 
-	offset=8;
-	ptr_struct->write_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=7;
-	ptr_struct->atomic_like_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_sriov_status_size(void)
+{
+	 return 2;
+}
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_sriov_status_dump(const struct connectib_sriov_status *ptr_struct, FILE* file)
+{
+	connectib_sriov_status_print(ptr_struct, file, 0);
+}
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_sriov_control_pack(const struct connectib_sriov_control *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_enable);
 
-	offset=1;
-	ptr_struct->ack_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_migration_en);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_migration_int_en);
 
-	offset=32;
-	ptr_struct->write_rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_mse);
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_capable_hierarchy);
 
-	offset=75;
-	ptr_struct->rnr_timer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+}
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_sriov_control_unpack(struct connectib_sriov_control *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	ptr_struct->vf_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	ptr_struct->vf_migration_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 13;
+	ptr_struct->vf_migration_int_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 12;
+	ptr_struct->vf_mse = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 11;
+	ptr_struct->ari_capable_hierarchy = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=112;
-	ptr_struct->rwqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+}
 
-	offset=96;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_sriov_control_print(const struct connectib_sriov_control *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sriov_control ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_enable            : " UH_FMT "\n", ptr_struct->vf_enable);
 
-	offset=168;
-	ptr_struct->first_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_migration_en      : " UH_FMT "\n", ptr_struct->vf_migration_en);
 
-	offset=160;
-	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_migration_int_en  : " UH_FMT "\n", ptr_struct->vf_migration_int_en);
 
-	offset=200;
-	ptr_struct->msn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_mse               : " UH_FMT "\n", ptr_struct->vf_mse);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ari_capable_hierarchy : " UH_FMT "\n", ptr_struct->ari_capable_hierarchy);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+int connectib_sriov_control_size(void)
+{
+	 return 2;
+}
 
-	offset=312;
-	ptr_struct->rdb_read_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_sriov_control_dump(const struct connectib_sriov_control *ptr_struct, FILE* file)
+{
+	connectib_sriov_control_print(ptr_struct, file, 0);
+}
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_sriov_capabilities_pack(const struct connectib_sriov_capabilities *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=320;
-	ptr_struct->rx_length_committed = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_mig_capable);
 
-	offset=368;
-	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_cap_hier_preserved);
 
-	offset=357;
-	ptr_struct->sqn = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->vf_mig_int_msg_num);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_sriov_capabilities_unpack(struct connectib_sriov_capabilities *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=384;
-	ptr_struct->write_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 31;
+	ptr_struct->vf_mig_capable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
-	ptr_struct->connection_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 30;
+	ptr_struct->ari_cap_hier_preserved = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=480;
-	ptr_struct->mpi_uar = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	ptr_struct->vf_mig_int_msg_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
 }
 
-void connectib_hw_r_qpc_rc_uc_cd_print(const struct connectib_hw_r_qpc_rc_uc_cd *ptr_struct, FILE* file, int indent_level){
+void connectib_sriov_capabilities_print(const struct connectib_sriov_capabilities *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_rc_uc_cd ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_sriov_capabilities ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_opcode          : "UH_FMT"\n", ptr_struct->last_opcode);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_enable          : "UH_FMT"\n", ptr_struct->read_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "send_with_invalidate_enable : "UH_FMT"\n", ptr_struct->send_with_invalidate_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+	fprintf(file, "vf_mig_capable       : " UH_FMT "\n", ptr_struct->vf_mig_capable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+	fprintf(file, "ari_cap_hier_preserved : " UH_FMT "\n", ptr_struct->ari_cap_hier_preserved);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_enable         : "UH_FMT"\n", ptr_struct->write_enable);
+	fprintf(file, "vf_mig_int_msg_num   : " UH_FMT "\n", ptr_struct->vf_mig_int_msg_num);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_like_write    : "UH_FMT"\n", ptr_struct->atomic_like_write);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+int connectib_sriov_capabilities_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+void connectib_sriov_capabilities_dump(const struct connectib_sriov_capabilities *ptr_struct, FILE* file)
+{
+	connectib_sriov_capabilities_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+void connectib_ari_control_pack(const struct connectib_ari_control *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_type             : "UH_FMT"\n", ptr_struct->ack_type);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mfvc_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_rkey           : "U32H_FMT"\n", ptr_struct->write_rkey);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->func_group);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_timer            : "UH_FMT"\n", ptr_struct->rnr_timer);
+void connectib_ari_control_unpack(struct connectib_ari_control *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	offset = 15;
+	ptr_struct->mfvc_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	offset = 14;
+	ptr_struct->acs_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	offset = 9;
+	ptr_struct->func_group = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+}
 
+void connectib_ari_control_print(const struct connectib_ari_control *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	fprintf(file, "======== connectib_ari_control ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "mfvc_en              : " UH_FMT "\n", ptr_struct->mfvc_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_producer_index  : "UH_FMT"\n", ptr_struct->rwqe_producer_index);
+	fprintf(file, "acs_en               : " UH_FMT "\n", ptr_struct->acs_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
+	fprintf(file, "func_group           : " UH_FMT "\n", ptr_struct->func_group);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_non_acked_psn  : "UH_FMT"\n", ptr_struct->first_non_acked_psn);
+int connectib_ari_control_size(void)
+{
+	 return 2;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_write_pointer    : "UH_FMT"\n", ptr_struct->rdb_write_pointer);
+void connectib_ari_control_dump(const struct connectib_ari_control *ptr_struct, FILE* file)
+{
+	connectib_ari_control_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msn                  : "UH_FMT"\n", ptr_struct->msn);
+void connectib_ari_capabilities_pack(const struct connectib_ari_capabilities *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mfvc);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->next_func_num);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_read_pointer     : "UH_FMT"\n", ptr_struct->rdb_read_pointer);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+void connectib_ari_capabilities_unpack(struct connectib_ari_capabilities *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_length_committed  : "UH_FMT"\n", ptr_struct->rx_length_committed);
+	offset = 15;
+	ptr_struct->mfvc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_gvmi             : "UH_FMT"\n", ptr_struct->dct_gvmi);
+	offset = 14;
+	ptr_struct->acs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqn                  : "UH_FMT"\n", ptr_struct->sqn);
+	offset = 0;
+	ptr_struct->next_func_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+}
 
+void connectib_ari_capabilities_print(const struct connectib_ari_capabilities *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "======== connectib_ari_capabilities ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_va             : "U64H_FMT"\n", ptr_struct->write_va);
+	fprintf(file, "mfvc                 : " UH_FMT "\n", ptr_struct->mfvc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connection_state     : "UH_FMT"\n", ptr_struct->connection_state);
+	fprintf(file, "acs                  : " UH_FMT "\n", ptr_struct->acs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mpi_uar              : "UH_FMT"\n", ptr_struct->mpi_uar);
+	fprintf(file, "next_func_num        : " UH_FMT "\n", ptr_struct->next_func_num);
 
 }
 
-int connectib_hw_r_qpc_rc_uc_cd_size(void){
-	 return 64;
+int connectib_ari_capabilities_size(void)
+{
+	 return 2;
 }
 
-void connectib_hw_r_qpc_rc_uc_cd_dump(const struct connectib_hw_r_qpc_rc_uc_cd *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_rc_uc_cd_print(ptr_struct, file, 0);
+void connectib_ari_capabilities_dump(const struct connectib_ari_capabilities *ptr_struct, FILE* file)
+{
+	connectib_ari_capabilities_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_rc_uc_dci_pack(const struct connectib_hw_r_qpc_rc_uc_dci *ptr_struct, u_int8_t* ptr_buff){
+void connectib_lane_eql_ctl_pack(const struct connectib_lane_eql_ctl *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_opcode);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->downstream_port_transmitter_preset0);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->downstream_port_receiver_preset_hint0);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->upstream_port_transmitter_preset0);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_enable);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->upstream_port_receiver_preset_hint0);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->send_with_invalidate_enable);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->downstream_port_transmitter_preset1);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->downstream_port_receiver_preset_hint1);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->upstream_port_transmitter_preset1);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->upstream_port_receiver_preset_hint1);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_enable);
+}
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->atomic_like_write);
+void connectib_lane_eql_ctl_unpack(struct connectib_lane_eql_ctl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
+	offset = 28;
+	ptr_struct->downstream_port_transmitter_preset0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+	offset = 25;
+	ptr_struct->downstream_port_receiver_preset_hint0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
+	offset = 20;
+	ptr_struct->upstream_port_transmitter_preset0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ack_type);
+	offset = 17;
+	ptr_struct->upstream_port_receiver_preset_hint0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 12;
+	ptr_struct->downstream_port_transmitter_preset1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->write_rkey);
+	offset = 9;
+	ptr_struct->downstream_port_receiver_preset_hint1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	offset = 4;
+	ptr_struct->upstream_port_transmitter_preset1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rnr_timer);
+	offset = 1;
+	ptr_struct->upstream_port_receiver_preset_hint1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+}
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+void connectib_lane_eql_ctl_print(const struct connectib_lane_eql_ctl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_lane_eql_ctl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "downstream_port_transmitter_preset0 : " UH_FMT "\n", ptr_struct->downstream_port_transmitter_preset0);
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "downstream_port_receiver_preset_hint0 : " UH_FMT "\n", ptr_struct->downstream_port_receiver_preset_hint0);
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "upstream_port_transmitter_preset0 : " UH_FMT "\n", ptr_struct->upstream_port_transmitter_preset0);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "upstream_port_receiver_preset_hint0 : " UH_FMT "\n", ptr_struct->upstream_port_receiver_preset_hint0);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_producer_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "downstream_port_transmitter_preset1 : " UH_FMT "\n", ptr_struct->downstream_port_transmitter_preset1);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "downstream_port_receiver_preset_hint1 : " UH_FMT "\n", ptr_struct->downstream_port_receiver_preset_hint1);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "upstream_port_transmitter_preset1 : " UH_FMT "\n", ptr_struct->upstream_port_transmitter_preset1);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_non_acked_psn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "upstream_port_receiver_preset_hint1 : " UH_FMT "\n", ptr_struct->upstream_port_receiver_preset_hint1);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+}
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->msn);
+int connectib_lane_eql_ctl_size(void)
+{
+	 return 4;
+}
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+void connectib_lane_eql_ctl_dump(const struct connectib_lane_eql_ctl *ptr_struct, FILE* file)
+{
+	connectib_lane_eql_ctl_print(ptr_struct, file, 0);
+}
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+void connectib_pciex_link_ctl3_pack(const struct connectib_pciex_link_ctl3 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->perform_equalization);
 
-	offset=312;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_read_pointer);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_equalization_req_int_en);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+}
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_length_committed);
+void connectib_pciex_link_ctl3_unpack(struct connectib_pciex_link_ctl3 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
+	offset = 31;
+	ptr_struct->perform_equalization = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->sqn);
+	offset = 30;
+	ptr_struct->link_equalization_req_int_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+}
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+void connectib_pciex_link_ctl3_print(const struct connectib_pciex_link_ctl3 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pciex_link_ctl3 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->write_va);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "perform_equalization : " UH_FMT "\n", ptr_struct->perform_equalization);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->e2e_pa_63_32);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_equalization_req_int_en : " UH_FMT "\n", ptr_struct->link_equalization_req_int_en);
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->connection_state);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->e2e_pa_31_2);
+int connectib_pciex_link_ctl3_size(void)
+{
+	 return 4;
+}
 
+void connectib_pciex_link_ctl3_dump(const struct connectib_pciex_link_ctl3 *ptr_struct, FILE* file)
+{
+	connectib_pciex_link_ctl3_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_rc_uc_dci_unpack(struct connectib_hw_r_qpc_rc_uc_dci *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_bridge_control_pack(const struct connectib_bridge_control *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->parity_error_response_enable);
 
-	offset=28;
-	ptr_struct->last_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->serr_enable);
 
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->secondary_bus_reset);
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=18;
-	ptr_struct->read_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_bridge_control_unpack(struct connectib_bridge_control *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=17;
-	ptr_struct->send_with_invalidate_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 15;
+	ptr_struct->parity_error_response_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	ptr_struct->serr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 9;
+	ptr_struct->secondary_bus_reset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=8;
-	ptr_struct->write_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_bridge_control_print(const struct connectib_bridge_control *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_bridge_control ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=7;
-	ptr_struct->atomic_like_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "parity_error_response_enable : " UH_FMT "\n", ptr_struct->parity_error_response_enable);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "serr_enable          : " UH_FMT "\n", ptr_struct->serr_enable);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "secondary_bus_reset  : " UH_FMT "\n", ptr_struct->secondary_bus_reset);
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=1;
-	ptr_struct->ack_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+int connectib_bridge_control_size(void)
+{
+	 return 2;
+}
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_bridge_control_dump(const struct connectib_bridge_control *ptr_struct, FILE* file)
+{
+	connectib_bridge_control_print(ptr_struct, file, 0);
+}
 
-	offset=32;
-	ptr_struct->write_rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_exp_rom_pack(const struct connectib_exp_rom *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->exp_rom_en);
 
-	offset=75;
-	ptr_struct->rnr_timer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 21, (u_int32_t)ptr_struct->addr_31_11);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_exp_rom_unpack(struct connectib_exp_rom *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 31;
+	ptr_struct->exp_rom_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->addr_31_11 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 21);
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_exp_rom_print(const struct connectib_exp_rom *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_exp_rom ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=112;
-	ptr_struct->rwqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "exp_rom_en           : " UH_FMT "\n", ptr_struct->exp_rom_en);
 
-	offset=96;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "addr_31_11           : " UH_FMT "\n", ptr_struct->addr_31_11);
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+}
 
-	offset=168;
-	ptr_struct->first_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+int connectib_exp_rom_size(void)
+{
+	 return 4;
+}
 
-	offset=160;
-	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_exp_rom_dump(const struct connectib_exp_rom *ptr_struct, FILE* file)
+{
+	connectib_exp_rom_print(ptr_struct, file, 0);
+}
 
-	offset=200;
-	ptr_struct->msn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_secondary_status_pack(const struct connectib_secondary_status *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->master_data_parity_error);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signaled_target_abort);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->received_target_abort);
 
-	offset=312;
-	ptr_struct->rdb_read_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->received_master_abort);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->received_system_error);
 
-	offset=320;
-	ptr_struct->rx_length_committed = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->detected_parity_error);
 
-	offset=368;
-	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+}
 
-	offset=357;
-	ptr_struct->sqn = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+void connectib_secondary_status_unpack(struct connectib_secondary_status *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 7;
+	ptr_struct->master_data_parity_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 4;
+	ptr_struct->signaled_target_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=384;
-	ptr_struct->write_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 3;
+	ptr_struct->received_target_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=448;
-	ptr_struct->e2e_pa_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 2;
+	ptr_struct->received_master_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
-	ptr_struct->connection_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 1;
+	ptr_struct->received_system_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=480;
-	ptr_struct->e2e_pa_31_2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+	offset = 0;
+	ptr_struct->detected_parity_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_r_qpc_rc_uc_dci_print(const struct connectib_hw_r_qpc_rc_uc_dci *ptr_struct, FILE* file, int indent_level){
+void connectib_secondary_status_print(const struct connectib_secondary_status *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_rc_uc_dci ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_secondary_status ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
+	fprintf(file, "master_data_parity_error : " UH_FMT "\n", ptr_struct->master_data_parity_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_opcode          : "UH_FMT"\n", ptr_struct->last_opcode);
+	fprintf(file, "signaled_target_abort : " UH_FMT "\n", ptr_struct->signaled_target_abort);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	fprintf(file, "received_target_abort : " UH_FMT "\n", ptr_struct->received_target_abort);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	fprintf(file, "received_master_abort : " UH_FMT "\n", ptr_struct->received_master_abort);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "received_system_error : " UH_FMT "\n", ptr_struct->received_system_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_enable          : "UH_FMT"\n", ptr_struct->read_enable);
+	fprintf(file, "detected_parity_error : " UH_FMT "\n", ptr_struct->detected_parity_error);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "send_with_invalidate_enable : "UH_FMT"\n", ptr_struct->send_with_invalidate_enable);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+int connectib_secondary_status_size(void)
+{
+	 return 2;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+void connectib_secondary_status_dump(const struct connectib_secondary_status *ptr_struct, FILE* file)
+{
+	connectib_secondary_status_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+void connectib_header_type_pack(const struct connectib_header_type *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_enable         : "UH_FMT"\n", ptr_struct->write_enable);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->header_layout);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_like_write    : "UH_FMT"\n", ptr_struct->atomic_like_write);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->multi_function_device);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+void connectib_header_type_unpack(struct connectib_header_type *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+	offset = 1;
+	ptr_struct->header_layout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_type             : "UH_FMT"\n", ptr_struct->ack_type);
+	offset = 0;
+	ptr_struct->multi_function_device = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+}
 
+void connectib_header_type_print(const struct connectib_header_type *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_rkey           : "U32H_FMT"\n", ptr_struct->write_rkey);
+	fprintf(file, "======== connectib_header_type ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	fprintf(file, "header_layout        : " UH_FMT "\n", ptr_struct->header_layout);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_timer            : "UH_FMT"\n", ptr_struct->rnr_timer);
+	fprintf(file, "multi_function_device : " UH_FMT "\n", ptr_struct->multi_function_device);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+int connectib_header_type_size(void)
+{
+	 return 1;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+void connectib_header_type_dump(const struct connectib_header_type *ptr_struct, FILE* file)
+{
+	connectib_header_type_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+void connectib_stat_reg1_pack(const struct connectib_stat_reg1 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->int_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->capabilities_list);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_producer_index  : "UH_FMT"\n", ptr_struct->rwqe_producer_index);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->master_data_perr);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signaled_ta);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->received_ta);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_non_acked_psn  : "UH_FMT"\n", ptr_struct->first_non_acked_psn);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->received_ma);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_write_pointer    : "UH_FMT"\n", ptr_struct->rdb_write_pointer);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signaled_serr);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msn                  : "UH_FMT"\n", ptr_struct->msn);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->detected_perr);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+void connectib_stat_reg1_unpack(struct connectib_stat_reg1 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+	offset = 12;
+	ptr_struct->int_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_read_pointer     : "UH_FMT"\n", ptr_struct->rdb_read_pointer);
+	offset = 11;
+	ptr_struct->capabilities_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	offset = 7;
+	ptr_struct->master_data_perr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_length_committed  : "UH_FMT"\n", ptr_struct->rx_length_committed);
+	offset = 4;
+	ptr_struct->signaled_ta = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_gvmi             : "UH_FMT"\n", ptr_struct->dct_gvmi);
+	offset = 3;
+	ptr_struct->received_ta = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->received_ma = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->signaled_serr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->detected_perr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
+}
+
+void connectib_stat_reg1_print(const struct connectib_stat_reg1 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqn                  : "UH_FMT"\n", ptr_struct->sqn);
+	fprintf(file, "======== connectib_stat_reg1 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	fprintf(file, "int_status           : " UH_FMT "\n", ptr_struct->int_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "capabilities_list    : " UH_FMT "\n", ptr_struct->capabilities_list);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_va             : "U64H_FMT"\n", ptr_struct->write_va);
+	fprintf(file, "master_data_perr     : " UH_FMT "\n", ptr_struct->master_data_perr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_63_32         : "U32H_FMT"\n", ptr_struct->e2e_pa_63_32);
+	fprintf(file, "signaled_ta          : " UH_FMT "\n", ptr_struct->signaled_ta);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connection_state     : "UH_FMT"\n", ptr_struct->connection_state);
+	fprintf(file, "received_ta          : " UH_FMT "\n", ptr_struct->received_ta);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_31_2          : "UH_FMT"\n", ptr_struct->e2e_pa_31_2);
+	fprintf(file, "received_ma          : " UH_FMT "\n", ptr_struct->received_ma);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signaled_serr        : " UH_FMT "\n", ptr_struct->signaled_serr);
 
-int connectib_hw_r_qpc_rc_uc_dci_size(void){
-	 return 64;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "detected_perr        : " UH_FMT "\n", ptr_struct->detected_perr);
 
-void connectib_hw_r_qpc_rc_uc_dci_dump(const struct connectib_hw_r_qpc_rc_uc_dci *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_rc_uc_dci_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_connected_common_pack(const struct connectib_hw_r_qpc_connected_common *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_opcode);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_enable);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->send_with_invalidate_enable);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
-
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_enable);
-
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->atomic_like_write);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+int connectib_stat_reg1_size(void)
+{
+	 return 2;
+}
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
+void connectib_stat_reg1_dump(const struct connectib_stat_reg1 *ptr_struct, FILE* file)
+{
+	connectib_stat_reg1_print(ptr_struct, file, 0);
+}
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ack_type);
+void connectib_cmd_reg1_pack(const struct connectib_cmd_reg1 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->io_space);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->write_rkey);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->memory_space);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bus_master_en);
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rnr_timer);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->perr_enable);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->serr_enable);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->int_disable);
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+}
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+void connectib_cmd_reg1_unpack(struct connectib_cmd_reg1 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 15;
+	ptr_struct->io_space = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	offset = 14;
+	ptr_struct->memory_space = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 13;
+	ptr_struct->bus_master_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_non_acked_psn);
+	offset = 9;
+	ptr_struct->perr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+	offset = 7;
+	ptr_struct->serr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 5;
+	ptr_struct->int_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+}
 
-	offset=312;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_read_pointer);
+void connectib_cmd_reg1_print(const struct connectib_cmd_reg1 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmd_reg1 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "io_space             : " UH_FMT "\n", ptr_struct->io_space);
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_length_committed);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "memory_space         : " UH_FMT "\n", ptr_struct->memory_space);
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bus_master_en        : " UH_FMT "\n", ptr_struct->bus_master_en);
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->sqn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "perr_enable          : " UH_FMT "\n", ptr_struct->perr_enable);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "serr_enable          : " UH_FMT "\n", ptr_struct->serr_enable);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "int_disable          : " UH_FMT "\n", ptr_struct->int_disable);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->write_va);
+}
 
-	offset=510;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->connection_state);
+int connectib_cmd_reg1_size(void)
+{
+	 return 2;
+}
 
+void connectib_cmd_reg1_dump(const struct connectib_cmd_reg1 *ptr_struct, FILE* file)
+{
+	connectib_cmd_reg1_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_connected_common_unpack(struct connectib_hw_r_qpc_connected_common *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_message_control_pack(const struct connectib_message_control *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->last_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->read_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->send_with_invalidate_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->table_size);
 
-	offset=8;
-	ptr_struct->write_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->function_mask);
 
-	offset=7;
-	ptr_struct->atomic_like_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->msix_en);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_message_control_unpack(struct connectib_message_control *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->table_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=1;
-	ptr_struct->ack_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 1;
+	ptr_struct->function_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->msix_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->write_rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_message_control_print(const struct connectib_message_control *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_message_control ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=75;
-	ptr_struct->rnr_timer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_size           : " UH_FMT "\n", ptr_struct->table_size);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "function_mask        : " UH_FMT "\n", ptr_struct->function_mask);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msix_en              : " UH_FMT "\n", ptr_struct->msix_en);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_message_control_size(void)
+{
+	 return 2;
+}
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_message_control_dump(const struct connectib_message_control *ptr_struct, FILE* file)
+{
+	connectib_message_control_print(ptr_struct, file, 0);
+}
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_link_stat2_pack(const struct connectib_link_stat2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->current_de_emphasis_level);
 
-	offset=168;
-	ptr_struct->first_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equalization_complete);
 
-	offset=160;
-	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equalization_phase1_successful);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equalization_phase2_successful);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equalization_phase3_successful);
 
-	offset=312;
-	ptr_struct->rdb_read_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_equalization_request);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=320;
-	ptr_struct->rx_length_committed = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_link_stat2_unpack(struct connectib_link_stat2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=368;
-	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 15;
+	ptr_struct->current_de_emphasis_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=357;
-	ptr_struct->sqn = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 14;
+	ptr_struct->equalization_complete = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 13;
+	ptr_struct->equalization_phase1_successful = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 12;
+	ptr_struct->equalization_phase2_successful = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=384;
-	ptr_struct->write_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 11;
+	ptr_struct->equalization_phase3_successful = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
-	ptr_struct->connection_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 10;
+	ptr_struct->link_equalization_request = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_r_qpc_connected_common_print(const struct connectib_hw_r_qpc_connected_common *ptr_struct, FILE* file, int indent_level){
+void connectib_link_stat2_print(const struct connectib_link_stat2 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_connected_common ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_link_stat2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_opcode          : "UH_FMT"\n", ptr_struct->last_opcode);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	fprintf(file, "current_de_emphasis_level : " UH_FMT "\n", ptr_struct->current_de_emphasis_level);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	fprintf(file, "equalization_complete : " UH_FMT "\n", ptr_struct->equalization_complete);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "equalization_phase1_successful : " UH_FMT "\n", ptr_struct->equalization_phase1_successful);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_enable          : "UH_FMT"\n", ptr_struct->read_enable);
+	fprintf(file, "equalization_phase2_successful : " UH_FMT "\n", ptr_struct->equalization_phase2_successful);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "send_with_invalidate_enable : "UH_FMT"\n", ptr_struct->send_with_invalidate_enable);
+	fprintf(file, "equalization_phase3_successful : " UH_FMT "\n", ptr_struct->equalization_phase3_successful);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	fprintf(file, "link_equalization_request : " UH_FMT "\n", ptr_struct->link_equalization_request);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+int connectib_link_stat2_size(void)
+{
+	 return 2;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_enable         : "UH_FMT"\n", ptr_struct->write_enable);
+void connectib_link_stat2_dump(const struct connectib_link_stat2 *ptr_struct, FILE* file)
+{
+	connectib_link_stat2_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_like_write    : "UH_FMT"\n", ptr_struct->atomic_like_write);
+void connectib_link_ctl2_pack(const struct connectib_link_ctl2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->target_link_speed);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enter_compliance);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hardware_autonomous_speed_disable);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_type             : "UH_FMT"\n", ptr_struct->ack_type);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->selectable_de_emphasis);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->transmit_margin);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_rkey           : "U32H_FMT"\n", ptr_struct->write_rkey);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->modified_compliance);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->compliance_sos);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_timer            : "UH_FMT"\n", ptr_struct->rnr_timer);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->compliance_preset_de_emphasis);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+void connectib_link_ctl2_unpack(struct connectib_link_ctl2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	offset = 12;
+	ptr_struct->target_link_speed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	offset = 11;
+	ptr_struct->enter_compliance = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 10;
+	ptr_struct->hardware_autonomous_speed_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	offset = 9;
+	ptr_struct->selectable_de_emphasis = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	offset = 6;
+	ptr_struct->transmit_margin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_non_acked_psn  : "UH_FMT"\n", ptr_struct->first_non_acked_psn);
+	offset = 5;
+	ptr_struct->modified_compliance = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_write_pointer    : "UH_FMT"\n", ptr_struct->rdb_write_pointer);
+	offset = 4;
+	ptr_struct->compliance_sos = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	offset = 0;
+	ptr_struct->compliance_preset_de_emphasis = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+}
 
+void connectib_link_ctl2_print(const struct connectib_link_ctl2 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_read_pointer     : "UH_FMT"\n", ptr_struct->rdb_read_pointer);
+	fprintf(file, "======== connectib_link_ctl2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	fprintf(file, "target_link_speed    : " UH_FMT "\n", ptr_struct->target_link_speed);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_length_committed  : "UH_FMT"\n", ptr_struct->rx_length_committed);
+	fprintf(file, "enter_compliance     : " UH_FMT "\n", ptr_struct->enter_compliance);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_gvmi             : "UH_FMT"\n", ptr_struct->dct_gvmi);
+	fprintf(file, "hardware_autonomous_speed_disable : " UH_FMT "\n", ptr_struct->hardware_autonomous_speed_disable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sqn                  : "UH_FMT"\n", ptr_struct->sqn);
+	fprintf(file, "selectable_de_emphasis : " UH_FMT "\n", ptr_struct->selectable_de_emphasis);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	fprintf(file, "transmit_margin      : " UH_FMT "\n", ptr_struct->transmit_margin);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "modified_compliance  : " UH_FMT "\n", ptr_struct->modified_compliance);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_va             : "U64H_FMT"\n", ptr_struct->write_va);
+	fprintf(file, "compliance_sos       : " UH_FMT "\n", ptr_struct->compliance_sos);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connection_state     : "UH_FMT"\n", ptr_struct->connection_state);
+	fprintf(file, "compliance_preset_de_emphasis : " UH_FMT "\n", ptr_struct->compliance_preset_de_emphasis);
 
 }
 
-int connectib_hw_r_qpc_connected_common_size(void){
-	 return 64;
+int connectib_link_ctl2_size(void)
+{
+	 return 2;
 }
 
-void connectib_hw_r_qpc_connected_common_dump(const struct connectib_hw_r_qpc_connected_common *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_connected_common_print(ptr_struct, file, 0);
+void connectib_link_ctl2_dump(const struct connectib_link_ctl2 *ptr_struct, FILE* file)
+{
+	connectib_link_ctl2_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_common_pack(const struct connectib_hw_r_qpc_common *ptr_struct, u_int8_t* ptr_buff){
+void connectib_link_caps2_pack(const struct connectib_link_caps2 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_link_type);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->supported_link_speed_vector);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cross_link_supported);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+}
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+void connectib_link_caps2_unpack(struct connectib_link_caps2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->post_receive_slave_enable);
+	offset = 24;
+	ptr_struct->supported_link_speed_vector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+	offset = 23;
+	ptr_struct->cross_link_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+}
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+void connectib_link_caps2_print(const struct connectib_link_caps2 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_link_caps2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "supported_link_speed_vector : " UH_FMT "\n", ptr_struct->supported_link_speed_vector);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cross_link_supported : " UH_FMT "\n", ptr_struct->cross_link_supported);
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+}
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+int connectib_link_caps2_size(void)
+{
+	 return 4;
+}
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+void connectib_link_caps2_dump(const struct connectib_link_caps2 *ptr_struct, FILE* file)
+{
+	connectib_link_caps2_print(ptr_struct, file, 0);
+}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+void connectib_device_stat2_pack(const struct connectib_device_stat2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+}
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+void connectib_device_stat2_unpack(struct connectib_device_stat2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->expected_psn);
+}
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+void connectib_device_stat2_print(const struct connectib_device_stat2 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_device_stat2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+}
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+int connectib_device_stat2_size(void)
+{
+	 return 2;
+}
 
+void connectib_device_stat2_dump(const struct connectib_device_stat2 *ptr_struct, FILE* file)
+{
+	connectib_device_stat2_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_common_unpack(struct connectib_hw_r_qpc_common *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_device_ctl2_pack(const struct connectib_device_ctl2 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->fw_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->completion_timeout_value);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout_disable);
 
-	offset=6;
-	ptr_struct->post_receive_slave_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_forwarding_enable);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->obff_enable);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=80;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_device_ctl2_unpack(struct connectib_device_ctl2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 12;
+	ptr_struct->completion_timeout_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 11;
+	ptr_struct->completion_timeout_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 10;
+	ptr_struct->ari_forwarding_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=68;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	ptr_struct->obff_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=65;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_device_ctl2_print(const struct connectib_device_ctl2 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_device_ctl2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "completion_timeout_value : " UH_FMT "\n", ptr_struct->completion_timeout_value);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "completion_timeout_disable : " UH_FMT "\n", ptr_struct->completion_timeout_disable);
 
-	offset=256;
-	ptr_struct->expected_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ari_forwarding_enable : " UH_FMT "\n", ptr_struct->ari_forwarding_enable);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "obff_enable          : " UH_FMT "\n", ptr_struct->obff_enable);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+int connectib_device_ctl2_size(void)
+{
+	 return 2;
+}
 
+void connectib_device_ctl2_dump(const struct connectib_device_ctl2 *ptr_struct, FILE* file)
+{
+	connectib_device_ctl2_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_r_qpc_common_print(const struct connectib_hw_r_qpc_common *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc_common ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+void connectib_device_caps2_pack(const struct connectib_device_caps2 *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_link_type         : "UH_FMT"\n", ptr_struct->fw_link_type);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->completion_timeout_ranges_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout_disable_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ari_forwarding_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->_10bit_tag_completer_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->obff_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post_receive_slave_enable : "UH_FMT"\n", ptr_struct->post_receive_slave_enable);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->extended_fmt_field_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+void connectib_device_caps2_unpack(struct connectib_device_caps2 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	offset = 28;
+	ptr_struct->completion_timeout_ranges_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	offset = 27;
+	ptr_struct->completion_timeout_disable_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	offset = 24;
+	ptr_struct->ari_forwarding_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	offset = 15;
+	ptr_struct->_10bit_tag_completer_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	offset = 12;
+	ptr_struct->obff_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 11;
+	ptr_struct->extended_fmt_field_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
+}
+
+void connectib_device_caps2_print(const struct connectib_device_caps2 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "======== connectib_device_caps2 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	fprintf(file, "completion_timeout_ranges_supported : " UH_FMT "\n", ptr_struct->completion_timeout_ranges_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	fprintf(file, "completion_timeout_disable_supported : " UH_FMT "\n", ptr_struct->completion_timeout_disable_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_psn         : "UH_FMT"\n", ptr_struct->expected_psn);
+	fprintf(file, "ari_forwarding_supported : " UH_FMT "\n", ptr_struct->ari_forwarding_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	fprintf(file, "_10bit_tag_completer_supported : " UH_FMT "\n", ptr_struct->_10bit_tag_completer_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	fprintf(file, "obff_supported       : " UH_FMT "\n", ptr_struct->obff_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "extended_fmt_field_supported : " UH_FMT "\n", ptr_struct->extended_fmt_field_supported);
 
 }
 
-int connectib_hw_r_qpc_common_size(void){
-	 return 64;
+int connectib_device_caps2_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_r_qpc_common_dump(const struct connectib_hw_r_qpc_common *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_common_print(ptr_struct, file, 0);
+void connectib_device_caps2_dump(const struct connectib_device_caps2 *ptr_struct, FILE* file)
+{
+	connectib_device_caps2_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_s_qpc_ud_l2_pack(const struct connectib_hw_s_qpc_ud_l2 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_slot_caps_pack(const struct connectib_slot_caps *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->umr_permission_select);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->packet_allowed);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->attention_button_present);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->power_controller_present);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
-
-	offset=67;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->umr_enable);
-
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frwr_enable);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
-
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->swqe_consumer_index);
-
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->deth_sqpn);
-
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mrl_sensor_present);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->attention_indicator_present);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_to_send_psn);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->power_indicator_present);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hot_plug_surprise);
 
-	offset=336;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh_tclass);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hot_plug_capable);
 
-	offset=361;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 23, (u_int32_t)ptr_struct->sx_gather_commit);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->slot_power_limit_value);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_my_gid_index);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->slot_power_limit_scale);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->electromechanical_interlock_present);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_command_completed_supported);
 
-	offset=449;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vl15);
-
-	offset=448;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 13, (u_int32_t)ptr_struct->physical_slot_number);
 
 }
 
-void connectib_hw_s_qpc_ud_l2_unpack(struct connectib_hw_s_qpc_ud_l2 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_slot_caps_unpack(struct connectib_slot_caps *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->umr_permission_select = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=2;
-	ptr_struct->packet_allowed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=67;
-	ptr_struct->umr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=66;
-	ptr_struct->frwr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 31;
+	ptr_struct->attention_button_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	ptr_struct->swqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 30;
+	ptr_struct->power_controller_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=168;
-	ptr_struct->deth_sqpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 29;
+	ptr_struct->mrl_sensor_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 28;
+	ptr_struct->attention_indicator_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 27;
+	ptr_struct->power_indicator_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->next_to_send_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 26;
+	ptr_struct->hot_plug_surprise = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 25;
+	ptr_struct->hot_plug_capable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=336;
-	ptr_struct->force_grh_tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 17;
+	ptr_struct->slot_power_limit_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=361;
-	ptr_struct->sx_gather_commit = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 23);
+	offset = 15;
+	ptr_struct->slot_power_limit_scale = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=360;
-	ptr_struct->force_my_gid_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	ptr_struct->electromechanical_interlock_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 13;
+	ptr_struct->no_command_completed_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=449;
-	ptr_struct->vl15 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=448;
-	ptr_struct->force_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->physical_slot_number = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 13);
 
 }
 
-void connectib_hw_s_qpc_ud_l2_print(const struct connectib_hw_s_qpc_ud_l2 *ptr_struct, FILE* file, int indent_level){
+void connectib_slot_caps_print(const struct connectib_slot_caps *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_s_qpc_ud_l2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_slot_caps ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_permission_select : "UH_FMT"\n", ptr_struct->umr_permission_select);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "packet_allowed       : "UH_FMT"\n", ptr_struct->packet_allowed);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	fprintf(file, "attention_button_present : " UH_FMT "\n", ptr_struct->attention_button_present);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "power_controller_present : " UH_FMT "\n", ptr_struct->power_controller_present);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_enable           : "UH_FMT"\n", ptr_struct->umr_enable);
+	fprintf(file, "mrl_sensor_present   : " UH_FMT "\n", ptr_struct->mrl_sensor_present);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "frwr_enable          : "UH_FMT"\n", ptr_struct->frwr_enable);
+	fprintf(file, "attention_indicator_present : " UH_FMT "\n", ptr_struct->attention_indicator_present);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "power_indicator_present : " UH_FMT "\n", ptr_struct->power_indicator_present);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	fprintf(file, "hot_plug_surprise    : " UH_FMT "\n", ptr_struct->hot_plug_surprise);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_consumer_index  : "UH_FMT"\n", ptr_struct->swqe_consumer_index);
+	fprintf(file, "hot_plug_capable     : " UH_FMT "\n", ptr_struct->hot_plug_capable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "deth_sqpn            : "UH_FMT"\n", ptr_struct->deth_sqpn);
+	fprintf(file, "slot_power_limit_value : " UH_FMT "\n", ptr_struct->slot_power_limit_value);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	fprintf(file, "slot_power_limit_scale : " UH_FMT "\n", ptr_struct->slot_power_limit_scale);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	fprintf(file, "electromechanical_interlock_present : " UH_FMT "\n", ptr_struct->electromechanical_interlock_present);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_to_send_psn     : "UH_FMT"\n", ptr_struct->next_to_send_psn);
+	fprintf(file, "no_command_completed_supported : " UH_FMT "\n", ptr_struct->no_command_completed_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh_tclass     : "UH_FMT"\n", ptr_struct->force_grh_tclass);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_gather_commit     : "UH_FMT"\n", ptr_struct->sx_gather_commit);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_my_gid_index   : "UH_FMT"\n", ptr_struct->force_my_gid_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl15                 : "UH_FMT"\n", ptr_struct->vl15);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh            : "UH_FMT"\n", ptr_struct->force_grh);
+	fprintf(file, "physical_slot_number : " UH_FMT "\n", ptr_struct->physical_slot_number);
 
 }
 
-int connectib_hw_s_qpc_ud_l2_size(void){
-	 return 64;
+int connectib_slot_caps_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_s_qpc_ud_l2_dump(const struct connectib_hw_s_qpc_ud_l2 *ptr_struct, FILE* file) {
-	connectib_hw_s_qpc_ud_l2_print(ptr_struct, file, 0);
+void connectib_slot_caps_dump(const struct connectib_slot_caps *ptr_struct, FILE* file)
+{
+	connectib_slot_caps_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_s_qpc_dci_pack(const struct connectib_hw_s_qpc_dci *ptr_struct, u_int8_t* ptr_buff){
+void connectib_link_stat_pack(const struct connectib_link_stat *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ldb_int);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rnr_nak_retry_limit);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rnr_nak_retry_counter);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
-
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->umr_permission_select);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dc_full_handshake);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->uncompleted_non_wire_wqe);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
-
-	offset=94;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dc_state);
-
-	offset=76;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->limited_qp);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ack_req_frequency);
-
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
-
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
-
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
-
-	offset=67;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->umr_enable);
-
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frwr_enable);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_speed);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->currently_completing_wqe_index);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->negotiated_link_width);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->training_error);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->swqe_consumer_index);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_training);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->oldest_non_acked_psn);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->slot_clock_cfg);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->psn_since_ackreq);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_bandwidth_mgmt_status);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->responder_session_id);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_autonomous_bandwidth_status);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+}
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+void connectib_link_stat_unpack(struct connectib_link_stat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_to_send_psn);
+	offset = 12;
+	ptr_struct->link_speed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=296;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ssn);
+	offset = 6;
+	ptr_struct->negotiated_link_width = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 5;
+	ptr_struct->training_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=336;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh_tclass);
+	offset = 4;
+	ptr_struct->link_training = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=332;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reverse_sl);
+	offset = 3;
+	ptr_struct->slot_clock_cfg = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=329;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->to_sequence_error_retry_counter);
+	offset = 1;
+	ptr_struct->link_bandwidth_mgmt_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=361;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 23, (u_int32_t)ptr_struct->sx_gather_commit);
+	offset = 0;
+	ptr_struct->link_autonomous_bandwidth_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_my_gid_index);
+}
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->to_sequence_error_retry_limit);
+void connectib_link_stat_print(const struct connectib_link_stat *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_link_stat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_speed           : " UH_FMT "\n", ptr_struct->link_speed);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "negotiated_link_width : " UH_FMT "\n", ptr_struct->negotiated_link_width);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->dc_access_key);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "training_error       : " UH_FMT "\n", ptr_struct->training_error);
 
-	offset=456;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_psn_of_message_currently_completing);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_training        : " UH_FMT "\n", ptr_struct->link_training);
 
-	offset=450;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->currently_completing_ds);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "slot_clock_cfg       : " UH_FMT "\n", ptr_struct->slot_clock_cfg);
 
-	offset=449;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->timer_enable);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_bandwidth_mgmt_status : " UH_FMT "\n", ptr_struct->link_bandwidth_mgmt_status);
 
-	offset=448;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_autonomous_bandwidth_status : " UH_FMT "\n", ptr_struct->link_autonomous_bandwidth_status);
 
-	offset=488;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_unsent_psn);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->number_outstanding_reads);
+int connectib_link_stat_size(void)
+{
+	 return 2;
+}
 
+void connectib_link_stat_dump(const struct connectib_link_stat *ptr_struct, FILE* file)
+{
+	connectib_link_stat_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_s_qpc_dci_unpack(struct connectib_hw_s_qpc_dci *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_link_ctl_pack(const struct connectib_link_ctl *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->ldb_int = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->aspm_control);
 
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rcb);
 
-	offset=21;
-	ptr_struct->rnr_nak_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_disable);
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->retrain_link);
 
-	offset=17;
-	ptr_struct->rnr_nak_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_clock_configuration);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->extended_synch);
 
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_clock_power_management);
 
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hardware_autonomous_width_disable);
 
-	offset=6;
-	ptr_struct->umr_permission_select = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_bandwidth_mgmt_interrupt_en);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_autonomous_bandwidth_interrupt_en);
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=3;
-	ptr_struct->dc_full_handshake = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_link_ctl_unpack(struct connectib_link_ctl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=1;
-	ptr_struct->uncompleted_non_wire_wqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	ptr_struct->aspm_control = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 12;
+	ptr_struct->rcb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=94;
-	ptr_struct->dc_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 11;
+	ptr_struct->link_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=76;
-	ptr_struct->limited_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 10;
+	ptr_struct->retrain_link = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=72;
-	ptr_struct->ack_req_frequency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 9;
+	ptr_struct->common_clock_configuration = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->extended_synch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 7;
+	ptr_struct->enable_clock_power_management = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	ptr_struct->hardware_autonomous_width_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=67;
-	ptr_struct->umr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->link_bandwidth_mgmt_interrupt_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=66;
-	ptr_struct->frwr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 4;
+	ptr_struct->link_autonomous_bandwidth_interrupt_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=96;
-	ptr_struct->currently_completing_wqe_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_link_ctl_print(const struct connectib_link_ctl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_link_ctl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aspm_control         : " UH_FMT "\n", ptr_struct->aspm_control);
 
-	offset=128;
-	ptr_struct->swqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rcb                  : " UH_FMT "\n", ptr_struct->rcb);
 
-	offset=168;
-	ptr_struct->oldest_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_disable         : " UH_FMT "\n", ptr_struct->link_disable);
 
-	offset=160;
-	ptr_struct->psn_since_ackreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "retrain_link         : " UH_FMT "\n", ptr_struct->retrain_link);
 
-	offset=200;
-	ptr_struct->responder_session_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "common_clock_configuration : " UH_FMT "\n", ptr_struct->common_clock_configuration);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "extended_synch       : " UH_FMT "\n", ptr_struct->extended_synch);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "enable_clock_power_management : " UH_FMT "\n", ptr_struct->enable_clock_power_management);
 
-	offset=256;
-	ptr_struct->next_to_send_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hardware_autonomous_width_disable : " UH_FMT "\n", ptr_struct->hardware_autonomous_width_disable);
 
-	offset=296;
-	ptr_struct->ssn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_bandwidth_mgmt_interrupt_en : " UH_FMT "\n", ptr_struct->link_bandwidth_mgmt_interrupt_en);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_autonomous_bandwidth_interrupt_en : " UH_FMT "\n", ptr_struct->link_autonomous_bandwidth_interrupt_en);
 
-	offset=336;
-	ptr_struct->force_grh_tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=332;
-	ptr_struct->reverse_sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+int connectib_link_ctl_size(void)
+{
+	 return 2;
+}
 
-	offset=329;
-	ptr_struct->to_sequence_error_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_link_ctl_dump(const struct connectib_link_ctl *ptr_struct, FILE* file)
+{
+	connectib_link_ctl_print(ptr_struct, file, 0);
+}
 
-	offset=361;
-	ptr_struct->sx_gather_commit = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 23);
+void connectib_link_caps_pack(const struct connectib_link_caps *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=360;
-	ptr_struct->force_my_gid_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_link_speed);
 
-	offset=357;
-	ptr_struct->to_sequence_error_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_link_width);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->aspm_support);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->l0s_exit_latency);
 
-	offset=384;
-	ptr_struct->dc_access_key = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->l1_exit_latency);
 
-	offset=456;
-	ptr_struct->first_psn_of_message_currently_completing = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clock_power_management);
 
-	offset=450;
-	ptr_struct->currently_completing_ds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->surprise_down_error_reporting_cap);
 
-	offset=449;
-	ptr_struct->timer_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_active_reporting_cap);
 
-	offset=448;
-	ptr_struct->force_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_bw_notification_cap);
 
-	offset=488;
-	ptr_struct->first_unsent_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aspm_optionality_compliance);
 
-	offset=480;
-	ptr_struct->number_outstanding_reads = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_number);
 
 }
 
-void connectib_hw_s_qpc_dci_print(const struct connectib_hw_s_qpc_dci *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_s_qpc_dci ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+void connectib_link_caps_unpack(struct connectib_link_caps *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ldb_int              : "UH_FMT"\n", ptr_struct->ldb_int);
+	offset = 28;
+	ptr_struct->max_link_speed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	offset = 22;
+	ptr_struct->max_link_width = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_nak_retry_limit  : "UH_FMT"\n", ptr_struct->rnr_nak_retry_limit);
+	offset = 20;
+	ptr_struct->aspm_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	offset = 17;
+	ptr_struct->l0s_exit_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_nak_retry_counter : "UH_FMT"\n", ptr_struct->rnr_nak_retry_counter);
+	offset = 14;
+	ptr_struct->l1_exit_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+	offset = 13;
+	ptr_struct->clock_power_management = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+	offset = 12;
+	ptr_struct->surprise_down_error_reporting_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+	offset = 11;
+	ptr_struct->link_active_reporting_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_permission_select : "UH_FMT"\n", ptr_struct->umr_permission_select);
+	offset = 10;
+	ptr_struct->link_bw_notification_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	offset = 9;
+	ptr_struct->aspm_optionality_compliance = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+	offset = 0;
+	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_full_handshake    : "UH_FMT"\n", ptr_struct->dc_full_handshake);
+}
 
+void connectib_link_caps_print(const struct connectib_link_caps *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uncompleted_non_wire_wqe : "UH_FMT"\n", ptr_struct->uncompleted_non_wire_wqe);
+	fprintf(file, "======== connectib_link_caps ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	fprintf(file, "max_link_speed       : " UH_FMT "\n", ptr_struct->max_link_speed);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_state             : "UH_FMT"\n", ptr_struct->dc_state);
+	fprintf(file, "max_link_width       : " UH_FMT "\n", ptr_struct->max_link_width);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "limited_qp           : "UH_FMT"\n", ptr_struct->limited_qp);
+	fprintf(file, "aspm_support         : " UH_FMT "\n", ptr_struct->aspm_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_req_frequency    : "UH_FMT"\n", ptr_struct->ack_req_frequency);
+	fprintf(file, "l0s_exit_latency     : " UH_FMT "\n", ptr_struct->l0s_exit_latency);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+	fprintf(file, "l1_exit_latency      : " UH_FMT "\n", ptr_struct->l1_exit_latency);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "clock_power_management : " UH_FMT "\n", ptr_struct->clock_power_management);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "surprise_down_error_reporting_cap : " UH_FMT "\n", ptr_struct->surprise_down_error_reporting_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_enable           : "UH_FMT"\n", ptr_struct->umr_enable);
+	fprintf(file, "link_active_reporting_cap : " UH_FMT "\n", ptr_struct->link_active_reporting_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "frwr_enable          : "UH_FMT"\n", ptr_struct->frwr_enable);
+	fprintf(file, "link_bw_notification_cap : " UH_FMT "\n", ptr_struct->link_bw_notification_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "aspm_optionality_compliance : " UH_FMT "\n", ptr_struct->aspm_optionality_compliance);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "currently_completing_wqe_index : "UH_FMT"\n", ptr_struct->currently_completing_wqe_index);
+	fprintf(file, "port_number          : " UH_FMT "\n", ptr_struct->port_number);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_consumer_index  : "UH_FMT"\n", ptr_struct->swqe_consumer_index);
+int connectib_link_caps_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "oldest_non_acked_psn : "UH_FMT"\n", ptr_struct->oldest_non_acked_psn);
+void connectib_link_caps_dump(const struct connectib_link_caps *ptr_struct, FILE* file)
+{
+	connectib_link_caps_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "psn_since_ackreq     : "UH_FMT"\n", ptr_struct->psn_since_ackreq);
+void connectib_device_stat_pack(const struct connectib_device_stat *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "responder_session_id : "UH_FMT"\n", ptr_struct->responder_session_id);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->correctable_error);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_fatal_error);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fatal_error);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_to_send_psn     : "UH_FMT"\n", ptr_struct->next_to_send_psn);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ssn                  : "UH_FMT"\n", ptr_struct->ssn);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aux_power);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->transactions_pending);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh_tclass     : "UH_FMT"\n", ptr_struct->force_grh_tclass);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reverse_sl           : "UH_FMT"\n", ptr_struct->reverse_sl);
+void connectib_device_stat_unpack(struct connectib_device_stat *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "to_sequence_error_retry_counter : "UH_FMT"\n", ptr_struct->to_sequence_error_retry_counter);
+	offset = 15;
+	ptr_struct->correctable_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_gather_commit     : "UH_FMT"\n", ptr_struct->sx_gather_commit);
+	offset = 14;
+	ptr_struct->non_fatal_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_my_gid_index   : "UH_FMT"\n", ptr_struct->force_my_gid_index);
+	offset = 13;
+	ptr_struct->fatal_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "to_sequence_error_retry_limit : "UH_FMT"\n", ptr_struct->to_sequence_error_retry_limit);
+	offset = 12;
+	ptr_struct->unsupported_request = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	offset = 11;
+	ptr_struct->aux_power = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	offset = 10;
+	ptr_struct->transactions_pending = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
 
+void connectib_device_stat_print(const struct connectib_device_stat *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_access_key        : "U64H_FMT"\n", ptr_struct->dc_access_key);
+	fprintf(file, "======== connectib_device_stat ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_psn_of_message_currently_completing : "UH_FMT"\n", ptr_struct->first_psn_of_message_currently_completing);
+	fprintf(file, "correctable_error    : " UH_FMT "\n", ptr_struct->correctable_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "currently_completing_ds : "UH_FMT"\n", ptr_struct->currently_completing_ds);
+	fprintf(file, "non_fatal_error      : " UH_FMT "\n", ptr_struct->non_fatal_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timer_enable         : "UH_FMT"\n", ptr_struct->timer_enable);
+	fprintf(file, "fatal_error          : " UH_FMT "\n", ptr_struct->fatal_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh            : "UH_FMT"\n", ptr_struct->force_grh);
+	fprintf(file, "unsupported_request  : " UH_FMT "\n", ptr_struct->unsupported_request);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_unsent_psn     : "UH_FMT"\n", ptr_struct->first_unsent_psn);
+	fprintf(file, "aux_power            : " UH_FMT "\n", ptr_struct->aux_power);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "number_outstanding_reads : "UH_FMT"\n", ptr_struct->number_outstanding_reads);
+	fprintf(file, "transactions_pending : " UH_FMT "\n", ptr_struct->transactions_pending);
 
 }
 
-int connectib_hw_s_qpc_dci_size(void){
-	 return 64;
+int connectib_device_stat_size(void)
+{
+	 return 2;
 }
 
-void connectib_hw_s_qpc_dci_dump(const struct connectib_hw_s_qpc_dci *ptr_struct, FILE* file) {
-	connectib_hw_s_qpc_dci_print(ptr_struct, file, 0);
+void connectib_device_stat_dump(const struct connectib_device_stat *ptr_struct, FILE* file)
+{
+	connectib_device_stat_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_s_qpc_rc_uc_dcr_pack(const struct connectib_hw_s_qpc_rc_uc_dcr *ptr_struct, u_int8_t* ptr_buff){
+void connectib_device_ctl_pack(const struct connectib_device_ctl *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ldb_int);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rnr_nak_retry_limit);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rnr_nak_retry_counter);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
-
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->correctable_error_report);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->umr_permission_select);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_fatal_error_report);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fatal_error_report);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request_report);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dc_full_handshake);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->relaxed_ordering);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->uncompleted_non_wire_wqe);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_payload_size);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->extended_tag_field_en);
 
-	offset=94;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dc_state);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->phantom_funcs);
 
-	offset=76;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->limited_qp);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aux_power);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ack_req_frequency);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_snoop);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_request_size);
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->initiate_function_level_reset);
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+}
 
-	offset=67;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->umr_enable);
+void connectib_device_ctl_unpack(struct connectib_device_ctl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frwr_enable);
+	offset = 15;
+	ptr_struct->correctable_error_report = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	offset = 14;
+	ptr_struct->non_fatal_error_report = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->currently_completing_wqe_index);
+	offset = 13;
+	ptr_struct->fatal_error_report = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 12;
+	ptr_struct->unsupported_request_report = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->swqe_consumer_index);
+	offset = 11;
+	ptr_struct->relaxed_ordering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->oldest_non_acked_psn);
+	offset = 8;
+	ptr_struct->max_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->psn_since_ackreq);
+	offset = 7;
+	ptr_struct->extended_tag_field_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->responder_session_id);
+	offset = 6;
+	ptr_struct->phantom_funcs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	offset = 5;
+	ptr_struct->aux_power = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 4;
+	ptr_struct->no_snoop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_to_send_psn);
+	offset = 1;
+	ptr_struct->max_read_request_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=296;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ssn);
+	offset = 0;
+	ptr_struct->initiate_function_level_reset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+}
 
-	offset=336;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh_tclass);
+void connectib_device_ctl_print(const struct connectib_device_ctl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_device_ctl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=332;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reverse_sl);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "correctable_error_report : " UH_FMT "\n", ptr_struct->correctable_error_report);
 
-	offset=329;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->to_sequence_error_retry_counter);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "non_fatal_error_report : " UH_FMT "\n", ptr_struct->non_fatal_error_report);
 
-	offset=361;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 23, (u_int32_t)ptr_struct->sx_gather_commit);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fatal_error_report   : " UH_FMT "\n", ptr_struct->fatal_error_report);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_my_gid_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "unsupported_request_report : " UH_FMT "\n", ptr_struct->unsupported_request_report);
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->to_sequence_error_retry_limit);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "relaxed_ordering     : " UH_FMT "\n", ptr_struct->relaxed_ordering);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_payload_size     : " UH_FMT "\n", ptr_struct->max_payload_size);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "extended_tag_field_en : " UH_FMT "\n", ptr_struct->extended_tag_field_en);
 
-	offset=392;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->lsn);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "phantom_funcs        : " UH_FMT "\n", ptr_struct->phantom_funcs);
 
-	offset=456;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_psn_of_message_currently_completing);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aux_power            : " UH_FMT "\n", ptr_struct->aux_power);
 
-	offset=450;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->currently_completing_ds);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_snoop             : " UH_FMT "\n", ptr_struct->no_snoop);
 
-	offset=449;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->timer_enable);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_read_request_size : " UH_FMT "\n", ptr_struct->max_read_request_size);
 
-	offset=448;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "initiate_function_level_reset : " UH_FMT "\n", ptr_struct->initiate_function_level_reset);
 
-	offset=488;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_unsent_psn);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->number_outstanding_reads);
+int connectib_device_ctl_size(void)
+{
+	 return 2;
+}
 
+void connectib_device_ctl_dump(const struct connectib_device_ctl *ptr_struct, FILE* file)
+{
+	connectib_device_ctl_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_s_qpc_rc_uc_dcr_unpack(struct connectib_hw_s_qpc_rc_uc_dcr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_device_caps_pack(const struct connectib_device_caps *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->ldb_int = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=21;
-	ptr_struct->rnr_nak_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->rnr_nak_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_payload_size_supported);
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->phantom_funcs);
 
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->extended_tag_field_sup);
 
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->l0s_acceptable_latency);
 
-	offset=6;
-	ptr_struct->umr_permission_select = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->l1_acceptable_latency);
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->role_based_error_reporting);
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->captured_slot_power_limit_value);
 
-	offset=3;
-	ptr_struct->dc_full_handshake = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->captured_slot_power_limit_scale);
 
-	offset=1;
-	ptr_struct->uncompleted_non_wire_wqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->function_level_reset_capability);
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=94;
-	ptr_struct->dc_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+void connectib_device_caps_unpack(struct connectib_device_caps *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=76;
-	ptr_struct->limited_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 29;
+	ptr_struct->max_payload_size_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=72;
-	ptr_struct->ack_req_frequency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 27;
+	ptr_struct->phantom_funcs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 26;
+	ptr_struct->extended_tag_field_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 23;
+	ptr_struct->l0s_acceptable_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 20;
+	ptr_struct->l1_acceptable_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=67;
-	ptr_struct->umr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->role_based_error_reporting = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=66;
-	ptr_struct->frwr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	ptr_struct->captured_slot_power_limit_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 4;
+	ptr_struct->captured_slot_power_limit_scale = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=96;
-	ptr_struct->currently_completing_wqe_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 3;
+	ptr_struct->function_level_reset_capability = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+}
 
-	offset=128;
-	ptr_struct->swqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_device_caps_print(const struct connectib_device_caps *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_device_caps ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=168;
-	ptr_struct->oldest_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_payload_size_supported : " UH_FMT "\n", ptr_struct->max_payload_size_supported);
 
-	offset=160;
-	ptr_struct->psn_since_ackreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "phantom_funcs        : " UH_FMT "\n", ptr_struct->phantom_funcs);
 
-	offset=200;
-	ptr_struct->responder_session_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "extended_tag_field_sup : " UH_FMT "\n", ptr_struct->extended_tag_field_sup);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "l0s_acceptable_latency : " UH_FMT "\n", ptr_struct->l0s_acceptable_latency);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "l1_acceptable_latency : " UH_FMT "\n", ptr_struct->l1_acceptable_latency);
 
-	offset=256;
-	ptr_struct->next_to_send_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "role_based_error_reporting : " UH_FMT "\n", ptr_struct->role_based_error_reporting);
 
-	offset=296;
-	ptr_struct->ssn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "captured_slot_power_limit_value : " UH_FMT "\n", ptr_struct->captured_slot_power_limit_value);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "captured_slot_power_limit_scale : " UH_FMT "\n", ptr_struct->captured_slot_power_limit_scale);
 
-	offset=336;
-	ptr_struct->force_grh_tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "function_level_reset_capability : " UH_FMT "\n", ptr_struct->function_level_reset_capability);
 
-	offset=332;
-	ptr_struct->reverse_sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=329;
-	ptr_struct->to_sequence_error_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+int connectib_device_caps_size(void)
+{
+	 return 4;
+}
 
-	offset=361;
-	ptr_struct->sx_gather_commit = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 23);
+void connectib_device_caps_dump(const struct connectib_device_caps *ptr_struct, FILE* file)
+{
+	connectib_device_caps_print(ptr_struct, file, 0);
+}
 
-	offset=360;
-	ptr_struct->force_my_gid_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_pciex_cap_pack(const struct connectib_pciex_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=357;
-	ptr_struct->to_sequence_error_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->device_port_type);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->slot);
 
-	offset=392;
-	ptr_struct->lsn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->int_message_num);
 
-	offset=456;
-	ptr_struct->first_psn_of_message_currently_completing = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=450;
-	ptr_struct->currently_completing_ds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+void connectib_pciex_cap_unpack(struct connectib_pciex_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=449;
-	ptr_struct->timer_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 12;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=448;
-	ptr_struct->force_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->device_port_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=488;
-	ptr_struct->first_unsent_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 7;
+	ptr_struct->slot = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=480;
-	ptr_struct->number_outstanding_reads = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 2;
+	ptr_struct->int_message_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
 }
 
-void connectib_hw_s_qpc_rc_uc_dcr_print(const struct connectib_hw_s_qpc_rc_uc_dcr *ptr_struct, FILE* file, int indent_level){
+void connectib_pciex_cap_print(const struct connectib_pciex_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_s_qpc_rc_uc_dcr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pciex_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ldb_int              : "UH_FMT"\n", ptr_struct->ldb_int);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_nak_retry_limit  : "UH_FMT"\n", ptr_struct->rnr_nak_retry_limit);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_nak_retry_counter : "UH_FMT"\n", ptr_struct->rnr_nak_retry_counter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+	fprintf(file, "device_port_type     : " UH_FMT "\n", ptr_struct->device_port_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_permission_select : "UH_FMT"\n", ptr_struct->umr_permission_select);
+	fprintf(file, "slot                 : " UH_FMT "\n", ptr_struct->slot);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	fprintf(file, "int_message_num      : " UH_FMT "\n", ptr_struct->int_message_num);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_full_handshake    : "UH_FMT"\n", ptr_struct->dc_full_handshake);
+int connectib_pciex_cap_size(void)
+{
+	 return 2;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uncompleted_non_wire_wqe : "UH_FMT"\n", ptr_struct->uncompleted_non_wire_wqe);
+void connectib_pciex_cap_dump(const struct connectib_pciex_cap *ptr_struct, FILE* file)
+{
+	connectib_pciex_cap_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+void connectib_external_port_pf_array_pack(const struct connectib_external_port_pf_array *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_state             : "UH_FMT"\n", ptr_struct->dc_state);
+	offset = 0;
+	connectib_pf_array_default_ones_pack(&(ptr_struct->port_owner), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "limited_qp           : "UH_FMT"\n", ptr_struct->limited_qp);
+	offset = 64;
+	connectib_pf_array_default_ones_pack(&(ptr_struct->allow_rd_counters), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_req_frequency    : "UH_FMT"\n", ptr_struct->ack_req_frequency);
+	offset = 128;
+	connectib_pf_array_default_ones_pack(&(ptr_struct->reneg_on_change), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+void connectib_external_port_pf_array_unpack(struct connectib_external_port_pf_array *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	offset = 0;
+	connectib_pf_array_default_ones_unpack(&(ptr_struct->port_owner), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_enable           : "UH_FMT"\n", ptr_struct->umr_enable);
+	offset = 64;
+	connectib_pf_array_default_ones_unpack(&(ptr_struct->allow_rd_counters), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "frwr_enable          : "UH_FMT"\n", ptr_struct->frwr_enable);
+	offset = 128;
+	connectib_pf_array_default_ones_unpack(&(ptr_struct->reneg_on_change), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+}
 
+void connectib_external_port_pf_array_print(const struct connectib_external_port_pf_array *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "currently_completing_wqe_index : "UH_FMT"\n", ptr_struct->currently_completing_wqe_index);
+	fprintf(file, "======== connectib_external_port_pf_array ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	fprintf(file, "port_owner:\n");
+	connectib_pf_array_default_ones_print(&(ptr_struct->port_owner), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_consumer_index  : "UH_FMT"\n", ptr_struct->swqe_consumer_index);
+	fprintf(file, "allow_rd_counters:\n");
+	connectib_pf_array_default_ones_print(&(ptr_struct->allow_rd_counters), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "oldest_non_acked_psn : "UH_FMT"\n", ptr_struct->oldest_non_acked_psn);
+	fprintf(file, "reneg_on_change:\n");
+	connectib_pf_array_default_ones_print(&(ptr_struct->reneg_on_change), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "psn_since_ackreq     : "UH_FMT"\n", ptr_struct->psn_since_ackreq);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "responder_session_id : "UH_FMT"\n", ptr_struct->responder_session_id);
+int connectib_external_port_pf_array_size(void)
+{
+	 return 24;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+void connectib_external_port_pf_array_dump(const struct connectib_external_port_pf_array *ptr_struct, FILE* file)
+{
+	connectib_external_port_pf_array_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+void connectib_nv_tlv_data_curr_config_pack(const struct connectib_nv_tlv_data_curr_config *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_to_send_psn     : "UH_FMT"\n", ptr_struct->next_to_send_psn);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->current_cfg_method);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ssn                  : "UH_FMT"\n", ptr_struct->ssn);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+void connectib_nv_tlv_data_curr_config_unpack(struct connectib_nv_tlv_data_curr_config *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh_tclass     : "UH_FMT"\n", ptr_struct->force_grh_tclass);
+	offset = 24;
+	ptr_struct->current_cfg_method = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reverse_sl           : "UH_FMT"\n", ptr_struct->reverse_sl);
+}
 
+void connectib_nv_tlv_data_curr_config_print(const struct connectib_nv_tlv_data_curr_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "to_sequence_error_retry_counter : "UH_FMT"\n", ptr_struct->to_sequence_error_retry_counter);
+	fprintf(file, "======== connectib_nv_tlv_data_curr_config ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_gather_commit     : "UH_FMT"\n", ptr_struct->sx_gather_commit);
+	fprintf(file, "current_cfg_method   : " UH_FMT "\n", ptr_struct->current_cfg_method);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_my_gid_index   : "UH_FMT"\n", ptr_struct->force_my_gid_index);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "to_sequence_error_retry_limit : "UH_FMT"\n", ptr_struct->to_sequence_error_retry_limit);
+int connectib_nv_tlv_data_curr_config_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+void connectib_nv_tlv_data_curr_config_dump(const struct connectib_nv_tlv_data_curr_config *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_data_curr_config_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+void connectib_nv_config_flex_nic_pack(const struct connectib_nv_config_flex_nic *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lsn                  : "UH_FMT"\n", ptr_struct->lsn);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->fpga_image_bank);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_psn_of_message_currently_completing : "UH_FMT"\n", ptr_struct->first_psn_of_message_currently_completing);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "currently_completing_ds : "UH_FMT"\n", ptr_struct->currently_completing_ds);
+void connectib_nv_config_flex_nic_unpack(struct connectib_nv_config_flex_nic *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timer_enable         : "UH_FMT"\n", ptr_struct->timer_enable);
+	offset = 0;
+	ptr_struct->fpga_image_bank = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh            : "UH_FMT"\n", ptr_struct->force_grh);
+}
 
+void connectib_nv_config_flex_nic_print(const struct connectib_nv_config_flex_nic *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_unsent_psn     : "UH_FMT"\n", ptr_struct->first_unsent_psn);
+	fprintf(file, "======== connectib_nv_config_flex_nic ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "number_outstanding_reads : "UH_FMT"\n", ptr_struct->number_outstanding_reads);
+	fprintf(file, "fpga_image_bank      : " UH_FMT "\n", ptr_struct->fpga_image_bank);
 
 }
 
-int connectib_hw_s_qpc_rc_uc_dcr_size(void){
-	 return 64;
+int connectib_nv_config_flex_nic_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_s_qpc_rc_uc_dcr_dump(const struct connectib_hw_s_qpc_rc_uc_dcr *ptr_struct, FILE* file) {
-	connectib_hw_s_qpc_rc_uc_dcr_print(ptr_struct, file, 0);
+void connectib_nv_config_flex_nic_dump(const struct connectib_nv_config_flex_nic *ptr_struct, FILE* file)
+{
+	connectib_nv_config_flex_nic_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_s_qpc_connected_common_pack(const struct connectib_hw_s_qpc_connected_common *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_host_2_bmc_pack(const struct connectib_nv_config_host_2_bmc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ldb_int);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->host_2_bmc_traffic_enable);
+
+}
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
+void connectib_nv_config_host_2_bmc_unpack(struct connectib_nv_config_host_2_bmc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rnr_nak_retry_limit);
+	offset = 31;
+	ptr_struct->host_2_bmc_traffic_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+}
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rnr_nak_retry_counter);
+void connectib_nv_config_host_2_bmc_print(const struct connectib_nv_config_host_2_bmc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_config_host_2_bmc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ignore_pkey_check);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "host_2_bmc_traffic_enable : " UH_FMT "\n", ptr_struct->host_2_bmc_traffic_enable);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_atomic);
+}
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_atomic);
+int connectib_nv_config_host_2_bmc_size(void)
+{
+	 return 4;
+}
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->umr_permission_select);
+void connectib_nv_config_host_2_bmc_dump(const struct connectib_nv_config_host_2_bmc *ptr_struct, FILE* file)
+{
+	connectib_nv_config_host_2_bmc_print(ptr_struct, file, 0);
+}
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_direct_access);
+void connectib_nv_tlv_tweaks_pack(const struct connectib_nv_tlv_tweaks *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_credits_enabled);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->packet_pacing);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dc_full_handshake);
+}
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->uncompleted_non_wire_wqe);
+void connectib_nv_tlv_tweaks_unpack(struct connectib_nv_tlv_tweaks *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
+	offset = 31;
+	ptr_struct->packet_pacing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=94;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->dc_state);
+}
 
-	offset=76;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->limited_qp);
+void connectib_nv_tlv_tweaks_print(const struct connectib_nv_tlv_tweaks *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_tlv_tweaks ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ack_req_frequency);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "packet_pacing        : " UH_FMT "\n", ptr_struct->packet_pacing);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+}
 
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+int connectib_nv_tlv_tweaks_size(void)
+{
+	 return 4;
+}
 
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+void connectib_nv_tlv_tweaks_dump(const struct connectib_nv_tlv_tweaks *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_tweaks_print(ptr_struct, file, 0);
+}
 
-	offset=67;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->umr_enable);
+void connectib_nv_sw_offload_conf_pack(const struct connectib_nv_sw_offload_conf *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frwr_enable);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->cqe_compression);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->one_qp_per_recovery);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->currently_completing_wqe_index);
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lro_log_timeout0);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lro_log_timeout1);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->swqe_consumer_index);
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lro_log_timeout2);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->oldest_non_acked_psn);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lro_log_timeout3);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->psn_since_ackreq);
+}
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->responder_session_id);
+void connectib_nv_sw_offload_conf_unpack(struct connectib_nv_sw_offload_conf *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	offset = 29;
+	ptr_struct->cqe_compression = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 28;
+	ptr_struct->one_qp_per_recovery = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_to_send_psn);
+	offset = 60;
+	ptr_struct->lro_log_timeout0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=296;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ssn);
+	offset = 56;
+	ptr_struct->lro_log_timeout1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 52;
+	ptr_struct->lro_log_timeout2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=336;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh_tclass);
+	offset = 48;
+	ptr_struct->lro_log_timeout3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=332;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reverse_sl);
+}
 
-	offset=329;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->to_sequence_error_retry_counter);
+void connectib_nv_sw_offload_conf_print(const struct connectib_nv_sw_offload_conf *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_sw_offload_conf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=361;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 23, (u_int32_t)ptr_struct->sx_gather_commit);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqe_compression      : %s (" UH_FMT ")\n", (ptr_struct->cqe_compression == 0 ? ("BALANCED") : ((ptr_struct->cqe_compression == 1 ? ("AGGRESSIVE") : ("unknown")))), ptr_struct->cqe_compression);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_my_gid_index);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "one_qp_per_recovery  : %s (" UH_FMT ")\n", (ptr_struct->one_qp_per_recovery == 0 ? ("BALANCED") : ((ptr_struct->one_qp_per_recovery == 1 ? ("AGGRESSIVE") : ("unknown")))), ptr_struct->one_qp_per_recovery);
 
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->to_sequence_error_retry_limit);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_log_timeout0     : " UH_FMT "\n", ptr_struct->lro_log_timeout0);
 
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_log_timeout1     : " UH_FMT "\n", ptr_struct->lro_log_timeout1);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_log_timeout2     : " UH_FMT "\n", ptr_struct->lro_log_timeout2);
 
-	offset=456;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_psn_of_message_currently_completing);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_log_timeout3     : " UH_FMT "\n", ptr_struct->lro_log_timeout3);
 
-	offset=450;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->currently_completing_ds);
+}
 
-	offset=449;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->timer_enable);
+int connectib_nv_sw_offload_conf_size(void)
+{
+	 return 8;
+}
 
-	offset=448;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh);
+void connectib_nv_sw_offload_conf_dump(const struct connectib_nv_sw_offload_conf *ptr_struct, FILE* file)
+{
+	connectib_nv_sw_offload_conf_print(ptr_struct, file, 0);
+}
 
-	offset=488;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->first_unsent_psn);
+void connectib_nv_roce_1_5_conf_pack(const struct connectib_nv_roce_1_5_conf *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->number_outstanding_reads);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->roce_over_ip_next_protocol);
 
 }
 
-void connectib_hw_s_qpc_connected_common_unpack(struct connectib_hw_s_qpc_connected_common *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_roce_1_5_conf_unpack(struct connectib_nv_roce_1_5_conf *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->ldb_int = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->roce_over_ip_next_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=24;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+}
 
-	offset=21;
-	ptr_struct->rnr_nak_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_nv_roce_1_5_conf_print(const struct connectib_nv_roce_1_5_conf *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_roce_1_5_conf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "roce_over_ip_next_protocol : " UH_FMT "\n", ptr_struct->roce_over_ip_next_protocol);
 
-	offset=17;
-	ptr_struct->rnr_nak_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=16;
-	ptr_struct->ignore_pkey_check = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_nv_roce_1_5_conf_size(void)
+{
+	 return 4;
+}
 
-	offset=12;
-	ptr_struct->extended_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_nv_roce_1_5_conf_dump(const struct connectib_nv_roce_1_5_conf *ptr_struct, FILE* file)
+{
+	connectib_nv_roce_1_5_conf_print(ptr_struct, file, 0);
+}
 
-	offset=9;
-	ptr_struct->max_read_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_nv_qos_ets_tc_conf_pack(const struct connectib_nv_qos_ets_tc_conf *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=6;
-	ptr_struct->umr_permission_select = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(64, 64, i, 576, 1);
+	connectib_nv_ets_tcN_config_reg_pack(&(ptr_struct->tc_configuration[i]), ptr_buff + offset/8);
+	}
 
-	offset=5;
-	ptr_struct->no_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=4;
-	ptr_struct->e2e_credits_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_nv_qos_ets_tc_conf_unpack(struct connectib_nv_qos_ets_tc_conf *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=3;
-	ptr_struct->dc_full_handshake = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(64, 64, i, 576, 1);
+	connectib_nv_ets_tcN_config_reg_unpack(&(ptr_struct->tc_configuration[i]), ptr_buff + offset/8);
+	}
 
-	offset=1;
-	ptr_struct->uncompleted_non_wire_wqe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_nv_qos_ets_tc_conf_print(const struct connectib_nv_qos_ets_tc_conf *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_qos_ets_tc_conf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=94;
-	ptr_struct->dc_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	for (i = 0; i < 8; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tc_configuration_%03d:\n", i);
+	connectib_nv_ets_tcN_config_reg_print(&(ptr_struct->tc_configuration[i]), file, indent_level + 1);
+	}
 
-	offset=76;
-	ptr_struct->limited_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=72;
-	ptr_struct->ack_req_frequency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+int connectib_nv_qos_ets_tc_conf_size(void)
+{
+	 return 72;
+}
 
-	offset=71;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_nv_qos_ets_tc_conf_dump(const struct connectib_nv_qos_ets_tc_conf *ptr_struct, FILE* file)
+{
+	connectib_nv_qos_ets_tc_conf_print(ptr_struct, file, 0);
+}
 
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_nv_qos_cap_pack(const struct connectib_nv_qos_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=69;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_num_of_vl);
 
-	offset=67;
-	ptr_struct->umr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_num_of_tc);
 
-	offset=66;
-	ptr_struct->frwr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_num_pfc);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=96;
-	ptr_struct->currently_completing_wqe_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_nv_qos_cap_unpack(struct connectib_nv_qos_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 28;
+	ptr_struct->max_num_of_vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	ptr_struct->swqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 24;
+	ptr_struct->max_num_of_tc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=168;
-	ptr_struct->oldest_non_acked_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 20;
+	ptr_struct->max_num_pfc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
-	ptr_struct->psn_since_ackreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=200;
-	ptr_struct->responder_session_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_nv_qos_cap_print(const struct connectib_nv_qos_cap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_qos_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_num_of_vl        : %s (" UH_FMT ")\n", (ptr_struct->max_num_of_vl == 1 ? ("_1_VL") : ((ptr_struct->max_num_of_vl == 2 ? ("_2_VLs") : ((ptr_struct->max_num_of_vl == 3 ? ("_4_VLs") : ((ptr_struct->max_num_of_vl == 4 ? ("_8_VLs") : ((ptr_struct->max_num_of_vl == 5 ? ("_15_VLs") : ("unknown")))))))))), ptr_struct->max_num_of_vl);
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_num_of_tc        : " UH_FMT "\n", ptr_struct->max_num_of_tc);
 
-	offset=256;
-	ptr_struct->next_to_send_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_num_pfc          : " UH_FMT "\n", ptr_struct->max_num_pfc);
 
-	offset=296;
-	ptr_struct->ssn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+int connectib_nv_qos_cap_size(void)
+{
+	 return 4;
+}
 
-	offset=336;
-	ptr_struct->force_grh_tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_nv_qos_cap_dump(const struct connectib_nv_qos_cap *ptr_struct, FILE* file)
+{
+	connectib_nv_qos_cap_print(ptr_struct, file, 0);
+}
 
-	offset=332;
-	ptr_struct->reverse_sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_nv_qos_conf_pack(const struct connectib_nv_qos_conf *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=329;
-	ptr_struct->to_sequence_error_retry_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_vl);
 
-	offset=361;
-	ptr_struct->sx_gather_commit = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 23);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_tc);
 
-	offset=360;
-	ptr_struct->force_my_gid_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_pfc);
 
-	offset=357;
-	ptr_struct->to_sequence_error_retry_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(60, 4, i, 96, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->priority_pfcc_pfc[i]);
+	}
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(92, 4, i, 96, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->priority_tc[i]);
+	}
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=456;
-	ptr_struct->first_psn_of_message_currently_completing = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_nv_qos_conf_unpack(struct connectib_nv_qos_conf *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=450;
-	ptr_struct->currently_completing_ds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 28;
+	ptr_struct->num_of_vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=449;
-	ptr_struct->timer_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->num_of_tc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=448;
-	ptr_struct->force_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 20;
+	ptr_struct->num_pfc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=488;
-	ptr_struct->first_unsent_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(60, 4, i, 96, 1);
+	ptr_struct->priority_pfcc_pfc[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=480;
-	ptr_struct->number_outstanding_reads = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(92, 4, i, 96, 1);
+	ptr_struct->priority_tc[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_hw_s_qpc_connected_common_print(const struct connectib_hw_s_qpc_connected_common *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_qos_conf_print(const struct connectib_nv_qos_conf *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_s_qpc_connected_common ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_qos_conf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ldb_int              : "UH_FMT"\n", ptr_struct->ldb_int);
+	fprintf(file, "num_of_vl            : %s (" UH_FMT ")\n", (ptr_struct->num_of_vl == 1 ? ("_1_VL") : ((ptr_struct->num_of_vl == 2 ? ("_2_VLs") : ((ptr_struct->num_of_vl == 3 ? ("_4_VLs") : ((ptr_struct->num_of_vl == 4 ? ("_8_VLs") : ((ptr_struct->num_of_vl == 5 ? ("_15_VLs") : ("unknown")))))))))), ptr_struct->num_of_vl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	fprintf(file, "num_of_tc            : %s (" UH_FMT ")\n", (ptr_struct->num_of_tc == 0 ? ("_8_TCs") : ((ptr_struct->num_of_tc == 1 ? ("_1_TC") : ((ptr_struct->num_of_tc == 2 ? ("_2_TCs") : ((ptr_struct->num_of_tc == 3 ? ("_3_TCs") : ((ptr_struct->num_of_tc == 4 ? ("_4_TCs") : ((ptr_struct->num_of_tc == 5 ? ("_5_TCs") : ((ptr_struct->num_of_tc == 6 ? ("_6_TCs") : ((ptr_struct->num_of_tc == 7 ? ("_7_TCs") : ("unknown")))))))))))))))), ptr_struct->num_of_tc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_nak_retry_limit  : "UH_FMT"\n", ptr_struct->rnr_nak_retry_limit);
+	fprintf(file, "num_pfc              : " UH_FMT "\n", ptr_struct->num_pfc);
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "priority_pfcc_pfc_%03d : %s (" UH_FMT ")\n", i, (ptr_struct->priority_pfcc_pfc[i] == 0 ? ("DISABLED") : ((ptr_struct->priority_pfcc_pfc[i] == 1 ? ("RX_ONLY") : ((ptr_struct->priority_pfcc_pfc[i] == 2 ? ("TX_ONLY") : ((ptr_struct->priority_pfcc_pfc[i] == 3 ? ("RX_TX") : ("unknown")))))))), ptr_struct->priority_pfcc_pfc[i]);
+	}
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rnr_nak_retry_counter : "UH_FMT"\n", ptr_struct->rnr_nak_retry_counter);
+	fprintf(file, "priority_tc_%03d     : " UH_FMT "\n", i, ptr_struct->priority_tc[i]);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ignore_pkey_check    : "UH_FMT"\n", ptr_struct->ignore_pkey_check);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_atomic      : "UH_FMT"\n", ptr_struct->extended_atomic);
+int connectib_nv_qos_conf_size(void)
+{
+	 return 12;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_atomic      : "UH_FMT"\n", ptr_struct->max_read_atomic);
+void connectib_nv_qos_conf_dump(const struct connectib_nv_qos_conf *ptr_struct, FILE* file)
+{
+	connectib_nv_qos_conf_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_permission_select : "UH_FMT"\n", ptr_struct->umr_permission_select);
+void connectib_nv_lldp_nb_dcbx_pack(const struct connectib_nv_lldp_nb_dcbx *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_direct_access     : "UH_FMT"\n", ptr_struct->no_direct_access);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ieee_dcbx_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_enabled  : "UH_FMT"\n", ptr_struct->e2e_credits_enabled);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cee_dcbx_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_full_handshake    : "UH_FMT"\n", ptr_struct->dc_full_handshake);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dcbx_willing);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uncompleted_non_wire_wqe : "UH_FMT"\n", ptr_struct->uncompleted_non_wire_wqe);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+void connectib_nv_lldp_nb_dcbx_unpack(struct connectib_nv_lldp_nb_dcbx *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_state             : "UH_FMT"\n", ptr_struct->dc_state);
+	offset = 31;
+	ptr_struct->ieee_dcbx_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "limited_qp           : "UH_FMT"\n", ptr_struct->limited_qp);
+	offset = 30;
+	ptr_struct->cee_dcbx_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ack_req_frequency    : "UH_FMT"\n", ptr_struct->ack_req_frequency);
+	offset = 29;
+	ptr_struct->dcbx_willing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
+}
 
+void connectib_nv_lldp_nb_dcbx_print(const struct connectib_nv_lldp_nb_dcbx *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "======== connectib_nv_lldp_nb_dcbx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
+	fprintf(file, "ieee_dcbx_en         : " UH_FMT "\n", ptr_struct->ieee_dcbx_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_enable           : "UH_FMT"\n", ptr_struct->umr_enable);
+	fprintf(file, "cee_dcbx_en          : " UH_FMT "\n", ptr_struct->cee_dcbx_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "frwr_enable          : "UH_FMT"\n", ptr_struct->frwr_enable);
+	fprintf(file, "dcbx_willing         : " UH_FMT "\n", ptr_struct->dcbx_willing);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "currently_completing_wqe_index : "UH_FMT"\n", ptr_struct->currently_completing_wqe_index);
+int connectib_nv_lldp_nb_dcbx_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+void connectib_nv_lldp_nb_dcbx_dump(const struct connectib_nv_lldp_nb_dcbx *ptr_struct, FILE* file)
+{
+	connectib_nv_lldp_nb_dcbx_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_consumer_index  : "UH_FMT"\n", ptr_struct->swqe_consumer_index);
+void connectib_nv_lldp_nb_conf_pack(const struct connectib_nv_lldp_nb_conf *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "oldest_non_acked_psn : "UH_FMT"\n", ptr_struct->oldest_non_acked_psn);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->lldp_msg_tx_interval);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "psn_since_ackreq     : "UH_FMT"\n", ptr_struct->psn_since_ackreq);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lldp_nb_dcbx);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "responder_session_id : "UH_FMT"\n", ptr_struct->responder_session_id);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lldp_nb_rx_mode);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lldp_nb_tx_mode);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lldp_nb_rx_buffer_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_to_send_psn     : "UH_FMT"\n", ptr_struct->next_to_send_psn);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lldp_nb_tx_buffer_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ssn                  : "UH_FMT"\n", ptr_struct->ssn);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+void connectib_nv_lldp_nb_conf_unpack(struct connectib_nv_lldp_nb_conf *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh_tclass     : "UH_FMT"\n", ptr_struct->force_grh_tclass);
+	offset = 20;
+	ptr_struct->lldp_msg_tx_interval = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reverse_sl           : "UH_FMT"\n", ptr_struct->reverse_sl);
+	offset = 4;
+	ptr_struct->lldp_nb_dcbx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "to_sequence_error_retry_counter : "UH_FMT"\n", ptr_struct->to_sequence_error_retry_counter);
+	offset = 2;
+	ptr_struct->lldp_nb_rx_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_gather_commit     : "UH_FMT"\n", ptr_struct->sx_gather_commit);
+	offset = 0;
+	ptr_struct->lldp_nb_tx_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_my_gid_index   : "UH_FMT"\n", ptr_struct->force_my_gid_index);
+	offset = 80;
+	ptr_struct->lldp_nb_rx_buffer_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "to_sequence_error_retry_limit : "UH_FMT"\n", ptr_struct->to_sequence_error_retry_limit);
+	offset = 64;
+	ptr_struct->lldp_nb_tx_buffer_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+}
 
+void connectib_nv_lldp_nb_conf_print(const struct connectib_nv_lldp_nb_conf *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "======== connectib_nv_lldp_nb_conf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_psn_of_message_currently_completing : "UH_FMT"\n", ptr_struct->first_psn_of_message_currently_completing);
+	fprintf(file, "lldp_msg_tx_interval : " UH_FMT "\n", ptr_struct->lldp_msg_tx_interval);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "currently_completing_ds : "UH_FMT"\n", ptr_struct->currently_completing_ds);
+	fprintf(file, "lldp_nb_dcbx         : " UH_FMT "\n", ptr_struct->lldp_nb_dcbx);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timer_enable         : "UH_FMT"\n", ptr_struct->timer_enable);
+	fprintf(file, "lldp_nb_rx_mode      : %s (" UH_FMT ")\n", (ptr_struct->lldp_nb_rx_mode == 0 ? ("OFF") : ((ptr_struct->lldp_nb_rx_mode == 1 ? ("MANDATORY") : ((ptr_struct->lldp_nb_rx_mode == 2 ? ("ALL") : ("unknown")))))), ptr_struct->lldp_nb_rx_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh            : "UH_FMT"\n", ptr_struct->force_grh);
+	fprintf(file, "lldp_nb_tx_mode      : %s (" UH_FMT ")\n", (ptr_struct->lldp_nb_tx_mode == 0 ? ("OFF") : ((ptr_struct->lldp_nb_tx_mode == 1 ? ("MANDATORY") : ((ptr_struct->lldp_nb_tx_mode == 2 ? ("ALL") : ("unknown")))))), ptr_struct->lldp_nb_tx_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_unsent_psn     : "UH_FMT"\n", ptr_struct->first_unsent_psn);
+	fprintf(file, "lldp_nb_rx_buffer_size : " UH_FMT "\n", ptr_struct->lldp_nb_rx_buffer_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "number_outstanding_reads : "UH_FMT"\n", ptr_struct->number_outstanding_reads);
+	fprintf(file, "lldp_nb_tx_buffer_size : " UH_FMT "\n", ptr_struct->lldp_nb_tx_buffer_size);
 
 }
 
-int connectib_hw_s_qpc_connected_common_size(void){
-	 return 64;
+int connectib_nv_lldp_nb_conf_size(void)
+{
+	 return 12;
 }
 
-void connectib_hw_s_qpc_connected_common_dump(const struct connectib_hw_s_qpc_connected_common *ptr_struct, FILE* file) {
-	connectib_hw_s_qpc_connected_common_print(ptr_struct, file, 0);
+void connectib_nv_lldp_nb_conf_dump(const struct connectib_nv_lldp_nb_conf *ptr_struct, FILE* file)
+{
+	connectib_nv_lldp_nb_conf_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_s_qpc_common_pack(const struct connectib_hw_s_qpc_common *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_lldp_nb_cap_pack(const struct connectib_nv_lldp_nb_cap *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->umr_permission_select);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qp_valid);
-
-	offset=70;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
-
-	offset=67;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->umr_enable);
-
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frwr_enable);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
-
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->qp_state);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->swqe_consumer_index);
-
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
-
-	offset=280;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_syndrom);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lldp_nb_dcbx_en);
 
-	offset=256;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_to_send_psn);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lldp_nb_rx_cap);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->counter_index);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lldp_nb_tx_cap);
 
-	offset=336;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh_tclass);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_lldp_nb_rx_buffer_size);
 
-	offset=361;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 23, (u_int32_t)ptr_struct->sx_gather_commit);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_lldp_nb_tx_buffer_size);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_my_gid_index);
-
-	offset=356;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_heartbeat);
-
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ts);
-
-	offset=448;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_grh);
+	offset = 89;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->max_num_of_tx_optional_lldp_tlv);
 
 }
 
-void connectib_hw_s_qpc_common_unpack(struct connectib_hw_s_qpc_common *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_lldp_nb_cap_unpack(struct connectib_nv_lldp_nb_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=20;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->umr_permission_select = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=0;
-	ptr_struct->qp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=70;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 4;
+	ptr_struct->lldp_nb_dcbx_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=67;
-	ptr_struct->umr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 2;
+	ptr_struct->lldp_nb_rx_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=66;
-	ptr_struct->frwr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->lldp_nb_tx_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=64;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->max_lldp_nb_rx_buffer_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=144;
-	ptr_struct->qp_state = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	ptr_struct->max_lldp_nb_tx_buffer_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=128;
-	ptr_struct->swqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 89;
+	ptr_struct->max_num_of_tx_optional_lldp_tlv = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=232;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=280;
-	ptr_struct->flush_syndrom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_nv_lldp_nb_cap_print(const struct connectib_nv_lldp_nb_cap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_lldp_nb_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=256;
-	ptr_struct->next_to_send_psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lldp_nb_dcbx_en      : " UH_FMT "\n", ptr_struct->lldp_nb_dcbx_en);
 
-	offset=288;
-	ptr_struct->counter_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lldp_nb_rx_cap       : %s (" UH_FMT ")\n", (ptr_struct->lldp_nb_rx_cap == 0 ? ("NA") : ((ptr_struct->lldp_nb_rx_cap == 1 ? ("MANDATORY") : ((ptr_struct->lldp_nb_rx_cap == 2 ? ("ALL") : ("unknown")))))), ptr_struct->lldp_nb_rx_cap);
 
-	offset=336;
-	ptr_struct->force_grh_tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lldp_nb_tx_cap       : %s (" UH_FMT ")\n", (ptr_struct->lldp_nb_tx_cap == 0 ? ("NA") : ((ptr_struct->lldp_nb_tx_cap == 1 ? ("MANDATORY") : ((ptr_struct->lldp_nb_tx_cap == 2 ? ("ALL") : ((ptr_struct->lldp_nb_tx_cap == 3 ? ("reserved") : ("unknown")))))))), ptr_struct->lldp_nb_tx_cap);
 
-	offset=361;
-	ptr_struct->sx_gather_commit = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 23);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_lldp_nb_rx_buffer_size : " UH_FMT "\n", ptr_struct->max_lldp_nb_rx_buffer_size);
 
-	offset=360;
-	ptr_struct->force_my_gid_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_lldp_nb_tx_buffer_size : " UH_FMT "\n", ptr_struct->max_lldp_nb_tx_buffer_size);
 
-	offset=356;
-	ptr_struct->sx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_num_of_tx_optional_lldp_tlv : " UH_FMT "\n", ptr_struct->max_num_of_tx_optional_lldp_tlv);
 
-	offset=352;
-	ptr_struct->ts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=448;
-	ptr_struct->force_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_nv_lldp_nb_cap_size(void)
+{
+	 return 12;
+}
 
+void connectib_nv_lldp_nb_cap_dump(const struct connectib_nv_lldp_nb_cap *ptr_struct, FILE* file)
+{
+	connectib_nv_lldp_nb_cap_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_s_qpc_common_print(const struct connectib_hw_s_qpc_common *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_s_qpc_common ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+void connectib_nv_keep_link_up_pack(const struct connectib_nv_keep_link_up *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->keep_eth_link_up);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_permission_select : "UH_FMT"\n", ptr_struct->umr_permission_select);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->keep_ib_link_up);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_valid             : "UH_FMT"\n", ptr_struct->qp_valid);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->keep_link_up_on_boot);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->keep_link_up_on_standby);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_enable           : "UH_FMT"\n", ptr_struct->umr_enable);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_clear_port_stat_on_loading);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "frwr_enable          : "UH_FMT"\n", ptr_struct->frwr_enable);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+void connectib_nv_keep_link_up_unpack(struct connectib_nv_keep_link_up *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_state             : "UH_FMT"\n", ptr_struct->qp_state);
+	offset = 31;
+	ptr_struct->keep_eth_link_up = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_consumer_index  : "UH_FMT"\n", ptr_struct->swqe_consumer_index);
+	offset = 30;
+	ptr_struct->keep_ib_link_up = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
+	offset = 29;
+	ptr_struct->keep_link_up_on_boot = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_syndrom        : "UH_FMT"\n", ptr_struct->flush_syndrom);
+	offset = 28;
+	ptr_struct->keep_link_up_on_standby = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_to_send_psn     : "UH_FMT"\n", ptr_struct->next_to_send_psn);
+	offset = 27;
+	ptr_struct->disable_clear_port_stat_on_loading = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_index        : "UH_FMT"\n", ptr_struct->counter_index);
+}
 
+void connectib_nv_keep_link_up_print(const struct connectib_nv_keep_link_up *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh_tclass     : "UH_FMT"\n", ptr_struct->force_grh_tclass);
+	fprintf(file, "======== connectib_nv_keep_link_up ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_gather_commit     : "UH_FMT"\n", ptr_struct->sx_gather_commit);
+	fprintf(file, "keep_eth_link_up     : " UH_FMT "\n", ptr_struct->keep_eth_link_up);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_my_gid_index   : "UH_FMT"\n", ptr_struct->force_my_gid_index);
+	fprintf(file, "keep_ib_link_up      : " UH_FMT "\n", ptr_struct->keep_ib_link_up);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_heartbeat         : "UH_FMT"\n", ptr_struct->sx_heartbeat);
+	fprintf(file, "keep_link_up_on_boot : " UH_FMT "\n", ptr_struct->keep_link_up_on_boot);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts                   : "UH_FMT"\n", ptr_struct->ts);
+	fprintf(file, "keep_link_up_on_standby : " UH_FMT "\n", ptr_struct->keep_link_up_on_standby);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_grh            : "UH_FMT"\n", ptr_struct->force_grh);
+	fprintf(file, "disable_clear_port_stat_on_loading : " UH_FMT "\n", ptr_struct->disable_clear_port_stat_on_loading);
 
 }
 
-int connectib_hw_s_qpc_common_size(void){
-	 return 64;
+int connectib_nv_keep_link_up_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_s_qpc_common_dump(const struct connectib_hw_s_qpc_common *ptr_struct, FILE* file) {
-	connectib_hw_s_qpc_common_print(ptr_struct, file, 0);
+void connectib_nv_keep_link_up_dump(const struct connectib_nv_keep_link_up *ptr_struct, FILE* file)
+{
+	connectib_nv_keep_link_up_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_unconnected_2cycbuff_pack(const struct connectib_hw_c_qpc_unconnected_2cycbuff *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_roce_cc_ecn_pack(const struct connectib_nv_roce_cc_ecn *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clamp_tgt_rate_after_time_inc);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clamp_tgt_rate);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_valid);
+	offset = 47;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 17, (u_int32_t)ptr_struct->rpg_time_reset);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
+	offset = 81;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->rpg_byte_reset);
 
-	offset=51;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rcyclic_size);
+	offset = 123;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rpg_threshold);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rpg_max_rate);
 
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
+	offset = 175;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 17, (u_int32_t)ptr_struct->rpg_ai_rate);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
+	offset = 207;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 17, (u_int32_t)ptr_struct->rpg_hai_rate);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->qkey);
+	offset = 252;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rpg_gd);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
+	offset = 280;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rpg_min_dec_fac);
 
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+	offset = 303;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 17, (u_int32_t)ptr_struct->rpg_min_rate);
 
-	offset=267;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
+	offset = 335;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 17, (u_int32_t)ptr_struct->rate_to_set_on_first_cnp);
 
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+	offset = 374;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->dce_tcp_g);
 
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
+	offset = 399;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 17, (u_int32_t)ptr_struct->dce_tcp_rtt);
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swqe_buffer_size);
+	offset = 431;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 17, (u_int32_t)ptr_struct->rate_reduce_monitor_period);
 
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
+	offset = 470;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->initial_alpha_value);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
+	offset = 495;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 17, (u_int32_t)ptr_struct->min_time_between_cnps);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 541;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->cnp_802p_prio);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
+	offset = 530;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->cnp_dscp);
 
 }
 
-void connectib_hw_c_qpc_unconnected_2cycbuff_unpack(struct connectib_hw_c_qpc_unconnected_2cycbuff *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_roce_cc_ecn_unpack(struct connectib_nv_roce_cc_ecn *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 1;
+	ptr_struct->clamp_tgt_rate_after_time_inc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->clamp_tgt_rate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->common_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 47;
+	ptr_struct->rpg_time_reset = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 17);
 
-	offset=56;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 81;
+	ptr_struct->rpg_byte_reset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
 
-	offset=51;
-	ptr_struct->rcyclic_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 123;
+	ptr_struct->rpg_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=104;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 128;
+	ptr_struct->rpg_max_rate = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=98;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 175;
+	ptr_struct->rpg_ai_rate = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 17);
 
-	offset=128;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 207;
+	ptr_struct->rpg_hai_rate = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 17);
 
-	offset=160;
-	ptr_struct->qkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 252;
+	ptr_struct->rpg_gd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=200;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 280;
+	ptr_struct->rpg_min_dec_fac = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=268;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 303;
+	ptr_struct->rpg_min_rate = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 17);
 
-	offset=267;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 335;
+	ptr_struct->rate_to_set_on_first_cnp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 17);
 
-	offset=266;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 374;
+	ptr_struct->dce_tcp_g = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=265;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 399;
+	ptr_struct->dce_tcp_rtt = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 17);
 
-	offset=260;
-	ptr_struct->swqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 431;
+	ptr_struct->rate_reduce_monitor_period = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 17);
 
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 470;
+	ptr_struct->initial_alpha_value = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 495;
+	ptr_struct->min_time_between_cnps = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 17);
 
-	offset=360;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 541;
+	ptr_struct->cnp_802p_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 530;
+	ptr_struct->cnp_dscp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
 }
 
-void connectib_hw_c_qpc_unconnected_2cycbuff_print(const struct connectib_hw_c_qpc_unconnected_2cycbuff *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_roce_cc_ecn_print(const struct connectib_nv_roce_cc_ecn *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc_unconnected_2cycbuff ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_roce_cc_ecn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
+	fprintf(file, "clamp_tgt_rate_after_time_inc : " UH_FMT "\n", ptr_struct->clamp_tgt_rate_after_time_inc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
+	fprintf(file, "clamp_tgt_rate       : " UH_FMT "\n", ptr_struct->clamp_tgt_rate);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_valid         : "UH_FMT"\n", ptr_struct->common_valid);
+	fprintf(file, "rpg_time_reset       : " UH_FMT "\n", ptr_struct->rpg_time_reset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+	fprintf(file, "rpg_byte_reset       : " UH_FMT "\n", ptr_struct->rpg_byte_reset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_size         : "UH_FMT"\n", ptr_struct->rcyclic_size);
+	fprintf(file, "rpg_threshold        : " UH_FMT "\n", ptr_struct->rpg_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
+	fprintf(file, "rpg_max_rate         : " U32H_FMT "\n", ptr_struct->rpg_max_rate);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
+	fprintf(file, "rpg_ai_rate          : " UH_FMT "\n", ptr_struct->rpg_ai_rate);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
+	fprintf(file, "rpg_hai_rate         : " UH_FMT "\n", ptr_struct->rpg_hai_rate);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qkey                 : "U32H_FMT"\n", ptr_struct->qkey);
+	fprintf(file, "rpg_gd               : " UH_FMT "\n", ptr_struct->rpg_gd);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
+	fprintf(file, "rpg_min_dec_fac      : " UH_FMT "\n", ptr_struct->rpg_min_dec_fac);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "rpg_min_rate         : " UH_FMT "\n", ptr_struct->rpg_min_rate);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
+	fprintf(file, "rate_to_set_on_first_cnp : " UH_FMT "\n", ptr_struct->rate_to_set_on_first_cnp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	fprintf(file, "dce_tcp_g            : " UH_FMT "\n", ptr_struct->dce_tcp_g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+	fprintf(file, "dce_tcp_rtt          : " UH_FMT "\n", ptr_struct->dce_tcp_rtt);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_buffer_size     : "UH_FMT"\n", ptr_struct->swqe_buffer_size);
+	fprintf(file, "rate_reduce_monitor_period : " UH_FMT "\n", ptr_struct->rate_reduce_monitor_period);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+	fprintf(file, "initial_alpha_value  : " UH_FMT "\n", ptr_struct->initial_alpha_value);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+	fprintf(file, "min_time_between_cnps : " UH_FMT "\n", ptr_struct->min_time_between_cnps);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "cnp_802p_prio        : " UH_FMT "\n", ptr_struct->cnp_802p_prio);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+	fprintf(file, "cnp_dscp             : " UH_FMT "\n", ptr_struct->cnp_dscp);
 
 }
 
-int connectib_hw_c_qpc_unconnected_2cycbuff_size(void){
-	 return 64;
+int connectib_nv_roce_cc_ecn_size(void)
+{
+	 return 68;
 }
 
-void connectib_hw_c_qpc_unconnected_2cycbuff_dump(const struct connectib_hw_c_qpc_unconnected_2cycbuff *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_unconnected_2cycbuff_print(ptr_struct, file, 0);
+void connectib_nv_roce_cc_ecn_dump(const struct connectib_nv_roce_cc_ecn *ptr_struct, FILE* file)
+{
+	connectib_nv_roce_cc_ecn_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_unconnected_pack(const struct connectib_hw_c_qpc_unconnected *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_roce_cc_pack(const struct connectib_nv_roce_cc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_valid);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
-
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rwqe_buffer_size);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->roce_cc_enable_pri);
 
-	offset=49;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rwqe_stride);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->roce_cc_algorithm);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
-
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
-
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->qkey);
-
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
+}
 
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+void connectib_nv_roce_cc_unpack(struct connectib_nv_roce_cc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=267;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
+	offset = 24;
+	ptr_struct->roce_cc_enable_pri = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+	offset = 0;
+	ptr_struct->roce_cc_algorithm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
+}
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swqe_buffer_size);
+void connectib_nv_roce_cc_print(const struct connectib_nv_roce_cc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_roce_cc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "roce_cc_enable_pri   : " UH_FMT "\n", ptr_struct->roce_cc_enable_pri);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "roce_cc_algorithm    : %s (" UH_FMT ")\n", (ptr_struct->roce_cc_algorithm == 0 ? ("ECN") : ((ptr_struct->roce_cc_algorithm == 1 ? ("QCN") : ("unknown")))), ptr_struct->roce_cc_algorithm);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+}
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
+int connectib_nv_roce_cc_size(void)
+{
+	 return 4;
+}
 
+void connectib_nv_roce_cc_dump(const struct connectib_nv_roce_cc *ptr_struct, FILE* file)
+{
+	connectib_nv_roce_cc_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_unconnected_unpack(struct connectib_hw_c_qpc_unconnected *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dword_val_pack(const struct connectib_dword_val *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=1;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->val);
 
-	offset=0;
-	ptr_struct->common_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=56;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=52;
-	ptr_struct->rwqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=49;
-	ptr_struct->rwqe_stride = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_dword_val_unpack(struct connectib_dword_val *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=104;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=98;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+}
 
-	offset=128;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+void connectib_dword_val_print(const struct connectib_dword_val *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dword_val ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=160;
-	ptr_struct->qkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "val                  : " U32H_FMT "\n", ptr_struct->val);
 
-	offset=200;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=268;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+int connectib_dword_val_size(void)
+{
+	 return 4;
+}
 
-	offset=267;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_dword_val_dump(const struct connectib_dword_val *ptr_struct, FILE* file)
+{
+	connectib_dword_val_print(ptr_struct, file, 0);
+}
 
-	offset=266;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_port_cap_mask1_fields_pack(const struct connectib_port_cap_mask1_fields *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=265;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_sm);
 
-	offset=260;
-	ptr_struct->swqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_notice_sup);
 
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_trap_sup);
 
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_optional_ipd_sup);
 
-	offset=360;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_automatic_migration_sup);
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_sl_mapping_sup);
 
-}
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_mkey_nvram);
 
-void connectib_hw_c_qpc_unconnected_print(const struct connectib_hw_c_qpc_unconnected *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc_unconnected ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_pkey_nvram);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_led_info_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_sm_disabled);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_system_image_guid_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_valid         : "UH_FMT"\n", ptr_struct->common_valid);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_pkey_switch_external_port_trap_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_cable_info_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_buffer_size     : "UH_FMT"\n", ptr_struct->rwqe_buffer_size);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_extended_speed_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_stride          : "UH_FMT"\n", ptr_struct->rwqe_stride);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_capability_mask2_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_communication_management_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_snmp_tunneling_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_reinit_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qkey                 : "U32H_FMT"\n", ptr_struct->qkey);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_device_management_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_vendor_class_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_dr_notice_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_capability_mask_notice_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_boot_management_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_link_round_trip_latency_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_buffer_size     : "UH_FMT"\n", ptr_struct->swqe_buffer_size);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_client_reregistration_sup);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_other_local_changes_notice_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_link_speed_width_pairs_table_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_vendor_specific_mads_table_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_multicast_pkey_trap_suppression_supported);
 
-}
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_multicast_fdb_top_supported);
 
-int connectib_hw_c_qpc_unconnected_size(void){
-	 return 64;
-}
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_hierarchy_info_supported);
 
-void connectib_hw_c_qpc_unconnected_dump(const struct connectib_hw_c_qpc_unconnected *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_unconnected_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_unconnected_common_pack(const struct connectib_hw_c_qpc_unconnected_common *ptr_struct, u_int8_t* ptr_buff){
+void connectib_port_cap_mask1_fields_unpack(struct connectib_port_cap_mask1_fields *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
+	offset = 30;
+	ptr_struct->is_sm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
+	offset = 29;
+	ptr_struct->is_notice_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 28;
+	ptr_struct->is_trap_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
+	offset = 27;
+	ptr_struct->is_optional_ipd_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_valid);
+	offset = 26;
+	ptr_struct->is_automatic_migration_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
+	offset = 25;
+	ptr_struct->is_sl_mapping_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
+	offset = 24;
+	ptr_struct->is_mkey_nvram = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
+	offset = 23;
+	ptr_struct->is_pkey_nvram = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
+	offset = 22;
+	ptr_struct->is_led_info_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->qkey);
+	offset = 21;
+	ptr_struct->is_sm_disabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
+	offset = 20;
+	ptr_struct->is_system_image_guid_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+	offset = 19;
+	ptr_struct->is_pkey_switch_external_port_trap_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=267;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
+	offset = 18;
+	ptr_struct->is_cable_info_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+	offset = 17;
+	ptr_struct->is_extended_speed_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
+	offset = 16;
+	ptr_struct->is_capability_mask2_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swqe_buffer_size);
+	offset = 15;
+	ptr_struct->is_communication_management_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
+	offset = 14;
+	ptr_struct->is_snmp_tunneling_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
+	offset = 13;
+	ptr_struct->is_reinit_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 12;
+	ptr_struct->is_device_management_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
+	offset = 11;
+	ptr_struct->is_vendor_class_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 10;
+	ptr_struct->is_dr_notice_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_hw_c_qpc_unconnected_common_unpack(struct connectib_hw_c_qpc_unconnected_common *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 9;
+	ptr_struct->is_capability_mask_notice_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 8;
+	ptr_struct->is_boot_management_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 7;
+	ptr_struct->is_link_round_trip_latency_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	ptr_struct->is_client_reregistration_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->common_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->is_other_local_changes_notice_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=56;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 4;
+	ptr_struct->is_link_speed_width_pairs_table_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=104;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 3;
+	ptr_struct->is_vendor_specific_mads_table_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=98;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 2;
+	ptr_struct->is_multicast_pkey_trap_suppression_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 1;
+	ptr_struct->is_multicast_fdb_top_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	ptr_struct->qkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->is_hierarchy_info_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=200;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=268;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_port_cap_mask1_fields_print(const struct connectib_port_cap_mask1_fields *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_port_cap_mask1_fields ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=267;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_sm                : " UH_FMT "\n", ptr_struct->is_sm);
 
-	offset=266;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_notice_sup        : " UH_FMT "\n", ptr_struct->is_notice_sup);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_trap_sup          : " UH_FMT "\n", ptr_struct->is_trap_sup);
 
-	offset=265;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_optional_ipd_sup  : " UH_FMT "\n", ptr_struct->is_optional_ipd_sup);
 
-	offset=260;
-	ptr_struct->swqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_automatic_migration_sup : " UH_FMT "\n", ptr_struct->is_automatic_migration_sup);
 
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_sl_mapping_sup    : " UH_FMT "\n", ptr_struct->is_sl_mapping_sup);
 
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_mkey_nvram        : " UH_FMT "\n", ptr_struct->is_mkey_nvram);
 
-	offset=360;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_pkey_nvram        : " UH_FMT "\n", ptr_struct->is_pkey_nvram);
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_led_info_sup      : " UH_FMT "\n", ptr_struct->is_led_info_sup);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_sm_disabled       : " UH_FMT "\n", ptr_struct->is_sm_disabled);
 
-void connectib_hw_c_qpc_unconnected_common_print(const struct connectib_hw_c_qpc_unconnected_common *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc_unconnected_common ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "is_system_image_guid_sup : " UH_FMT "\n", ptr_struct->is_system_image_guid_sup);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_pkey_switch_external_port_trap_sup : " UH_FMT "\n", ptr_struct->is_pkey_switch_external_port_trap_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	fprintf(file, "is_cable_info_supported : " UH_FMT "\n", ptr_struct->is_cable_info_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
+	fprintf(file, "is_extended_speed_sup : " UH_FMT "\n", ptr_struct->is_extended_speed_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
+	fprintf(file, "is_capability_mask2_supported : " UH_FMT "\n", ptr_struct->is_capability_mask2_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_valid         : "UH_FMT"\n", ptr_struct->common_valid);
+	fprintf(file, "is_communication_management_sup : " UH_FMT "\n", ptr_struct->is_communication_management_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+	fprintf(file, "is_snmp_tunneling_sup : " UH_FMT "\n", ptr_struct->is_snmp_tunneling_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
+	fprintf(file, "is_reinit_sup        : " UH_FMT "\n", ptr_struct->is_reinit_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
+	fprintf(file, "is_device_management_sup : " UH_FMT "\n", ptr_struct->is_device_management_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
+	fprintf(file, "is_vendor_class_sup  : " UH_FMT "\n", ptr_struct->is_vendor_class_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qkey                 : "U32H_FMT"\n", ptr_struct->qkey);
+	fprintf(file, "is_dr_notice_sup     : " UH_FMT "\n", ptr_struct->is_dr_notice_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
+	fprintf(file, "is_capability_mask_notice_sup : " UH_FMT "\n", ptr_struct->is_capability_mask_notice_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "is_boot_management_sup : " UH_FMT "\n", ptr_struct->is_boot_management_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
+	fprintf(file, "is_link_round_trip_latency_sup : " UH_FMT "\n", ptr_struct->is_link_round_trip_latency_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	fprintf(file, "is_client_reregistration_sup : " UH_FMT "\n", ptr_struct->is_client_reregistration_sup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+	fprintf(file, "is_other_local_changes_notice_supported : " UH_FMT "\n", ptr_struct->is_other_local_changes_notice_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_buffer_size     : "UH_FMT"\n", ptr_struct->swqe_buffer_size);
+	fprintf(file, "is_link_speed_width_pairs_table_supported : " UH_FMT "\n", ptr_struct->is_link_speed_width_pairs_table_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+	fprintf(file, "is_vendor_specific_mads_table_supported : " UH_FMT "\n", ptr_struct->is_vendor_specific_mads_table_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+	fprintf(file, "is_multicast_pkey_trap_suppression_supported : " UH_FMT "\n", ptr_struct->is_multicast_pkey_trap_suppression_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "is_multicast_fdb_top_supported : " UH_FMT "\n", ptr_struct->is_multicast_fdb_top_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+	fprintf(file, "is_hierarchy_info_supported : " UH_FMT "\n", ptr_struct->is_hierarchy_info_supported);
 
 }
 
-int connectib_hw_c_qpc_unconnected_common_size(void){
-	 return 64;
+int connectib_port_cap_mask1_fields_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_c_qpc_unconnected_common_dump(const struct connectib_hw_c_qpc_unconnected_common *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_unconnected_common_print(ptr_struct, file, 0);
+void connectib_port_cap_mask1_fields_dump(const struct connectib_port_cap_mask1_fields *ptr_struct, FILE* file)
+{
+	connectib_port_cap_mask1_fields_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_connected_dual_pack(const struct connectib_hw_c_qpc_connected_dual *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dcr_odp_event_entry_pack(const struct connectib_dcr_odp_event_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_loopback);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dual_write);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_valid);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
-
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rwqe_buffer_size);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dcrn);
 
-	offset=49;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rwqe_stride);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ipd);
+}
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->peer_qp);
+void connectib_dcr_odp_event_entry_unpack(struct connectib_dcr_odp_event_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
+	offset = 8;
+	ptr_struct->dcrn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
+	offset = 0;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
+}
 
-	offset=97;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_migreq);
+void connectib_dcr_odp_event_entry_print(const struct connectib_dcr_odp_event_entry *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dcr_odp_event_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_migreq);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcrn                 : " UH_FMT "\n", ptr_struct->dcrn);
 
-	offset=140;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
+}
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
+int connectib_dcr_odp_event_entry_size(void)
+{
+	 return 4;
+}
 
-	offset=195;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->max_message_size);
+void connectib_dcr_odp_event_entry_dump(const struct connectib_dcr_odp_event_entry *ptr_struct, FILE* file)
+{
+	connectib_dcr_odp_event_entry_print(ptr_struct, file, 0);
+}
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtu);
+void connectib_flow_counter_list_pack(const struct connectib_flow_counter_list *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->peer_lid);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->flow_counter_id);
 
-	offset=233;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->my_lid);
+}
 
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+void connectib_flow_counter_list_unpack(struct connectib_flow_counter_list *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=267;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
+	offset = 16;
+	ptr_struct->flow_counter_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+}
 
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
+void connectib_flow_counter_list_print(const struct connectib_flow_counter_list *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_flow_counter_list ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swqe_buffer_size);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_counter_id      : " UH_FMT "\n", ptr_struct->flow_counter_id);
 
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
+}
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
+int connectib_flow_counter_list_size(void)
+{
+	 return 8;
+}
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+void connectib_flow_counter_list_dump(const struct connectib_flow_counter_list *ptr_struct, FILE* file)
+{
+	connectib_flow_counter_list_print(ptr_struct, file, 0);
+}
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
+void connectib_dest_format_struct_pack(const struct connectib_dest_format_struct *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=456;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->peer_qp2);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->destination_id);
 
-	offset=496;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->peer_lid2);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->destination_type);
 
 }
 
-void connectib_hw_c_qpc_connected_dual_unpack(struct connectib_hw_c_qpc_connected_dual *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dest_format_struct_unpack(struct connectib_dest_format_struct *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->force_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 8;
+	ptr_struct->destination_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 0;
+	ptr_struct->destination_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=2;
-	ptr_struct->dual_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=1;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_dest_format_struct_print(const struct connectib_dest_format_struct *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dest_format_struct ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=0;
-	ptr_struct->common_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "destination_id       : " UH_FMT "\n", ptr_struct->destination_id);
 
-	offset=56;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "destination_type     : %s (" UH_FMT ")\n", (ptr_struct->destination_type == 0 ? ("VPORT") : ((ptr_struct->destination_type == 1 ? ("FLOW_TABLE") : ((ptr_struct->destination_type == 2 ? ("TIR") : ((ptr_struct->destination_type == 3 ? ("QP") : ("unknown")))))))), ptr_struct->destination_type);
 
-	offset=52;
-	ptr_struct->rwqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=49;
-	ptr_struct->rwqe_stride = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+int connectib_dest_format_struct_size(void)
+{
+	 return 8;
+}
 
-	offset=44;
-	ptr_struct->ipd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_dest_format_struct_dump(const struct connectib_dest_format_struct *ptr_struct, FILE* file)
+{
+	connectib_dest_format_struct_print(ptr_struct, file, 0);
+}
 
-	offset=72;
-	ptr_struct->peer_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_odp_hca_params_pack(const struct connectib_odp_hca_params *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=64;
-	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->odp_rc);
 
-	offset=104;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->odp_uc);
 
-	offset=98;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->odp_ud);
 
-	offset=97;
-	ptr_struct->sx_migreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->odp_xrc);
 
-	offset=96;
-	ptr_struct->rx_migreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->odp_dc);
 
-	offset=140;
-	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+}
 
-	offset=128;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+void connectib_odp_hca_params_unpack(struct connectib_odp_hca_params *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=200;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 31;
+	ptr_struct->odp_rc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=195;
-	ptr_struct->max_message_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 30;
+	ptr_struct->odp_uc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->mtu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 29;
+	ptr_struct->odp_ud = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=240;
-	ptr_struct->peer_lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 28;
+	ptr_struct->odp_xrc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=233;
-	ptr_struct->my_lid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 27;
+	ptr_struct->odp_dc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=268;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=267;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_odp_hca_params_print(const struct connectib_odp_hca_params *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_odp_hca_params ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=266;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "odp_rc               : " UH_FMT "\n", ptr_struct->odp_rc);
 
-	offset=265;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "odp_uc               : " UH_FMT "\n", ptr_struct->odp_uc);
 
-	offset=260;
-	ptr_struct->swqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "odp_ud               : " UH_FMT "\n", ptr_struct->odp_ud);
 
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "odp_xrc              : " UH_FMT "\n", ptr_struct->odp_xrc);
 
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "odp_dc               : " UH_FMT "\n", ptr_struct->odp_dc);
 
-	offset=360;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+int connectib_odp_hca_params_size(void)
+{
+	 return 4;
+}
 
-	offset=456;
-	ptr_struct->peer_qp2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_odp_hca_params_dump(const struct connectib_odp_hca_params *ptr_struct, FILE* file)
+{
+	connectib_odp_hca_params_print(ptr_struct, file, 0);
+}
 
-	offset=496;
-	ptr_struct->peer_lid2 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_cmdif_ctx_special_pack(const union connectib_cmdif_ctx_special *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_cmdif_ctx_fpga_cap_pack(&(ptr_struct->fpga_cap), ptr_buff);
+}
 
+void connectib_cmdif_ctx_special_unpack(union connectib_cmdif_ctx_special *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_cmdif_ctx_fpga_cap_unpack(&(ptr_struct->fpga_cap), ptr_buff);
 }
 
-void connectib_hw_c_qpc_connected_dual_print(const struct connectib_hw_c_qpc_connected_dual *ptr_struct, FILE* file, int indent_level){
+void connectib_cmdif_ctx_special_print(const union connectib_cmdif_ctx_special *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc_connected_dual ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cmdif_ctx_special ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_loopback       : "UH_FMT"\n", ptr_struct->force_loopback);
+	fprintf(file, "c:\n");
+	connectib_cmdif_ctx_special_create_print(&(ptr_struct->c), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
+	fprintf(file, "tir:\n");
+	connectib_cmdif_ctx_special_modify_tir_print(&(ptr_struct->tir), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
+	fprintf(file, "tis:\n");
+	connectib_cmdif_ctx_special_modify_tis_print(&(ptr_struct->tis), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dual_write           : "UH_FMT"\n", ptr_struct->dual_write);
+	fprintf(file, "qp:\n");
+	connectib_cmdif_ctx_special_qp_commands_print(&(ptr_struct->qp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
+	fprintf(file, "rq:\n");
+	connectib_cmdif_ctx_special_create_rq_print(&(ptr_struct->rq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_valid         : "UH_FMT"\n", ptr_struct->common_valid);
+	fprintf(file, "srq:\n");
+	connectib_cmdif_ctx_special_create_srq_print(&(ptr_struct->srq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+	fprintf(file, "xrq:\n");
+	connectib_cmdif_ctx_special_create_xrq_print(&(ptr_struct->xrq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_buffer_size     : "UH_FMT"\n", ptr_struct->rwqe_buffer_size);
+	fprintf(file, "rqt:\n");
+	connectib_cmdif_ctx_rqt_print(&(ptr_struct->rqt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_stride          : "UH_FMT"\n", ptr_struct->rwqe_stride);
+	fprintf(file, "eq:\n");
+	connectib_cmdif_ctx_special_create_eq_print(&(ptr_struct->eq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ipd                  : "UH_FMT"\n", ptr_struct->ipd);
+	fprintf(file, "c_cq:\n");
+	connectib_cmdif_ctx_special_create_cq_print(&(ptr_struct->c_cq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_qp              : "UH_FMT"\n", ptr_struct->peer_qp);
+	fprintf(file, "m_cq:\n");
+	connectib_cmdif_ctx_special_modify_cq_print(&(ptr_struct->m_cq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_limit            : "UH_FMT"\n", ptr_struct->hop_limit);
+	fprintf(file, "mkey:\n");
+	connectib_cmdif_ctx_special_mkey_print(&(ptr_struct->mkey), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
+	fprintf(file, "arm_rq:\n");
+	connectib_cmdif_ctx_special_arm_rq_print(&(ptr_struct->arm_rq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
+	fprintf(file, "modify_rmp:\n");
+	connectib_cmdif_ctx_special_modify_rmp_print(&(ptr_struct->modify_rmp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_migreq            : "UH_FMT"\n", ptr_struct->sx_migreq);
+	fprintf(file, "sniffer:\n");
+	connectib_cmdif_ctx_sniffer_print(&(ptr_struct->sniffer), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_migreq            : "UH_FMT"\n", ptr_struct->rx_migreq);
+	fprintf(file, "mcg:\n");
+	connectib_cmdif_ctx_mcg_print(&(ptr_struct->mcg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+	fprintf(file, "psv:\n");
+	connectib_cmdif_ctx_psv_print(&(ptr_struct->psv), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
+	fprintf(file, "mtt:\n");
+	connectib_cmdif_ctx_create_mtt_print(&(ptr_struct->mtt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
+	fprintf(file, "dmfs_fte:\n");
+	connectib_cmdif_ctx_dmfs_fte_print(&(ptr_struct->dmfs_fte), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_message_size     : "UH_FMT"\n", ptr_struct->max_message_size);
+	fprintf(file, "dmfs_fg:\n");
+	connectib_cmdif_ctx_dmfs_fg_print(&(ptr_struct->dmfs_fg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtu                  : "UH_FMT"\n", ptr_struct->mtu);
+	fprintf(file, "dmfs_ft:\n");
+	connectib_cmdif_ctx_dmfs_ft_print(&(ptr_struct->dmfs_ft), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_lid             : "UH_FMT"\n", ptr_struct->peer_lid);
+	fprintf(file, "l2_table:\n");
+	connectib_cmdif_ctx_l2_table_print(&(ptr_struct->l2_table), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_lid               : "UH_FMT"\n", ptr_struct->my_lid);
+	fprintf(file, "modify_rq:\n");
+	connectib_cmdif_modify_rq_print(&(ptr_struct->modify_rq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "modify_sq:\n");
+	connectib_cmdif_modify_sq_print(&(ptr_struct->modify_sq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
+	fprintf(file, "lag:\n");
+	connectib_cmdif_create_lag_print(&(ptr_struct->lag), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	fprintf(file, "fpga_access_reg:\n");
+	connectib_cmdif_ctx_fpga_access_reg_print(&(ptr_struct->fpga_access_reg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+	fprintf(file, "fpga_cap:\n");
+	connectib_cmdif_ctx_fpga_cap_print(&(ptr_struct->fpga_cap), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_buffer_size     : "UH_FMT"\n", ptr_struct->swqe_buffer_size);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+int connectib_cmdif_ctx_special_size(void)
+{
+	 return 32;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+void connectib_cmdif_ctx_special_dump(const union connectib_cmdif_ctx_special *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_special_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+void connectib_flush_type_pack(const union connectib_flush_type *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_flush_type_bitmask_pack(&(ptr_struct->bitmask), ptr_buff);
+}
+
+void connectib_flush_type_unpack(union connectib_flush_type *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_flush_type_bitmask_unpack(&(ptr_struct->bitmask), ptr_buff);
+}
 
+void connectib_flush_type_print(const union connectib_flush_type *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+	fprintf(file, "======== connectib_flush_type ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_qp2             : "UH_FMT"\n", ptr_struct->peer_qp2);
+	fprintf(file, "bits:\n");
+	connectib_flush_type_bits_print(&(ptr_struct->bits), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_lid2            : "UH_FMT"\n", ptr_struct->peer_lid2);
+	fprintf(file, "bitmask:\n");
+	connectib_flush_type_bitmask_print(&(ptr_struct->bitmask), file, indent_level + 1);
 
 }
 
-int connectib_hw_c_qpc_connected_dual_size(void){
-	 return 64;
+int connectib_flush_type_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_c_qpc_connected_dual_dump(const struct connectib_hw_c_qpc_connected_dual *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_connected_dual_print(ptr_struct, file, 0);
+void connectib_flush_type_dump(const union connectib_flush_type *ptr_struct, FILE* file)
+{
+	connectib_flush_type_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_connected_2cycbuff_pack(const struct connectib_hw_c_qpc_connected_2cycbuff *ptr_struct, u_int8_t* ptr_buff){
+void connectib_general_notification_delay_drop_event_pack(const struct connectib_general_notification_delay_drop_event *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_loopback);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dual_write);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_valid);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
-
-	offset=51;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->rcyclic_size);
-
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ipd);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->peer_qp);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
-
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
-
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
-
-	offset=97;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_migreq);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_migreq);
-
-	offset=140;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
-
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
-
-	offset=195;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->max_message_size);
-
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtu);
-
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->peer_lid);
-
-	offset=233;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->my_lid);
-
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
-
-	offset=267;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
-
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
-
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
-
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swqe_buffer_size);
-
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
-
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
-
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
-
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
-
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->peer_gid_127_64);
-
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->peer_gid_63_0);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rq_user_index_delay_drop);
 
 }
 
-void connectib_hw_c_qpc_connected_2cycbuff_unpack(struct connectib_hw_c_qpc_connected_2cycbuff *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_general_notification_delay_drop_event_unpack(struct connectib_general_notification_delay_drop_event *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->force_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=2;
-	ptr_struct->dual_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->common_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=56;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=51;
-	ptr_struct->rcyclic_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=44;
-	ptr_struct->ipd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=72;
-	ptr_struct->peer_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=64;
-	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=104;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->rq_user_index_delay_drop = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=98;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=97;
-	ptr_struct->sx_migreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=96;
-	ptr_struct->rx_migreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=140;
-	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
-
-	offset=128;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
-
-	offset=200;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=195;
-	ptr_struct->max_message_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+}
 
-	offset=192;
-	ptr_struct->mtu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_general_notification_delay_drop_event_print(const struct connectib_general_notification_delay_drop_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_general_notification_delay_drop_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=240;
-	ptr_struct->peer_lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rq_user_index_delay_drop : " UH_FMT "\n", ptr_struct->rq_user_index_delay_drop);
 
-	offset=233;
-	ptr_struct->my_lid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+}
 
-	offset=268;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+int connectib_general_notification_delay_drop_event_size(void)
+{
+	 return 28;
+}
 
-	offset=267;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_general_notification_delay_drop_event_dump(const struct connectib_general_notification_delay_drop_event *ptr_struct, FILE* file)
+{
+	connectib_general_notification_delay_drop_event_print(ptr_struct, file, 0);
+}
 
-	offset=266;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_pps_event_pack(const struct connectib_pps_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=265;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pin);
 
-	offset=260;
-	ptr_struct->swqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_stamp_h);
 
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->time_stamp_l);
 
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=360;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_pps_event_unpack(struct connectib_pps_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 24;
+	ptr_struct->pin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=384;
-	ptr_struct->peer_gid_127_64 = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 64;
+	ptr_struct->time_stamp_h = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=448;
-	ptr_struct->peer_gid_63_0 = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 96;
+	ptr_struct->time_stamp_l = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_c_qpc_connected_2cycbuff_print(const struct connectib_hw_c_qpc_connected_2cycbuff *ptr_struct, FILE* file, int indent_level){
+void connectib_pps_event_print(const struct connectib_pps_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc_connected_2cycbuff ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pps_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_loopback       : "UH_FMT"\n", ptr_struct->force_loopback);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dual_write           : "UH_FMT"\n", ptr_struct->dual_write);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
+	fprintf(file, "pin                  : " UH_FMT "\n", ptr_struct->pin);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_valid         : "UH_FMT"\n", ptr_struct->common_valid);
+	fprintf(file, "time_stamp_h         : " U32H_FMT "\n", ptr_struct->time_stamp_h);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+	fprintf(file, "time_stamp_l         : " U32H_FMT "\n", ptr_struct->time_stamp_l);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcyclic_size         : "UH_FMT"\n", ptr_struct->rcyclic_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ipd                  : "UH_FMT"\n", ptr_struct->ipd);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_qp              : "UH_FMT"\n", ptr_struct->peer_qp);
+int connectib_pps_event_size(void)
+{
+	 return 28;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_limit            : "UH_FMT"\n", ptr_struct->hop_limit);
+void connectib_pps_event_dump(const struct connectib_pps_event *ptr_struct, FILE* file)
+{
+	connectib_pps_event_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
+void connectib_fpga_qp_error_event_pack(const struct connectib_fpga_qp_error_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->syndrome);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_migreq            : "UH_FMT"\n", ptr_struct->sx_migreq);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->fpga_qpn);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_migreq            : "UH_FMT"\n", ptr_struct->rx_migreq);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+void connectib_fpga_qp_error_event_unpack(struct connectib_fpga_qp_error_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
+	offset = 88;
+	ptr_struct->syndrome = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
+	offset = 200;
+	ptr_struct->fpga_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_message_size     : "UH_FMT"\n", ptr_struct->max_message_size);
+}
 
+void connectib_fpga_qp_error_event_print(const struct connectib_fpga_qp_error_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtu                  : "UH_FMT"\n", ptr_struct->mtu);
+	fprintf(file, "======== connectib_fpga_qp_error_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_lid             : "UH_FMT"\n", ptr_struct->peer_lid);
+	fprintf(file, "syndrome             : %s (" UH_FMT ")\n", (ptr_struct->syndrome == 1 ? ("retry_counter_expired") : ((ptr_struct->syndrome == 2 ? ("RNR_expired") : ("unknown")))), ptr_struct->syndrome);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_lid               : "UH_FMT"\n", ptr_struct->my_lid);
+	fprintf(file, "fpga_qpn             : " UH_FMT "\n", ptr_struct->fpga_qpn);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
+int connectib_fpga_qp_error_event_size(void)
+{
+	 return 28;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+void connectib_fpga_qp_error_event_dump(const struct connectib_fpga_qp_error_event *ptr_struct, FILE* file)
+{
+	connectib_fpga_qp_error_event_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+void connectib_fpga_error_event_pack(const struct connectib_fpga_error_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_buffer_size     : "UH_FMT"\n", ptr_struct->swqe_buffer_size);
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->syndrome);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+void connectib_fpga_error_event_unpack(struct connectib_fpga_error_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	offset = 88;
+	ptr_struct->syndrome = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+}
 
+void connectib_fpga_error_event_print(const struct connectib_fpga_error_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_gid_127_64      : "U64H_FMT"\n", ptr_struct->peer_gid_127_64);
+	fprintf(file, "======== connectib_fpga_error_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_gid_63_0        : "U64H_FMT"\n", ptr_struct->peer_gid_63_0);
+	fprintf(file, "syndrome             : %s (" UH_FMT ")\n", (ptr_struct->syndrome == 1 ? ("corrupted_ddr") : ((ptr_struct->syndrome == 2 ? ("flash_timeout") : ((ptr_struct->syndrome == 3 ? ("internal_link_error") : ((ptr_struct->syndrome == 4 ? ("watchdog_failure") : ((ptr_struct->syndrome == 5 ? ("I2C_failure") : ((ptr_struct->syndrome == 6 ? ("Image_changed") : ("unknown")))))))))))), ptr_struct->syndrome);
 
 }
 
-int connectib_hw_c_qpc_connected_2cycbuff_size(void){
-	 return 64;
+int connectib_fpga_error_event_size(void)
+{
+	 return 28;
 }
 
-void connectib_hw_c_qpc_connected_2cycbuff_dump(const struct connectib_hw_c_qpc_connected_2cycbuff *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_connected_2cycbuff_print(ptr_struct, file, 0);
+void connectib_fpga_error_event_dump(const struct connectib_fpga_error_event *ptr_struct, FILE* file)
+{
+	connectib_fpga_error_event_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_connected_pack(const struct connectib_hw_c_qpc_connected *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nic_vport_change_event_pack(const struct connectib_nic_vport_change_event *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_loopback);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dual_write);
+}
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
+void connectib_nic_vport_change_event_unpack(struct connectib_nic_vport_change_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_valid);
+	offset = 16;
+	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
+}
 
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rwqe_buffer_size);
+void connectib_nic_vport_change_event_print(const struct connectib_nic_vport_change_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nic_vport_change_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=49;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rwqe_stride);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_num            : " UH_FMT "\n", ptr_struct->vport_num);
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ipd);
+}
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->peer_qp);
+int connectib_nic_vport_change_event_size(void)
+{
+	 return 28;
+}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
+void connectib_nic_vport_change_event_dump(const struct connectib_nic_vport_change_event *ptr_struct, FILE* file)
+{
+	connectib_nic_vport_change_event_print(ptr_struct, file, 0);
+}
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
+void connectib_pages_req_event_pack(const struct connectib_pages_req_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->function_id);
 
-	offset=97;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_migreq);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_pages);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_migreq);
+}
 
-	offset=140;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
+void connectib_pages_req_event_unpack(struct connectib_pages_req_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
+	offset = 16;
+	ptr_struct->function_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
+	offset = 32;
+	ptr_struct->num_pages = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=195;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->max_message_size);
+}
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtu);
+void connectib_pages_req_event_print(const struct connectib_pages_req_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pages_req_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->peer_lid);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "function_id          : " UH_FMT "\n", ptr_struct->function_id);
 
-	offset=233;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->my_lid);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_pages            : " U32H_FMT "\n", ptr_struct->num_pages);
 
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+}
 
-	offset=267;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
+int connectib_pages_req_event_size(void)
+{
+	 return 28;
+}
 
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+void connectib_pages_req_event_dump(const struct connectib_pages_req_event *ptr_struct, FILE* file)
+{
+	connectib_pages_req_event_print(ptr_struct, file, 0);
+}
 
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
+void connectib_cmd_inter_comp_event_pack(const struct connectib_cmd_inter_comp_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swqe_buffer_size);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->command_completion_vector);
 
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
+}
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
+void connectib_cmd_inter_comp_event_unpack(struct connectib_cmd_inter_comp_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 0;
+	ptr_struct->command_completion_vector = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
+}
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->peer_gid_127_96);
+void connectib_cmd_inter_comp_event_print(const struct connectib_cmd_inter_comp_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmd_inter_comp_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->peer_gid_95_64);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "command_completion_vector : " U32H_FMT "\n", ptr_struct->command_completion_vector);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->peer_gid_63_32);
+}
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->peer_gid_31_0);
+int connectib_cmd_inter_comp_event_size(void)
+{
+	 return 28;
+}
 
+void connectib_cmd_inter_comp_event_dump(const struct connectib_cmd_inter_comp_event *ptr_struct, FILE* file)
+{
+	connectib_cmd_inter_comp_event_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_connected_unpack(struct connectib_hw_c_qpc_connected *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_stall_vl_event_pack(const struct connectib_stall_vl_event *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->force_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=2;
-	ptr_struct->dual_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
 
-	offset=0;
-	ptr_struct->common_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_num);
 
-	offset=56;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=52;
-	ptr_struct->rwqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_stall_vl_event_unpack(struct connectib_stall_vl_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=49;
-	ptr_struct->rwqe_stride = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 28;
+	ptr_struct->vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=44;
-	ptr_struct->ipd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->port_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=72;
-	ptr_struct->peer_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=64;
-	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_stall_vl_event_print(const struct connectib_stall_vl_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_stall_vl_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=104;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl                   : " UH_FMT "\n", ptr_struct->vl);
 
-	offset=98;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_num             : " UH_FMT "\n", ptr_struct->port_num);
 
-	offset=97;
-	ptr_struct->sx_migreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=96;
-	ptr_struct->rx_migreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_stall_vl_event_size(void)
+{
+	 return 24;
+}
 
-	offset=140;
-	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+void connectib_stall_vl_event_dump(const struct connectib_stall_vl_event *ptr_struct, FILE* file)
+{
+	connectib_stall_vl_event_print(ptr_struct, file, 0);
+}
 
-	offset=128;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+void connectib_db_bf_congestion_event_pack(const struct connectib_db_bf_congestion_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=200;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->congestion_level);
 
-	offset=195;
-	ptr_struct->max_message_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->event_subtype);
 
-	offset=192;
-	ptr_struct->mtu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=240;
-	ptr_struct->peer_lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_db_bf_congestion_event_unpack(struct connectib_db_bf_congestion_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=233;
-	ptr_struct->my_lid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 16;
+	ptr_struct->congestion_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=268;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->event_subtype = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=267;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=266;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_db_bf_congestion_event_print(const struct connectib_db_bf_congestion_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_db_bf_congestion_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=265;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "congestion_level     : " UH_FMT "\n", ptr_struct->congestion_level);
 
-	offset=260;
-	ptr_struct->swqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "event_subtype        : " UH_FMT "\n", ptr_struct->event_subtype);
 
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+}
 
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+int connectib_db_bf_congestion_event_size(void)
+{
+	 return 24;
+}
 
-	offset=360;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_db_bf_congestion_event_dump(const struct connectib_db_bf_congestion_event *ptr_struct, FILE* file)
+{
+	connectib_db_bf_congestion_event_print(ptr_struct, file, 0);
+}
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+void connectib_temp_warning_event_pack(const struct connectib_temp_warning_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=384;
-	ptr_struct->peer_gid_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sensor_warning[i]);
+	}
 
-	offset=416;
-	ptr_struct->peer_gid_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=448;
-	ptr_struct->peer_gid_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_temp_warning_event_unpack(struct connectib_temp_warning_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=480;
-	ptr_struct->peer_gid_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	ptr_struct->sensor_warning[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_hw_c_qpc_connected_print(const struct connectib_hw_c_qpc_connected *ptr_struct, FILE* file, int indent_level){
+void connectib_temp_warning_event_print(const struct connectib_temp_warning_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc_connected ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_temp_warning_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_loopback       : "UH_FMT"\n", ptr_struct->force_loopback);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dual_write           : "UH_FMT"\n", ptr_struct->dual_write);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
+	fprintf(file, "sensor_warning_%03d  : " U32H_FMT "\n", i, ptr_struct->sensor_warning[i]);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_valid         : "UH_FMT"\n", ptr_struct->common_valid);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+int connectib_temp_warning_event_size(void)
+{
+	 return 16;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_buffer_size     : "UH_FMT"\n", ptr_struct->rwqe_buffer_size);
+void connectib_temp_warning_event_dump(const struct connectib_temp_warning_event *ptr_struct, FILE* file)
+{
+	connectib_temp_warning_event_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_stride          : "UH_FMT"\n", ptr_struct->rwqe_stride);
+void connectib_dcbx_change_event_pack(const struct connectib_dcbx_change_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ipd                  : "UH_FMT"\n", ptr_struct->ipd);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->event_sub_type);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_qp              : "UH_FMT"\n", ptr_struct->peer_qp);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_limit            : "UH_FMT"\n", ptr_struct->hop_limit);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
+void connectib_dcbx_change_event_unpack(struct connectib_dcbx_change_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
+	offset = 28;
+	ptr_struct->event_sub_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_migreq            : "UH_FMT"\n", ptr_struct->sx_migreq);
+	offset = 20;
+	ptr_struct->error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_migreq            : "UH_FMT"\n", ptr_struct->rx_migreq);
+}
 
+void connectib_dcbx_change_event_print(const struct connectib_dcbx_change_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+	fprintf(file, "======== connectib_dcbx_change_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
+	fprintf(file, "event_sub_type       : " UH_FMT "\n", ptr_struct->event_sub_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
+	fprintf(file, "error                : " UH_FMT "\n", ptr_struct->error);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_message_size     : "UH_FMT"\n", ptr_struct->max_message_size);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtu                  : "UH_FMT"\n", ptr_struct->mtu);
+int connectib_dcbx_change_event_size(void)
+{
+	 return 28;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_lid             : "UH_FMT"\n", ptr_struct->peer_lid);
+void connectib_dcbx_change_event_dump(const struct connectib_dcbx_change_event *ptr_struct, FILE* file)
+{
+	connectib_dcbx_change_event_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_lid               : "UH_FMT"\n", ptr_struct->my_lid);
+void connectib_port_module_event_pack(const struct connectib_port_module_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->module_status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->error_type);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_buffer_size     : "UH_FMT"\n", ptr_struct->swqe_buffer_size);
+void connectib_port_module_event_unpack(struct connectib_port_module_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+	offset = 28;
+	ptr_struct->module_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+	offset = 8;
+	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	offset = 52;
+	ptr_struct->error_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+}
 
+void connectib_port_module_event_print(const struct connectib_port_module_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_gid_127_96      : "U32H_FMT"\n", ptr_struct->peer_gid_127_96);
+	fprintf(file, "======== connectib_port_module_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_gid_95_64       : "U32H_FMT"\n", ptr_struct->peer_gid_95_64);
+	fprintf(file, "module_status        : " UH_FMT "\n", ptr_struct->module_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_gid_63_32       : "U32H_FMT"\n", ptr_struct->peer_gid_63_32);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_gid_31_0        : "U32H_FMT"\n", ptr_struct->peer_gid_31_0);
+	fprintf(file, "error_type           : " UH_FMT "\n", ptr_struct->error_type);
 
 }
 
-int connectib_hw_c_qpc_connected_size(void){
-	 return 64;
+int connectib_port_module_event_size(void)
+{
+	 return 28;
 }
 
-void connectib_hw_c_qpc_connected_dump(const struct connectib_hw_c_qpc_connected *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_connected_print(ptr_struct, file, 0);
+void connectib_port_module_event_dump(const struct connectib_port_module_event *ptr_struct, FILE* file)
+{
+	connectib_port_module_event_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_connected_common_pack(const struct connectib_hw_c_qpc_connected_common *ptr_struct, u_int8_t* ptr_buff){
+void connectib_gpio_event_pack(const struct connectib_gpio_event *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_loopback);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gpio_event_hi);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dual_write);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_valid);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gpio_event_lo);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
-
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ipd);
+}
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->peer_qp);
+void connectib_gpio_event_unpack(struct connectib_gpio_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
+	offset = 96;
+	ptr_struct->gpio_event_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
+	offset = 128;
+	ptr_struct->gpio_event_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
+}
 
-	offset=97;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_migreq);
+void connectib_gpio_event_print(const struct connectib_gpio_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_gpio_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_migreq);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gpio_event_hi        : " U32H_FMT "\n", ptr_struct->gpio_event_hi);
 
-	offset=140;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gpio_event_lo        : " U32H_FMT "\n", ptr_struct->gpio_event_lo);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
+}
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
+int connectib_gpio_event_size(void)
+{
+	 return 28;
+}
 
-	offset=195;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->max_message_size);
+void connectib_gpio_event_dump(const struct connectib_gpio_event *ptr_struct, FILE* file)
+{
+	connectib_gpio_event_print(ptr_struct, file, 0);
+}
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtu);
+void connectib_port_state_change_event_pack(const struct connectib_port_state_change_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->peer_lid);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_num);
 
-	offset=233;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->my_lid);
+}
 
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+void connectib_port_state_change_event_unpack(struct connectib_port_state_change_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=267;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
+	offset = 64;
+	ptr_struct->port_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+}
 
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
+void connectib_port_state_change_event_print(const struct connectib_port_state_change_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_port_state_change_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swqe_buffer_size);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_num             : " UH_FMT "\n", ptr_struct->port_num);
 
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
+}
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
+int connectib_port_state_change_event_size(void)
+{
+	 return 28;
+}
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+void connectib_port_state_change_event_dump(const struct connectib_port_state_change_event *ptr_struct, FILE* file)
+{
+	connectib_port_state_change_event_print(ptr_struct, file, 0);
+}
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
+void connectib_dropped_packet_logged_pack(const struct connectib_dropped_packet_logged *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
 }
 
-void connectib_hw_c_qpc_connected_common_unpack(struct connectib_hw_c_qpc_connected_common *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dropped_packet_logged_unpack(struct connectib_dropped_packet_logged *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->force_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+void connectib_dropped_packet_logged_print(const struct connectib_dropped_packet_logged *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dropped_packet_logged ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+}
 
-	offset=2;
-	ptr_struct->dual_write = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_dropped_packet_logged_size(void)
+{
+	 return 28;
+}
 
-	offset=1;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_dropped_packet_logged_dump(const struct connectib_dropped_packet_logged *ptr_struct, FILE* file)
+{
+	connectib_dropped_packet_logged_print(ptr_struct, file, 0);
+}
 
-	offset=0;
-	ptr_struct->common_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_cq_error_pack(const struct connectib_cq_error *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=56;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cqn);
 
-	offset=44;
-	ptr_struct->ipd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->syndrome);
 
-	offset=72;
-	ptr_struct->peer_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=64;
-	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_cq_error_unpack(struct connectib_cq_error *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=104;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->cqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=98;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 88;
+	ptr_struct->syndrome = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=97;
-	ptr_struct->sx_migreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=96;
-	ptr_struct->rx_migreq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_cq_error_print(const struct connectib_cq_error *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cq_error ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=140;
-	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqn                  : " UH_FMT "\n", ptr_struct->cqn);
 
-	offset=128;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "syndrome             : %s (" UH_FMT ")\n", (ptr_struct->syndrome == 1 ? ("CQ_overrun") : ((ptr_struct->syndrome == 2 ? ("CQ_access_violation_error") : ("unknown")))), ptr_struct->syndrome);
 
-	offset=200;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=195;
-	ptr_struct->max_message_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+int connectib_cq_error_size(void)
+{
+	 return 28;
+}
 
-	offset=192;
-	ptr_struct->mtu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_cq_error_dump(const struct connectib_cq_error *ptr_struct, FILE* file)
+{
+	connectib_cq_error_print(ptr_struct, file, 0);
+}
 
-	offset=240;
-	ptr_struct->peer_lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_rdma_page_fault_event_pack(const struct connectib_rdma_page_fault_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=233;
-	ptr_struct->my_lid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->bytes_committed);
 
-	offset=268;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->r_key);
 
-	offset=267;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->packet_len);
 
-	offset=266;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rdma_op_len);
 
-	offset=265;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rdma_va_hi);
 
-	offset=260;
-	ptr_struct->swqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rdma_va_lo);
 
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
 
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 199;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->requestor);
 
-	offset=360;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 198;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_read_);
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 197;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rdma);
 
 }
 
-void connectib_hw_c_qpc_connected_common_print(const struct connectib_hw_c_qpc_connected_common *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc_connected_common ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_loopback       : "UH_FMT"\n", ptr_struct->force_loopback);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dual_write           : "UH_FMT"\n", ptr_struct->dual_write);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_valid         : "UH_FMT"\n", ptr_struct->common_valid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ipd                  : "UH_FMT"\n", ptr_struct->ipd);
+void connectib_rdma_page_fault_event_unpack(struct connectib_rdma_page_fault_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_qp              : "UH_FMT"\n", ptr_struct->peer_qp);
+	offset = 0;
+	ptr_struct->bytes_committed = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_limit            : "UH_FMT"\n", ptr_struct->hop_limit);
+	offset = 32;
+	ptr_struct->r_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
+	offset = 80;
+	ptr_struct->packet_len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
+	offset = 96;
+	ptr_struct->rdma_op_len = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_migreq            : "UH_FMT"\n", ptr_struct->sx_migreq);
+	offset = 128;
+	ptr_struct->rdma_va_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_migreq            : "UH_FMT"\n", ptr_struct->rx_migreq);
+	offset = 160;
+	ptr_struct->rdma_va_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+	offset = 200;
+	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
+	offset = 199;
+	ptr_struct->requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
+	offset = 198;
+	ptr_struct->write_read_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_message_size     : "UH_FMT"\n", ptr_struct->max_message_size);
+	offset = 197;
+	ptr_struct->rdma = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtu                  : "UH_FMT"\n", ptr_struct->mtu);
+}
 
+void connectib_rdma_page_fault_event_print(const struct connectib_rdma_page_fault_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "peer_lid             : "UH_FMT"\n", ptr_struct->peer_lid);
+	fprintf(file, "======== connectib_rdma_page_fault_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_lid               : "UH_FMT"\n", ptr_struct->my_lid);
+	fprintf(file, "bytes_committed      : " U32H_FMT "\n", ptr_struct->bytes_committed);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "r_key                : " U32H_FMT "\n", ptr_struct->r_key);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
+	fprintf(file, "packet_len           : " UH_FMT "\n", ptr_struct->packet_len);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	fprintf(file, "rdma_op_len          : " U32H_FMT "\n", ptr_struct->rdma_op_len);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+	fprintf(file, "rdma_va_hi           : " U32H_FMT "\n", ptr_struct->rdma_va_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_buffer_size     : "UH_FMT"\n", ptr_struct->swqe_buffer_size);
+	fprintf(file, "rdma_va_lo           : " U32H_FMT "\n", ptr_struct->rdma_va_lo);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+	fprintf(file, "requestor            : " UH_FMT "\n", ptr_struct->requestor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "write_read_          : " UH_FMT "\n", ptr_struct->write_read_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+	fprintf(file, "rdma                 : " UH_FMT "\n", ptr_struct->rdma);
 
 }
 
-int connectib_hw_c_qpc_connected_common_size(void){
-	 return 64;
+int connectib_rdma_page_fault_event_size(void)
+{
+	 return 28;
 }
 
-void connectib_hw_c_qpc_connected_common_dump(const struct connectib_hw_c_qpc_connected_common *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_connected_common_print(ptr_struct, file, 0);
+void connectib_rdma_page_fault_event_dump(const struct connectib_rdma_page_fault_event *ptr_struct, FILE* file)
+{
+	connectib_rdma_page_fault_event_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_common_pack(const struct connectib_hw_c_qpc_common *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_associated_page_fault_event_pack(const struct connectib_wqe_associated_page_fault_event *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rwq_type);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_valid);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
-
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
-
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_table_index);
-
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_mac_index);
-
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
-
-	offset=267;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh_bit);
-
-	offset=266;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->bytes_committed);
 
-	offset=265;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->adaptive_routing);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->wqe_index);
 
-	offset=260;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swqe_buffer_size);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->len);
 
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
+	offset = 199;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->requestor);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 198;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_read);
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
+	offset = 197;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rdma);
 
 }
 
-void connectib_hw_c_qpc_common_unpack(struct connectib_hw_c_qpc_common *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_associated_page_fault_event_unpack(struct connectib_wqe_associated_page_fault_event *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->rwq_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=1;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->common_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=56;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=104;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=98;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=128;
-	ptr_struct->pkey_table_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
-
-	offset=200;
-	ptr_struct->my_gid_mac_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=268;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=267;
-	ptr_struct->grh_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=266;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->bytes_committed = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=265;
-	ptr_struct->adaptive_routing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->wqe_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=260;
-	ptr_struct->swqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 80;
+	ptr_struct->len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 200;
+	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 199;
+	ptr_struct->requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=360;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 198;
+	ptr_struct->write_read = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 197;
+	ptr_struct->rdma = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_c_qpc_common_print(const struct connectib_hw_c_qpc_common *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_associated_page_fault_event_print(const struct connectib_wqe_associated_page_fault_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc_common ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_associated_page_fault_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwq_type             : "UH_FMT"\n", ptr_struct->rwq_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_valid         : "UH_FMT"\n", ptr_struct->common_valid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_table_index     : "UH_FMT"\n", ptr_struct->pkey_table_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_mac_index     : "UH_FMT"\n", ptr_struct->my_gid_mac_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_bit              : "UH_FMT"\n", ptr_struct->grh_bit);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	fprintf(file, "bytes_committed      : " U32H_FMT "\n", ptr_struct->bytes_committed);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "adaptive_routing     : "UH_FMT"\n", ptr_struct->adaptive_routing);
+	fprintf(file, "wqe_index            : " UH_FMT "\n", ptr_struct->wqe_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_buffer_size     : "UH_FMT"\n", ptr_struct->swqe_buffer_size);
+	fprintf(file, "len                  : " UH_FMT "\n", ptr_struct->len);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+	fprintf(file, "requestor            : " UH_FMT "\n", ptr_struct->requestor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "write_read           : " UH_FMT "\n", ptr_struct->write_read);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+	fprintf(file, "rdma                 : " UH_FMT "\n", ptr_struct->rdma);
 
 }
 
-int connectib_hw_c_qpc_common_size(void){
-	 return 64;
+int connectib_wqe_associated_page_fault_event_size(void)
+{
+	 return 28;
 }
 
-void connectib_hw_c_qpc_common_dump(const struct connectib_hw_c_qpc_common *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_common_print(ptr_struct, file, 0);
+void connectib_wqe_associated_page_fault_event_dump(const struct connectib_wqe_associated_page_fault_event *ptr_struct, FILE* file)
+{
+	connectib_wqe_associated_page_fault_event_print(ptr_struct, file, 0);
 }
 
-void connectib_pf_vf_cfg_space_pack(const struct connectib_pf_vf_cfg_space *ptr_struct, u_int8_t* ptr_buff){
+void connectib_qp_events_pack(const struct connectib_qp_events *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_pf_vf_sriov_pack(&(ptr_struct->sriov), ptr_buff + offset/8);
-
-	offset=64;
-	connectib_pf_vf_vpd_pack(&(ptr_struct->vpd), ptr_buff + offset/8);
-
-	offset=150;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->hw_msix_vec0);
-
-	offset=149;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->msix_func_mask);
-
-	offset=148;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->msix_enable);
-
-	offset=147;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bus_master_en);
-
-	offset=146;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->memory_space);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->type);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->serr_status);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn_rqn_sqn);
 
-	offset=143;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->serr_enable);
+}
 
-	offset=142;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->perr_enable);
+void connectib_qp_events_unpack(struct connectib_qp_events *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=141;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->int_disable);
+	offset = 160;
+	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=140;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->need_to_fire_flr_event);
+	offset = 200;
+	ptr_struct->qpn_rqn_sqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=139;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_middle_of_flr);
+}
 
-	offset=138;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hide);
+void connectib_qp_events_print(const struct connectib_qp_events *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_qp_events ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->power_state);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type                 : %s (" UH_FMT ")\n", (ptr_struct->type == 0 ? ("QP") : ((ptr_struct->type == 1 ? ("RQ") : ((ptr_struct->type == 2 ? ("SQ") : ("unknown")))))), ptr_struct->type);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cache_line);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qpn_rqn_sqn          : " UH_FMT "\n", ptr_struct->qpn_rqn_sqn);
 
-	offset=184;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->interrupt_line);
+}
 
-	offset=181;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->exp_rom_en);
+int connectib_qp_events_size(void)
+{
+	 return 28;
+}
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 21, (u_int32_t)ptr_struct->exp_rom_addr_31_11);
+void connectib_qp_events_dump(const struct connectib_qp_events *ptr_struct, FILE* file)
+{
+	connectib_qp_events_print(ptr_struct, file, 0);
+}
 
-	offset=223;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_correctable_error_report_en);
+void connectib_dct_events_pack(const struct connectib_dct_events *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=222;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_nonfatal_error_report_en);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dctn);
 
-	offset=221;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_fatal_error_report_en);
+}
 
-	offset=220;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_ur_error_report_en);
+void connectib_dct_events_unpack(struct connectib_dct_events *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=219;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_enable_relaxed_ordering);
+	offset = 200;
+	ptr_struct->dctn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=216;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->device_control_max_payload_size);
+}
 
-	offset=215;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_extended_tag_en);
+void connectib_dct_events_print(const struct connectib_dct_events *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dct_events ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=214;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_control_enable_no_snoop);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dctn                 : " UH_FMT "\n", ptr_struct->dctn);
 
-	offset=211;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->device_control_max_read_request_size);
+}
 
-	offset=210;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_status_correctable_error_detected);
+int connectib_dct_events_size(void)
+{
+	 return 28;
+}
 
-	offset=209;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_status_nonfatal_error_detected);
+void connectib_dct_events_dump(const struct connectib_dct_events *ptr_struct, FILE* file)
+{
+	connectib_dct_events_print(ptr_struct, file, 0);
+}
 
-	offset=208;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_status_fatal_error_detected);
+void connectib_comp_event_pack(const struct connectib_comp_event *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=207;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_status_ur_error_detected);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cqn);
 
-	offset=206;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_memory_space);
+}
 
-	offset=205;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_bus_master_en);
+void connectib_comp_event_unpack(struct connectib_comp_event *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=204;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_perr_report_en);
+	offset = 200;
+	ptr_struct->cqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=203;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_serr_report_en);
+}
 
-	offset=202;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->command_register_interrupt_disable);
+void connectib_comp_event_print(const struct connectib_comp_event *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_comp_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=201;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_interrupt_status);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqn                  : " UH_FMT "\n", ptr_struct->cqn);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_perr);
+}
 
-	offset=199;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_serr);
+int connectib_comp_event_size(void)
+{
+	 return 28;
+}
 
-	offset=198;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_received_master_abort);
+void connectib_comp_event_dump(const struct connectib_comp_event *ptr_struct, FILE* file)
+{
+	connectib_comp_event_print(ptr_struct, file, 0);
+}
 
-	offset=197;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_received_target_abort);
+void connectib_sw_eqe_flat_data_pack(const struct connectib_sw_eqe_flat_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=196;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->status_register_detected_parity_error);
+	for (i = 0; i < 7; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 224, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
+	}
 
 }
 
-void connectib_pf_vf_cfg_space_unpack(struct connectib_pf_vf_cfg_space *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sw_eqe_flat_data_unpack(struct connectib_sw_eqe_flat_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_pf_vf_sriov_unpack(&(ptr_struct->sriov), ptr_buff + offset/8);
-
-	offset=64;
-	connectib_pf_vf_vpd_unpack(&(ptr_struct->vpd), ptr_buff + offset/8);
-
-	offset=150;
-	ptr_struct->hw_msix_vec0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
-
-	offset=149;
-	ptr_struct->msix_func_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=148;
-	ptr_struct->msix_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=147;
-	ptr_struct->bus_master_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=146;
-	ptr_struct->memory_space = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=144;
-	ptr_struct->serr_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 7; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 224, 1);
+	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=143;
-	ptr_struct->serr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=142;
-	ptr_struct->perr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_sw_eqe_flat_data_print(const struct connectib_sw_eqe_flat_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_sw_eqe_flat_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=141;
-	ptr_struct->int_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 7; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
+	}
 
-	offset=140;
-	ptr_struct->need_to_fire_flr_event = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=139;
-	ptr_struct->in_middle_of_flr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_sw_eqe_flat_data_size(void)
+{
+	 return 28;
+}
 
-	offset=138;
-	ptr_struct->hide = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_sw_eqe_flat_data_dump(const struct connectib_sw_eqe_flat_data *ptr_struct, FILE* file)
+{
+	connectib_sw_eqe_flat_data_print(ptr_struct, file, 0);
+}
 
-	offset=136;
-	ptr_struct->power_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+void connectib_generic_flash_reg_access_data_pack(const struct connectib_generic_flash_reg_access_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=128;
-	ptr_struct->cache_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	connectib_reg_access_reg_tlv_data_pack(&(ptr_struct->reg_data), ptr_buff + offset/8);
 
-	offset=184;
-	ptr_struct->interrupt_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 56; i++) {
+	offset = adb2c_calc_array_field_address(352, 32, i, 2144, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->more_data[i]);
+	}
 
-	offset=181;
-	ptr_struct->exp_rom_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=160;
-	ptr_struct->exp_rom_addr_31_11 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 21);
+void connectib_generic_flash_reg_access_data_unpack(struct connectib_generic_flash_reg_access_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=223;
-	ptr_struct->device_control_correctable_error_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_reg_access_reg_tlv_data_unpack(&(ptr_struct->reg_data), ptr_buff + offset/8);
 
-	offset=222;
-	ptr_struct->device_control_nonfatal_error_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 56; i++) {
+	offset = adb2c_calc_array_field_address(352, 32, i, 2144, 1);
+	ptr_struct->more_data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=221;
-	ptr_struct->device_control_fatal_error_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=220;
-	ptr_struct->device_control_ur_error_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_generic_flash_reg_access_data_print(const struct connectib_generic_flash_reg_access_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_generic_flash_reg_access_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=219;
-	ptr_struct->device_control_enable_relaxed_ordering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reg_data:\n");
+	connectib_reg_access_reg_tlv_data_print(&(ptr_struct->reg_data), file, indent_level + 1);
 
-	offset=216;
-	ptr_struct->device_control_max_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	for (i = 0; i < 56; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "more_data_%03d       : " U32H_FMT "\n", i, ptr_struct->more_data[i]);
+	}
 
-	offset=215;
-	ptr_struct->device_control_extended_tag_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=214;
-	ptr_struct->device_control_enable_no_snoop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_generic_flash_reg_access_data_size(void)
+{
+	 return 268;
+}
 
-	offset=211;
-	ptr_struct->device_control_max_read_request_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_generic_flash_reg_access_data_dump(const struct connectib_generic_flash_reg_access_data *ptr_struct, FILE* file)
+{
+	connectib_generic_flash_reg_access_data_print(ptr_struct, file, 0);
+}
 
-	offset=210;
-	ptr_struct->device_status_correctable_error_detected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_access_register_data_layout_pack(const union connectib_access_register_data_layout *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_pmaos_reg_pack(&(ptr_struct->access_register_pmaos), ptr_buff);
+}
 
-	offset=209;
-	ptr_struct->device_status_nonfatal_error_detected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_access_register_data_layout_unpack(union connectib_access_register_data_layout *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_pmaos_reg_unpack(&(ptr_struct->access_register_pmaos), ptr_buff);
+}
 
-	offset=208;
-	ptr_struct->device_status_fatal_error_detected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_access_register_data_layout_print(const union connectib_access_register_data_layout *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_access_register_data_layout ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=207;
-	ptr_struct->device_status_ur_error_detected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mcam_reg:\n");
+	connectib_mcam_reg_print(&(ptr_struct->mcam_reg), file, indent_level + 1);
 
-	offset=206;
-	ptr_struct->command_register_memory_space = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcam_reg:\n");
+	connectib_pcam_reg_print(&(ptr_struct->pcam_reg), file, indent_level + 1);
 
-	offset=205;
-	ptr_struct->command_register_bus_master_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qetcr:\n");
+	connectib_qetcr_reg_print(&(ptr_struct->qetcr), file, indent_level + 1);
 
-	offset=204;
-	ptr_struct->command_register_perr_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qpdp:\n");
+	connectib_qpdp_reg_print(&(ptr_struct->qpdp), file, indent_level + 1);
 
-	offset=203;
-	ptr_struct->command_register_serr_report_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qtct:\n");
+	connectib_qtct_reg_print(&(ptr_struct->qtct), file, indent_level + 1);
 
-	offset=202;
-	ptr_struct->command_register_interrupt_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qhll:\n");
+	connectib_qhll_print(&(ptr_struct->qhll), file, indent_level + 1);
 
-	offset=201;
-	ptr_struct->status_register_interrupt_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mlcr:\n");
+	connectib_mlcr_print(&(ptr_struct->mlcr), file, indent_level + 1);
 
-	offset=200;
-	ptr_struct->status_register_perr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcbx:\n");
+	connectib_dcbx_param_reg_print(&(ptr_struct->dcbx), file, indent_level + 1);
 
-	offset=199;
-	ptr_struct->status_register_serr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dcbx_app:\n");
+	connectib_dcbx_app_reg_print(&(ptr_struct->dcbx_app), file, indent_level + 1);
 
-	offset=198;
-	ptr_struct->status_register_received_master_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "register_set_node:\n");
+	connectib_register_set_node_print(&(ptr_struct->register_set_node), file, indent_level + 1);
 
-	offset=197;
-	ptr_struct->status_register_received_target_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "perf_counters_cfg:\n");
+	connectib_access_register_unit_perf_counters_cfg_print(&(ptr_struct->perf_counters_cfg), file, indent_level + 1);
 
-	offset=196;
-	ptr_struct->status_register_detected_parity_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "perf_counters_data:\n");
+	connectib_access_register_unit_perf_counters_data_print(&(ptr_struct->perf_counters_data), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "perf_counters_global_ctrl:\n");
+	connectib_register_unit_perf_counters_global_ctrl_print(&(ptr_struct->perf_counters_global_ctrl), file, indent_level + 1);
 
-void connectib_pf_vf_cfg_space_print(const struct connectib_pf_vf_cfg_space *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pf_vf_cfg_space ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "port_capabilities_reg:\n");
+	connectib_access_register_unit_port_capabilities_print(&(ptr_struct->port_capabilities_reg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sriov:\n");
-	connectib_pf_vf_sriov_print(&(ptr_struct->sriov), file, indent_level + 1);
+	fprintf(file, "port_flow_control_cfg_reg:\n");
+	connectib_pfcc_reg_print(&(ptr_struct->port_flow_control_cfg_reg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd:\n");
-	connectib_pf_vf_vpd_print(&(ptr_struct->vpd), file, indent_level + 1);
+	fprintf(file, "loopback_control_reg:\n");
+	connectib_register_loopback_control_print(&(ptr_struct->loopback_control_reg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_msix_vec0         : "UH_FMT"\n", ptr_struct->hw_msix_vec0);
+	fprintf(file, "power_settings_reg:\n");
+	connectib_register_power_settings_print(&(ptr_struct->power_settings_reg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix_func_mask       : "UH_FMT"\n", ptr_struct->msix_func_mask);
+	fprintf(file, "fp_sl_map_reg:\n");
+	connectib_register_fp_sl_map_print(&(ptr_struct->fp_sl_map_reg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix_enable          : "UH_FMT"\n", ptr_struct->msix_enable);
+	fprintf(file, "register_host_endianness:\n");
+	connectib_register_host_endianness_print(&(ptr_struct->register_host_endianness), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bus_master_en        : "UH_FMT"\n", ptr_struct->bus_master_en);
+	fprintf(file, "register_pplr:\n");
+	connectib_register_pplr_print(&(ptr_struct->register_pplr), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "memory_space         : "UH_FMT"\n", ptr_struct->memory_space);
+	fprintf(file, "misc_counters:\n");
+	connectib_register_misc_counters_print(&(ptr_struct->misc_counters), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "serr_status          : "UH_FMT"\n", ptr_struct->serr_status);
+	fprintf(file, "db_threshold:\n");
+	connectib_db_threshold_register_layout_print(&(ptr_struct->db_threshold), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "serr_enable          : "UH_FMT"\n", ptr_struct->serr_enable);
+	fprintf(file, "flash_mfpa:\n");
+	connectib_register_mfpa_print(&(ptr_struct->flash_mfpa), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "perr_enable          : "UH_FMT"\n", ptr_struct->perr_enable);
+	fprintf(file, "flash_mfba:\n");
+	connectib_register_mfba_print(&(ptr_struct->flash_mfba), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "int_disable          : "UH_FMT"\n", ptr_struct->int_disable);
+	fprintf(file, "flash_mfbe:\n");
+	connectib_register_mfbe_print(&(ptr_struct->flash_mfbe), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "need_to_fire_flr_event : "UH_FMT"\n", ptr_struct->need_to_fire_flr_event);
+	fprintf(file, "access_register_paos:\n");
+	connectib_paos_reg_print(&(ptr_struct->access_register_paos), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in_middle_of_flr     : "UH_FMT"\n", ptr_struct->in_middle_of_flr);
+	fprintf(file, "access_register_pmtu:\n");
+	connectib_pmtu_reg_print(&(ptr_struct->access_register_pmtu), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hide                 : "UH_FMT"\n", ptr_struct->hide);
+	fprintf(file, "access_register_pmlp:\n");
+	connectib_pmlp_reg_print(&(ptr_struct->access_register_pmlp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "power_state          : "UH_FMT"\n", ptr_struct->power_state);
+	fprintf(file, "access_register_ptys:\n");
+	connectib_ptys_reg_print(&(ptr_struct->access_register_ptys), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cache_line           : "UH_FMT"\n", ptr_struct->cache_line);
+	fprintf(file, "access_register_ppcnt:\n");
+	connectib_ppcnt_reg_print(&(ptr_struct->access_register_ppcnt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "interrupt_line       : "UH_FMT"\n", ptr_struct->interrupt_line);
+	fprintf(file, "access_register_pvlc:\n");
+	connectib_pvlc_reg_print(&(ptr_struct->access_register_pvlc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "exp_rom_en           : "UH_FMT"\n", ptr_struct->exp_rom_en);
+	fprintf(file, "access_register_pamp:\n");
+	connectib_pamp_reg_print(&(ptr_struct->access_register_pamp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "exp_rom_addr_31_11   : "UH_FMT"\n", ptr_struct->exp_rom_addr_31_11);
+	fprintf(file, "access_register_ptas:\n");
+	connectib_ptas_reg_print(&(ptr_struct->access_register_ptas), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_correctable_error_report_en : "UH_FMT"\n", ptr_struct->device_control_correctable_error_report_en);
+	fprintf(file, "access_register_slrg:\n");
+	connectib_slrg_reg_print(&(ptr_struct->access_register_slrg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_nonfatal_error_report_en : "UH_FMT"\n", ptr_struct->device_control_nonfatal_error_report_en);
+	fprintf(file, "access_register_slrp:\n");
+	connectib_slrp_reg_print(&(ptr_struct->access_register_slrp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_fatal_error_report_en : "UH_FMT"\n", ptr_struct->device_control_fatal_error_report_en);
+	fprintf(file, "access_register_sltp:\n");
+	connectib_sltp_reg_print(&(ptr_struct->access_register_sltp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_ur_error_report_en : "UH_FMT"\n", ptr_struct->device_control_ur_error_report_en);
+	fprintf(file, "access_register_pplr:\n");
+	connectib_pplr_reg_print(&(ptr_struct->access_register_pplr), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_enable_relaxed_ordering : "UH_FMT"\n", ptr_struct->device_control_enable_relaxed_ordering);
+	fprintf(file, "access_register_plpc:\n");
+	connectib_plpc_reg_print(&(ptr_struct->access_register_plpc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_max_payload_size : "UH_FMT"\n", ptr_struct->device_control_max_payload_size);
+	fprintf(file, "access_register_pplm:\n");
+	connectib_pplm_reg_print(&(ptr_struct->access_register_pplm), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_extended_tag_en : "UH_FMT"\n", ptr_struct->device_control_extended_tag_en);
+	fprintf(file, "access_register_ppad:\n");
+	connectib_ppad_reg_print(&(ptr_struct->access_register_ppad), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_enable_no_snoop : "UH_FMT"\n", ptr_struct->device_control_enable_no_snoop);
+	fprintf(file, "access_register_mcia:\n");
+	connectib_mcia_reg_print(&(ptr_struct->access_register_mcia), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_control_max_read_request_size : "UH_FMT"\n", ptr_struct->device_control_max_read_request_size);
+	fprintf(file, "access_register_mpein:\n");
+	connectib_mpein_reg_print(&(ptr_struct->access_register_mpein), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_status_correctable_error_detected : "UH_FMT"\n", ptr_struct->device_status_correctable_error_detected);
+	fprintf(file, "access_register_mpcnt:\n");
+	connectib_mpcnt_reg_print(&(ptr_struct->access_register_mpcnt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_status_nonfatal_error_detected : "UH_FMT"\n", ptr_struct->device_status_nonfatal_error_detected);
+	fprintf(file, "access_register_pddr:\n");
+	connectib_pddr_reg_print(&(ptr_struct->access_register_pddr), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_status_fatal_error_detected : "UH_FMT"\n", ptr_struct->device_status_fatal_error_detected);
+	fprintf(file, "access_register_mcion:\n");
+	connectib_mcion_reg_print(&(ptr_struct->access_register_mcion), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_status_ur_error_detected : "UH_FMT"\n", ptr_struct->device_status_ur_error_detected);
+	fprintf(file, "access_register_pptt:\n");
+	connectib_pptt_reg_print(&(ptr_struct->access_register_pptt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "command_register_memory_space : "UH_FMT"\n", ptr_struct->command_register_memory_space);
+	fprintf(file, "access_register_pprt:\n");
+	connectib_pprt_reg_print(&(ptr_struct->access_register_pprt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "command_register_bus_master_en : "UH_FMT"\n", ptr_struct->command_register_bus_master_en);
+	fprintf(file, "access_register_ppaos:\n");
+	connectib_ppaos_reg_print(&(ptr_struct->access_register_ppaos), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "command_register_perr_report_en : "UH_FMT"\n", ptr_struct->command_register_perr_report_en);
+	fprintf(file, "access_register_pcmr:\n");
+	connectib_pcmr_reg_print(&(ptr_struct->access_register_pcmr), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "command_register_serr_report_en : "UH_FMT"\n", ptr_struct->command_register_serr_report_en);
+	fprintf(file, "access_register_pmmp:\n");
+	connectib_pmmp_reg_print(&(ptr_struct->access_register_pmmp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "command_register_interrupt_disable : "UH_FMT"\n", ptr_struct->command_register_interrupt_disable);
+	fprintf(file, "access_register_pmcr:\n");
+	connectib_pmcr_reg_print(&(ptr_struct->access_register_pmcr), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status_register_interrupt_status : "UH_FMT"\n", ptr_struct->status_register_interrupt_status);
+	fprintf(file, "fpga_access_reg:\n");
+	connectib_fpga_access_reg_print(&(ptr_struct->fpga_access_reg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status_register_perr : "UH_FMT"\n", ptr_struct->status_register_perr);
+	fprintf(file, "fpga_cap:\n");
+	connectib_fpga_cap_print(&(ptr_struct->fpga_cap), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status_register_serr : "UH_FMT"\n", ptr_struct->status_register_serr);
+	fprintf(file, "fpga_ctrl:\n");
+	connectib_fpga_ctrl_print(&(ptr_struct->fpga_ctrl), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status_register_received_master_abort : "UH_FMT"\n", ptr_struct->status_register_received_master_abort);
+	fprintf(file, "access_register_mtpps:\n");
+	connectib_mtpps_reg_print(&(ptr_struct->access_register_mtpps), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status_register_received_target_abort : "UH_FMT"\n", ptr_struct->status_register_received_target_abort);
+	fprintf(file, "access_register_mtppse:\n");
+	connectib_mtppse_reg_print(&(ptr_struct->access_register_mtppse), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status_register_detected_parity_error : "UH_FMT"\n", ptr_struct->status_register_detected_parity_error);
+	fprintf(file, "access_register_pmaos:\n");
+	connectib_pmaos_reg_print(&(ptr_struct->access_register_pmaos), file, indent_level + 1);
 
 }
 
-int connectib_pf_vf_cfg_space_size(void){
-	 return 28;
+int connectib_access_register_data_layout_size(void)
+{
+	 return 264;
 }
 
-void connectib_pf_vf_cfg_space_dump(const struct connectib_pf_vf_cfg_space *ptr_struct, FILE* file) {
-	connectib_pf_vf_cfg_space_print(ptr_struct, file, 0);
+void connectib_access_register_data_layout_dump(const union connectib_access_register_data_layout *ptr_struct, FILE* file)
+{
+	connectib_access_register_data_layout_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_init_info_pack(const struct connectib_hw_init_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_scheduling_context_pack(const struct connectib_scheduling_context *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->init_state);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->element_type);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->init_lock);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->element_attributes);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->owner_pf);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->parent_element_id);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->bw_share);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_average_bw);
 
 }
 
-void connectib_hw_init_info_unpack(struct connectib_hw_init_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_scheduling_context_unpack(struct connectib_scheduling_context *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->init_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 0;
+	ptr_struct->element_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=29;
-	ptr_struct->init_lock = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->element_attributes = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=12;
-	ptr_struct->owner_pf = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	ptr_struct->parent_element_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->bw_share = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->max_average_bw = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_init_info_print(const struct connectib_hw_init_info *ptr_struct, FILE* file, int indent_level){
+void connectib_scheduling_context_print(const struct connectib_scheduling_context *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_init_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_scheduling_context ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "init_state           : "UH_FMT"\n", ptr_struct->init_state);
+	fprintf(file, "element_type         : %s (" UH_FMT ")\n", (ptr_struct->element_type == 0 ? ("TSAR") : ((ptr_struct->element_type == 1 ? ("VPORT") : ((ptr_struct->element_type == 2 ? ("VPORT_TC") : ((ptr_struct->element_type == 3 ? ("PARA_VPORT_TC") : ("unknown")))))))), ptr_struct->element_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "element_attributes   : " U32H_FMT "\n", ptr_struct->element_attributes);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "parent_element_id    : " U32H_FMT "\n", ptr_struct->parent_element_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "init_lock            : "UH_FMT"\n", ptr_struct->init_lock);
+	fprintf(file, "bw_share             : " U32H_FMT "\n", ptr_struct->bw_share);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "owner_pf             : "UH_FMT"\n", ptr_struct->owner_pf);
+	fprintf(file, "max_average_bw       : " U32H_FMT "\n", ptr_struct->max_average_bw);
 
 }
 
-int connectib_hw_init_info_size(void){
-	 return 4;
+int connectib_scheduling_context_size(void)
+{
+	 return 64;
 }
 
-void connectib_hw_init_info_dump(const struct connectib_hw_init_info *ptr_struct, FILE* file) {
-	connectib_hw_init_info_print(ptr_struct, file, 0);
+void connectib_scheduling_context_dump(const struct connectib_scheduling_context *ptr_struct, FILE* file)
+{
+	connectib_scheduling_context_print(ptr_struct, file, 0);
 }
 
-void connectib_mlnx_enhanced_equal_info_ini_pack(const struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_ipoib_meta_pack(const struct connectib_fw_ipoib_meta *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_100kr4_extended_time_sup);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->q_key);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_100cr4_extended_time_sup);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey_index);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_40cr4_extended_time_sup);
+}
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_40kr4_extended_time_sup);
+void connectib_fw_ipoib_meta_unpack(struct connectib_fw_ipoib_meta *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_kr_extended_time_sup);
+	offset = 0;
+	ptr_struct->q_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->edr_rx_atten_sup);
+	offset = 48;
+	ptr_struct->pkey_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->edr_rx_atten);
+}
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fdr_rx_atten_sup);
+void connectib_fw_ipoib_meta_print(const struct connectib_fw_ipoib_meta *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_ipoib_meta ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->fdr_rx_atten);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "q_key                : " U32H_FMT "\n", ptr_struct->q_key);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qdr_ddr_ts3_rev);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkey_index           : " UH_FMT "\n", ptr_struct->pkey_index);
+
+}
+
+int connectib_fw_ipoib_meta_size(void)
+{
+	 return 16;
+}
 
+void connectib_fw_ipoib_meta_dump(const struct connectib_fw_ipoib_meta *ptr_struct, FILE* file)
+{
+	connectib_fw_ipoib_meta_print(ptr_struct, file, 0);
 }
 
-void connectib_mlnx_enhanced_equal_info_ini_unpack(struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_q_counters_pack(const struct connectib_fw_q_counters *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->mlpn_100kr4_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=30;
-	ptr_struct->mlpn_100cr4_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->duplicate_request);
 
-	offset=29;
-	ptr_struct->mlpn_40cr4_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rnr_nack_retry_err);
 
-	offset=28;
-	ptr_struct->mlpn_40kr4_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->packet_seq_err);
 
-	offset=27;
-	ptr_struct->mlpn_kr_extended_time_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->implied_nack_seq_err);
 
-	offset=26;
-	ptr_struct->edr_rx_atten_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->local_ack_timeout_err);
 
-	offset=21;
-	ptr_struct->edr_rx_atten = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->resp_rnr_nak);
 
-	offset=20;
-	ptr_struct->fdr_rx_atten_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->req_rnr_retries_exceeded);
 
-	offset=15;
-	ptr_struct->fdr_rx_atten = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+}
 
-	offset=14;
-	ptr_struct->qdr_ddr_ts3_rev = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_fw_q_counters_unpack(struct connectib_fw_q_counters *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 32;
+	ptr_struct->duplicate_request = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->rnr_nack_retry_err = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->packet_seq_err = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->implied_nack_seq_err = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->local_ack_timeout_err = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 192;
+	ptr_struct->resp_rnr_nak = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->req_rnr_retries_exceeded = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_mlnx_enhanced_equal_info_ini_print(const struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_q_counters_print(const struct connectib_fw_q_counters *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mlnx_enhanced_equal_info_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_q_counters ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_100kr4_extended_time_sup : "UH_FMT"\n", ptr_struct->mlpn_100kr4_extended_time_sup);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "duplicate_request    : " U32H_FMT "\n", ptr_struct->duplicate_request);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_100cr4_extended_time_sup : "UH_FMT"\n", ptr_struct->mlpn_100cr4_extended_time_sup);
+	fprintf(file, "rnr_nack_retry_err   : " U32H_FMT "\n", ptr_struct->rnr_nack_retry_err);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_40cr4_extended_time_sup : "UH_FMT"\n", ptr_struct->mlpn_40cr4_extended_time_sup);
+	fprintf(file, "packet_seq_err       : " U32H_FMT "\n", ptr_struct->packet_seq_err);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_40kr4_extended_time_sup : "UH_FMT"\n", ptr_struct->mlpn_40kr4_extended_time_sup);
+	fprintf(file, "implied_nack_seq_err : " U32H_FMT "\n", ptr_struct->implied_nack_seq_err);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_kr_extended_time_sup : "UH_FMT"\n", ptr_struct->mlpn_kr_extended_time_sup);
+	fprintf(file, "local_ack_timeout_err : " U32H_FMT "\n", ptr_struct->local_ack_timeout_err);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edr_rx_atten_sup     : "UH_FMT"\n", ptr_struct->edr_rx_atten_sup);
+	fprintf(file, "resp_rnr_nak         : " U32H_FMT "\n", ptr_struct->resp_rnr_nak);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edr_rx_atten         : "UH_FMT"\n", ptr_struct->edr_rx_atten);
+	fprintf(file, "req_rnr_retries_exceeded : " U32H_FMT "\n", ptr_struct->req_rnr_retries_exceeded);
+
+}
+
+int connectib_fw_q_counters_size(void)
+{
+	 return 64;
+}
+
+void connectib_fw_q_counters_dump(const struct connectib_fw_q_counters *ptr_struct, FILE* file)
+{
+	connectib_fw_q_counters_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_transport_domain_pack(const struct connectib_fw_transport_domain *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sq_list_size);
+
+}
+
+void connectib_fw_transport_domain_unpack(struct connectib_fw_transport_domain *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+
+	offset = 32;
+	ptr_struct->sq_list_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
 
+void connectib_fw_transport_domain_print(const struct connectib_fw_transport_domain *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fdr_rx_atten_sup     : "UH_FMT"\n", ptr_struct->fdr_rx_atten_sup);
+	fprintf(file, "======== connectib_fw_transport_domain ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fdr_rx_atten         : "UH_FMT"\n", ptr_struct->fdr_rx_atten);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qdr_ddr_ts3_rev      : "UH_FMT"\n", ptr_struct->qdr_ddr_ts3_rev);
+	fprintf(file, "sq_list_size         : " U32H_FMT "\n", ptr_struct->sq_list_size);
 
 }
 
-int connectib_mlnx_enhanced_equal_info_ini_size(void){
-	 return 4;
+int connectib_fw_transport_domain_size(void)
+{
+	 return 8;
 }
 
-void connectib_mlnx_enhanced_equal_info_ini_dump(const struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, FILE* file) {
-	connectib_mlnx_enhanced_equal_info_ini_print(ptr_struct, file, 0);
+void connectib_fw_transport_domain_dump(const struct connectib_fw_transport_domain *ptr_struct, FILE* file)
+{
+	connectib_fw_transport_domain_print(ptr_struct, file, 0);
 }
 
-void connectib_mlpn_database_all_protocol_bits_ini_pack(const struct connectib_mlpn_database_all_protocol_bits_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_vqos_arb_ctx_pack(const struct connectib_vqos_arb_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fdr_8_10);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->allowed);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlx_kr2);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->father_id);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eth_56gb);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->weight);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fdr10);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sum_of_weights);
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->speed_reduction);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->token_count);
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->width_reduction);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cweight);
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eth_cbf);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ctoken_count);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_64b_credits);
+	offset = 159;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->i_am_first);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_edr);
+}
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_fdr);
+void connectib_vqos_arb_ctx_unpack(struct connectib_vqos_arb_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_fdr10);
+	offset = 31;
+	ptr_struct->allowed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_qdr);
+	offset = 20;
+	ptr_struct->father_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_ddr);
+	offset = 16;
+	ptr_struct->weight = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_ib_sdr);
+	offset = 8;
+	ptr_struct->sum_of_weights = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_56_kr4);
+	offset = 32;
+	ptr_struct->token_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_56_kx4);
+	offset = 64;
+	ptr_struct->cweight = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_kr4);
+	offset = 96;
+	ptr_struct->ctoken_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_cr4);
+	offset = 159;
+	ptr_struct->i_am_first = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_slr4);
+}
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_kr);
+void connectib_vqos_arb_ctx_print(const struct connectib_vqos_arb_ctx *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_vqos_arb_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_cr);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "allowed              : " UH_FMT "\n", ptr_struct->allowed);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_slr);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "father_id            : " UH_FMT "\n", ptr_struct->father_id);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_xaui);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "weight               : " UH_FMT "\n", ptr_struct->weight);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_sgmii);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sum_of_weights       : " UH_FMT "\n", ptr_struct->sum_of_weights);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fc_protocol);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "token_count          : " U32H_FMT "\n", ptr_struct->token_count);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eth_protocol);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cweight              : " U32H_FMT "\n", ptr_struct->cweight);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_protocol);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ctoken_count         : " U32H_FMT "\n", ptr_struct->ctoken_count);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_64_66_spec_recovery);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i_am_first           : " UH_FMT "\n", ptr_struct->i_am_first);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_128b_llr);
+}
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ll_llr);
+int connectib_vqos_arb_ctx_size(void)
+{
+	 return 32;
+}
 
+void connectib_vqos_arb_ctx_dump(const struct connectib_vqos_arb_ctx *ptr_struct, FILE* file)
+{
+	connectib_vqos_arb_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_mlpn_database_all_protocol_bits_ini_unpack(struct connectib_mlpn_database_all_protocol_bits_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dc_control_packet_desc_pack(const struct connectib_dc_control_packet_desc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->fdr_8_10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->mlx_kr2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=29;
-	ptr_struct->eth_56gb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->fdr10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=27;
-	ptr_struct->speed_reduction = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->width_reduction = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dlid);
 
-	offset=25;
-	ptr_struct->eth_cbf = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->slid);
 
-	offset=24;
-	ptr_struct->ib_64b_credits = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->source_qp);
 
-	offset=23;
-	ptr_struct->llr_ib_edr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	offset=22;
-	ptr_struct->llr_ib_fdr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dest_qp);
 
-	offset=21;
-	ptr_struct->llr_ib_fdr10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->psn);
 
-	offset=20;
-	ptr_struct->llr_ib_qdr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey);
 
-	offset=19;
-	ptr_struct->llr_ib_ddr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 140;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
 
-	offset=18;
-	ptr_struct->llr_ib_sdr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 139;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_id);
 
-	offset=17;
-	ptr_struct->llr_56_kr4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 138;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->has_grh);
 
-	offset=16;
-	ptr_struct->llr_56_kx4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 137;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_loopback);
 
-	offset=15;
-	ptr_struct->llr_kr4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
 
-	offset=14;
-	ptr_struct->llr_cr4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 216;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
 
-	offset=13;
-	ptr_struct->llr_slr4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
 
-	offset=12;
-	ptr_struct->llr_kr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->flow_label);
 
-	offset=11;
-	ptr_struct->llr_cr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 256;
+	connectib_ib_gid_pack(&(ptr_struct->dgid), ptr_buff + offset/8);
 
-	offset=10;
-	ptr_struct->llr_slr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 384;
+	connectib_ib_gid_pack(&(ptr_struct->sgid), ptr_buff + offset/8);
 
-	offset=9;
-	ptr_struct->llr_xaui = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=8;
-	ptr_struct->llr_sgmii = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_dc_control_packet_desc_unpack(struct connectib_dc_control_packet_desc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=6;
-	ptr_struct->fc_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->dlid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=5;
-	ptr_struct->eth_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->slid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=4;
-	ptr_struct->ib_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 40;
+	ptr_struct->source_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=3;
-	ptr_struct->ib_64_66_spec_recovery = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 39;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=2;
-	ptr_struct->ib_128b_llr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 72;
+	ptr_struct->dest_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=1;
-	ptr_struct->ll_llr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 104;
+	ptr_struct->psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-}
+	offset = 144;
+	ptr_struct->pkey = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_mlpn_database_all_protocol_bits_ini_print(const struct connectib_mlpn_database_all_protocol_bits_ini *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mlpn_database_all_protocol_bits_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 140;
+	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fdr_8_10             : "UH_FMT"\n", ptr_struct->fdr_8_10);
+	offset = 139;
+	ptr_struct->port_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlx_kr2              : "UH_FMT"\n", ptr_struct->mlx_kr2);
+	offset = 138;
+	ptr_struct->has_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_56gb             : "UH_FMT"\n", ptr_struct->eth_56gb);
+	offset = 137;
+	ptr_struct->force_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fdr10                : "UH_FMT"\n", ptr_struct->fdr10);
+	offset = 176;
+	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "speed_reduction      : "UH_FMT"\n", ptr_struct->speed_reduction);
+	offset = 216;
+	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "width_reduction      : "UH_FMT"\n", ptr_struct->width_reduction);
+	offset = 208;
+	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_cbf              : "UH_FMT"\n", ptr_struct->eth_cbf);
+	offset = 192;
+	ptr_struct->flow_label = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_64b_credits       : "UH_FMT"\n", ptr_struct->ib_64b_credits);
+	offset = 256;
+	connectib_ib_gid_unpack(&(ptr_struct->dgid), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_ib_edr           : "UH_FMT"\n", ptr_struct->llr_ib_edr);
+	offset = 384;
+	connectib_ib_gid_unpack(&(ptr_struct->sgid), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_ib_fdr           : "UH_FMT"\n", ptr_struct->llr_ib_fdr);
+}
 
+void connectib_dc_control_packet_desc_print(const struct connectib_dc_control_packet_desc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_ib_fdr10         : "UH_FMT"\n", ptr_struct->llr_ib_fdr10);
+	fprintf(file, "======== connectib_dc_control_packet_desc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_ib_qdr           : "UH_FMT"\n", ptr_struct->llr_ib_qdr);
+	fprintf(file, "dlid                 : " UH_FMT "\n", ptr_struct->dlid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_ib_ddr           : "UH_FMT"\n", ptr_struct->llr_ib_ddr);
+	fprintf(file, "slid                 : " UH_FMT "\n", ptr_struct->slid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_ib_sdr           : "UH_FMT"\n", ptr_struct->llr_ib_sdr);
+	fprintf(file, "source_qp            : " UH_FMT "\n", ptr_struct->source_qp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_56_kr4           : "UH_FMT"\n", ptr_struct->llr_56_kr4);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_56_kx4           : "UH_FMT"\n", ptr_struct->llr_56_kx4);
+	fprintf(file, "dest_qp              : " UH_FMT "\n", ptr_struct->dest_qp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_kr4              : "UH_FMT"\n", ptr_struct->llr_kr4);
+	fprintf(file, "psn                  : " UH_FMT "\n", ptr_struct->psn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_cr4              : "UH_FMT"\n", ptr_struct->llr_cr4);
+	fprintf(file, "pkey                 : " UH_FMT "\n", ptr_struct->pkey);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_slr4             : "UH_FMT"\n", ptr_struct->llr_slr4);
+	fprintf(file, "sl                   : " UH_FMT "\n", ptr_struct->sl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_kr               : "UH_FMT"\n", ptr_struct->llr_kr);
+	fprintf(file, "port_id              : " UH_FMT "\n", ptr_struct->port_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_cr               : "UH_FMT"\n", ptr_struct->llr_cr);
+	fprintf(file, "has_grh              : " UH_FMT "\n", ptr_struct->has_grh);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_slr              : "UH_FMT"\n", ptr_struct->llr_slr);
+	fprintf(file, "force_loopback       : " UH_FMT "\n", ptr_struct->force_loopback);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_xaui             : "UH_FMT"\n", ptr_struct->llr_xaui);
+	fprintf(file, "dct_gvmi             : " UH_FMT "\n", ptr_struct->dct_gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_sgmii            : "UH_FMT"\n", ptr_struct->llr_sgmii);
+	fprintf(file, "tclass               : " UH_FMT "\n", ptr_struct->tclass);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_protocol          : "UH_FMT"\n", ptr_struct->fc_protocol);
+	fprintf(file, "hop_limit            : " UH_FMT "\n", ptr_struct->hop_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_protocol         : "UH_FMT"\n", ptr_struct->eth_protocol);
+	fprintf(file, "flow_label           : " UH_FMT "\n", ptr_struct->flow_label);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_protocol          : "UH_FMT"\n", ptr_struct->ib_protocol);
+	fprintf(file, "dgid:\n");
+	connectib_ib_gid_print(&(ptr_struct->dgid), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_64_66_spec_recovery : "UH_FMT"\n", ptr_struct->ib_64_66_spec_recovery);
+	fprintf(file, "sgid:\n");
+	connectib_ib_gid_print(&(ptr_struct->sgid), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_128b_llr          : "UH_FMT"\n", ptr_struct->ib_128b_llr);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ll_llr               : "UH_FMT"\n", ptr_struct->ll_llr);
+int connectib_dc_control_packet_desc_size(void)
+{
+	 return 64;
+}
 
+void connectib_dc_control_packet_desc_dump(const struct connectib_dc_control_packet_desc *ptr_struct, FILE* file)
+{
+	connectib_dc_control_packet_desc_print(ptr_struct, file, 0);
 }
 
-int connectib_mlpn_database_all_protocol_bits_ini_size(void){
-	 return 4;
+void connectib_dmfs_resources_pack(const union connectib_dmfs_resources *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_dmfs_encap_meta_pack(&(ptr_struct->encap_meta), ptr_buff);
 }
 
-void connectib_mlpn_database_all_protocol_bits_ini_dump(const struct connectib_mlpn_database_all_protocol_bits_ini *ptr_struct, FILE* file) {
-	connectib_mlpn_database_all_protocol_bits_ini_print(ptr_struct, file, 0);
+void connectib_dmfs_resources_unpack(union connectib_dmfs_resources *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_dmfs_encap_meta_unpack(&(ptr_struct->encap_meta), ptr_buff);
 }
 
-void connectib_serdes_preset_sets_ini_pack(const struct connectib_serdes_preset_sets_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_dmfs_resources_print(const union connectib_dmfs_resources *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dmfs_resources ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	connectib_serdes_conf_preset_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
+	(void)file;
+	(void)indent_level;
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fg_meta:\n");
+	connectib_dmfs_fg_meta_print(&(ptr_struct->fg_meta), file, indent_level + 1);
 
-void connectib_serdes_preset_sets_ini_unpack(struct connectib_serdes_preset_sets_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_meta:\n");
+	connectib_dmfs_ft_meta_print(&(ptr_struct->ft_meta), file, indent_level + 1);
 
-	offset=0;
-	connectib_serdes_conf_preset_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fte_meta:\n");
+	connectib_dmfs_fte_meta_print(&(ptr_struct->fte_meta), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "l2_table_entry_fw_ctx:\n");
+	connectib_l2_table_entry_fw_ctx_print(&(ptr_struct->l2_table_entry_fw_ctx), file, indent_level + 1);
 
-void connectib_serdes_preset_sets_ini_print(const struct connectib_serdes_preset_sets_ini *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_preset_sets_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "flow_counter_fw_ctx:\n");
+	connectib_flow_counter_fw_ctx_print(&(ptr_struct->flow_counter_fw_ctx), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx:\n");
-	connectib_serdes_conf_preset_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
+	fprintf(file, "encap_meta:\n");
+	connectib_dmfs_encap_meta_print(&(ptr_struct->encap_meta), file, indent_level + 1);
 
 }
 
-int connectib_serdes_preset_sets_ini_size(void){
+int connectib_dmfs_resources_size(void)
+{
 	 return 64;
 }
 
-void connectib_serdes_preset_sets_ini_dump(const struct connectib_serdes_preset_sets_ini *ptr_struct, FILE* file) {
-	connectib_serdes_preset_sets_ini_print(ptr_struct, file, 0);
+void connectib_dmfs_resources_dump(const union connectib_dmfs_resources *ptr_struct, FILE* file)
+{
+	connectib_dmfs_resources_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_active_sets_ini_pack(const struct connectib_serdes_active_sets_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_list_element_pack(const struct connectib_list_element *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_active_rx_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->next);
 
-	offset=256;
-	connectib_serdes_active_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->list_ix);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_list);
+
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->prev);
 
 }
 
-void connectib_serdes_active_sets_ini_unpack(struct connectib_serdes_active_sets_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_list_element_unpack(struct connectib_list_element *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_active_rx_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 7;
+	ptr_struct->next = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
-	offset=256;
-	connectib_serdes_active_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 1;
+	ptr_struct->list_ix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 0;
+	ptr_struct->in_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 39;
+	ptr_struct->prev = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
 }
 
-void connectib_serdes_active_sets_ini_print(const struct connectib_serdes_active_sets_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_list_element_print(const struct connectib_list_element *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_active_sets_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_list_element ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx:\n");
-	connectib_serdes_active_rx_ini_print(&(ptr_struct->rx), file, indent_level + 1);
+	fprintf(file, "next                 : " UH_FMT "\n", ptr_struct->next);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx:\n");
-	connectib_serdes_active_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
+	fprintf(file, "list_ix              : " UH_FMT "\n", ptr_struct->list_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in_list              : " UH_FMT "\n", ptr_struct->in_list);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prev                 : " UH_FMT "\n", ptr_struct->prev);
 
 }
 
-int connectib_serdes_active_sets_ini_size(void){
-	 return 48;
+int connectib_list_element_size(void)
+{
+	 return 8;
 }
 
-void connectib_serdes_active_sets_ini_dump(const struct connectib_serdes_active_sets_ini *ptr_struct, FILE* file) {
-	connectib_serdes_active_sets_ini_print(ptr_struct, file, 0);
+void connectib_list_element_dump(const struct connectib_list_element *ptr_struct, FILE* file)
+{
+	connectib_list_element_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_force_sets_ini_pack(const struct connectib_serdes_force_sets_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_rqt_pack(const struct connectib_fw_rqt *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_force_rx_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=640;
-	connectib_serdes_force_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_max_size);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_actual_size);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lro_max_ip_payload_size);
+
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->lro_enable_mask);
+
+	offset = 83;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tunneled_offload_en);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lro_timeout_period_usecs);
+
+	offset = 126;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rss_qpn_size);
+
+	offset = 102;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rss_indirection_table_base_qpn);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rqt_hw_data_ix);
+
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rqt_fw_data_ix);
 
 }
 
-void connectib_serdes_force_sets_ini_unpack(struct connectib_serdes_force_sets_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_rqt_unpack(struct connectib_fw_rqt *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_force_rx_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=640;
-	connectib_serdes_force_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 48;
+	ptr_struct->rqt_max_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->rqt_actual_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 88;
+	ptr_struct->lro_max_ip_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 84;
+	ptr_struct->lro_enable_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 83;
+	ptr_struct->tunneled_offload_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->lro_timeout_period_usecs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 126;
+	ptr_struct->rss_qpn_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 102;
+	ptr_struct->rss_indirection_table_base_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 128;
+	ptr_struct->rqt_hw_data_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 160;
+	ptr_struct->rqt_fw_data_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_serdes_force_sets_ini_print(const struct connectib_serdes_force_sets_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_rqt_print(const struct connectib_fw_rqt *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_force_sets_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_rqt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx:\n");
-	connectib_serdes_force_rx_ini_print(&(ptr_struct->rx), file, indent_level + 1);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx:\n");
-	connectib_serdes_force_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
+	fprintf(file, "rqt_max_size         : " UH_FMT "\n", ptr_struct->rqt_max_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_actual_size      : " UH_FMT "\n", ptr_struct->rqt_actual_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_max_ip_payload_size : " UH_FMT "\n", ptr_struct->lro_max_ip_payload_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_enable_mask      : " UH_FMT "\n", ptr_struct->lro_enable_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tunneled_offload_en  : " UH_FMT "\n", ptr_struct->tunneled_offload_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lro_timeout_period_usecs : " UH_FMT "\n", ptr_struct->lro_timeout_period_usecs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rss_qpn_size         : " UH_FMT "\n", ptr_struct->rss_qpn_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rss_indirection_table_base_qpn : " UH_FMT "\n", ptr_struct->rss_indirection_table_base_qpn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_hw_data_ix       : " U32H_FMT "\n", ptr_struct->rqt_hw_data_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rqt_fw_data_ix       : " U32H_FMT "\n", ptr_struct->rqt_fw_data_ix);
 
 }
 
-int connectib_serdes_force_sets_ini_size(void){
-	 return 120;
+int connectib_fw_rqt_size(void)
+{
+	 return 32;
 }
 
-void connectib_serdes_force_sets_ini_dump(const struct connectib_serdes_force_sets_ini *ptr_struct, FILE* file) {
-	connectib_serdes_force_sets_ini_print(ptr_struct, file, 0);
+void connectib_fw_rqt_dump(const struct connectib_fw_rqt *ptr_struct, FILE* file)
+{
+	connectib_fw_rqt_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_aba_sets_ini_pack(const struct connectib_serdes_aba_sets_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_cqc_pack(const struct connectib_fw_cqc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_conf_aba_rx_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=2048;
-	connectib_serdes_conf_aba_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cq_status);
+
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->trap_reason);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_cq_overrun_list);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_eq_overrun_list);
 
 }
 
-void connectib_serdes_aba_sets_ini_unpack(struct connectib_serdes_aba_sets_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_cqc_unpack(struct connectib_fw_cqc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_conf_aba_rx_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=2048;
-	connectib_serdes_conf_aba_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 56;
+	ptr_struct->cq_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 52;
+	ptr_struct->trap_reason = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 33;
+	ptr_struct->in_cq_overrun_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->in_eq_overrun_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_serdes_aba_sets_ini_print(const struct connectib_serdes_aba_sets_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_cqc_print(const struct connectib_fw_cqc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_aba_sets_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_cqc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx:\n");
-	connectib_serdes_conf_aba_rx_ini_print(&(ptr_struct->rx), file, indent_level + 1);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx:\n");
-	connectib_serdes_conf_aba_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
+	fprintf(file, "cq_status            : " UH_FMT "\n", ptr_struct->cq_status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "trap_reason          : " UH_FMT "\n", ptr_struct->trap_reason);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in_cq_overrun_list   : " UH_FMT "\n", ptr_struct->in_cq_overrun_list);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in_eq_overrun_list   : " UH_FMT "\n", ptr_struct->in_eq_overrun_list);
 
 }
 
-int connectib_serdes_aba_sets_ini_size(void){
-	 return 384;
+int connectib_fw_cqc_size(void)
+{
+	 return 16;
 }
 
-void connectib_serdes_aba_sets_ini_dump(const struct connectib_serdes_aba_sets_ini *ptr_struct, FILE* file) {
-	connectib_serdes_aba_sets_ini_print(ptr_struct, file, 0);
+void connectib_fw_cqc_dump(const struct connectib_fw_cqc *ptr_struct, FILE* file)
+{
+	connectib_fw_cqc_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_autoneg_sets_ini_pack(const struct connectib_serdes_autoneg_sets_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_psv_pack(const struct connectib_fw_psv *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_conf_autoneg_rx_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
 
-	offset=2048;
-	connectib_serdes_conf_autoneg_tx_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_marked_sigerr);
 
 }
 
-void connectib_serdes_autoneg_sets_ini_unpack(struct connectib_serdes_autoneg_sets_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_psv_unpack(struct connectib_fw_psv *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_conf_autoneg_rx_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 8;
+	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=2048;
-	connectib_serdes_conf_autoneg_tx_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 7;
+	ptr_struct->fw_marked_sigerr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_serdes_autoneg_sets_ini_print(const struct connectib_serdes_autoneg_sets_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_psv_print(const struct connectib_fw_psv *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_autoneg_sets_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_psv ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx:\n");
-	connectib_serdes_conf_autoneg_rx_ini_print(&(ptr_struct->rx), file, indent_level + 1);
+	fprintf(file, "pd                   : " UH_FMT "\n", ptr_struct->pd);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx:\n");
-	connectib_serdes_conf_autoneg_tx_ini_print(&(ptr_struct->tx), file, indent_level + 1);
+	fprintf(file, "fw_marked_sigerr     : " UH_FMT "\n", ptr_struct->fw_marked_sigerr);
 
 }
 
-int connectib_serdes_autoneg_sets_ini_size(void){
-	 return 384;
+int connectib_fw_psv_size(void)
+{
+	 return 4;
 }
 
-void connectib_serdes_autoneg_sets_ini_dump(const struct connectib_serdes_autoneg_sets_ini *ptr_struct, FILE* file) {
-	connectib_serdes_autoneg_sets_ini_print(ptr_struct, file, 0);
+void connectib_fw_psv_dump(const struct connectib_fw_psv *ptr_struct, FILE* file)
+{
+	connectib_fw_psv_print(ptr_struct, file, 0);
 }
 
-void connectib_spec1_3_preset_ini_pack(const struct connectib_spec1_3_preset_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_mkc_pack(const struct connectib_fw_mkc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->preset_tx_mask_internal);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->preset_tx_mask);
-
-	offset=59;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask0_start);
-
-	offset=51;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask0_end);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->tx_ABA_en_mask);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask0);
-
-	offset=91;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask1_start);
-
-	offset=83;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask1_end);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->tx_ABA_mode_mask);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask1);
-
-	offset=123;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask2_start);
-
-	offset=115;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask2_end);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask2);
-
-	offset=155;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask3_start);
-
-	offset=147;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask3_end);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask3);
-
-	offset=187;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask4_start);
-
-	offset=179;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask4_end);
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask4);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 31, (u_int32_t)ptr_struct->state);
 
-	offset=219;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask5_start);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sync_umr);
 
-	offset=211;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->aba_mask5_end);
+	offset = 64;
+	connectib_mkey_dump_pack(&(ptr_struct->mkey_dump), ptr_buff + offset/8);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->aba_mask5);
+	offset = 127;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->next_num_of_sigerr);
 
-	offset=224;
-	connectib_aba_indexes_pack(&(ptr_struct->aba_indexes), ptr_buff + offset/8);
+	offset = 126;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pg_access);
 
 }
 
-void connectib_spec1_3_preset_ini_unpack(struct connectib_spec1_3_preset_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_mkc_unpack(struct connectib_fw_mkc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->preset_tx_mask_internal = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->preset_tx_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=59;
-	ptr_struct->aba_mask0_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=51;
-	ptr_struct->aba_mask0_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=48;
-	ptr_struct->tx_ABA_en_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=32;
-	ptr_struct->aba_mask0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=91;
-	ptr_struct->aba_mask1_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=83;
-	ptr_struct->aba_mask1_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=80;
-	ptr_struct->tx_ABA_mode_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=64;
-	ptr_struct->aba_mask1 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=123;
-	ptr_struct->aba_mask2_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=115;
-	ptr_struct->aba_mask2_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=96;
-	ptr_struct->aba_mask2 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=155;
-	ptr_struct->aba_mask3_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=147;
-	ptr_struct->aba_mask3_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=128;
-	ptr_struct->aba_mask3 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=187;
-	ptr_struct->aba_mask4_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=179;
-	ptr_struct->aba_mask4_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=160;
-	ptr_struct->aba_mask4 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 33;
+	ptr_struct->state = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 31);
 
-	offset=219;
-	ptr_struct->aba_mask5_start = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 32;
+	ptr_struct->sync_umr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=211;
-	ptr_struct->aba_mask5_end = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 64;
+	connectib_mkey_dump_unpack(&(ptr_struct->mkey_dump), ptr_buff + offset/8);
 
-	offset=192;
-	ptr_struct->aba_mask5 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 127;
+	ptr_struct->next_num_of_sigerr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=224;
-	connectib_aba_indexes_unpack(&(ptr_struct->aba_indexes), ptr_buff + offset/8);
+	offset = 126;
+	ptr_struct->pg_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_spec1_3_preset_ini_print(const struct connectib_spec1_3_preset_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_mkc_print(const struct connectib_fw_mkc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_spec1_3_preset_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_mkc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "preset_tx_mask_internal : "UH_FMT"\n", ptr_struct->preset_tx_mask_internal);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "preset_tx_mask       : "UH_FMT"\n", ptr_struct->preset_tx_mask);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask0_start      : "UH_FMT"\n", ptr_struct->aba_mask0_start);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask0_end        : "UH_FMT"\n", ptr_struct->aba_mask0_end);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_ABA_en_mask       : "UH_FMT"\n", ptr_struct->tx_ABA_en_mask);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask0            : "UH_FMT"\n", ptr_struct->aba_mask0);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask1_start      : "UH_FMT"\n", ptr_struct->aba_mask1_start);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask1_end        : "UH_FMT"\n", ptr_struct->aba_mask1_end);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_ABA_mode_mask     : "UH_FMT"\n", ptr_struct->tx_ABA_mode_mask);
+	fprintf(file, "state                : " UH_FMT "\n", ptr_struct->state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask1            : "UH_FMT"\n", ptr_struct->aba_mask1);
+	fprintf(file, "sync_umr             : " UH_FMT "\n", ptr_struct->sync_umr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask2_start      : "UH_FMT"\n", ptr_struct->aba_mask2_start);
+	fprintf(file, "mkey_dump:\n");
+	connectib_mkey_dump_print(&(ptr_struct->mkey_dump), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask2_end        : "UH_FMT"\n", ptr_struct->aba_mask2_end);
+	fprintf(file, "next_num_of_sigerr   : " UH_FMT "\n", ptr_struct->next_num_of_sigerr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask2            : "UH_FMT"\n", ptr_struct->aba_mask2);
+	fprintf(file, "pg_access            : " UH_FMT "\n", ptr_struct->pg_access);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask3_start      : "UH_FMT"\n", ptr_struct->aba_mask3_start);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask3_end        : "UH_FMT"\n", ptr_struct->aba_mask3_end);
+int connectib_fw_mkc_size(void)
+{
+	 return 16;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask3            : "UH_FMT"\n", ptr_struct->aba_mask3);
+void connectib_fw_mkc_dump(const struct connectib_fw_mkc *ptr_struct, FILE* file)
+{
+	connectib_fw_mkc_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask4_start      : "UH_FMT"\n", ptr_struct->aba_mask4_start);
+void connectib_fw_cre_pack(const union connectib_fw_cre *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_fw_tis_pack(&(ptr_struct->fw_tis), ptr_buff);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask4_end        : "UH_FMT"\n", ptr_struct->aba_mask4_end);
+void connectib_fw_cre_unpack(union connectib_fw_cre *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_fw_tis_unpack(&(ptr_struct->fw_tis), ptr_buff);
+}
 
+void connectib_fw_cre_print(const union connectib_fw_cre *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask4            : "UH_FMT"\n", ptr_struct->aba_mask4);
+	fprintf(file, "======== connectib_fw_cre ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask5_start      : "UH_FMT"\n", ptr_struct->aba_mask5_start);
+	fprintf(file, "fw_srqc:\n");
+	connectib_fw_srqc_print(&(ptr_struct->fw_srqc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask5_end        : "UH_FMT"\n", ptr_struct->aba_mask5_end);
+	fprintf(file, "fw_qpc:\n");
+	connectib_fw_qpc_print(&(ptr_struct->fw_qpc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_mask5            : "UH_FMT"\n", ptr_struct->aba_mask5);
+	fprintf(file, "fw_tir:\n");
+	connectib_fw_tir_print(&(ptr_struct->fw_tir), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba_indexes:\n");
-	connectib_aba_indexes_print(&(ptr_struct->aba_indexes), file, indent_level + 1);
+	fprintf(file, "fw_tis:\n");
+	connectib_fw_tis_print(&(ptr_struct->fw_tis), file, indent_level + 1);
 
 }
 
-int connectib_spec1_3_preset_ini_size(void){
-	 return 76;
+int connectib_fw_cre_size(void)
+{
+	 return 64;
 }
 
-void connectib_spec1_3_preset_ini_dump(const struct connectib_spec1_3_preset_ini *ptr_struct, FILE* file) {
-	connectib_spec1_3_preset_ini_print(ptr_struct, file, 0);
+void connectib_fw_cre_dump(const union connectib_fw_cre *ptr_struct, FILE* file)
+{
+	connectib_fw_cre_print(ptr_struct, file, 0);
 }
 
-void connectib_ib_ini_per_lcl_ini_pack(const struct connectib_ib_ini_per_lcl_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_basic_res_ctx_pack(const struct connectib_fw_basic_res_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec1_2_ib_support);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec1_3_ib_support);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fec_request_fdr);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fec_request_fdr10);
-
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->heartbeat_enable);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->force_speed_val);
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_speed_en);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->force_width_val);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_width_en);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_qdr_is_fdr10_val);
-
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_qdr_is_fdr10_en);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_llr_fdr_en);
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_llr_fdr_val);
+}
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_llr_fdr10_en);
+void connectib_fw_basic_res_ctx_unpack(struct connectib_fw_basic_res_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_llr_fdr10_val);
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlpn_en);
+}
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_cell_size);
+void connectib_fw_basic_res_ctx_print(const struct connectib_fw_basic_res_ctx *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_basic_res_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->speed_reduction_force);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->width_reduction_force);
+}
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_fdr10_force);
+int connectib_fw_basic_res_ctx_size(void)
+{
+	 return 4;
+}
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_fdr_force);
+void connectib_fw_basic_res_ctx_dump(const struct connectib_fw_basic_res_ctx *ptr_struct, FILE* file)
+{
+	connectib_fw_basic_res_ctx_print(ptr_struct, file, 0);
+}
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec1_2_legacy_mode);
+void connectib_fw_alt_path_pack(const struct connectib_fw_alt_path *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_disable_failsafe);
+	offset = 0;
+	connectib_sw_ads_pack(&(ptr_struct->alt), ptr_buff + offset/8);
 
 }
 
-void connectib_ib_ini_per_lcl_ini_unpack(struct connectib_ib_ini_per_lcl_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_alt_path_unpack(struct connectib_fw_alt_path *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->spec1_2_ib_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->spec1_3_ib_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_sw_ads_unpack(&(ptr_struct->alt), ptr_buff + offset/8);
 
-	offset=29;
-	ptr_struct->fec_request_fdr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=28;
-	ptr_struct->fec_request_fdr10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_fw_alt_path_print(const struct connectib_fw_alt_path *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_alt_path ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=27;
-	ptr_struct->heartbeat_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "alt:\n");
+	connectib_sw_ads_print(&(ptr_struct->alt), file, indent_level + 1);
 
-	offset=23;
-	ptr_struct->force_speed_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=22;
-	ptr_struct->force_speed_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_fw_alt_path_size(void)
+{
+	 return 48;
+}
 
-	offset=18;
-	ptr_struct->force_width_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_fw_alt_path_dump(const struct connectib_fw_alt_path *ptr_struct, FILE* file)
+{
+	connectib_fw_alt_path_print(ptr_struct, file, 0);
+}
 
-	offset=17;
-	ptr_struct->force_width_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_fw_eqc_pack(const struct connectib_fw_eqc *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->force_qdr_is_fdr10_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=15;
-	ptr_struct->force_qdr_is_fdr10_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eq_status);
 
-	offset=14;
-	ptr_struct->force_llr_fdr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->trap_reason);
 
-	offset=13;
-	ptr_struct->force_llr_fdr_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 43;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
 
-	offset=12;
-	ptr_struct->force_llr_fdr10_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->needs_eq_probe);
 
-	offset=11;
-	ptr_struct->force_llr_fdr10_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_eq_overrun_list);
 
-	offset=10;
-	ptr_struct->mlpn_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=9;
-	ptr_struct->llr_cell_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_fw_eqc_unpack(struct connectib_fw_eqc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->speed_reduction_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
 
-	offset=7;
-	ptr_struct->width_reduction_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 56;
+	ptr_struct->eq_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=6;
-	ptr_struct->llr_fdr10_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 52;
+	ptr_struct->trap_reason = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=5;
-	ptr_struct->llr_fdr_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 43;
+	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=1;
-	ptr_struct->spec1_2_legacy_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 33;
+	ptr_struct->needs_eq_probe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->llr_disable_failsafe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->in_eq_overrun_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_ib_ini_per_lcl_ini_print(const struct connectib_ib_ini_per_lcl_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_eqc_print(const struct connectib_fw_eqc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ib_ini_per_lcl_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_eqc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spec1_2_ib_support   : "UH_FMT"\n", ptr_struct->spec1_2_ib_support);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spec1_3_ib_support   : "UH_FMT"\n", ptr_struct->spec1_3_ib_support);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fec_request_fdr      : "UH_FMT"\n", ptr_struct->fec_request_fdr);
+	fprintf(file, "fw_ref_count:\n");
+	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fec_request_fdr10    : "UH_FMT"\n", ptr_struct->fec_request_fdr10);
+	fprintf(file, "eq_status            : " UH_FMT "\n", ptr_struct->eq_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "heartbeat_enable     : "UH_FMT"\n", ptr_struct->heartbeat_enable);
+	fprintf(file, "trap_reason          : " UH_FMT "\n", ptr_struct->trap_reason);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_speed_val      : "UH_FMT"\n", ptr_struct->force_speed_val);
+	fprintf(file, "log_page_size        : " UH_FMT "\n", ptr_struct->log_page_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_speed_en       : "UH_FMT"\n", ptr_struct->force_speed_en);
+	fprintf(file, "needs_eq_probe       : " UH_FMT "\n", ptr_struct->needs_eq_probe);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_width_val      : "UH_FMT"\n", ptr_struct->force_width_val);
+	fprintf(file, "in_eq_overrun_list   : " UH_FMT "\n", ptr_struct->in_eq_overrun_list);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_width_en       : "UH_FMT"\n", ptr_struct->force_width_en);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_qdr_is_fdr10_val : "UH_FMT"\n", ptr_struct->force_qdr_is_fdr10_val);
+int connectib_fw_eqc_size(void)
+{
+	 return 16;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_qdr_is_fdr10_en : "UH_FMT"\n", ptr_struct->force_qdr_is_fdr10_en);
+void connectib_fw_eqc_dump(const struct connectib_fw_eqc *ptr_struct, FILE* file)
+{
+	connectib_fw_eqc_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_llr_fdr_en     : "UH_FMT"\n", ptr_struct->force_llr_fdr_en);
+void connectib_hw_qp_counter_pack(const struct connectib_hw_qp_counter *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_llr_fdr_val    : "UH_FMT"\n", ptr_struct->force_llr_fdr_val);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pkt_nobuffer_drop);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_llr_fdr10_en   : "UH_FMT"\n", ptr_struct->force_llr_fdr10_en);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pkt_good_unicast);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_llr_fdr10_val  : "UH_FMT"\n", ptr_struct->force_llr_fdr10_val);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pkt_good_multicast);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_en              : "UH_FMT"\n", ptr_struct->mlpn_en);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pkt_dropped);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_cell_size        : "UH_FMT"\n", ptr_struct->llr_cell_size);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->msg_write_req);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "speed_reduction_force : "UH_FMT"\n", ptr_struct->speed_reduction_force);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->msg_rnr_nack);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "width_reduction_force : "UH_FMT"\n", ptr_struct->width_reduction_force);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->msg_read);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_fdr10_force      : "UH_FMT"\n", ptr_struct->llr_fdr10_force);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->msg_dct_connect);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_fdr_force        : "UH_FMT"\n", ptr_struct->llr_fdr_force);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->msg_atomic);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spec1_2_legacy_mode  : "UH_FMT"\n", ptr_struct->spec1_2_legacy_mode);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fw_reserved);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_disable_failsafe : "UH_FMT"\n", ptr_struct->llr_disable_failsafe);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bytes_rdma_frame);
 
-}
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bytes_good_unicast);
 
-int connectib_ib_ini_per_lcl_ini_size(void){
-	 return 4;
-}
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bytes_good_multicast);
 
-void connectib_ib_ini_per_lcl_ini_dump(const struct connectib_ib_ini_per_lcl_ini *ptr_struct, FILE* file) {
-	connectib_ib_ini_per_lcl_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_param_mask_ini_pack(const struct connectib_serdes_param_mask_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_qp_counter_unpack(struct connectib_hw_qp_counter *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_param_mask_per_proto_ini_pack(&(ptr_struct->encode_8_10), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->pkt_nobuffer_drop = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	connectib_serdes_param_mask_per_proto_ini_pack(&(ptr_struct->encode_64_66), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->pkt_good_unicast = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	connectib_serdes_param_mask_per_proto_ini_pack(&(ptr_struct->encode_kr), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->pkt_good_multicast = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	connectib_serdes_param_mask_per_proto_ini_pack(&(ptr_struct->fdr), ptr_buff + offset/8);
+	offset = 96;
+	ptr_struct->pkt_dropped = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 128;
+	ptr_struct->msg_write_req = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_serdes_param_mask_ini_unpack(struct connectib_serdes_param_mask_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 160;
+	ptr_struct->msg_rnr_nack = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	connectib_serdes_param_mask_per_proto_ini_unpack(&(ptr_struct->encode_8_10), ptr_buff + offset/8);
+	offset = 192;
+	ptr_struct->msg_read = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	connectib_serdes_param_mask_per_proto_ini_unpack(&(ptr_struct->encode_64_66), ptr_buff + offset/8);
+	offset = 224;
+	ptr_struct->msg_dct_connect = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	connectib_serdes_param_mask_per_proto_ini_unpack(&(ptr_struct->encode_kr), ptr_buff + offset/8);
+	offset = 256;
+	ptr_struct->msg_atomic = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	connectib_serdes_param_mask_per_proto_ini_unpack(&(ptr_struct->fdr), ptr_buff + offset/8);
+	offset = 288;
+	ptr_struct->fw_reserved = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 320;
+	ptr_struct->bytes_rdma_frame = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 384;
+	ptr_struct->bytes_good_unicast = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 448;
+	ptr_struct->bytes_good_multicast = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_serdes_param_mask_ini_print(const struct connectib_serdes_param_mask_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_qp_counter_print(const struct connectib_hw_qp_counter *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_param_mask_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_qp_counter ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "encode_8_10:\n");
-	connectib_serdes_param_mask_per_proto_ini_print(&(ptr_struct->encode_8_10), file, indent_level + 1);
+	fprintf(file, "pkt_nobuffer_drop    : " U32H_FMT "\n", ptr_struct->pkt_nobuffer_drop);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "encode_64_66:\n");
-	connectib_serdes_param_mask_per_proto_ini_print(&(ptr_struct->encode_64_66), file, indent_level + 1);
+	fprintf(file, "pkt_good_unicast     : " U32H_FMT "\n", ptr_struct->pkt_good_unicast);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "encode_kr:\n");
-	connectib_serdes_param_mask_per_proto_ini_print(&(ptr_struct->encode_kr), file, indent_level + 1);
+	fprintf(file, "pkt_good_multicast   : " U32H_FMT "\n", ptr_struct->pkt_good_multicast);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fdr:\n");
-	connectib_serdes_param_mask_per_proto_ini_print(&(ptr_struct->fdr), file, indent_level + 1);
-
-}
+	fprintf(file, "pkt_dropped          : " U32H_FMT "\n", ptr_struct->pkt_dropped);
 
-int connectib_serdes_param_mask_ini_size(void){
-	 return 16;
-}
-
-void connectib_serdes_param_mask_ini_dump(const struct connectib_serdes_param_mask_ini *ptr_struct, FILE* file) {
-	connectib_serdes_param_mask_ini_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msg_write_req        : " U32H_FMT "\n", ptr_struct->msg_write_req);
 
-void connectib_nv_tlv_data_tpt_capabilities_pack(const struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msg_rnr_nack         : " U32H_FMT "\n", ptr_struct->msg_rnr_nack);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->log_max_payload_size_supported);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msg_read             : " U32H_FMT "\n", ptr_struct->msg_read);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msg_dct_connect      : " U32H_FMT "\n", ptr_struct->msg_dct_connect);
 
-void connectib_nv_tlv_data_tpt_capabilities_unpack(struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msg_atomic           : " U32H_FMT "\n", ptr_struct->msg_atomic);
 
-	offset=0;
-	ptr_struct->log_max_payload_size_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_reserved          : " U32H_FMT "\n", ptr_struct->fw_reserved);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bytes_rdma_frame     : " U64H_FMT "\n", ptr_struct->bytes_rdma_frame);
 
-void connectib_nv_tlv_data_tpt_capabilities_print(const struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_data_tpt_capabilities ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "bytes_good_unicast   : " U64H_FMT "\n", ptr_struct->bytes_good_unicast);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_payload_size_supported : "UH_FMT"\n", ptr_struct->log_max_payload_size_supported);
+	fprintf(file, "bytes_good_multicast : " U64H_FMT "\n", ptr_struct->bytes_good_multicast);
 
 }
 
-int connectib_nv_tlv_data_tpt_capabilities_size(void){
-	 return 4;
+int connectib_hw_qp_counter_size(void)
+{
+	 return 64;
 }
 
-void connectib_nv_tlv_data_tpt_capabilities_dump(const struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, FILE* file) {
-	connectib_nv_tlv_data_tpt_capabilities_print(ptr_struct, file, 0);
+void connectib_hw_qp_counter_dump(const struct connectib_hw_qp_counter *ptr_struct, FILE* file)
+{
+	connectib_hw_qp_counter_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_data_tpt_settings_pack(const struct connectib_nv_tlv_data_tpt_settings *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_msix_pack(const struct connectib_hw_msix *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_max_payload_size);
+	offset = 0;
+	connectib_hw_msix_context_pack(&(ptr_struct->msix_context), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_hw_msix_ext_context_pack(&(ptr_struct->msix_ext_context), ptr_buff + offset/8);
 
 }
 
-void connectib_nv_tlv_data_tpt_settings_unpack(struct connectib_nv_tlv_data_tpt_settings *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_msix_unpack(struct connectib_hw_msix *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->log_max_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_hw_msix_context_unpack(&(ptr_struct->msix_context), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_hw_msix_ext_context_unpack(&(ptr_struct->msix_ext_context), ptr_buff + offset/8);
 
 }
 
-void connectib_nv_tlv_data_tpt_settings_print(const struct connectib_nv_tlv_data_tpt_settings *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_msix_print(const struct connectib_hw_msix *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_data_tpt_settings ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_msix ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_payload_size : "UH_FMT"\n", ptr_struct->log_max_payload_size);
+	fprintf(file, "msix_context:\n");
+	connectib_hw_msix_context_print(&(ptr_struct->msix_context), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msix_ext_context:\n");
+	connectib_hw_msix_ext_context_print(&(ptr_struct->msix_ext_context), file, indent_level + 1);
 
 }
 
-int connectib_nv_tlv_data_tpt_settings_size(void){
-	 return 4;
+int connectib_hw_msix_size(void)
+{
+	 return 32;
 }
 
-void connectib_nv_tlv_data_tpt_settings_dump(const struct connectib_nv_tlv_data_tpt_settings *ptr_struct, FILE* file) {
-	connectib_nv_tlv_data_tpt_settings_print(ptr_struct, file, 0);
+void connectib_hw_msix_dump(const struct connectib_hw_msix *ptr_struct, FILE* file)
+{
+	connectib_hw_msix_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_data_pci_capabilities_pack(const struct connectib_nv_tlv_data_pci_capabilities *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_rdb_pack(const struct connectib_hw_rdb *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pf_bar_size_supported);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_bar_size_supported);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_pf_msix_supported);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_vf_msix_supported);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_pfs_supported);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->max_log_total_bar_valid);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->max_total_msix_valid);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->max_vfs_per_pf_valid);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_vfs_per_pf);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->opcode);
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_num_pfs);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->psn);
 
-	offset=34;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpp_support);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->r_key);
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_qos_control_support);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->address_63_32);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_support);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->address_31_0);
 
-	offset=90;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_log_pf_uar_bar_size);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->byte_count);
 
-	offset=84;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_log_vf_uar_bar_size);
+	offset = 184;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
 
-	offset=74;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->max_num_pf_msix);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->max_num_vf_msix);
+	offset = 213;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->protection_ffser);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->max_total_msix);
+	offset = 255;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->allow_excessiveness);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->max_total_bar_MB);
+	offset = 256;
+	connectib_hw_rdb_atomic_data_pack(&(ptr_struct->atomic_data), ptr_buff + offset/8);
 
 }
 
-void connectib_nv_tlv_data_pci_capabilities_unpack(struct connectib_nv_tlv_data_pci_capabilities *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_rdb_unpack(struct connectib_hw_rdb *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	ptr_struct->pf_bar_size_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->vf_bar_size_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=5;
-	ptr_struct->num_pf_msix_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=4;
-	ptr_struct->num_vf_msix_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=3;
-	ptr_struct->num_pfs_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=2;
-	ptr_struct->max_log_total_bar_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->max_total_msix_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->max_vfs_per_pf_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=48;
-	ptr_struct->max_vfs_per_pf = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 28;
+	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=44;
-	ptr_struct->max_num_pfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=34;
-	ptr_struct->fpp_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->r_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=33;
-	ptr_struct->vf_qos_control_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->address_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->sriov_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->address_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=90;
-	ptr_struct->max_log_pf_uar_bar_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 128;
+	ptr_struct->byte_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=84;
-	ptr_struct->max_log_vf_uar_bar_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 184;
+	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=74;
-	ptr_struct->max_num_pf_msix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 160;
+	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=64;
-	ptr_struct->max_num_vf_msix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 213;
+	ptr_struct->protection_ffser = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=96;
-	ptr_struct->max_total_msix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 255;
+	ptr_struct->allow_excessiveness = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	ptr_struct->max_total_bar_MB = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	connectib_hw_rdb_atomic_data_unpack(&(ptr_struct->atomic_data), ptr_buff + offset/8);
 
 }
 
-void connectib_nv_tlv_data_pci_capabilities_print(const struct connectib_nv_tlv_data_pci_capabilities *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_rdb_print(const struct connectib_hw_rdb *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_data_pci_capabilities ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_rdb ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pf_bar_size_supported : "UH_FMT"\n", ptr_struct->pf_bar_size_supported);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_bar_size_supported : "UH_FMT"\n", ptr_struct->vf_bar_size_supported);
+	fprintf(file, "psn                  : " UH_FMT "\n", ptr_struct->psn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_pf_msix_supported : "UH_FMT"\n", ptr_struct->num_pf_msix_supported);
+	fprintf(file, "r_key                : " U32H_FMT "\n", ptr_struct->r_key);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_vf_msix_supported : "UH_FMT"\n", ptr_struct->num_vf_msix_supported);
+	fprintf(file, "address_63_32        : " U32H_FMT "\n", ptr_struct->address_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_pfs_supported    : "UH_FMT"\n", ptr_struct->num_pfs_supported);
+	fprintf(file, "address_31_0         : " U32H_FMT "\n", ptr_struct->address_31_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_log_total_bar_valid : "UH_FMT"\n", ptr_struct->max_log_total_bar_valid);
+	fprintf(file, "byte_count           : " U32H_FMT "\n", ptr_struct->byte_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_total_msix_valid : "UH_FMT"\n", ptr_struct->max_total_msix_valid);
+	fprintf(file, "can_use_reserved_lkey : " UH_FMT "\n", ptr_struct->can_use_reserved_lkey);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_vfs_per_pf_valid : "UH_FMT"\n", ptr_struct->max_vfs_per_pf_valid);
+	fprintf(file, "pd                   : " UH_FMT "\n", ptr_struct->pd);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_vfs_per_pf       : "UH_FMT"\n", ptr_struct->max_vfs_per_pf);
+	fprintf(file, "protection_ffser     : " UH_FMT "\n", ptr_struct->protection_ffser);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_num_pfs          : "UH_FMT"\n", ptr_struct->max_num_pfs);
+	fprintf(file, "allow_excessiveness  : " UH_FMT "\n", ptr_struct->allow_excessiveness);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fpp_support          : "UH_FMT"\n", ptr_struct->fpp_support);
+	fprintf(file, "atomic_data:\n");
+	connectib_hw_rdb_atomic_data_print(&(ptr_struct->atomic_data), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_qos_control_support : "UH_FMT"\n", ptr_struct->vf_qos_control_support);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sriov_support        : "UH_FMT"\n", ptr_struct->sriov_support);
+int connectib_hw_rdb_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_log_pf_uar_bar_size : "UH_FMT"\n", ptr_struct->max_log_pf_uar_bar_size);
+void connectib_hw_rdb_dump(const struct connectib_hw_rdb *ptr_struct, FILE* file)
+{
+	connectib_hw_rdb_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_log_vf_uar_bar_size : "UH_FMT"\n", ptr_struct->max_log_vf_uar_bar_size);
+void connectib_icm_mtt_pack(const union connectib_icm_mtt *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_mtt2_pack(&(ptr_struct->as_dw), ptr_buff);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_num_pf_msix      : "UH_FMT"\n", ptr_struct->max_num_pf_msix);
+void connectib_icm_mtt_unpack(union connectib_icm_mtt *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_mtt2_unpack(&(ptr_struct->as_dw), ptr_buff);
+}
 
+void connectib_icm_mtt_print(const union connectib_icm_mtt *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_num_vf_msix      : "UH_FMT"\n", ptr_struct->max_num_vf_msix);
+	fprintf(file, "======== connectib_icm_mtt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_total_msix       : "U32H_FMT"\n", ptr_struct->max_total_msix);
+	fprintf(file, "hw:\n");
+	connectib_hw_mtt_print(&(ptr_struct->hw), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_total_bar_MB     : "U32H_FMT"\n", ptr_struct->max_total_bar_MB);
+	fprintf(file, "as_dw:\n");
+	connectib_hw_mtt2_print(&(ptr_struct->as_dw), file, indent_level + 1);
 
 }
 
-int connectib_nv_tlv_data_pci_capabilities_size(void){
-	 return 20;
+int connectib_icm_mtt_size(void)
+{
+	 return 8;
 }
 
-void connectib_nv_tlv_data_pci_capabilities_dump(const struct connectib_nv_tlv_data_pci_capabilities *ptr_struct, FILE* file) {
-	connectib_nv_tlv_data_pci_capabilities_print(ptr_struct, file, 0);
+void connectib_icm_mtt_dump(const union connectib_icm_mtt *ptr_struct, FILE* file)
+{
+	connectib_icm_mtt_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_data_pci_settings_pack(const struct connectib_nv_tlv_data_pci_settings *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+void connectib_steering_entry_icmc_pack(const union connectib_steering_entry_icmc *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_steering_qp_list_pack(&(ptr_struct->steering_qp_list), ptr_buff);
+}
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pf_bar_size_valid);
+void connectib_steering_entry_icmc_unpack(union connectib_steering_entry_icmc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_steering_qp_list_unpack(&(ptr_struct->steering_qp_list), ptr_buff);
+}
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_bar_size_valid);
+void connectib_steering_entry_icmc_print(const union connectib_steering_entry_icmc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_steering_entry_icmc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_pf_msix_valid);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_ste:\n");
+	connectib_hw_ste_print(&(ptr_struct->hw_ste), file, indent_level + 1);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_vf_msix_valid);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_qp_list:\n");
+	connectib_steering_qp_list_print(&(ptr_struct->steering_qp_list), file, indent_level + 1);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_pfs_valid);
+}
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpp_valid);
+int connectib_steering_entry_icmc_size(void)
+{
+	 return 64;
+}
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->full_vf_qos_valid);
+void connectib_steering_entry_icmc_dump(const union connectib_steering_entry_icmc *ptr_struct, FILE* file)
+{
+	connectib_steering_entry_icmc_print(ptr_struct, file, 0);
+}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_valid);
+void connectib_hw_pkey_pack(const struct connectib_hw_pkey *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->total_vfs);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey);
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_pfs);
+}
 
-	offset=34;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpp_en);
+void connectib_hw_pkey_unpack(struct connectib_hw_pkey *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->full_vf_qos);
+	offset = 16;
+	ptr_struct->pkey = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_en);
+}
 
-	offset=90;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_pf_uar_bar_size);
+void connectib_hw_pkey_print(const struct connectib_hw_pkey *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_pkey ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=84;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_vf_uar_bar_size);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkey                 : " UH_FMT "\n", ptr_struct->pkey);
 
-	offset=74;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->num_pf_msix);
+}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->num_vf_msix);
+int connectib_hw_pkey_size(void)
+{
+	 return 4;
+}
 
+void connectib_hw_pkey_dump(const struct connectib_hw_pkey *ptr_struct, FILE* file)
+{
+	connectib_hw_pkey_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_data_pci_settings_unpack(struct connectib_nv_tlv_data_pci_settings *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_timer_32_pack(const struct connectib_hw_timer_32 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	ptr_struct->pf_bar_size_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	connectib_hw_timer_pack(&(ptr_struct->hw_timer), ptr_buff + offset/8);
 
-	offset=6;
-	ptr_struct->vf_bar_size_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=5;
-	ptr_struct->num_pf_msix_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_timer_32_unpack(struct connectib_hw_timer_32 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=4;
-	ptr_struct->num_vf_msix_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	connectib_hw_timer_unpack(&(ptr_struct->hw_timer), ptr_buff + offset/8);
 
-	offset=3;
-	ptr_struct->num_pfs_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=2;
-	ptr_struct->fpp_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_timer_32_print(const struct connectib_hw_timer_32 *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_timer_32 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=1;
-	ptr_struct->full_vf_qos_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_timer:\n");
+	connectib_hw_timer_print(&(ptr_struct->hw_timer), file, indent_level + 1);
 
-	offset=0;
-	ptr_struct->sriov_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=48;
-	ptr_struct->total_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+int connectib_hw_timer_32_size(void)
+{
+	 return 4;
+}
 
-	offset=44;
-	ptr_struct->num_pfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_hw_timer_32_dump(const struct connectib_hw_timer_32 *ptr_struct, FILE* file)
+{
+	connectib_hw_timer_32_print(ptr_struct, file, 0);
+}
 
-	offset=34;
-	ptr_struct->fpp_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_sq_qp_list_pack(const struct connectib_hw_sq_qp_list *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=33;
-	ptr_struct->full_vf_qos = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpi);
 
-	offset=32;
-	ptr_struct->sriov_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->global_gvmi);
 
-	offset=90;
-	ptr_struct->log_pf_uar_bar_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+}
 
-	offset=84;
-	ptr_struct->log_vf_uar_bar_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+void connectib_hw_sq_qp_list_unpack(struct connectib_hw_sq_qp_list *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=74;
-	ptr_struct->num_pf_msix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 8;
+	ptr_struct->qpi = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=64;
-	ptr_struct->num_vf_msix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 0;
+	ptr_struct->global_gvmi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_nv_tlv_data_pci_settings_print(const struct connectib_nv_tlv_data_pci_settings *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_sq_qp_list_print(const struct connectib_hw_sq_qp_list *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_data_pci_settings ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_sq_qp_list ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pf_bar_size_valid    : "UH_FMT"\n", ptr_struct->pf_bar_size_valid);
+	fprintf(file, "qpi                  : " UH_FMT "\n", ptr_struct->qpi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_bar_size_valid    : "UH_FMT"\n", ptr_struct->vf_bar_size_valid);
+	fprintf(file, "global_gvmi          : " UH_FMT "\n", ptr_struct->global_gvmi);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_pf_msix_valid    : "UH_FMT"\n", ptr_struct->num_pf_msix_valid);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_vf_msix_valid    : "UH_FMT"\n", ptr_struct->num_vf_msix_valid);
+int connectib_hw_sq_qp_list_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_pfs_valid        : "UH_FMT"\n", ptr_struct->num_pfs_valid);
+void connectib_hw_sq_qp_list_dump(const struct connectib_hw_sq_qp_list *ptr_struct, FILE* file)
+{
+	connectib_hw_sq_qp_list_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fpp_valid            : "UH_FMT"\n", ptr_struct->fpp_valid);
+void connectib_hw_pipa_pack(const struct connectib_hw_pipa *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "full_vf_qos_valid    : "UH_FMT"\n", ptr_struct->full_vf_qos_valid);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pa_63_32);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sriov_valid          : "UH_FMT"\n", ptr_struct->sriov_valid);
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->recovery_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "total_vfs            : "UH_FMT"\n", ptr_struct->total_vfs);
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->always_zero);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_pfs              : "UH_FMT"\n", ptr_struct->num_pfs);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->pa_31_2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fpp_en               : "UH_FMT"\n", ptr_struct->fpp_en);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "full_vf_qos          : "UH_FMT"\n", ptr_struct->full_vf_qos);
+void connectib_hw_pipa_unpack(struct connectib_hw_pipa *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->pa_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 63;
+	ptr_struct->recovery_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 62;
+	ptr_struct->always_zero = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->pa_31_2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+
+}
 
+void connectib_hw_pipa_print(const struct connectib_hw_pipa *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sriov_en             : "UH_FMT"\n", ptr_struct->sriov_en);
+	fprintf(file, "======== connectib_hw_pipa ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_pf_uar_bar_size  : "UH_FMT"\n", ptr_struct->log_pf_uar_bar_size);
+	fprintf(file, "pa_63_32             : " U32H_FMT "\n", ptr_struct->pa_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_vf_uar_bar_size  : "UH_FMT"\n", ptr_struct->log_vf_uar_bar_size);
+	fprintf(file, "recovery_en          : " UH_FMT "\n", ptr_struct->recovery_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_pf_msix          : "UH_FMT"\n", ptr_struct->num_pf_msix);
+	fprintf(file, "always_zero          : " UH_FMT "\n", ptr_struct->always_zero);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_vf_msix          : "UH_FMT"\n", ptr_struct->num_vf_msix);
+	fprintf(file, "pa_31_2              : " UH_FMT "\n", ptr_struct->pa_31_2);
 
 }
 
-int connectib_nv_tlv_data_pci_settings_size(void){
-	 return 12;
+int connectib_hw_pipa_size(void)
+{
+	 return 8;
 }
 
-void connectib_nv_tlv_data_pci_settings_dump(const struct connectib_nv_tlv_data_pci_settings *ptr_struct, FILE* file) {
-	connectib_nv_tlv_data_pci_settings_print(ptr_struct, file, 0);
+void connectib_hw_pipa_dump(const struct connectib_hw_pipa *ptr_struct, FILE* file)
+{
+	connectib_hw_pipa_print(ptr_struct, file, 0);
 }
 
-void connectib_header_log_pack(const struct connectib_header_log *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hdr_127_96);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hdr_95_64);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hdr_63_32);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->hdr_31_0);
+void connectib_hw_sxdc_pack(const union connectib_hw_sxdc *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_sxdc_requestor_in_sq_pack(&(ptr_struct->requestor_in_sq), ptr_buff);
+}
 
+void connectib_hw_sxdc_unpack(union connectib_hw_sxdc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_sxdc_requestor_in_sq_unpack(&(ptr_struct->requestor_in_sq), ptr_buff);
 }
 
-void connectib_header_log_unpack(struct connectib_header_log *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_hw_sxdc_print(const union connectib_hw_sxdc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_sxdc ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=0;
-	ptr_struct->hdr_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uar:\n");
+	connectib_sxdc_uar_print(&(ptr_struct->uar), file, indent_level + 1);
 
-	offset=32;
-	ptr_struct->hdr_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "swqe_producer_index:\n");
+	connectib_sxdc_swqe_producer_index_print(&(ptr_struct->swqe_producer_index), file, indent_level + 1);
 
-	offset=64;
-	ptr_struct->hdr_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sq:\n");
+	connectib_sxdc_sq_print(&(ptr_struct->sq), file, indent_level + 1);
 
-	offset=96;
-	ptr_struct->hdr_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid:\n");
+	connectib_sxdc_valid_print(&(ptr_struct->valid), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "external_db_en:\n");
+	connectib_sxdc_external_db_en_print(&(ptr_struct->external_db_en), file, indent_level + 1);
 
-void connectib_header_log_print(const struct connectib_header_log *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_header_log ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "fast_path:\n");
+	connectib_sxdc_fast_path_print(&(ptr_struct->fast_path), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hdr_127_96           : "U32H_FMT"\n", ptr_struct->hdr_127_96);
+	fprintf(file, "doorbell_int:\n");
+	connectib_sxdc_doorbell_int_print(&(ptr_struct->doorbell_int), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hdr_95_64            : "U32H_FMT"\n", ptr_struct->hdr_95_64);
+	fprintf(file, "scheduling_interrupt:\n");
+	connectib_sxdc_scheduling_interrupt_print(&(ptr_struct->scheduling_interrupt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hdr_63_32            : "U32H_FMT"\n", ptr_struct->hdr_63_32);
+	fprintf(file, "responder_in_sq:\n");
+	connectib_sxdc_responder_in_sq_print(&(ptr_struct->responder_in_sq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hdr_31_0             : "U32H_FMT"\n", ptr_struct->hdr_31_0);
+	fprintf(file, "requestor_in_sq:\n");
+	connectib_sxdc_requestor_in_sq_print(&(ptr_struct->requestor_in_sq), file, indent_level + 1);
 
 }
 
-int connectib_header_log_size(void){
-	 return 16;
+int connectib_hw_sxdc_size(void)
+{
+	 return 8;
 }
 
-void connectib_header_log_dump(const struct connectib_header_log *ptr_struct, FILE* file) {
-	connectib_header_log_print(ptr_struct, file, 0);
+void connectib_hw_sxdc_dump(const union connectib_hw_sxdc *ptr_struct, FILE* file)
+{
+	connectib_hw_sxdc_print(ptr_struct, file, 0);
 }
 
-void connectib_advanced_error_cap_ctl_pack(const struct connectib_advanced_error_cap_ctl *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_klm_entry_pack(const struct connectib_hw_klm_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->first_error_pointer);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_generation_cap);
-
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_generation_enable);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->length);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_check_cap);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->key);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_check_enable);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->va);
 
 }
 
-void connectib_advanced_error_cap_ctl_unpack(struct connectib_advanced_error_cap_ctl *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_klm_entry_unpack(struct connectib_hw_klm_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=27;
-	ptr_struct->first_error_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=26;
-	ptr_struct->ecrc_generation_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=25;
-	ptr_struct->ecrc_generation_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=24;
-	ptr_struct->ecrc_check_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=23;
-	ptr_struct->ecrc_check_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_advanced_error_cap_ctl_print(const struct connectib_advanced_error_cap_ctl *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_klm_entry_print(const struct connectib_hw_klm_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_advanced_error_cap_ctl ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_klm_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_error_pointer  : "UH_FMT"\n", ptr_struct->first_error_pointer);
+	fprintf(file, "length               : " U32H_FMT "\n", ptr_struct->length);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecrc_generation_cap  : "UH_FMT"\n", ptr_struct->ecrc_generation_cap);
+	fprintf(file, "key                  : " U32H_FMT "\n", ptr_struct->key);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecrc_generation_enable : "UH_FMT"\n", ptr_struct->ecrc_generation_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecrc_check_cap       : "UH_FMT"\n", ptr_struct->ecrc_check_cap);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecrc_check_enable    : "UH_FMT"\n", ptr_struct->ecrc_check_enable);
+	fprintf(file, "va                   : " U64H_FMT "\n", ptr_struct->va);
 
 }
 
-int connectib_advanced_error_cap_ctl_size(void){
-	 return 4;
+int connectib_hw_klm_entry_size(void)
+{
+	 return 16;
 }
 
-void connectib_advanced_error_cap_ctl_dump(const struct connectib_advanced_error_cap_ctl *ptr_struct, FILE* file) {
-	connectib_advanced_error_cap_ctl_print(ptr_struct, file, 0);
+void connectib_hw_klm_entry_dump(const struct connectib_hw_klm_entry *ptr_struct, FILE* file)
+{
+	connectib_hw_klm_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_correctable_error_mask_pack(const struct connectib_correctable_error_mask *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_sq_tokens_pack(const struct connectib_hw_sq_tokens *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_error_mask);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ware_house_burst_size_23_8);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved2);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved3);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->responder_burst_size);
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved4);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ware_house_burst_size_7_0);
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved5);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->requestor_burst_size);
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bad_tlp_mask);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gvmi_vl_weight);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bad_dllp_mask);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gvmi_vl_token_count);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->replay_num_rollover_mask);
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gvmi_vl_saturation);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved9);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dwrr_weight);
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved10);
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dwrr_token_count);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved11);
+	offset = 228;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->replay_timer_timeout_mask);
+	offset = 225;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->vlg);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->advisory_non_fatal_err_mask);
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port);
 
 }
 
-void connectib_correctable_error_mask_unpack(struct connectib_correctable_error_mask *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_sq_tokens_unpack(struct connectib_hw_sq_tokens *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->receiver_error_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->ware_house_burst_size_23_8 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=29;
-	ptr_struct->reserved2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=28;
-	ptr_struct->reserved3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 40;
+	ptr_struct->responder_burst_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=27;
-	ptr_struct->reserved4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->ware_house_burst_size_7_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=26;
-	ptr_struct->reserved5 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 72;
+	ptr_struct->requestor_burst_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=25;
-	ptr_struct->bad_tlp_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 104;
+	ptr_struct->gvmi_vl_weight = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=24;
-	ptr_struct->bad_dllp_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 136;
+	ptr_struct->gvmi_vl_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=23;
-	ptr_struct->replay_num_rollover_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 168;
+	ptr_struct->gvmi_vl_saturation = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=22;
-	ptr_struct->reserved9 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 200;
+	ptr_struct->dwrr_weight = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=21;
-	ptr_struct->reserved10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 232;
+	ptr_struct->dwrr_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=20;
-	ptr_struct->reserved11 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 228;
+	ptr_struct->vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=19;
-	ptr_struct->replay_timer_timeout_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 225;
+	ptr_struct->vlg = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=18;
-	ptr_struct->advisory_non_fatal_err_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 224;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_correctable_error_mask_print(const struct connectib_correctable_error_mask *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_sq_tokens_print(const struct connectib_hw_sq_tokens *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_correctable_error_mask ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_sq_tokens ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "receiver_error_mask  : "UH_FMT"\n", ptr_struct->receiver_error_mask);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved1            : "UH_FMT"\n", ptr_struct->reserved1);
+	fprintf(file, "ware_house_burst_size_23_8 : " UH_FMT "\n", ptr_struct->ware_house_burst_size_23_8);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved2            : "UH_FMT"\n", ptr_struct->reserved2);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved3            : "UH_FMT"\n", ptr_struct->reserved3);
+	fprintf(file, "responder_burst_size : " UH_FMT "\n", ptr_struct->responder_burst_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved4            : "UH_FMT"\n", ptr_struct->reserved4);
+	fprintf(file, "ware_house_burst_size_7_0 : " UH_FMT "\n", ptr_struct->ware_house_burst_size_7_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved5            : "UH_FMT"\n", ptr_struct->reserved5);
+	fprintf(file, "requestor_burst_size : " UH_FMT "\n", ptr_struct->requestor_burst_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bad_tlp_mask         : "UH_FMT"\n", ptr_struct->bad_tlp_mask);
+	fprintf(file, "gvmi_vl_weight       : " UH_FMT "\n", ptr_struct->gvmi_vl_weight);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bad_dllp_mask        : "UH_FMT"\n", ptr_struct->bad_dllp_mask);
+	fprintf(file, "gvmi_vl_token_count  : " UH_FMT "\n", ptr_struct->gvmi_vl_token_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "replay_num_rollover_mask : "UH_FMT"\n", ptr_struct->replay_num_rollover_mask);
+	fprintf(file, "gvmi_vl_saturation   : " UH_FMT "\n", ptr_struct->gvmi_vl_saturation);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved9            : "UH_FMT"\n", ptr_struct->reserved9);
+	fprintf(file, "dwrr_weight          : " UH_FMT "\n", ptr_struct->dwrr_weight);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved10           : "UH_FMT"\n", ptr_struct->reserved10);
+	fprintf(file, "dwrr_token_count     : " UH_FMT "\n", ptr_struct->dwrr_token_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved11           : "UH_FMT"\n", ptr_struct->reserved11);
+	fprintf(file, "vl                   : " UH_FMT "\n", ptr_struct->vl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "replay_timer_timeout_mask : "UH_FMT"\n", ptr_struct->replay_timer_timeout_mask);
+	fprintf(file, "vlg                  : " UH_FMT "\n", ptr_struct->vlg);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "advisory_non_fatal_err_mask : "UH_FMT"\n", ptr_struct->advisory_non_fatal_err_mask);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 }
 
-int connectib_correctable_error_mask_size(void){
-	 return 4;
+int connectib_hw_sq_tokens_size(void)
+{
+	 return 32;
 }
 
-void connectib_correctable_error_mask_dump(const struct connectib_correctable_error_mask *ptr_struct, FILE* file) {
-	connectib_correctable_error_mask_print(ptr_struct, file, 0);
+void connectib_hw_sq_tokens_dump(const struct connectib_hw_sq_tokens *ptr_struct, FILE* file)
+{
+	connectib_hw_sq_tokens_print(ptr_struct, file, 0);
 }
 
-void connectib_correctable_error_status_pack(const struct connectib_correctable_error_status *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_gvmi_tokens_pack(const struct connectib_hw_gvmi_tokens *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_error_status);
+	offset = 91;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port1_avg_saturation);
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bad_tlp_status);
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port1_high_vlg_req_token);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bad_dllp_status);
+	offset = 83;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port1_log2avg_time);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->replay_num_rollover_status);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port1_max_weight_exp);
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->replay_timer_timeout_status);
+	offset = 75;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port1_log2max_time);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->advisory_nonftl_err_status);
+	offset = 74;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port0_has_token);
 
-}
+	offset = 73;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port0_vlg_req_vld);
 
-void connectib_correctable_error_status_unpack(struct connectib_correctable_error_status *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port1_has_token);
 
-	offset=31;
-	ptr_struct->receiver_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 67;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port1_max_saturation);
 
-	offset=25;
-	ptr_struct->bad_tlp_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 66;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port1_vlg_req_vld);
 
-	offset=24;
-	ptr_struct->bad_dllp_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 123;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port0_avg_saturation);
 
-	offset=23;
-	ptr_struct->replay_num_rollover_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port0_avg_weight_exp);
 
-	offset=19;
-	ptr_struct->replay_timer_timeout_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 115;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port0_log2avg_time);
 
-	offset=18;
-	ptr_struct->advisory_nonftl_err_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port0_high_vlg_req_token);
 
-}
+	offset = 107;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port0_log2max_time);
 
-void connectib_correctable_error_status_print(const struct connectib_correctable_error_status *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_correctable_error_status ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port0_max_weight_exp);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "receiver_error_status : "UH_FMT"\n", ptr_struct->receiver_error_status);
+	offset = 99;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port0_max_saturation);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bad_tlp_status       : "UH_FMT"\n", ptr_struct->bad_tlp_status);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port1_avg_weight_exp);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bad_dllp_status      : "UH_FMT"\n", ptr_struct->bad_dllp_status);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->port1_max_token_count);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "replay_num_rollover_status : "UH_FMT"\n", ptr_struct->replay_num_rollover_status);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port1_max_weight_mantissa);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "replay_timer_timeout_status : "UH_FMT"\n", ptr_struct->replay_timer_timeout_status);
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->port1_avg_token_count);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "advisory_nonftl_err_status : "UH_FMT"\n", ptr_struct->advisory_nonftl_err_status);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port1_avg_weight_mantissa);
 
-}
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->port0_max_token_count);
 
-int connectib_correctable_error_status_size(void){
-	 return 4;
-}
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port0_max_weight_mantissa);
+
+	offset = 232;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->port0_avg_token_count);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port0_avg_weight_mantissa);
 
-void connectib_correctable_error_status_dump(const struct connectib_correctable_error_status *ptr_struct, FILE* file) {
-	connectib_correctable_error_status_print(ptr_struct, file, 0);
 }
 
-void connectib_uncorrectable_error_severity_pack(const struct connectib_uncorrectable_error_severity *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_gvmi_tokens_unpack(struct connectib_hw_gvmi_tokens *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->training_error_severity);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved1);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved2);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved3);
-
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->data_link_protocol_error);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved5);
-
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved6);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved7);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved8);
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved9);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved10);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved11);
-
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->poisoned_tlp);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->flow_control_protocol_error);
+	offset = 91;
+	ptr_struct->port1_avg_saturation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout);
+	offset = 88;
+	ptr_struct->port1_high_vlg_req_token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completer_abort);
+	offset = 83;
+	ptr_struct->port1_log2avg_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unexpected_completion);
+	offset = 80;
+	ptr_struct->port1_max_weight_exp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_overflow);
+	offset = 75;
+	ptr_struct->port1_log2max_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->malformed_tlp);
+	offset = 74;
+	ptr_struct->port0_has_token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_error);
+	offset = 73;
+	ptr_struct->port0_vlg_req_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request_error);
+	offset = 72;
+	ptr_struct->port1_has_token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 67;
+	ptr_struct->port1_max_saturation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-void connectib_uncorrectable_error_severity_unpack(struct connectib_uncorrectable_error_severity *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 66;
+	ptr_struct->port1_vlg_req_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=31;
-	ptr_struct->training_error_severity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 123;
+	ptr_struct->port0_avg_saturation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=30;
-	ptr_struct->reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 120;
+	ptr_struct->port0_avg_weight_exp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=29;
-	ptr_struct->reserved2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 115;
+	ptr_struct->port0_log2avg_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=28;
-	ptr_struct->reserved3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 112;
+	ptr_struct->port0_high_vlg_req_token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=27;
-	ptr_struct->data_link_protocol_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 107;
+	ptr_struct->port0_log2max_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=26;
-	ptr_struct->reserved5 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 104;
+	ptr_struct->port0_max_weight_exp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=25;
-	ptr_struct->reserved6 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 99;
+	ptr_struct->port0_max_saturation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=24;
-	ptr_struct->reserved7 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->port1_avg_weight_exp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=23;
-	ptr_struct->reserved8 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 136;
+	ptr_struct->port1_max_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=22;
-	ptr_struct->reserved9 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	ptr_struct->port1_max_weight_mantissa = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=21;
-	ptr_struct->reserved10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 168;
+	ptr_struct->port1_avg_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=20;
-	ptr_struct->reserved11 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	ptr_struct->port1_avg_weight_mantissa = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=19;
-	ptr_struct->poisoned_tlp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 200;
+	ptr_struct->port0_max_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=18;
-	ptr_struct->flow_control_protocol_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	ptr_struct->port0_max_weight_mantissa = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=17;
-	ptr_struct->completion_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 232;
+	ptr_struct->port0_avg_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=16;
-	ptr_struct->completer_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 224;
+	ptr_struct->port0_avg_weight_mantissa = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=15;
-	ptr_struct->unexpected_completion = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=14;
-	ptr_struct->receiver_overflow = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_hw_gvmi_tokens_print(const struct connectib_hw_gvmi_tokens *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_gvmi_tokens ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=13;
-	ptr_struct->malformed_tlp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port1_avg_saturation : " UH_FMT "\n", ptr_struct->port1_avg_saturation);
 
-	offset=12;
-	ptr_struct->ecrc_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port1_high_vlg_req_token : " UH_FMT "\n", ptr_struct->port1_high_vlg_req_token);
 
-	offset=11;
-	ptr_struct->unsupported_request_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port1_log2avg_time   : " UH_FMT "\n", ptr_struct->port1_log2avg_time);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port1_max_weight_exp : " UH_FMT "\n", ptr_struct->port1_max_weight_exp);
 
-void connectib_uncorrectable_error_severity_print(const struct connectib_uncorrectable_error_severity *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_uncorrectable_error_severity ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "port1_log2max_time   : " UH_FMT "\n", ptr_struct->port1_log2max_time);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "training_error_severity : "UH_FMT"\n", ptr_struct->training_error_severity);
+	fprintf(file, "port0_has_token      : " UH_FMT "\n", ptr_struct->port0_has_token);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved1            : "UH_FMT"\n", ptr_struct->reserved1);
+	fprintf(file, "port0_vlg_req_vld    : " UH_FMT "\n", ptr_struct->port0_vlg_req_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved2            : "UH_FMT"\n", ptr_struct->reserved2);
+	fprintf(file, "port1_has_token      : " UH_FMT "\n", ptr_struct->port1_has_token);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved3            : "UH_FMT"\n", ptr_struct->reserved3);
+	fprintf(file, "port1_max_saturation : " UH_FMT "\n", ptr_struct->port1_max_saturation);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_link_protocol_error : "UH_FMT"\n", ptr_struct->data_link_protocol_error);
+	fprintf(file, "port1_vlg_req_vld    : " UH_FMT "\n", ptr_struct->port1_vlg_req_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved5            : "UH_FMT"\n", ptr_struct->reserved5);
+	fprintf(file, "port0_avg_saturation : " UH_FMT "\n", ptr_struct->port0_avg_saturation);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved6            : "UH_FMT"\n", ptr_struct->reserved6);
+	fprintf(file, "port0_avg_weight_exp : " UH_FMT "\n", ptr_struct->port0_avg_weight_exp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved7            : "UH_FMT"\n", ptr_struct->reserved7);
+	fprintf(file, "port0_log2avg_time   : " UH_FMT "\n", ptr_struct->port0_log2avg_time);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved8            : "UH_FMT"\n", ptr_struct->reserved8);
+	fprintf(file, "port0_high_vlg_req_token : " UH_FMT "\n", ptr_struct->port0_high_vlg_req_token);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved9            : "UH_FMT"\n", ptr_struct->reserved9);
+	fprintf(file, "port0_log2max_time   : " UH_FMT "\n", ptr_struct->port0_log2max_time);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved10           : "UH_FMT"\n", ptr_struct->reserved10);
+	fprintf(file, "port0_max_weight_exp : " UH_FMT "\n", ptr_struct->port0_max_weight_exp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved11           : "UH_FMT"\n", ptr_struct->reserved11);
+	fprintf(file, "port0_max_saturation : " UH_FMT "\n", ptr_struct->port0_max_saturation);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "poisoned_tlp         : "UH_FMT"\n", ptr_struct->poisoned_tlp);
+	fprintf(file, "port1_avg_weight_exp : " UH_FMT "\n", ptr_struct->port1_avg_weight_exp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_control_protocol_error : "UH_FMT"\n", ptr_struct->flow_control_protocol_error);
+	fprintf(file, "port1_max_token_count : " UH_FMT "\n", ptr_struct->port1_max_token_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completion_timeout   : "UH_FMT"\n", ptr_struct->completion_timeout);
+	fprintf(file, "port1_max_weight_mantissa : " UH_FMT "\n", ptr_struct->port1_max_weight_mantissa);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completer_abort      : "UH_FMT"\n", ptr_struct->completer_abort);
+	fprintf(file, "port1_avg_token_count : " UH_FMT "\n", ptr_struct->port1_avg_token_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unexpected_completion : "UH_FMT"\n", ptr_struct->unexpected_completion);
+	fprintf(file, "port1_avg_weight_mantissa : " UH_FMT "\n", ptr_struct->port1_avg_weight_mantissa);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "receiver_overflow    : "UH_FMT"\n", ptr_struct->receiver_overflow);
+	fprintf(file, "port0_max_token_count : " UH_FMT "\n", ptr_struct->port0_max_token_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "malformed_tlp        : "UH_FMT"\n", ptr_struct->malformed_tlp);
+	fprintf(file, "port0_max_weight_mantissa : " UH_FMT "\n", ptr_struct->port0_max_weight_mantissa);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecrc_error           : "UH_FMT"\n", ptr_struct->ecrc_error);
+	fprintf(file, "port0_avg_token_count : " UH_FMT "\n", ptr_struct->port0_avg_token_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unsupported_request_error : "UH_FMT"\n", ptr_struct->unsupported_request_error);
+	fprintf(file, "port0_avg_weight_mantissa : " UH_FMT "\n", ptr_struct->port0_avg_weight_mantissa);
 
 }
 
-int connectib_uncorrectable_error_severity_size(void){
-	 return 4;
+int connectib_hw_gvmi_tokens_size(void)
+{
+	 return 32;
 }
 
-void connectib_uncorrectable_error_severity_dump(const struct connectib_uncorrectable_error_severity *ptr_struct, FILE* file) {
-	connectib_uncorrectable_error_severity_print(ptr_struct, file, 0);
+void connectib_hw_gvmi_tokens_dump(const struct connectib_hw_gvmi_tokens *ptr_struct, FILE* file)
+{
+	connectib_hw_gvmi_tokens_print(ptr_struct, file, 0);
 }
 
-void connectib_uncorrectable_error_mask_pack(const struct connectib_uncorrectable_error_mask *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_sq_pointers_pack(const struct connectib_hw_sq_pointers *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->training_error_mask);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved1);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved2);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->weight_requestor);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved3);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->sq_offset_11_6);
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->data_link_protocol_error);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->weight_responder);
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved5);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved6);
+	offset = 38;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->token);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved7);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->sq_offset_5_0);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved8);
+	offset = 71;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->ware_house_counter_responder);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved9);
+	offset = 103;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->ware_house_counter_requestor);
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved10);
+	offset = 135;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->push_pointer_responder);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reserved11);
+	offset = 167;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->push_pointer_requestor);
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->poisoned_tlp);
+	offset = 166;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->flow_control_protocol_error);
+	offset = 165;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->scheduling_interrupt);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completer_abort);
+	offset = 199;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->pop_pointer_responder);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unexpected_completion);
+	offset = 198;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_gnt_requestor);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_overflow);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_max_num_of_qp_responder);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->malformed_tlp);
+	offset = 231;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->pop_pointer_requestor);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_error);
+	offset = 230;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->db_interrupt);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request_error);
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_max_num_of_qp_requestor);
 
 }
 
-void connectib_uncorrectable_error_mask_unpack(struct connectib_uncorrectable_error_mask *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_sq_pointers_unpack(struct connectib_hw_sq_pointers *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->training_error_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=29;
-	ptr_struct->reserved2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 22;
+	ptr_struct->weight_requestor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=28;
-	ptr_struct->reserved3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->sq_offset_11_6 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=27;
-	ptr_struct->data_link_protocol_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	ptr_struct->weight_responder = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=26;
-	ptr_struct->reserved5 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=25;
-	ptr_struct->reserved6 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 38;
+	ptr_struct->token = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=24;
-	ptr_struct->reserved7 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->sq_offset_5_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=23;
-	ptr_struct->reserved8 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 71;
+	ptr_struct->ware_house_counter_responder = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
-	offset=22;
-	ptr_struct->reserved9 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 103;
+	ptr_struct->ware_house_counter_requestor = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
-	offset=21;
-	ptr_struct->reserved10 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 135;
+	ptr_struct->push_pointer_responder = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
-	offset=20;
-	ptr_struct->reserved11 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 167;
+	ptr_struct->push_pointer_requestor = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
-	offset=19;
-	ptr_struct->poisoned_tlp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 166;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=18;
-	ptr_struct->flow_control_protocol_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 165;
+	ptr_struct->scheduling_interrupt = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=17;
-	ptr_struct->completion_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	ptr_struct->vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=16;
-	ptr_struct->completer_abort = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 199;
+	ptr_struct->pop_pointer_responder = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
-	offset=15;
-	ptr_struct->unexpected_completion = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 198;
+	ptr_struct->last_gnt_requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=14;
-	ptr_struct->receiver_overflow = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	ptr_struct->log2_max_num_of_qp_responder = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=13;
-	ptr_struct->malformed_tlp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 231;
+	ptr_struct->pop_pointer_requestor = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
-	offset=12;
-	ptr_struct->ecrc_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 230;
+	ptr_struct->db_interrupt = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=11;
-	ptr_struct->unsupported_request_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 224;
+	ptr_struct->log2_max_num_of_qp_requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
 }
 
-void connectib_uncorrectable_error_mask_print(const struct connectib_uncorrectable_error_mask *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_sq_pointers_print(const struct connectib_hw_sq_pointers *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_uncorrectable_error_mask ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_sq_pointers ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "training_error_mask  : "UH_FMT"\n", ptr_struct->training_error_mask);
+	fprintf(file, "weight_requestor     : " UH_FMT "\n", ptr_struct->weight_requestor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved1            : "UH_FMT"\n", ptr_struct->reserved1);
+	fprintf(file, "sq_offset_11_6       : " UH_FMT "\n", ptr_struct->sq_offset_11_6);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved2            : "UH_FMT"\n", ptr_struct->reserved2);
+	fprintf(file, "weight_responder     : " UH_FMT "\n", ptr_struct->weight_responder);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved3            : "UH_FMT"\n", ptr_struct->reserved3);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_link_protocol_error : "UH_FMT"\n", ptr_struct->data_link_protocol_error);
+	fprintf(file, "token                : " UH_FMT "\n", ptr_struct->token);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved5            : "UH_FMT"\n", ptr_struct->reserved5);
+	fprintf(file, "sq_offset_5_0        : " UH_FMT "\n", ptr_struct->sq_offset_5_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved6            : "UH_FMT"\n", ptr_struct->reserved6);
+	fprintf(file, "ware_house_counter_responder : " UH_FMT "\n", ptr_struct->ware_house_counter_responder);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved7            : "UH_FMT"\n", ptr_struct->reserved7);
+	fprintf(file, "ware_house_counter_requestor : " UH_FMT "\n", ptr_struct->ware_house_counter_requestor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved8            : "UH_FMT"\n", ptr_struct->reserved8);
+	fprintf(file, "push_pointer_responder : " UH_FMT "\n", ptr_struct->push_pointer_responder);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved9            : "UH_FMT"\n", ptr_struct->reserved9);
+	fprintf(file, "push_pointer_requestor : " UH_FMT "\n", ptr_struct->push_pointer_requestor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved10           : "UH_FMT"\n", ptr_struct->reserved10);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved11           : "UH_FMT"\n", ptr_struct->reserved11);
+	fprintf(file, "scheduling_interrupt : " UH_FMT "\n", ptr_struct->scheduling_interrupt);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "poisoned_tlp         : "UH_FMT"\n", ptr_struct->poisoned_tlp);
+	fprintf(file, "vl                   : " UH_FMT "\n", ptr_struct->vl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_control_protocol_error : "UH_FMT"\n", ptr_struct->flow_control_protocol_error);
+	fprintf(file, "pop_pointer_responder : " UH_FMT "\n", ptr_struct->pop_pointer_responder);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completion_timeout   : "UH_FMT"\n", ptr_struct->completion_timeout);
+	fprintf(file, "last_gnt_requestor   : " UH_FMT "\n", ptr_struct->last_gnt_requestor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completer_abort      : "UH_FMT"\n", ptr_struct->completer_abort);
+	fprintf(file, "log2_max_num_of_qp_responder : " UH_FMT "\n", ptr_struct->log2_max_num_of_qp_responder);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unexpected_completion : "UH_FMT"\n", ptr_struct->unexpected_completion);
+	fprintf(file, "pop_pointer_requestor : " UH_FMT "\n", ptr_struct->pop_pointer_requestor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "receiver_overflow    : "UH_FMT"\n", ptr_struct->receiver_overflow);
+	fprintf(file, "db_interrupt         : " UH_FMT "\n", ptr_struct->db_interrupt);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "malformed_tlp        : "UH_FMT"\n", ptr_struct->malformed_tlp);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecrc_error           : "UH_FMT"\n", ptr_struct->ecrc_error);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unsupported_request_error : "UH_FMT"\n", ptr_struct->unsupported_request_error);
+	fprintf(file, "log2_max_num_of_qp_requestor : " UH_FMT "\n", ptr_struct->log2_max_num_of_qp_requestor);
 
 }
 
-int connectib_uncorrectable_error_mask_size(void){
-	 return 4;
+int connectib_hw_sq_pointers_size(void)
+{
+	 return 32;
 }
 
-void connectib_uncorrectable_error_mask_dump(const struct connectib_uncorrectable_error_mask *ptr_struct, FILE* file) {
-	connectib_uncorrectable_error_mask_print(ptr_struct, file, 0);
+void connectib_hw_sq_pointers_dump(const struct connectib_hw_sq_pointers *ptr_struct, FILE* file)
+{
+	connectib_hw_sq_pointers_print(ptr_struct, file, 0);
 }
 
-void connectib_uncorrectable_error_status_pack(const struct connectib_uncorrectable_error_status *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_trasta_pack(const struct connectib_hw_trasta *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->training_error_status);
-
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->data_link_protocol_error_status);
-
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->poisoned_tlp_status);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->flow_control_protocol_error_status);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout_status);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completer_abort_status);
-
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unexpected_completion_status);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->va_offset_63_32);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_overflow_status);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->va_offset_31_0);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->malformed_tlp_status);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->klm_index);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ecrc_error_status);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->invalidation_counter);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request_error_status);
+	offset = 111;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
 }
 
-void connectib_uncorrectable_error_status_unpack(struct connectib_uncorrectable_error_status *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_trasta_unpack(struct connectib_hw_trasta *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->training_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=27;
-	ptr_struct->data_link_protocol_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=19;
-	ptr_struct->poisoned_tlp_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->flow_control_protocol_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->completion_timeout_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->completer_abort_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=15;
-	ptr_struct->unexpected_completion_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->va_offset_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=14;
-	ptr_struct->receiver_overflow_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->va_offset_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=13;
-	ptr_struct->malformed_tlp_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->klm_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=12;
-	ptr_struct->ecrc_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 112;
+	ptr_struct->invalidation_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=11;
-	ptr_struct->unsupported_request_error_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 111;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_uncorrectable_error_status_print(const struct connectib_uncorrectable_error_status *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_trasta_print(const struct connectib_hw_trasta *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_uncorrectable_error_status ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_trasta ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "training_error_status : "UH_FMT"\n", ptr_struct->training_error_status);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_link_protocol_error_status : "UH_FMT"\n", ptr_struct->data_link_protocol_error_status);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "poisoned_tlp_status  : "UH_FMT"\n", ptr_struct->poisoned_tlp_status);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_control_protocol_error_status : "UH_FMT"\n", ptr_struct->flow_control_protocol_error_status);
+	fprintf(file, "va_offset_63_32      : " U32H_FMT "\n", ptr_struct->va_offset_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completion_timeout_status : "UH_FMT"\n", ptr_struct->completion_timeout_status);
+	fprintf(file, "va_offset_31_0       : " U32H_FMT "\n", ptr_struct->va_offset_31_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completer_abort_status : "UH_FMT"\n", ptr_struct->completer_abort_status);
+	fprintf(file, "klm_index            : " U32H_FMT "\n", ptr_struct->klm_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unexpected_completion_status : "UH_FMT"\n", ptr_struct->unexpected_completion_status);
+	fprintf(file, "invalidation_counter : " UH_FMT "\n", ptr_struct->invalidation_counter);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "receiver_overflow_status : "UH_FMT"\n", ptr_struct->receiver_overflow_status);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "malformed_tlp_status : "UH_FMT"\n", ptr_struct->malformed_tlp_status);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ecrc_error_status    : "UH_FMT"\n", ptr_struct->ecrc_error_status);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unsupported_request_error_status : "UH_FMT"\n", ptr_struct->unsupported_request_error_status);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
 }
 
-int connectib_uncorrectable_error_status_size(void){
-	 return 4;
+int connectib_hw_trasta_size(void)
+{
+	 return 16;
 }
 
-void connectib_uncorrectable_error_status_dump(const struct connectib_uncorrectable_error_status *ptr_struct, FILE* file) {
-	connectib_uncorrectable_error_status_print(ptr_struct, file, 0);
+void connectib_hw_trasta_dump(const struct connectib_hw_trasta *ptr_struct, FILE* file)
+{
+	connectib_hw_trasta_print(ptr_struct, file, 0);
 }
 
-void connectib_bar_high_pack(const struct connectib_bar_high *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_trastb_pack(const struct connectib_hw_trastb *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->addr_63_32);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->generation_count);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->bsf_offset);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->m_fbo);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->w_fbo);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->m_va);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->w_va);
 
 }
 
-void connectib_bar_high_unpack(struct connectib_bar_high *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_trastb_unpack(struct connectib_hw_trastb *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->addr_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->generation_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->bsf_offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->m_fbo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->w_fbo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->m_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 192;
+	ptr_struct->w_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_bar_high_print(const struct connectib_bar_high *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_trastb_print(const struct connectib_hw_trastb *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_bar_high ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_trastb ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_63_32           : "U32H_FMT"\n", ptr_struct->addr_63_32);
+	fprintf(file, "generation_count     : " UH_FMT "\n", ptr_struct->generation_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bsf_offset           : " U32H_FMT "\n", ptr_struct->bsf_offset);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_fbo                : " U32H_FMT "\n", ptr_struct->m_fbo);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_fbo                : " U32H_FMT "\n", ptr_struct->w_fbo);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_va                 : " U64H_FMT "\n", ptr_struct->m_va);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "w_va                 : " U64H_FMT "\n", ptr_struct->w_va);
 
 }
 
-int connectib_bar_high_size(void){
-	 return 4;
+int connectib_hw_trastb_size(void)
+{
+	 return 32;
 }
 
-void connectib_bar_high_dump(const struct connectib_bar_high *ptr_struct, FILE* file) {
-	connectib_bar_high_print(ptr_struct, file, 0);
+void connectib_hw_trastb_dump(const struct connectib_hw_trastb *ptr_struct, FILE* file)
+{
+	connectib_hw_trastb_print(ptr_struct, file, 0);
 }
 
-void connectib_bar_low_pack(const struct connectib_bar_low *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_base_psv_pack(const struct connectib_hw_base_psv *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->memory_or_io);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->type);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->data_heart_beat);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->prefetchable);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wqe_heart_beat);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 28, (u_int32_t)ptr_struct->addr_31_4);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->status);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->syndrome);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->transient_signature);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reference_tag);
 
 }
 
-void connectib_bar_low_unpack(struct connectib_bar_low *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_base_psv_unpack(struct connectib_hw_base_psv *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->memory_or_io = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=29;
-	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 2;
+	ptr_struct->data_heart_beat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=28;
-	ptr_struct->prefetchable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	ptr_struct->wqe_heart_beat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->addr_31_4 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 28);
+	offset = 0;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->status = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->syndrome = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->transient_signature = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->reference_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_bar_low_print(const struct connectib_bar_low *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_base_psv_print(const struct connectib_hw_base_psv *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_bar_low ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_base_psv ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "memory_or_io         : "UH_FMT"\n", ptr_struct->memory_or_io);
+	fprintf(file, "pd                   : " UH_FMT "\n", ptr_struct->pd);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "UH_FMT"\n", ptr_struct->type);
+	fprintf(file, "data_heart_beat      : " UH_FMT "\n", ptr_struct->data_heart_beat);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prefetchable         : "UH_FMT"\n", ptr_struct->prefetchable);
+	fprintf(file, "wqe_heart_beat       : " UH_FMT "\n", ptr_struct->wqe_heart_beat);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_31_4            : "UH_FMT"\n", ptr_struct->addr_31_4);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "status               : " UH_FMT "\n", ptr_struct->status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "syndrome             : " UH_FMT "\n", ptr_struct->syndrome);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "transient_signature  : " U32H_FMT "\n", ptr_struct->transient_signature);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reference_tag        : " U32H_FMT "\n", ptr_struct->reference_tag);
 
-int connectib_bar_low_size(void){
-	 return 4;
 }
 
-void connectib_bar_low_dump(const struct connectib_bar_low *ptr_struct, FILE* file) {
-	connectib_bar_low_print(ptr_struct, file, 0);
+int connectib_hw_base_psv_size(void)
+{
+	 return 16;
 }
 
-void connectib_sriov_status_pack(const struct connectib_sriov_status *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+void connectib_hw_base_psv_dump(const struct connectib_hw_base_psv *ptr_struct, FILE* file)
+{
+	connectib_hw_base_psv_print(ptr_struct, file, 0);
+}
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_mig_status);
+void connectib_hw_bsf_entry_pack(const union connectib_hw_bsf_entry *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_pack(&(ptr_struct->hw_bsf_entry_w_non_repeating_m_non_repeating), ptr_buff);
+}
 
+void connectib_hw_bsf_entry_unpack(union connectib_hw_bsf_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_unpack(&(ptr_struct->hw_bsf_entry_w_non_repeating_m_non_repeating), ptr_buff);
 }
 
-void connectib_sriov_status_unpack(struct connectib_sriov_status *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_hw_bsf_entry_print(const union connectib_hw_bsf_entry *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_bsf_entry ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "same_block_repeating:\n");
+	connectib_hw_bsf_entry_same_block_repeating_print(&(ptr_struct->same_block_repeating), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "same_block_non_repeating:\n");
+	connectib_hw_bsf_entry_same_block_non_repeating_print(&(ptr_struct->same_block_non_repeating), file, indent_level + 1);
 
-	offset=15;
-	ptr_struct->vf_mig_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_bsf_entry_w_repeating_m_repeating:\n");
+	connectib_hw_bsf_entry_w_repeating_m_repeating_print(&(ptr_struct->hw_bsf_entry_w_repeating_m_repeating), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_bsf_entry_w_repeating_m_non_repeating:\n");
+	connectib_hw_bsf_entry_w_repeating_m_non_repeating_print(&(ptr_struct->hw_bsf_entry_w_repeating_m_non_repeating), file, indent_level + 1);
 
-void connectib_sriov_status_print(const struct connectib_sriov_status *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sriov_status ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "hw_bsf_entry_w_non_repeating_m_repeating:\n");
+	connectib_hw_bsf_entry_w_non_repeating_m_repeating_print(&(ptr_struct->hw_bsf_entry_w_non_repeating_m_repeating), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_mig_status        : "UH_FMT"\n", ptr_struct->vf_mig_status);
+	fprintf(file, "hw_bsf_entry_w_non_repeating_m_non_repeating:\n");
+	connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_print(&(ptr_struct->hw_bsf_entry_w_non_repeating_m_non_repeating), file, indent_level + 1);
 
 }
 
-int connectib_sriov_status_size(void){
-	 return 2;
+int connectib_hw_bsf_entry_size(void)
+{
+	 return 64;
 }
 
-void connectib_sriov_status_dump(const struct connectib_sriov_status *ptr_struct, FILE* file) {
-	connectib_sriov_status_print(ptr_struct, file, 0);
+void connectib_hw_bsf_entry_dump(const union connectib_hw_bsf_entry *ptr_struct, FILE* file)
+{
+	connectib_hw_bsf_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_sriov_control_pack(const struct connectib_sriov_control *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_port_info_pack(const struct connectib_hw_port_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_enable);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->lmc);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_migration_en);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->mad_filter);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_migration_int_en);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lid);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_mse);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->gid_prefix);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_capable_hierarchy);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(272, 16, i, 512, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dc_rsl2sq_map[i]);
+	}
 
 }
 
-void connectib_sriov_control_unpack(struct connectib_sriov_control *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_port_info_unpack(struct connectib_hw_port_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=15;
-	ptr_struct->vf_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 29;
+	ptr_struct->lmc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=14;
-	ptr_struct->vf_migration_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 2;
+	ptr_struct->mad_filter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=13;
-	ptr_struct->vf_migration_int_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=12;
-	ptr_struct->vf_mse = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->gid_prefix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=11;
-	ptr_struct->ari_capable_hierarchy = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(272, 16, i, 512, 1);
+	ptr_struct->dc_rsl2sq_map[i] = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	}
 
 }
 
-void connectib_sriov_control_print(const struct connectib_sriov_control *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_port_info_print(const struct connectib_hw_port_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sriov_control ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_port_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_enable            : "UH_FMT"\n", ptr_struct->vf_enable);
+	fprintf(file, "lmc                  : " UH_FMT "\n", ptr_struct->lmc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_migration_en      : "UH_FMT"\n", ptr_struct->vf_migration_en);
+	fprintf(file, "mad_filter           : " UH_FMT "\n", ptr_struct->mad_filter);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_migration_int_en  : "UH_FMT"\n", ptr_struct->vf_migration_int_en);
+	fprintf(file, "lid                  : " UH_FMT "\n", ptr_struct->lid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_mse               : "UH_FMT"\n", ptr_struct->vf_mse);
+	fprintf(file, "gid_prefix           : " U64H_FMT "\n", ptr_struct->gid_prefix);
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari_capable_hierarchy : "UH_FMT"\n", ptr_struct->ari_capable_hierarchy);
+	fprintf(file, "dc_rsl2sq_map_%03d   : " UH_FMT "\n", i, ptr_struct->dc_rsl2sq_map[i]);
+	}
 
 }
 
-int connectib_sriov_control_size(void){
-	 return 2;
+int connectib_hw_port_info_size(void)
+{
+	 return 64;
 }
 
-void connectib_sriov_control_dump(const struct connectib_sriov_control *ptr_struct, FILE* file) {
-	connectib_sriov_control_print(ptr_struct, file, 0);
+void connectib_hw_port_info_dump(const struct connectib_hw_port_info *ptr_struct, FILE* file)
+{
+	connectib_hw_port_info_print(ptr_struct, file, 0);
 }
 
-void connectib_sriov_capabilities_pack(const struct connectib_sriov_capabilities *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_mig_capable);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_cap_hier_preserved);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->vf_mig_int_msg_num);
-
+void connectib_hw_qpc_r_dct_pack(const union connectib_hw_qpc_r_dct *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_dct_pack(&(ptr_struct->dct), ptr_buff);
 }
 
-void connectib_sriov_capabilities_unpack(struct connectib_sriov_capabilities *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=31;
-	ptr_struct->vf_mig_capable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->ari_cap_hier_preserved = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->vf_mig_int_msg_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
-
+void connectib_hw_qpc_r_dct_unpack(union connectib_hw_qpc_r_dct *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_dct_unpack(&(ptr_struct->dct), ptr_buff);
 }
 
-void connectib_sriov_capabilities_print(const struct connectib_sriov_capabilities *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_qpc_r_dct_print(const union connectib_hw_qpc_r_dct *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sriov_capabilities ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_qpc_r_dct ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_mig_capable       : "UH_FMT"\n", ptr_struct->vf_mig_capable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari_cap_hier_preserved : "UH_FMT"\n", ptr_struct->ari_cap_hier_preserved);
+	fprintf(file, "qpc:\n");
+	connectib_hw_r_qpc_print(&(ptr_struct->qpc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_mig_int_msg_num   : "UH_FMT"\n", ptr_struct->vf_mig_int_msg_num);
+	fprintf(file, "dct:\n");
+	connectib_hw_dct_print(&(ptr_struct->dct), file, indent_level + 1);
 
 }
 
-int connectib_sriov_capabilities_size(void){
-	 return 4;
+int connectib_hw_qpc_r_dct_size(void)
+{
+	 return 64;
 }
 
-void connectib_sriov_capabilities_dump(const struct connectib_sriov_capabilities *ptr_struct, FILE* file) {
-	connectib_sriov_capabilities_print(ptr_struct, file, 0);
+void connectib_hw_qpc_r_dct_dump(const union connectib_hw_qpc_r_dct *ptr_struct, FILE* file)
+{
+	connectib_hw_qpc_r_dct_print(ptr_struct, file, 0);
 }
 
-void connectib_ari_control_pack(const struct connectib_ari_control *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mfvc_en);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs_en);
-
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->func_group);
+void connectib_hw_s_qpc_pack(const union connectib_hw_s_qpc *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_s_qpc_packet_allowed_pack(&(ptr_struct->packet_allowed), ptr_buff);
+}
 
+void connectib_hw_s_qpc_unpack(union connectib_hw_s_qpc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_s_qpc_packet_allowed_unpack(&(ptr_struct->packet_allowed), ptr_buff);
 }
 
-void connectib_ari_control_unpack(struct connectib_ari_control *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_hw_s_qpc_print(const union connectib_hw_s_qpc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_s_qpc ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=15;
-	ptr_struct->mfvc_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=14;
-	ptr_struct->acs_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=9;
-	ptr_struct->func_group = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	(void)file;
+	(void)indent_level;
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "first_unsent_psn:\n");
+	connectib_hw_s_qpc_first_unsent_psn_print(&(ptr_struct->first_unsent_psn), file, indent_level + 1);
 
-void connectib_ari_control_print(const struct connectib_ari_control *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ari_control ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "number_outstanding_reads:\n");
+	connectib_hw_s_qpc_number_outstanding_reads_print(&(ptr_struct->number_outstanding_reads), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfvc_en              : "UH_FMT"\n", ptr_struct->mfvc_en);
+	fprintf(file, "first_psn_of_message_currently_completing:\n");
+	connectib_hw_s_qpc_first_psn_of_message_currently_completing_print(&(ptr_struct->first_psn_of_message_currently_completing), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "acs_en               : "UH_FMT"\n", ptr_struct->acs_en);
+	fprintf(file, "currently_completing_ds:\n");
+	connectib_hw_s_qpc_currently_completing_ds_print(&(ptr_struct->currently_completing_ds), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "func_group           : "UH_FMT"\n", ptr_struct->func_group);
+	fprintf(file, "timer_enable:\n");
+	connectib_hw_s_qpc_timer_enable_print(&(ptr_struct->timer_enable), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl15:\n");
+	connectib_hw_s_qpc_vl15_print(&(ptr_struct->vl15), file, indent_level + 1);
 
-int connectib_ari_control_size(void){
-	 return 2;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "force_grh:\n");
+	connectib_hw_s_qpc_force_grh_print(&(ptr_struct->force_grh), file, indent_level + 1);
 
-void connectib_ari_control_dump(const struct connectib_ari_control *ptr_struct, FILE* file) {
-	connectib_ari_control_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dc_access_key_31_0:\n");
+	connectib_hw_s_qpc_dc_access_key_31_0_print(&(ptr_struct->dc_access_key_31_0), file, indent_level + 1);
 
-void connectib_ari_capabilities_pack(const struct connectib_ari_capabilities *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dc_access_key_63_32:\n");
+	connectib_hw_s_qpc_dc_access_key_63_32_print(&(ptr_struct->dc_access_key_63_32), file, indent_level + 1);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mfvc);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lsn:\n");
+	connectib_hw_s_qpc_lsn_print(&(ptr_struct->lsn), file, indent_level + 1);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->acs);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_gather_commit:\n");
+	connectib_hw_s_qpc_sx_gather_commit_print(&(ptr_struct->sx_gather_commit), file, indent_level + 1);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->next_func_num);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "force_my_gid_index:\n");
+	connectib_hw_s_qpc_force_my_gid_index_print(&(ptr_struct->force_my_gid_index), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "to_sequence_error_retry_limit:\n");
+	connectib_hw_s_qpc_to_sequence_error_retry_limit_print(&(ptr_struct->to_sequence_error_retry_limit), file, indent_level + 1);
 
-void connectib_ari_capabilities_unpack(struct connectib_ari_capabilities *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_heartbeat:\n");
+	connectib_hw_s_qpc_sx_heartbeat_print(&(ptr_struct->sx_heartbeat), file, indent_level + 1);
 
-	offset=15;
-	ptr_struct->mfvc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ts:\n");
+	connectib_hw_s_qpc_ts_print(&(ptr_struct->ts), file, indent_level + 1);
 
-	offset=14;
-	ptr_struct->acs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "force_grh_tclass:\n");
+	connectib_hw_s_qpc_force_grh_tclass_print(&(ptr_struct->force_grh_tclass), file, indent_level + 1);
 
-	offset=0;
-	ptr_struct->next_func_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reverse_sl:\n");
+	connectib_hw_s_qpc_reverse_sl_print(&(ptr_struct->reverse_sl), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "to_sequence_error_retry_counter:\n");
+	connectib_hw_s_qpc_to_sequence_error_retry_counter_print(&(ptr_struct->to_sequence_error_retry_counter), file, indent_level + 1);
 
-void connectib_ari_capabilities_print(const struct connectib_ari_capabilities *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ari_capabilities ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "ssn:\n");
+	connectib_hw_s_qpc_ssn_print(&(ptr_struct->ssn), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfvc                 : "UH_FMT"\n", ptr_struct->mfvc);
+	fprintf(file, "counter_index:\n");
+	connectib_hw_s_qpc_counter_index_print(&(ptr_struct->counter_index), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "acs                  : "UH_FMT"\n", ptr_struct->acs);
+	fprintf(file, "flush_syndrom:\n");
+	connectib_hw_s_qpc_flush_syndrom_print(&(ptr_struct->flush_syndrom), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_func_num        : "UH_FMT"\n", ptr_struct->next_func_num);
+	fprintf(file, "next_to_send_psn:\n");
+	connectib_hw_s_qpc_next_to_send_psn_print(&(ptr_struct->next_to_send_psn), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_number:\n");
+	connectib_hw_s_qpc_cq_number_print(&(ptr_struct->cq_number), file, indent_level + 1);
 
-int connectib_ari_capabilities_size(void){
-	 return 2;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "responder_session_id:\n");
+	connectib_hw_s_qpc_responder_session_id_print(&(ptr_struct->responder_session_id), file, indent_level + 1);
 
-void connectib_ari_capabilities_dump(const struct connectib_ari_capabilities *ptr_struct, FILE* file) {
-	connectib_ari_capabilities_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "deth_sqpn:\n");
+	connectib_hw_s_qpc_deth_sqpn_print(&(ptr_struct->deth_sqpn), file, indent_level + 1);
 
-void connectib_lane_eql_ctl_pack(const struct connectib_lane_eql_ctl *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "oldest_non_acked_psn:\n");
+	connectib_hw_s_qpc_oldest_non_acked_psn_print(&(ptr_struct->oldest_non_acked_psn), file, indent_level + 1);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->downstream_port_transmitter_preset0);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "psn_since_ackreq:\n");
+	connectib_hw_s_qpc_psn_since_ackreq_print(&(ptr_struct->psn_since_ackreq), file, indent_level + 1);
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->downstream_port_receiver_preset_hint0);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qp_state:\n");
+	connectib_hw_s_qpc_qp_state_print(&(ptr_struct->qp_state), file, indent_level + 1);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->upstream_port_transmitter_preset0);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "swqe_consumer_index:\n");
+	connectib_hw_s_qpc_swqe_consumer_index_print(&(ptr_struct->swqe_consumer_index), file, indent_level + 1);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->upstream_port_receiver_preset_hint0);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "currently_completing_wqe_index:\n");
+	connectib_hw_s_qpc_currently_completing_wqe_index_print(&(ptr_struct->currently_completing_wqe_index), file, indent_level + 1);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->downstream_port_transmitter_preset1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dc_state:\n");
+	connectib_hw_s_qpc_dc_state_print(&(ptr_struct->dc_state), file, indent_level + 1);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->downstream_port_receiver_preset_hint1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "limited_qp:\n");
+	connectib_hw_s_qpc_limited_qp_print(&(ptr_struct->limited_qp), file, indent_level + 1);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->upstream_port_transmitter_preset1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ack_req_frequency:\n");
+	connectib_hw_s_qpc_ack_req_frequency_print(&(ptr_struct->ack_req_frequency), file, indent_level + 1);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->upstream_port_receiver_preset_hint1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcu_trap:\n");
+	connectib_hw_s_qpc_tcu_trap_print(&(ptr_struct->tcu_trap), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "can_use_reserved_lkey:\n");
+	connectib_hw_s_qpc_can_use_reserved_lkey_print(&(ptr_struct->can_use_reserved_lkey), file, indent_level + 1);
 
-void connectib_lane_eql_ctl_unpack(struct connectib_lane_eql_ctl *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcu_drop:\n");
+	connectib_hw_s_qpc_tcu_drop_print(&(ptr_struct->tcu_drop), file, indent_level + 1);
 
-	offset=28;
-	ptr_struct->downstream_port_transmitter_preset0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "umr_enable:\n");
+	connectib_hw_s_qpc_umr_enable_print(&(ptr_struct->umr_enable), file, indent_level + 1);
 
-	offset=25;
-	ptr_struct->downstream_port_receiver_preset_hint0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "frwr_enable:\n");
+	connectib_hw_s_qpc_frwr_enable_print(&(ptr_struct->frwr_enable), file, indent_level + 1);
 
-	offset=20;
-	ptr_struct->upstream_port_transmitter_preset0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_heartbeat:\n");
+	connectib_hw_s_qpc_rx_heartbeat_print(&(ptr_struct->rx_heartbeat), file, indent_level + 1);
 
-	offset=17;
-	ptr_struct->upstream_port_receiver_preset_hint0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ldb_int:\n");
+	connectib_hw_s_qpc_ldb_int_print(&(ptr_struct->ldb_int), file, indent_level + 1);
 
-	offset=12;
-	ptr_struct->downstream_port_transmitter_preset1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inline_scatter:\n");
+	connectib_hw_s_qpc_inline_scatter_print(&(ptr_struct->inline_scatter), file, indent_level + 1);
 
-	offset=9;
-	ptr_struct->downstream_port_receiver_preset_hint1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rnr_nak_retry_limit:\n");
+	connectib_hw_s_qpc_rnr_nak_retry_limit_print(&(ptr_struct->rnr_nak_retry_limit), file, indent_level + 1);
 
-	offset=4;
-	ptr_struct->upstream_port_transmitter_preset1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fast_path:\n");
+	connectib_hw_s_qpc_fast_path_print(&(ptr_struct->fast_path), file, indent_level + 1);
 
-	offset=1;
-	ptr_struct->upstream_port_receiver_preset_hint1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rnr_nak_retry_counter:\n");
+	connectib_hw_s_qpc_rnr_nak_retry_counter_print(&(ptr_struct->rnr_nak_retry_counter), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ignore_pkey_check:\n");
+	connectib_hw_s_qpc_ignore_pkey_check_print(&(ptr_struct->ignore_pkey_check), file, indent_level + 1);
 
-void connectib_lane_eql_ctl_print(const struct connectib_lane_eql_ctl *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_lane_eql_ctl ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "extended_atomic:\n");
+	connectib_hw_s_qpc_extended_atomic_print(&(ptr_struct->extended_atomic), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "downstream_port_transmitter_preset0 : "UH_FMT"\n", ptr_struct->downstream_port_transmitter_preset0);
+	fprintf(file, "max_read_atomic:\n");
+	connectib_hw_s_qpc_max_read_atomic_print(&(ptr_struct->max_read_atomic), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "downstream_port_receiver_preset_hint0 : "UH_FMT"\n", ptr_struct->downstream_port_receiver_preset_hint0);
+	fprintf(file, "umr_permission_select:\n");
+	connectib_hw_s_qpc_umr_permission_select_print(&(ptr_struct->umr_permission_select), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "upstream_port_transmitter_preset0 : "UH_FMT"\n", ptr_struct->upstream_port_transmitter_preset0);
+	fprintf(file, "no_direct_access:\n");
+	connectib_hw_s_qpc_no_direct_access_print(&(ptr_struct->no_direct_access), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "upstream_port_receiver_preset_hint0 : "UH_FMT"\n", ptr_struct->upstream_port_receiver_preset_hint0);
+	fprintf(file, "e2e_credits_enabled:\n");
+	connectib_hw_s_qpc_e2e_credits_enabled_print(&(ptr_struct->e2e_credits_enabled), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "downstream_port_transmitter_preset1 : "UH_FMT"\n", ptr_struct->downstream_port_transmitter_preset1);
+	fprintf(file, "dc_full_handshake:\n");
+	connectib_hw_s_qpc_dc_full_handshake_print(&(ptr_struct->dc_full_handshake), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "downstream_port_receiver_preset_hint1 : "UH_FMT"\n", ptr_struct->downstream_port_receiver_preset_hint1);
+	fprintf(file, "uncompleted_non_wire_wqe:\n");
+	connectib_hw_s_qpc_uncompleted_non_wire_wqe_print(&(ptr_struct->uncompleted_non_wire_wqe), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "upstream_port_transmitter_preset1 : "UH_FMT"\n", ptr_struct->upstream_port_transmitter_preset1);
+	fprintf(file, "qp_valid:\n");
+	connectib_hw_s_qpc_qp_valid_print(&(ptr_struct->qp_valid), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "upstream_port_receiver_preset_hint1 : "UH_FMT"\n", ptr_struct->upstream_port_receiver_preset_hint1);
+	fprintf(file, "packet_allowed:\n");
+	connectib_hw_s_qpc_packet_allowed_print(&(ptr_struct->packet_allowed), file, indent_level + 1);
 
 }
 
-int connectib_lane_eql_ctl_size(void){
-	 return 4;
+int connectib_hw_s_qpc_size(void)
+{
+	 return 64;
 }
 
-void connectib_lane_eql_ctl_dump(const struct connectib_lane_eql_ctl *ptr_struct, FILE* file) {
-	connectib_lane_eql_ctl_print(ptr_struct, file, 0);
+void connectib_hw_s_qpc_dump(const union connectib_hw_s_qpc *ptr_struct, FILE* file)
+{
+	connectib_hw_s_qpc_print(ptr_struct, file, 0);
 }
 
-void connectib_pciex_link_ctl3_pack(const struct connectib_pciex_link_ctl3 *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->perform_equalization);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_equalization_req_int_en);
-
+void connectib_hw_c_qpc_pack(const union connectib_hw_c_qpc *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_c_qpc_common_valid_pack(&(ptr_struct->common_valid), ptr_buff);
 }
 
-void connectib_pciex_link_ctl3_unpack(struct connectib_pciex_link_ctl3 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=31;
-	ptr_struct->perform_equalization = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->link_equalization_req_int_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
+void connectib_hw_c_qpc_unpack(union connectib_hw_c_qpc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_c_qpc_common_valid_unpack(&(ptr_struct->common_valid), ptr_buff);
 }
 
-void connectib_pciex_link_ctl3_print(const struct connectib_pciex_link_ctl3 *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_c_qpc_print(const union connectib_hw_c_qpc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pciex_link_ctl3 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_c_qpc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "perform_equalization : "UH_FMT"\n", ptr_struct->perform_equalization);
+	fprintf(file, "peer_gid_31_0:\n");
+	connectib_hw_c_qpc_peer_gid_31_0_print(&(ptr_struct->peer_gid_31_0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_equalization_req_int_en : "UH_FMT"\n", ptr_struct->link_equalization_req_int_en);
-
-}
-
-int connectib_pciex_link_ctl3_size(void){
-	 return 4;
-}
-
-void connectib_pciex_link_ctl3_dump(const struct connectib_pciex_link_ctl3 *ptr_struct, FILE* file) {
-	connectib_pciex_link_ctl3_print(ptr_struct, file, 0);
-}
-
-void connectib_message_control_pack(const struct connectib_message_control *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	fprintf(file, "peer_gid_63_32:\n");
+	connectib_hw_c_qpc_peer_gid_63_32_print(&(ptr_struct->peer_gid_63_32), file, indent_level + 1);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->table_size);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->function_mask);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "peer_gid_95_64:\n");
+	connectib_hw_c_qpc_peer_gid_95_64_print(&(ptr_struct->peer_gid_95_64), file, indent_level + 1);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->msix_en);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "peer_gid_127_96:\n");
+	connectib_hw_c_qpc_peer_gid_127_96_print(&(ptr_struct->peer_gid_127_96), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "peer_lid2:\n");
+	connectib_hw_c_qpc_peer_lid2_print(&(ptr_struct->peer_lid2), file, indent_level + 1);
 
-void connectib_message_control_unpack(struct connectib_message_control *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "peer_qp2:\n");
+	connectib_hw_c_qpc_peer_qp2_print(&(ptr_struct->peer_qp2), file, indent_level + 1);
 
-	offset=5;
-	ptr_struct->table_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pd:\n");
+	connectib_hw_c_qpc_pd_print(&(ptr_struct->pd), file, indent_level + 1);
 
-	offset=1;
-	ptr_struct->function_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_pointer_4_0:\n");
+	connectib_hw_c_qpc_mtt_pointer_4_0_print(&(ptr_struct->mtt_pointer_4_0), file, indent_level + 1);
 
-	offset=0;
-	ptr_struct->msix_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_pointer_36_5:\n");
+	connectib_hw_c_qpc_mtt_pointer_36_5_print(&(ptr_struct->mtt_pointer_36_5), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_pointer_39_37:\n");
+	connectib_hw_c_qpc_mtt_pointer_39_37_print(&(ptr_struct->mtt_pointer_39_37), file, indent_level + 1);
 
-void connectib_message_control_print(const struct connectib_message_control *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_message_control ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "sl:\n");
+	connectib_hw_c_qpc_sl_print(&(ptr_struct->sl), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_size           : "UH_FMT"\n", ptr_struct->table_size);
+	fprintf(file, "grh_bit:\n");
+	connectib_hw_c_qpc_grh_bit_print(&(ptr_struct->grh_bit), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "function_mask        : "UH_FMT"\n", ptr_struct->function_mask);
+	fprintf(file, "port_number:\n");
+	connectib_hw_c_qpc_port_number_print(&(ptr_struct->port_number), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix_en              : "UH_FMT"\n", ptr_struct->msix_en);
+	fprintf(file, "adaptive_routing:\n");
+	connectib_hw_c_qpc_adaptive_routing_print(&(ptr_struct->adaptive_routing), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "swqe_buffer_size:\n");
+	connectib_hw_c_qpc_swqe_buffer_size_print(&(ptr_struct->swqe_buffer_size), file, indent_level + 1);
 
-int connectib_message_control_size(void){
-	 return 2;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "peer_lid:\n");
+	connectib_hw_c_qpc_peer_lid_print(&(ptr_struct->peer_lid), file, indent_level + 1);
 
-void connectib_message_control_dump(const struct connectib_message_control *ptr_struct, FILE* file) {
-	connectib_message_control_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "my_lid:\n");
+	connectib_hw_c_qpc_my_lid_print(&(ptr_struct->my_lid), file, indent_level + 1);
 
-void connectib_link_stat2_pack(const struct connectib_link_stat2 *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "my_gid_mac_index:\n");
+	connectib_hw_c_qpc_my_gid_mac_index_print(&(ptr_struct->my_gid_mac_index), file, indent_level + 1);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->current_de_emphasis_level);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_message_size:\n");
+	connectib_hw_c_qpc_max_message_size_print(&(ptr_struct->max_message_size), file, indent_level + 1);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equalization_complete);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtu:\n");
+	connectib_hw_c_qpc_mtu_print(&(ptr_struct->mtu), file, indent_level + 1);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equalization_phase1_successful);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qkey:\n");
+	connectib_hw_c_qpc_qkey_print(&(ptr_struct->qkey), file, indent_level + 1);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equalization_phase2_successful);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_label:\n");
+	connectib_hw_c_qpc_flow_label_print(&(ptr_struct->flow_label), file, indent_level + 1);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equalization_phase3_successful);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkey_table_index:\n");
+	connectib_hw_c_qpc_pkey_table_index_print(&(ptr_struct->pkey_table_index), file, indent_level + 1);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_equalization_request);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "context_number:\n");
+	connectib_hw_c_qpc_context_number_print(&(ptr_struct->context_number), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "wqe_page_offset:\n");
+	connectib_hw_c_qpc_wqe_page_offset_print(&(ptr_struct->wqe_page_offset), file, indent_level + 1);
 
-void connectib_link_stat2_unpack(struct connectib_link_stat2 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_migreq:\n");
+	connectib_hw_c_qpc_sx_migreq_print(&(ptr_struct->sx_migreq), file, indent_level + 1);
 
-	offset=15;
-	ptr_struct->current_de_emphasis_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_migreq:\n");
+	connectib_hw_c_qpc_rx_migreq_print(&(ptr_struct->rx_migreq), file, indent_level + 1);
 
-	offset=14;
-	ptr_struct->equalization_complete = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "peer_qp:\n");
+	connectib_hw_c_qpc_peer_qp_print(&(ptr_struct->peer_qp), file, indent_level + 1);
 
-	offset=13;
-	ptr_struct->equalization_phase1_successful = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hop_limit:\n");
+	connectib_hw_c_qpc_hop_limit_print(&(ptr_struct->hop_limit), file, indent_level + 1);
 
-	offset=12;
-	ptr_struct->equalization_phase2_successful = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tclass:\n");
+	connectib_hw_c_qpc_tclass_print(&(ptr_struct->tclass), file, indent_level + 1);
 
-	offset=11;
-	ptr_struct->equalization_phase3_successful = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwqe_buffer_size:\n");
+	connectib_hw_c_qpc_rwqe_buffer_size_print(&(ptr_struct->rwqe_buffer_size), file, indent_level + 1);
 
-	offset=10;
-	ptr_struct->link_equalization_request = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rcyclic_size:\n");
+	connectib_hw_c_qpc_rcyclic_size_print(&(ptr_struct->rcyclic_size), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwqe_stride:\n");
+	connectib_hw_c_qpc_rwqe_stride_print(&(ptr_struct->rwqe_stride), file, indent_level + 1);
 
-void connectib_link_stat2_print(const struct connectib_link_stat2 *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_link_stat2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "ipd:\n");
+	connectib_hw_c_qpc_ipd_print(&(ptr_struct->ipd), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "current_de_emphasis_level : "UH_FMT"\n", ptr_struct->current_de_emphasis_level);
+	fprintf(file, "force_loopback:\n");
+	connectib_hw_c_qpc_force_loopback_print(&(ptr_struct->force_loopback), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "equalization_complete : "UH_FMT"\n", ptr_struct->equalization_complete);
+	fprintf(file, "rwq_type:\n");
+	connectib_hw_c_qpc_rwq_type_print(&(ptr_struct->rwq_type), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "equalization_phase1_successful : "UH_FMT"\n", ptr_struct->equalization_phase1_successful);
+	fprintf(file, "log_page_size:\n");
+	connectib_hw_c_qpc_log_page_size_print(&(ptr_struct->log_page_size), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "equalization_phase2_successful : "UH_FMT"\n", ptr_struct->equalization_phase2_successful);
+	fprintf(file, "dual_write:\n");
+	connectib_hw_c_qpc_dual_write_print(&(ptr_struct->dual_write), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "equalization_phase3_successful : "UH_FMT"\n", ptr_struct->equalization_phase3_successful);
+	fprintf(file, "wq_signature:\n");
+	connectib_hw_c_qpc_wq_signature_print(&(ptr_struct->wq_signature), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_equalization_request : "UH_FMT"\n", ptr_struct->link_equalization_request);
+	fprintf(file, "common_valid:\n");
+	connectib_hw_c_qpc_common_valid_print(&(ptr_struct->common_valid), file, indent_level + 1);
 
 }
 
-int connectib_link_stat2_size(void){
-	 return 2;
+int connectib_hw_c_qpc_size(void)
+{
+	 return 64;
 }
 
-void connectib_link_stat2_dump(const struct connectib_link_stat2 *ptr_struct, FILE* file) {
-	connectib_link_stat2_print(ptr_struct, file, 0);
+void connectib_hw_c_qpc_dump(const union connectib_hw_c_qpc *ptr_struct, FILE* file)
+{
+	connectib_hw_c_qpc_print(ptr_struct, file, 0);
 }
 
-void connectib_link_ctl2_pack(const struct connectib_link_ctl2 *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->target_link_speed);
+void connectib_hw_c_srq_pack(const union connectib_hw_c_srq *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_e2e_pa_33_2_pack(&(ptr_struct->e2e_pa_33_2), ptr_buff);
+}
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enter_compliance);
+void connectib_hw_c_srq_unpack(union connectib_hw_c_srq *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_e2e_pa_33_2_unpack(&(ptr_struct->e2e_pa_33_2), ptr_buff);
+}
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hardware_autonomus_speed_disable);
+void connectib_hw_c_srq_print(const union connectib_hw_c_srq *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_srq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->selectable_de_emphasis);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e2e_consumer_index:\n");
+	connectib_e2e_consumer_index_print(&(ptr_struct->e2e_consumer_index), file, indent_level + 1);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->transmit_margin);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "srq_fw:\n");
+	connectib_srq_fw_print(&(ptr_struct->srq_fw), file, indent_level + 1);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->modified_compliance);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwqe_consumer_index:\n");
+	connectib_rwqe_consumer_index_print(&(ptr_struct->rwqe_consumer_index), file, indent_level + 1);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->compliance_sos);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e2e_producer_index:\n");
+	connectib_e2e_producer_index_print(&(ptr_struct->e2e_producer_index), file, indent_level + 1);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->compliance_preset_de_emphasis);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "xrc_domain:\n");
+	connectib_xrc_domain_print(&(ptr_struct->xrc_domain), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pd:\n");
+	connectib_pd_print(&(ptr_struct->pd), file, indent_level + 1);
 
-void connectib_link_ctl2_unpack(struct connectib_link_ctl2 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "e2e_credits_prefetch_threshold:\n");
+	connectib_e2e_credits_prefetch_threshold_print(&(ptr_struct->e2e_credits_prefetch_threshold), file, indent_level + 1);
 
-	offset=12;
-	ptr_struct->target_link_speed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_number:\n");
+	connectib_cq_number_print(&(ptr_struct->cq_number), file, indent_level + 1);
 
-	offset=11;
-	ptr_struct->enter_compliance = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwqe_buffer_size:\n");
+	connectib_rwqe_buffer_size_print(&(ptr_struct->rwqe_buffer_size), file, indent_level + 1);
 
-	offset=10;
-	ptr_struct->hardware_autonomus_speed_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rwqe_stride:\n");
+	connectib_rwqe_stride_print(&(ptr_struct->rwqe_stride), file, indent_level + 1);
 
-	offset=9;
-	ptr_struct->selectable_de_emphasis = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "context_number:\n");
+	connectib_context_number_print(&(ptr_struct->context_number), file, indent_level + 1);
 
-	offset=6;
-	ptr_struct->transmit_margin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_page_size:\n");
+	connectib_log_page_size_print(&(ptr_struct->log_page_size), file, indent_level + 1);
 
-	offset=5;
-	ptr_struct->modified_compliance = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcu_drop:\n");
+	connectib_tcu_drop_print(&(ptr_struct->tcu_drop), file, indent_level + 1);
 
-	offset=4;
-	ptr_struct->compliance_sos = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "can_use_reserved_lkey:\n");
+	connectib_can_use_reserved_lkey_print(&(ptr_struct->can_use_reserved_lkey), file, indent_level + 1);
 
-	offset=0;
-	ptr_struct->compliance_preset_de_emphasis = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcu_trap:\n");
+	connectib_tcu_trap_print(&(ptr_struct->tcu_trap), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_pointer_39_32:\n");
+	connectib_mtt_pointer_39_32_print(&(ptr_struct->mtt_pointer_39_32), file, indent_level + 1);
 
-void connectib_link_ctl2_print(const struct connectib_link_ctl2 *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_link_ctl2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "wqe_page_offset:\n");
+	connectib_wqe_page_offset_print(&(ptr_struct->wqe_page_offset), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "target_link_speed    : "UH_FMT"\n", ptr_struct->target_link_speed);
+	fprintf(file, "rx_heartbeat:\n");
+	connectib_rx_heartbeat_print(&(ptr_struct->rx_heartbeat), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enter_compliance     : "UH_FMT"\n", ptr_struct->enter_compliance);
+	fprintf(file, "e2e_fetch_enable:\n");
+	connectib_e2e_fetch_enable_print(&(ptr_struct->e2e_fetch_enable), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hardware_autonomus_speed_disable : "UH_FMT"\n", ptr_struct->hardware_autonomus_speed_disable);
+	fprintf(file, "rwqe_limit_event:\n");
+	connectib_rwqe_limit_event_print(&(ptr_struct->rwqe_limit_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "selectable_de_emphasis : "UH_FMT"\n", ptr_struct->selectable_de_emphasis);
+	fprintf(file, "mtt_pointer_31_0:\n");
+	connectib_mtt_pointer_31_0_print(&(ptr_struct->mtt_pointer_31_0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "transmit_margin      : "UH_FMT"\n", ptr_struct->transmit_margin);
+	fprintf(file, "e2e_pa_63_34:\n");
+	connectib_e2e_pa_63_34_print(&(ptr_struct->e2e_pa_63_34), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "modified_compliance  : "UH_FMT"\n", ptr_struct->modified_compliance);
+	fprintf(file, "srq_valid:\n");
+	connectib_srq_valid_print(&(ptr_struct->srq_valid), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compliance_sos       : "UH_FMT"\n", ptr_struct->compliance_sos);
+	fprintf(file, "wq_signature:\n");
+	connectib_wq_signature_print(&(ptr_struct->wq_signature), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compliance_preset_de_emphasis : "UH_FMT"\n", ptr_struct->compliance_preset_de_emphasis);
+	fprintf(file, "e2e_pa_33_2:\n");
+	connectib_e2e_pa_33_2_print(&(ptr_struct->e2e_pa_33_2), file, indent_level + 1);
 
 }
 
-int connectib_link_ctl2_size(void){
-	 return 2;
+int connectib_hw_c_srq_size(void)
+{
+	 return 64;
 }
 
-void connectib_link_ctl2_dump(const struct connectib_link_ctl2 *ptr_struct, FILE* file) {
-	connectib_link_ctl2_print(ptr_struct, file, 0);
+void connectib_hw_c_srq_dump(const union connectib_hw_c_srq *ptr_struct, FILE* file)
+{
+	connectib_hw_c_srq_print(ptr_struct, file, 0);
 }
 
-void connectib_link_caps2_pack(const struct connectib_link_caps2 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_toc_pack(const struct connectib_hw_toc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->supported_link_speed_vector);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->eqn_offset);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cross_link_supported);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->msix_offset);
 
-}
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->flr_state);
 
-void connectib_link_caps2_unpack(struct connectib_link_caps2 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->cmdq_phy_addr);
 
-	offset=24;
-	ptr_struct->supported_link_speed_vector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 128;
+	connectib_hw_init_info_pack(&(ptr_struct->init_info), ptr_buff + offset/8);
 
-	offset=23;
-	ptr_struct->cross_link_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	connectib_pf_vf_cfg_space_pack(&(ptr_struct->pci_cfg_space), ptr_buff + offset/8);
 
-}
+	offset = 408;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sw_cmd_eq);
 
-void connectib_link_caps2_print(const struct connectib_link_caps2 *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_link_caps2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 406;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->csum);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "supported_link_speed_vector : "UH_FMT"\n", ptr_struct->supported_link_speed_vector);
+	offset = 405;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ext_mod);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cross_link_supported : "UH_FMT"\n", ptr_struct->cross_link_supported);
+	offset = 404;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->teardown_event);
 
-}
+	offset = 403;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pre_icm_driver_refused);
 
-int connectib_link_caps2_size(void){
-	 return 4;
-}
+	offset = 402;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->initializing);
 
-void connectib_link_caps2_dump(const struct connectib_link_caps2 *ptr_struct, FILE* file) {
-	connectib_link_caps2_print(ptr_struct, file, 0);
-}
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->issi);
 
-void connectib_device_stat2_pack(const struct connectib_device_stat2 *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 440;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hca_state);
 
-}
+	offset = 438;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->nic_interface_type);
 
-void connectib_device_stat2_unpack(struct connectib_device_stat2 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 436;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->nic_interface_type_sw);
 
-}
+	offset = 435;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_pci_flr);
 
-void connectib_device_stat2_print(const struct connectib_device_stat2 *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_device_stat2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 434;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->icmc_error_px);
 
-}
+	offset = 433;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->doorbell_recovery_en);
 
-int connectib_device_stat2_size(void){
-	 return 2;
-}
+	offset = 429;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->nodnic_idx);
+
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->doorbell_record);
+
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->capi_direct_pasid);
+
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->capi_pasid);
 
-void connectib_device_stat2_dump(const struct connectib_device_stat2 *ptr_struct, FILE* file) {
-	connectib_device_stat2_print(ptr_struct, file, 0);
 }
 
-void connectib_device_ctl2_pack(const struct connectib_device_ctl2 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_toc_unpack(struct connectib_hw_toc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->completion_timeout_value);
+	offset = 16;
+	ptr_struct->eqn_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->msix_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 62;
+	ptr_struct->flr_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 64;
+	ptr_struct->cmdq_phy_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 128;
+	connectib_hw_init_info_unpack(&(ptr_struct->init_info), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_pf_vf_cfg_space_unpack(&(ptr_struct->pci_cfg_space), ptr_buff + offset/8);
+
+	offset = 408;
+	ptr_struct->sw_cmd_eq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 406;
+	ptr_struct->csum = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 405;
+	ptr_struct->ext_mod = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 404;
+	ptr_struct->teardown_event = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 403;
+	ptr_struct->pre_icm_driver_refused = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 402;
+	ptr_struct->initializing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 384;
+	ptr_struct->issi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 440;
+	ptr_struct->hca_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout_disable);
+	offset = 438;
+	ptr_struct->nic_interface_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_forwarding_enable);
+	offset = 436;
+	ptr_struct->nic_interface_type_sw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->obff_enable);
+	offset = 435;
+	ptr_struct->non_pci_flr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 434;
+	ptr_struct->icmc_error_px = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_device_ctl2_unpack(struct connectib_device_ctl2 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 433;
+	ptr_struct->doorbell_recovery_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=12;
-	ptr_struct->completion_timeout_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 429;
+	ptr_struct->nodnic_idx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=11;
-	ptr_struct->completion_timeout_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 448;
+	ptr_struct->doorbell_record = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=10;
-	ptr_struct->ari_forwarding_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 496;
+	ptr_struct->capi_direct_pasid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=1;
-	ptr_struct->obff_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 480;
+	ptr_struct->capi_pasid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_device_ctl2_print(const struct connectib_device_ctl2 *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_toc_print(const struct connectib_hw_toc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_device_ctl2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_toc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completion_timeout_value : "UH_FMT"\n", ptr_struct->completion_timeout_value);
+	fprintf(file, "eqn_offset           : " UH_FMT "\n", ptr_struct->eqn_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completion_timeout_disable : "UH_FMT"\n", ptr_struct->completion_timeout_disable);
+	fprintf(file, "msix_offset          : " UH_FMT "\n", ptr_struct->msix_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari_forwarding_enable : "UH_FMT"\n", ptr_struct->ari_forwarding_enable);
+	fprintf(file, "flr_state            : " UH_FMT "\n", ptr_struct->flr_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "obff_enable          : "UH_FMT"\n", ptr_struct->obff_enable);
-
-}
-
-int connectib_device_ctl2_size(void){
-	 return 2;
-}
-
-void connectib_device_ctl2_dump(const struct connectib_device_ctl2 *ptr_struct, FILE* file) {
-	connectib_device_ctl2_print(ptr_struct, file, 0);
-}
-
-void connectib_device_caps2_pack(const struct connectib_device_caps2 *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	fprintf(file, "cmdq_phy_addr        : " U64H_FMT "\n", ptr_struct->cmdq_phy_addr);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->completion_timeout_ranges_supported);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "init_info:\n");
+	connectib_hw_init_info_print(&(ptr_struct->init_info), file, indent_level + 1);
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->completion_timeout_disable_supported);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pci_cfg_space:\n");
+	connectib_pf_vf_cfg_space_print(&(ptr_struct->pci_cfg_space), file, indent_level + 1);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ari_forwarding_supported);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sw_cmd_eq            : " UH_FMT "\n", ptr_struct->sw_cmd_eq);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->obff_supported);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "csum                 : " UH_FMT "\n", ptr_struct->csum);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->extended_fmt_field_supported);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ext_mod              : " UH_FMT "\n", ptr_struct->ext_mod);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "teardown_event       : " UH_FMT "\n", ptr_struct->teardown_event);
 
-void connectib_device_caps2_unpack(struct connectib_device_caps2 *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pre_icm_driver_refused : " UH_FMT "\n", ptr_struct->pre_icm_driver_refused);
 
-	offset=28;
-	ptr_struct->completion_timeout_ranges_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "initializing         : " UH_FMT "\n", ptr_struct->initializing);
 
-	offset=27;
-	ptr_struct->completion_timeout_disable_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "issi                 : " UH_FMT "\n", ptr_struct->issi);
 
-	offset=24;
-	ptr_struct->ari_forwarding_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hca_state            : " UH_FMT "\n", ptr_struct->hca_state);
 
-	offset=12;
-	ptr_struct->obff_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nic_interface_type   : " UH_FMT "\n", ptr_struct->nic_interface_type);
 
-	offset=11;
-	ptr_struct->extended_fmt_field_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nic_interface_type_sw : " UH_FMT "\n", ptr_struct->nic_interface_type_sw);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "non_pci_flr          : " UH_FMT "\n", ptr_struct->non_pci_flr);
 
-void connectib_device_caps2_print(const struct connectib_device_caps2 *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_device_caps2 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "icmc_error_px        : " UH_FMT "\n", ptr_struct->icmc_error_px);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completion_timeout_ranges_supported : "UH_FMT"\n", ptr_struct->completion_timeout_ranges_supported);
+	fprintf(file, "doorbell_recovery_en : " UH_FMT "\n", ptr_struct->doorbell_recovery_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "completion_timeout_disable_supported : "UH_FMT"\n", ptr_struct->completion_timeout_disable_supported);
+	fprintf(file, "nodnic_idx           : " UH_FMT "\n", ptr_struct->nodnic_idx);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari_forwarding_supported : "UH_FMT"\n", ptr_struct->ari_forwarding_supported);
+	fprintf(file, "doorbell_record      : " U32H_FMT "\n", ptr_struct->doorbell_record);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "obff_supported       : "UH_FMT"\n", ptr_struct->obff_supported);
+	fprintf(file, "capi_direct_pasid    : " UH_FMT "\n", ptr_struct->capi_direct_pasid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_fmt_field_supported : "UH_FMT"\n", ptr_struct->extended_fmt_field_supported);
+	fprintf(file, "capi_pasid           : " UH_FMT "\n", ptr_struct->capi_pasid);
 
 }
 
-int connectib_device_caps2_size(void){
-	 return 4;
+int connectib_hw_toc_size(void)
+{
+	 return 64;
 }
 
-void connectib_device_caps2_dump(const struct connectib_device_caps2 *ptr_struct, FILE* file) {
-	connectib_device_caps2_print(ptr_struct, file, 0);
+void connectib_hw_toc_dump(const struct connectib_hw_toc *ptr_struct, FILE* file)
+{
+	connectib_hw_toc_print(ptr_struct, file, 0);
 }
 
-void connectib_link_stat_pack(const struct connectib_link_stat *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_mkc_pack(const struct connectib_hw_mkc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_speed);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->negotiated_link_width);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->access_mode);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->training_error);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lr);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_training);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lw);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->slot_clock_cfg);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rr);
 
-}
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-void connectib_link_stat_unpack(struct connectib_link_stat *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->a);
 
-	offset=12;
-	ptr_struct->link_speed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->umr_en);
 
-	offset=6;
-	ptr_struct->negotiated_link_width = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->small_fence_on_rdma_read_response);
 
-	offset=5;
-	ptr_struct->training_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->goto_pci);
 
-	offset=4;
-	ptr_struct->link_training = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->relaxed_ordering);
 
-	offset=3;
-	ptr_struct->slot_clock_cfg = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_snoop);
 
-}
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->tlp_processing_hints);
 
-void connectib_link_stat_print(const struct connectib_link_stat *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_link_stat ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 9;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tlp_processing_hints_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_speed           : "UH_FMT"\n", ptr_struct->link_speed);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->free);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "negotiated_link_width : "UH_FMT"\n", ptr_struct->negotiated_link_width);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "training_error       : "UH_FMT"\n", ptr_struct->training_error);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->mem_key);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_training        : "UH_FMT"\n", ptr_struct->link_training);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slot_clock_cfg       : "UH_FMT"\n", ptr_struct->slot_clock_cfg);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
 
-}
+	offset = 103;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->en_rinval);
 
-int connectib_link_stat_size(void){
-	 return 2;
-}
+	offset = 101;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_of_sigerr);
 
-void connectib_link_stat_dump(const struct connectib_link_stat *ptr_struct, FILE* file) {
-	connectib_link_stat_print(ptr_struct, file, 0);
-}
+	offset = 99;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trast_a_en);
 
-void connectib_link_ctl_pack(const struct connectib_link_ctl *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 98;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trast_b_en);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->aspm_control);
+	offset = 97;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bsf_enabled);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rcb);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->length_64);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->common_clock_configuration);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->start_address);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->extended_synch);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->length);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_clock_power_management);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->bsf_octoword_count);
 
-}
+	offset = 305;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->bsf_first_index_46_32);
 
-void connectib_link_ctl_unpack(struct connectib_link_ctl *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 320;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 28, (u_int32_t)ptr_struct->bsf_first_index_31_4);
 
-	offset=14;
-	ptr_struct->aspm_control = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 369;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->mtt_first_index_46_32);
 
-	offset=12;
-	ptr_struct->rcb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->mtt_first_index_31_3);
 
-	offset=9;
-	ptr_struct->common_clock_configuration = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mtt_octoword_count);
 
-	offset=8;
-	ptr_struct->extended_synch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 475;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->entity_size);
 
-	offset=7;
-	ptr_struct->enable_clock_power_management = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->generation_counter);
 
 }
 
-void connectib_link_ctl_print(const struct connectib_link_ctl *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_link_ctl ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+void connectib_hw_mkc_unpack(struct connectib_hw_mkc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aspm_control         : "UH_FMT"\n", ptr_struct->aspm_control);
+	offset = 28;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rcb                  : "UH_FMT"\n", ptr_struct->rcb);
+	offset = 22;
+	ptr_struct->access_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "common_clock_configuration : "UH_FMT"\n", ptr_struct->common_clock_configuration);
+	offset = 21;
+	ptr_struct->lr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_synch       : "UH_FMT"\n", ptr_struct->extended_synch);
+	offset = 20;
+	ptr_struct->lw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enable_clock_power_management : "UH_FMT"\n", ptr_struct->enable_clock_power_management);
+	offset = 19;
+	ptr_struct->rr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 18;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-int connectib_link_ctl_size(void){
-	 return 2;
-}
+	offset = 17;
+	ptr_struct->a = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_link_ctl_dump(const struct connectib_link_ctl *ptr_struct, FILE* file) {
-	connectib_link_ctl_print(ptr_struct, file, 0);
-}
+	offset = 16;
+	ptr_struct->umr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_link_caps_pack(const struct connectib_link_caps *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 15;
+	ptr_struct->small_fence_on_rdma_read_response = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_link_speed);
+	offset = 14;
+	ptr_struct->goto_pci = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_link_width);
+	offset = 13;
+	ptr_struct->relaxed_ordering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->aspm_support);
+	offset = 12;
+	ptr_struct->no_snoop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->l0s_exit_latency);
+	offset = 10;
+	ptr_struct->tlp_processing_hints = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->l1_exit_latency);
+	offset = 9;
+	ptr_struct->tlp_processing_hints_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clock_power_management);
+	offset = 1;
+	ptr_struct->free = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->surprise_down_error_reporting_cap);
+	offset = 0;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_active_reporting_cap);
+	offset = 56;
+	ptr_struct->mem_key = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_bw_notification_cap);
+	offset = 32;
+	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aspm_optionality_compliance);
+	offset = 104;
+	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_number);
+	offset = 103;
+	ptr_struct->en_rinval = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 101;
+	ptr_struct->num_of_sigerr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_link_caps_unpack(struct connectib_link_caps *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 99;
+	ptr_struct->trast_a_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=28;
-	ptr_struct->max_link_speed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 98;
+	ptr_struct->trast_b_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=22;
-	ptr_struct->max_link_width = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 97;
+	ptr_struct->bsf_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=20;
-	ptr_struct->aspm_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 96;
+	ptr_struct->length_64 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=17;
-	ptr_struct->l0s_exit_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 128;
+	ptr_struct->start_address = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=14;
-	ptr_struct->l1_exit_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 192;
+	ptr_struct->length = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=13;
-	ptr_struct->clock_power_management = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 256;
+	ptr_struct->bsf_octoword_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=12;
-	ptr_struct->surprise_down_error_reporting_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 305;
+	ptr_struct->bsf_first_index_46_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
 
-	offset=11;
-	ptr_struct->link_active_reporting_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 320;
+	ptr_struct->bsf_first_index_31_4 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 28);
 
-	offset=10;
-	ptr_struct->link_bw_notification_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 369;
+	ptr_struct->mtt_first_index_46_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
 
-	offset=9;
-	ptr_struct->aspm_optionality_compliance = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 384;
+	ptr_struct->mtt_first_index_31_3 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
 
-	offset=0;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 416;
+	ptr_struct->mtt_octoword_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 475;
+	ptr_struct->entity_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 496;
+	ptr_struct->generation_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_link_caps_print(const struct connectib_link_caps *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_mkc_print(const struct connectib_hw_mkc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_link_caps ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_hw_mkc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_link_speed       : "UH_FMT"\n", ptr_struct->max_link_speed);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_link_width       : "UH_FMT"\n", ptr_struct->max_link_width);
+	fprintf(file, "access_mode          : " UH_FMT "\n", ptr_struct->access_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aspm_support         : "UH_FMT"\n", ptr_struct->aspm_support);
+	fprintf(file, "lr                   : " UH_FMT "\n", ptr_struct->lr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l0s_exit_latency     : "UH_FMT"\n", ptr_struct->l0s_exit_latency);
+	fprintf(file, "lw                   : " UH_FMT "\n", ptr_struct->lw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l1_exit_latency      : "UH_FMT"\n", ptr_struct->l1_exit_latency);
+	fprintf(file, "rr                   : " UH_FMT "\n", ptr_struct->rr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "clock_power_management : "UH_FMT"\n", ptr_struct->clock_power_management);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "surprise_down_error_reporting_cap : "UH_FMT"\n", ptr_struct->surprise_down_error_reporting_cap);
+	fprintf(file, "a                    : " UH_FMT "\n", ptr_struct->a);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_active_reporting_cap : "UH_FMT"\n", ptr_struct->link_active_reporting_cap);
+	fprintf(file, "umr_en               : " UH_FMT "\n", ptr_struct->umr_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_bw_notification_cap : "UH_FMT"\n", ptr_struct->link_bw_notification_cap);
+	fprintf(file, "small_fence_on_rdma_read_response : " UH_FMT "\n", ptr_struct->small_fence_on_rdma_read_response);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aspm_optionality_compliance : "UH_FMT"\n", ptr_struct->aspm_optionality_compliance);
+	fprintf(file, "goto_pci             : " UH_FMT "\n", ptr_struct->goto_pci);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
-
-}
-
-int connectib_link_caps_size(void){
-	 return 4;
-}
+	fprintf(file, "relaxed_ordering     : " UH_FMT "\n", ptr_struct->relaxed_ordering);
 
-void connectib_link_caps_dump(const struct connectib_link_caps *ptr_struct, FILE* file) {
-	connectib_link_caps_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "no_snoop             : " UH_FMT "\n", ptr_struct->no_snoop);
 
-void connectib_device_stat_pack(const struct connectib_device_stat *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tlp_processing_hints : " UH_FMT "\n", ptr_struct->tlp_processing_hints);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->correctable_error);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tlp_processing_hints_en : " UH_FMT "\n", ptr_struct->tlp_processing_hints_en);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_fatal_error);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "free                 : " UH_FMT "\n", ptr_struct->free);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fatal_error);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mem_key              : " UH_FMT "\n", ptr_struct->mem_key);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aux_power);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->transactions_pending);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pd                   : " UH_FMT "\n", ptr_struct->pd);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "en_rinval            : " UH_FMT "\n", ptr_struct->en_rinval);
 
-void connectib_device_stat_unpack(struct connectib_device_stat *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_of_sigerr        : " UH_FMT "\n", ptr_struct->num_of_sigerr);
 
-	offset=15;
-	ptr_struct->correctable_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "trast_a_en           : " UH_FMT "\n", ptr_struct->trast_a_en);
 
-	offset=14;
-	ptr_struct->non_fatal_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "trast_b_en           : " UH_FMT "\n", ptr_struct->trast_b_en);
 
-	offset=13;
-	ptr_struct->fatal_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bsf_enabled          : " UH_FMT "\n", ptr_struct->bsf_enabled);
 
-	offset=12;
-	ptr_struct->unsupported_request = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "length_64            : " UH_FMT "\n", ptr_struct->length_64);
 
-	offset=11;
-	ptr_struct->aux_power = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "start_address        : " U64H_FMT "\n", ptr_struct->start_address);
 
-	offset=10;
-	ptr_struct->transactions_pending = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "length               : " U64H_FMT "\n", ptr_struct->length);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bsf_octoword_count   : " U32H_FMT "\n", ptr_struct->bsf_octoword_count);
 
-void connectib_device_stat_print(const struct connectib_device_stat *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_device_stat ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "bsf_first_index_46_32 : " UH_FMT "\n", ptr_struct->bsf_first_index_46_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "correctable_error    : "UH_FMT"\n", ptr_struct->correctable_error);
+	fprintf(file, "bsf_first_index_31_4 : " UH_FMT "\n", ptr_struct->bsf_first_index_31_4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "non_fatal_error      : "UH_FMT"\n", ptr_struct->non_fatal_error);
+	fprintf(file, "mtt_first_index_46_32 : " UH_FMT "\n", ptr_struct->mtt_first_index_46_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fatal_error          : "UH_FMT"\n", ptr_struct->fatal_error);
+	fprintf(file, "mtt_first_index_31_3 : " UH_FMT "\n", ptr_struct->mtt_first_index_31_3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unsupported_request  : "UH_FMT"\n", ptr_struct->unsupported_request);
+	fprintf(file, "mtt_octoword_count   : " U32H_FMT "\n", ptr_struct->mtt_octoword_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aux_power            : "UH_FMT"\n", ptr_struct->aux_power);
+	fprintf(file, "entity_size          : " UH_FMT "\n", ptr_struct->entity_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "transactions_pending : "UH_FMT"\n", ptr_struct->transactions_pending);
+	fprintf(file, "generation_counter   : " UH_FMT "\n", ptr_struct->generation_counter);
 
 }
 
-int connectib_device_stat_size(void){
-	 return 2;
+int connectib_hw_mkc_size(void)
+{
+	 return 64;
 }
 
-void connectib_device_stat_dump(const struct connectib_device_stat *ptr_struct, FILE* file) {
-	connectib_device_stat_print(ptr_struct, file, 0);
+void connectib_hw_mkc_dump(const struct connectib_hw_mkc *ptr_struct, FILE* file)
+{
+	connectib_hw_mkc_print(ptr_struct, file, 0);
 }
 
-void connectib_device_ctl_pack(const struct connectib_device_ctl *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->correctable_error_report);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_fatal_error_report);
-
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fatal_error_report);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unsupported_request_report);
+void connectib_hw_c_eqc_pack(const union connectib_hw_c_eqc *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_cqc_moderation_timestamp_7_0_pack(&(ptr_struct->moderation_timestamp_7_0), ptr_buff);
+}
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->relaxed_ordering);
+void connectib_hw_c_eqc_unpack(union connectib_hw_c_eqc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_cqc_moderation_timestamp_7_0_unpack(&(ptr_struct->moderation_timestamp_7_0), ptr_buff);
+}
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_payload_size);
+void connectib_hw_c_eqc_print(const union connectib_hw_c_eqc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_eqc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->extended_tag_field_en);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lookahead_size_23_8:\n");
+	connectib_hw_cqc_lookahead_size_23_8_print(&(ptr_struct->lookahead_size_23_8), file, indent_level + 1);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->phantom_funcs);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqc_valid:\n");
+	connectib_hw_cqc_cqc_valid_print(&(ptr_struct->cqc_valid), file, indent_level + 1);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aux_power);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqe_128b_size:\n");
+	connectib_hw_cqc_cqe_128b_size_print(&(ptr_struct->cqe_128b_size), file, indent_level + 1);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_snoop);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqe_coalesce_checksum_msix:\n");
+	connectib_hw_cqc_cqe_coalesce_checksum_msix_print(&(ptr_struct->cqe_coalesce_checksum_msix), file, indent_level + 1);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_read_request_size);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pa_error:\n");
+	connectib_hw_cqc_pa_error_print(&(ptr_struct->pa_error), file, indent_level + 1);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->initiate_function_level_reset);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_page_size:\n");
+	connectib_hw_cqc_log_page_size_print(&(ptr_struct->log_page_size), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "poll_cq_cqe_with_error_generated_on_this_queue:\n");
+	connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_print(&(ptr_struct->poll_cq_cqe_with_error_generated_on_this_queue), file, indent_level + 1);
 
-void connectib_device_ctl_unpack(struct connectib_device_ctl *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "poll_cq_queue_in_error_state:\n");
+	connectib_hw_cqc_poll_cq_queue_in_error_state_print(&(ptr_struct->poll_cq_queue_in_error_state), file, indent_level + 1);
 
-	offset=15;
-	ptr_struct->correctable_error_report = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_notified_check_for_arm_en:\n");
+	connectib_hw_cqc_last_notified_check_for_arm_en_print(&(ptr_struct->last_notified_check_for_arm_en), file, indent_level + 1);
 
-	offset=14;
-	ptr_struct->non_fatal_error_report = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_solicited_index:\n");
+	connectib_hw_cqc_last_solicited_index_print(&(ptr_struct->last_solicited_index), file, indent_level + 1);
 
-	offset=13;
-	ptr_struct->fatal_error_report = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lookahead_size_7_0:\n");
+	connectib_hw_cqc_lookahead_size_7_0_print(&(ptr_struct->lookahead_size_7_0), file, indent_level + 1);
 
-	offset=12;
-	ptr_struct->unsupported_request_report = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pa0_63_32:\n");
+	connectib_hw_cqc_pa0_63_32_print(&(ptr_struct->pa0_63_32), file, indent_level + 1);
 
-	offset=11;
-	ptr_struct->relaxed_ordering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_page_offset:\n");
+	connectib_hw_cqc_cq_page_offset_print(&(ptr_struct->cq_page_offset), file, indent_level + 1);
 
-	offset=8;
-	ptr_struct->max_payload_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "db_recovery_enable:\n");
+	connectib_hw_cqc_db_recovery_enable_print(&(ptr_struct->db_recovery_enable), file, indent_level + 1);
 
-	offset=7;
-	ptr_struct->extended_tag_field_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqe_heartbeat:\n");
+	connectib_hw_cqc_cqe_heartbeat_print(&(ptr_struct->cqe_heartbeat), file, indent_level + 1);
 
-	offset=6;
-	ptr_struct->phantom_funcs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pa_mode:\n");
+	connectib_hw_cqc_pa_mode_print(&(ptr_struct->pa_mode), file, indent_level + 1);
 
-	offset=5;
-	ptr_struct->aux_power = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "shrink:\n");
+	connectib_hw_cqc_shrink_print(&(ptr_struct->shrink), file, indent_level + 1);
 
-	offset=4;
-	ptr_struct->no_snoop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_trap:\n");
+	connectib_hw_cqc_cq_trap_print(&(ptr_struct->cq_trap), file, indent_level + 1);
 
-	offset=1;
-	ptr_struct->max_read_request_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pa0_31_12:\n");
+	connectib_hw_cqc_pa0_31_12_print(&(ptr_struct->pa0_31_12), file, indent_level + 1);
 
-	offset=0;
-	ptr_struct->initiate_function_level_reset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "moderation_cnt_limit_15_8:\n");
+	connectib_hw_cqc_moderation_cnt_limit_15_8_print(&(ptr_struct->moderation_cnt_limit_15_8), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_notified_index:\n");
+	connectib_hw_cqc_last_notified_index_print(&(ptr_struct->last_notified_index), file, indent_level + 1);
 
-void connectib_device_ctl_print(const struct connectib_device_ctl *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_device_ctl ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "producer_index:\n");
+	connectib_hw_cqc_producer_index_print(&(ptr_struct->producer_index), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "correctable_error_report : "UH_FMT"\n", ptr_struct->correctable_error_report);
+	fprintf(file, "moderation_cnt_limit_7_0:\n");
+	connectib_hw_cqc_moderation_cnt_limit_7_0_print(&(ptr_struct->moderation_cnt_limit_7_0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "non_fatal_error_report : "UH_FMT"\n", ptr_struct->non_fatal_error_report);
+	fprintf(file, "eqn_msix:\n");
+	connectib_hw_cqc_eqn_msix_print(&(ptr_struct->eqn_msix), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fatal_error_report   : "UH_FMT"\n", ptr_struct->fatal_error_report);
+	fprintf(file, "moderation_min_wait_time:\n");
+	connectib_hw_cqc_moderation_min_wait_time_print(&(ptr_struct->moderation_min_wait_time), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unsupported_request_report : "UH_FMT"\n", ptr_struct->unsupported_request_report);
+	fprintf(file, "db_ci:\n");
+	connectib_hw_cqc_db_ci_print(&(ptr_struct->db_ci), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "relaxed_ordering     : "UH_FMT"\n", ptr_struct->relaxed_ordering);
+	fprintf(file, "log2_size:\n");
+	connectib_hw_cqc_log2_size_print(&(ptr_struct->log2_size), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_payload_size     : "UH_FMT"\n", ptr_struct->max_payload_size);
+	fprintf(file, "db_heartbeat:\n");
+	connectib_hw_cqc_db_heartbeat_print(&(ptr_struct->db_heartbeat), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_tag_field_en : "UH_FMT"\n", ptr_struct->extended_tag_field_en);
+	fprintf(file, "number_of_events_generated:\n");
+	connectib_hw_cqc_number_of_events_generated_print(&(ptr_struct->number_of_events_generated), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phantom_funcs        : "UH_FMT"\n", ptr_struct->phantom_funcs);
+	fprintf(file, "cipa_63_32:\n");
+	connectib_hw_cqc_cipa_63_32_print(&(ptr_struct->cipa_63_32), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aux_power            : "UH_FMT"\n", ptr_struct->aux_power);
+	fprintf(file, "mtt_pointer_39_37:\n");
+	connectib_hw_cqc_mtt_pointer_39_37_print(&(ptr_struct->mtt_pointer_39_37), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_snoop             : "UH_FMT"\n", ptr_struct->no_snoop);
+	fprintf(file, "cipa_31_3:\n");
+	connectib_hw_cqc_cipa_31_3_print(&(ptr_struct->cipa_31_3), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_read_request_size : "UH_FMT"\n", ptr_struct->max_read_request_size);
+	fprintf(file, "mtt_pointer_36_5:\n");
+	connectib_hw_cqc_mtt_pointer_36_5_print(&(ptr_struct->mtt_pointer_36_5), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "initiate_function_level_reset : "UH_FMT"\n", ptr_struct->initiate_function_level_reset);
+	fprintf(file, "consumer_index:\n");
+	connectib_hw_cqc_consumer_index_print(&(ptr_struct->consumer_index), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_state:\n");
+	connectib_hw_cqc_cq_state_print(&(ptr_struct->cq_state), file, indent_level + 1);
 
-int connectib_device_ctl_size(void){
-	 return 2;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "overrun_ignore:\n");
+	connectib_hw_cqc_overrun_ignore_print(&(ptr_struct->overrun_ignore), file, indent_level + 1);
 
-void connectib_device_ctl_dump(const struct connectib_device_ctl *ptr_struct, FILE* file) {
-	connectib_device_ctl_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_pointer_4_0:\n");
+	connectib_hw_cqc_mtt_pointer_4_0_print(&(ptr_struct->mtt_pointer_4_0), file, indent_level + 1);
 
-void connectib_device_caps_pack(const struct connectib_device_caps *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pa1_63_32:\n");
+	connectib_hw_cqc_pa1_63_32_print(&(ptr_struct->pa1_63_32), file, indent_level + 1);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_payload_size_supported);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "moderation_timestamp_51_40:\n");
+	connectib_hw_cqc_moderation_timestamp_51_40_print(&(ptr_struct->moderation_timestamp_51_40), file, indent_level + 1);
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->phantom_funcs);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pa1_31_12:\n");
+	connectib_hw_cqc_pa1_31_12_print(&(ptr_struct->pa1_31_12), file, indent_level + 1);
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->extended_tag_field_sup);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "moderation_timestamp_39_8:\n");
+	connectib_hw_cqc_moderation_timestamp_39_8_print(&(ptr_struct->moderation_timestamp_39_8), file, indent_level + 1);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->l0s_acceptable_latency);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uar:\n");
+	connectib_hw_cqc_uar_print(&(ptr_struct->uar), file, indent_level + 1);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->l1_acceptable_latency);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "moderation_timestamp_7_0:\n");
+	connectib_hw_cqc_moderation_timestamp_7_0_print(&(ptr_struct->moderation_timestamp_7_0), file, indent_level + 1);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->role_based_error_reporting);
+}
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->captured_slot_power_limit_value);
+int connectib_hw_c_eqc_size(void)
+{
+	 return 64;
+}
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->captured_slot_power_limit_scale);
+void connectib_hw_c_eqc_dump(const union connectib_hw_c_eqc *ptr_struct, FILE* file)
+{
+	connectib_hw_c_eqc_print(ptr_struct, file, 0);
+}
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->function_level_reset_capability);
+void connectib_hw_c_cqc_pack(const union connectib_hw_c_cqc *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_cqc_moderation_timestamp_7_0_pack(&(ptr_struct->moderation_timestamp_7_0), ptr_buff);
+}
 
+void connectib_hw_c_cqc_unpack(union connectib_hw_c_cqc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_cqc_moderation_timestamp_7_0_unpack(&(ptr_struct->moderation_timestamp_7_0), ptr_buff);
 }
 
-void connectib_device_caps_unpack(struct connectib_device_caps *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_hw_c_cqc_print(const union connectib_hw_c_cqc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hw_c_cqc ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=29;
-	ptr_struct->max_payload_size_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lookahead_size_23_8:\n");
+	connectib_hw_cqc_lookahead_size_23_8_print(&(ptr_struct->lookahead_size_23_8), file, indent_level + 1);
 
-	offset=27;
-	ptr_struct->phantom_funcs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqc_valid:\n");
+	connectib_hw_cqc_cqc_valid_print(&(ptr_struct->cqc_valid), file, indent_level + 1);
 
-	offset=26;
-	ptr_struct->extended_tag_field_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqe_128b_size:\n");
+	connectib_hw_cqc_cqe_128b_size_print(&(ptr_struct->cqe_128b_size), file, indent_level + 1);
 
-	offset=23;
-	ptr_struct->l0s_acceptable_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cqe_coalesce_checksum_msix:\n");
+	connectib_hw_cqc_cqe_coalesce_checksum_msix_print(&(ptr_struct->cqe_coalesce_checksum_msix), file, indent_level + 1);
 
-	offset=20;
-	ptr_struct->l1_acceptable_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pa_error:\n");
+	connectib_hw_cqc_pa_error_print(&(ptr_struct->pa_error), file, indent_level + 1);
 
-	offset=16;
-	ptr_struct->role_based_error_reporting = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_page_size:\n");
+	connectib_hw_cqc_log_page_size_print(&(ptr_struct->log_page_size), file, indent_level + 1);
 
-	offset=6;
-	ptr_struct->captured_slot_power_limit_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "poll_cq_cqe_with_error_generated_on_this_queue:\n");
+	connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_print(&(ptr_struct->poll_cq_cqe_with_error_generated_on_this_queue), file, indent_level + 1);
 
-	offset=4;
-	ptr_struct->captured_slot_power_limit_scale = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "poll_cq_queue_in_error_state:\n");
+	connectib_hw_cqc_poll_cq_queue_in_error_state_print(&(ptr_struct->poll_cq_queue_in_error_state), file, indent_level + 1);
 
-	offset=3;
-	ptr_struct->function_level_reset_capability = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_notified_check_for_arm_en:\n");
+	connectib_hw_cqc_last_notified_check_for_arm_en_print(&(ptr_struct->last_notified_check_for_arm_en), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_solicited_index:\n");
+	connectib_hw_cqc_last_solicited_index_print(&(ptr_struct->last_solicited_index), file, indent_level + 1);
 
-void connectib_device_caps_print(const struct connectib_device_caps *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_device_caps ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "lookahead_size_7_0:\n");
+	connectib_hw_cqc_lookahead_size_7_0_print(&(ptr_struct->lookahead_size_7_0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_payload_size_supported : "UH_FMT"\n", ptr_struct->max_payload_size_supported);
+	fprintf(file, "pa0_63_32:\n");
+	connectib_hw_cqc_pa0_63_32_print(&(ptr_struct->pa0_63_32), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phantom_funcs        : "UH_FMT"\n", ptr_struct->phantom_funcs);
+	fprintf(file, "cq_page_offset:\n");
+	connectib_hw_cqc_cq_page_offset_print(&(ptr_struct->cq_page_offset), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_tag_field_sup : "UH_FMT"\n", ptr_struct->extended_tag_field_sup);
+	fprintf(file, "db_recovery_enable:\n");
+	connectib_hw_cqc_db_recovery_enable_print(&(ptr_struct->db_recovery_enable), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l0s_acceptable_latency : "UH_FMT"\n", ptr_struct->l0s_acceptable_latency);
+	fprintf(file, "cqe_heartbeat:\n");
+	connectib_hw_cqc_cqe_heartbeat_print(&(ptr_struct->cqe_heartbeat), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l1_acceptable_latency : "UH_FMT"\n", ptr_struct->l1_acceptable_latency);
+	fprintf(file, "pa_mode:\n");
+	connectib_hw_cqc_pa_mode_print(&(ptr_struct->pa_mode), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "role_based_error_reporting : "UH_FMT"\n", ptr_struct->role_based_error_reporting);
+	fprintf(file, "shrink:\n");
+	connectib_hw_cqc_shrink_print(&(ptr_struct->shrink), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "captured_slot_power_limit_value : "UH_FMT"\n", ptr_struct->captured_slot_power_limit_value);
+	fprintf(file, "cq_trap:\n");
+	connectib_hw_cqc_cq_trap_print(&(ptr_struct->cq_trap), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "captured_slot_power_limit_scale : "UH_FMT"\n", ptr_struct->captured_slot_power_limit_scale);
+	fprintf(file, "pa0_31_12:\n");
+	connectib_hw_cqc_pa0_31_12_print(&(ptr_struct->pa0_31_12), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "function_level_reset_capability : "UH_FMT"\n", ptr_struct->function_level_reset_capability);
+	fprintf(file, "moderation_cnt_limit_15_8:\n");
+	connectib_hw_cqc_moderation_cnt_limit_15_8_print(&(ptr_struct->moderation_cnt_limit_15_8), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last_notified_index:\n");
+	connectib_hw_cqc_last_notified_index_print(&(ptr_struct->last_notified_index), file, indent_level + 1);
 
-int connectib_device_caps_size(void){
-	 return 4;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "producer_index:\n");
+	connectib_hw_cqc_producer_index_print(&(ptr_struct->producer_index), file, indent_level + 1);
 
-void connectib_device_caps_dump(const struct connectib_device_caps *ptr_struct, FILE* file) {
-	connectib_device_caps_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "moderation_cnt_limit_7_0:\n");
+	connectib_hw_cqc_moderation_cnt_limit_7_0_print(&(ptr_struct->moderation_cnt_limit_7_0), file, indent_level + 1);
 
-void connectib_pciex_cap_pack(const struct connectib_pciex_cap *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eqn_msix:\n");
+	connectib_hw_cqc_eqn_msix_print(&(ptr_struct->eqn_msix), file, indent_level + 1);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "moderation_min_wait_time:\n");
+	connectib_hw_cqc_moderation_min_wait_time_print(&(ptr_struct->moderation_min_wait_time), file, indent_level + 1);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->device_port_type);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "db_ci:\n");
+	connectib_hw_cqc_db_ci_print(&(ptr_struct->db_ci), file, indent_level + 1);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->slot);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2_size:\n");
+	connectib_hw_cqc_log2_size_print(&(ptr_struct->log2_size), file, indent_level + 1);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->int_message_num);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "db_heartbeat:\n");
+	connectib_hw_cqc_db_heartbeat_print(&(ptr_struct->db_heartbeat), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "number_of_events_generated:\n");
+	connectib_hw_cqc_number_of_events_generated_print(&(ptr_struct->number_of_events_generated), file, indent_level + 1);
 
-void connectib_pciex_cap_unpack(struct connectib_pciex_cap *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cipa_63_32:\n");
+	connectib_hw_cqc_cipa_63_32_print(&(ptr_struct->cipa_63_32), file, indent_level + 1);
 
-	offset=12;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_pointer_39_37:\n");
+	connectib_hw_cqc_mtt_pointer_39_37_print(&(ptr_struct->mtt_pointer_39_37), file, indent_level + 1);
 
-	offset=8;
-	ptr_struct->device_port_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cipa_31_3:\n");
+	connectib_hw_cqc_cipa_31_3_print(&(ptr_struct->cipa_31_3), file, indent_level + 1);
 
-	offset=6;
-	ptr_struct->slot = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtt_pointer_36_5:\n");
+	connectib_hw_cqc_mtt_pointer_36_5_print(&(ptr_struct->mtt_pointer_36_5), file, indent_level + 1);
 
-	offset=1;
-	ptr_struct->int_message_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "consumer_index:\n");
+	connectib_hw_cqc_consumer_index_print(&(ptr_struct->consumer_index), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cq_state:\n");
+	connectib_hw_cqc_cq_state_print(&(ptr_struct->cq_state), file, indent_level + 1);
 
-void connectib_pciex_cap_print(const struct connectib_pciex_cap *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pciex_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "overrun_ignore:\n");
+	connectib_hw_cqc_overrun_ignore_print(&(ptr_struct->overrun_ignore), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	fprintf(file, "mtt_pointer_4_0:\n");
+	connectib_hw_cqc_mtt_pointer_4_0_print(&(ptr_struct->mtt_pointer_4_0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_port_type     : "UH_FMT"\n", ptr_struct->device_port_type);
+	fprintf(file, "pa1_63_32:\n");
+	connectib_hw_cqc_pa1_63_32_print(&(ptr_struct->pa1_63_32), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slot                 : "UH_FMT"\n", ptr_struct->slot);
+	fprintf(file, "moderation_timestamp_51_40:\n");
+	connectib_hw_cqc_moderation_timestamp_51_40_print(&(ptr_struct->moderation_timestamp_51_40), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "int_message_num      : "UH_FMT"\n", ptr_struct->int_message_num);
+	fprintf(file, "pa1_31_12:\n");
+	connectib_hw_cqc_pa1_31_12_print(&(ptr_struct->pa1_31_12), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "moderation_timestamp_39_8:\n");
+	connectib_hw_cqc_moderation_timestamp_39_8_print(&(ptr_struct->moderation_timestamp_39_8), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uar:\n");
+	connectib_hw_cqc_uar_print(&(ptr_struct->uar), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "moderation_timestamp_7_0:\n");
+	connectib_hw_cqc_moderation_timestamp_7_0_print(&(ptr_struct->moderation_timestamp_7_0), file, indent_level + 1);
 
 }
 
-int connectib_pciex_cap_size(void){
-	 return 2;
+int connectib_hw_c_cqc_size(void)
+{
+	 return 64;
 }
 
-void connectib_pciex_cap_dump(const struct connectib_pciex_cap *ptr_struct, FILE* file) {
-	connectib_pciex_cap_print(ptr_struct, file, 0);
+void connectib_hw_c_cqc_dump(const union connectib_hw_c_cqc *ptr_struct, FILE* file)
+{
+	connectib_hw_c_cqc_print(ptr_struct, file, 0);
 }
 
-void connectib_exp_rom_pack(const struct connectib_exp_rom *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ffe_tap_set_pack(const struct connectib_ffe_tap_set *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->exp_rom_en);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap0);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 21, (u_int32_t)ptr_struct->addr_31_11);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap1);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap2);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap3);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap4);
 
 }
 
-void connectib_exp_rom_unpack(struct connectib_exp_rom *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ffe_tap_set_unpack(struct connectib_ffe_tap_set *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->exp_rom_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->ffe_tap0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->addr_31_11 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 21);
+	offset = 16;
+	ptr_struct->ffe_tap1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->ffe_tap2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->ffe_tap3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 56;
+	ptr_struct->ffe_tap4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_exp_rom_print(const struct connectib_exp_rom *ptr_struct, FILE* file, int indent_level){
+void connectib_ffe_tap_set_print(const struct connectib_ffe_tap_set *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_exp_rom ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ffe_tap_set ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "exp_rom_en           : "UH_FMT"\n", ptr_struct->exp_rom_en);
+	fprintf(file, "ffe_tap0             : " UH_FMT "\n", ptr_struct->ffe_tap0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ffe_tap1             : " UH_FMT "\n", ptr_struct->ffe_tap1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_31_11           : "UH_FMT"\n", ptr_struct->addr_31_11);
+	fprintf(file, "ffe_tap2             : " UH_FMT "\n", ptr_struct->ffe_tap2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ffe_tap3             : " UH_FMT "\n", ptr_struct->ffe_tap3);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ffe_tap4             : " UH_FMT "\n", ptr_struct->ffe_tap4);
 
 }
 
-int connectib_exp_rom_size(void){
-	 return 4;
+int connectib_ffe_tap_set_size(void)
+{
+	 return 8;
 }
 
-void connectib_exp_rom_dump(const struct connectib_exp_rom *ptr_struct, FILE* file) {
-	connectib_exp_rom_print(ptr_struct, file, 0);
+void connectib_ffe_tap_set_dump(const struct connectib_ffe_tap_set *ptr_struct, FILE* file)
+{
+	connectib_ffe_tap_set_print(ptr_struct, file, 0);
 }
 
-void connectib_stat_reg1_pack(const struct connectib_stat_reg1 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_GEN3_TRANSMITTER_SETTING_pack(const struct connectib_GEN3_TRANSMITTER_SETTING *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->int_status);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->post);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->capabilities_list);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reject_coeff);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->master_data_perr);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->parity);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signaled_ta);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->main);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->received_ta);
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->pre);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->received_ma);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ec);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signaled_serr);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reset_eieos);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->detected_perr);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->preset);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_preset);
 
 }
 
-void connectib_stat_reg1_unpack(struct connectib_stat_reg1 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_GEN3_TRANSMITTER_SETTING_unpack(struct connectib_GEN3_TRANSMITTER_SETTING *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=12;
-	ptr_struct->int_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 26;
+	ptr_struct->post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=11;
-	ptr_struct->capabilities_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 25;
+	ptr_struct->reject_coeff = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=7;
-	ptr_struct->master_data_perr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->parity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=4;
-	ptr_struct->signaled_ta = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 18;
+	ptr_struct->main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=3;
-	ptr_struct->received_ta = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 10;
+	ptr_struct->pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=2;
-	ptr_struct->received_ma = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	ptr_struct->ec = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=1;
-	ptr_struct->signaled_serr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->reset_eieos = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->detected_perr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	ptr_struct->preset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 0;
+	ptr_struct->use_preset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_stat_reg1_print(const struct connectib_stat_reg1 *ptr_struct, FILE* file, int indent_level){
+void connectib_GEN3_TRANSMITTER_SETTING_print(const struct connectib_GEN3_TRANSMITTER_SETTING *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_stat_reg1 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_GEN3_TRANSMITTER_SETTING ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "int_status           : "UH_FMT"\n", ptr_struct->int_status);
+	fprintf(file, "post                 : " UH_FMT "\n", ptr_struct->post);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reject_coeff         : " UH_FMT "\n", ptr_struct->reject_coeff);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "capabilities_list    : "UH_FMT"\n", ptr_struct->capabilities_list);
+	fprintf(file, "parity               : " UH_FMT "\n", ptr_struct->parity);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "master_data_perr     : "UH_FMT"\n", ptr_struct->master_data_perr);
+	fprintf(file, "main                 : " UH_FMT "\n", ptr_struct->main);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signaled_ta          : "UH_FMT"\n", ptr_struct->signaled_ta);
+	fprintf(file, "pre                  : " UH_FMT "\n", ptr_struct->pre);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "received_ta          : "UH_FMT"\n", ptr_struct->received_ta);
+	fprintf(file, "ec                   : " UH_FMT "\n", ptr_struct->ec);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "received_ma          : "UH_FMT"\n", ptr_struct->received_ma);
+	fprintf(file, "reset_eieos          : " UH_FMT "\n", ptr_struct->reset_eieos);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signaled_serr        : "UH_FMT"\n", ptr_struct->signaled_serr);
+	fprintf(file, "preset               : " UH_FMT "\n", ptr_struct->preset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "detected_perr        : "UH_FMT"\n", ptr_struct->detected_perr);
+	fprintf(file, "use_preset           : " UH_FMT "\n", ptr_struct->use_preset);
 
 }
 
-int connectib_stat_reg1_size(void){
-	 return 2;
+int connectib_GEN3_TRANSMITTER_SETTING_size(void)
+{
+	 return 4;
 }
 
-void connectib_stat_reg1_dump(const struct connectib_stat_reg1 *ptr_struct, FILE* file) {
-	connectib_stat_reg1_print(ptr_struct, file, 0);
+void connectib_GEN3_TRANSMITTER_SETTING_dump(const struct connectib_GEN3_TRANSMITTER_SETTING *ptr_struct, FILE* file)
+{
+	connectib_GEN3_TRANSMITTER_SETTING_print(ptr_struct, file, 0);
 }
 
-void connectib_cmd_reg1_pack(const struct connectib_cmd_reg1 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_gpio_config_pack(const struct connectib_gpio_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->io_space);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mode0);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->memory_space);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mode1);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bus_master_en);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->def_val);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->perr_enable);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pull_up);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->serr_enable);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pull_en);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->int_disable);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->masked);
 
 }
 
-void connectib_cmd_reg1_unpack(struct connectib_cmd_reg1 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_gpio_config_unpack(struct connectib_gpio_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=15;
-	ptr_struct->io_space = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 7;
+	ptr_struct->mode0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=14;
-	ptr_struct->memory_space = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 6;
+	ptr_struct->mode1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=13;
-	ptr_struct->bus_master_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->def_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=9;
-	ptr_struct->perr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 4;
+	ptr_struct->pull_up = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=7;
-	ptr_struct->serr_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 3;
+	ptr_struct->pull_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=5;
-	ptr_struct->int_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->masked = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_cmd_reg1_print(const struct connectib_cmd_reg1 *ptr_struct, FILE* file, int indent_level){
+void connectib_gpio_config_print(const struct connectib_gpio_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmd_reg1 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_gpio_config ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "io_space             : "UH_FMT"\n", ptr_struct->io_space);
+	fprintf(file, "mode0                : " UH_FMT "\n", ptr_struct->mode0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "memory_space         : "UH_FMT"\n", ptr_struct->memory_space);
+	fprintf(file, "mode1                : " UH_FMT "\n", ptr_struct->mode1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bus_master_en        : "UH_FMT"\n", ptr_struct->bus_master_en);
+	fprintf(file, "def_val              : " UH_FMT "\n", ptr_struct->def_val);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "perr_enable          : "UH_FMT"\n", ptr_struct->perr_enable);
+	fprintf(file, "pull_up              : " UH_FMT "\n", ptr_struct->pull_up);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "serr_enable          : "UH_FMT"\n", ptr_struct->serr_enable);
+	fprintf(file, "pull_en              : " UH_FMT "\n", ptr_struct->pull_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "int_disable          : "UH_FMT"\n", ptr_struct->int_disable);
+	fprintf(file, "masked               : " UH_FMT "\n", ptr_struct->masked);
 
 }
 
-int connectib_cmd_reg1_size(void){
-	 return 2;
+int connectib_gpio_config_size(void)
+{
+	 return 1;
 }
 
-void connectib_cmd_reg1_dump(const struct connectib_cmd_reg1 *ptr_struct, FILE* file) {
-	connectib_cmd_reg1_print(ptr_struct, file, 0);
+void connectib_gpio_config_dump(const struct connectib_gpio_config *ptr_struct, FILE* file)
+{
+	connectib_gpio_config_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_tlv_data_vpi_settings_pack(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, u_int8_t* ptr_buff){
+void connectib_gpio_function_pack(const struct connectib_gpio_function *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->network_link_type_ib);
-
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->network_link_type_eth);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->mapping);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->default_link_type_ib);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reverse_polarity);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->default_link_type_eth);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->masked);
 
 }
 
-void connectib_nv_tlv_data_vpi_settings_unpack(struct connectib_nv_tlv_data_vpi_settings *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_gpio_function_unpack(struct connectib_gpio_function *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->network_link_type_ib = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=30;
-	ptr_struct->network_link_type_eth = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 2;
+	ptr_struct->mapping = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=29;
-	ptr_struct->default_link_type_ib = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	ptr_struct->reverse_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=28;
-	ptr_struct->default_link_type_eth = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->masked = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_nv_tlv_data_vpi_settings_print(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, FILE* file, int indent_level){
+void connectib_gpio_function_print(const struct connectib_gpio_function *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_tlv_data_vpi_settings ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_gpio_function ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "network_link_type_ib : "UH_FMT"\n", ptr_struct->network_link_type_ib);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "network_link_type_eth : "UH_FMT"\n", ptr_struct->network_link_type_eth);
+	fprintf(file, "mapping              : " UH_FMT "\n", ptr_struct->mapping);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "default_link_type_ib : "UH_FMT"\n", ptr_struct->default_link_type_ib);
+	fprintf(file, "reverse_polarity     : " UH_FMT "\n", ptr_struct->reverse_polarity);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "default_link_type_eth : "UH_FMT"\n", ptr_struct->default_link_type_eth);
+	fprintf(file, "masked               : " UH_FMT "\n", ptr_struct->masked);
 
 }
 
-int connectib_nv_tlv_data_vpi_settings_size(void){
-	 return 4;
+int connectib_gpio_function_size(void)
+{
+	 return 1;
 }
 
-void connectib_nv_tlv_data_vpi_settings_dump(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, FILE* file) {
-	connectib_nv_tlv_data_vpi_settings_print(ptr_struct, file, 0);
+void connectib_gpio_function_dump(const struct connectib_gpio_function *ptr_struct, FILE* file)
+{
+	connectib_gpio_function_print(ptr_struct, file, 0);
 }
 
-void connectib_dword_val_pack(const struct connectib_dword_val *ptr_struct, u_int8_t* ptr_buff){
+void connectib_mlpn_enhanced_database_ini_pack(const struct connectib_mlpn_enhanced_database_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->val);
+	offset = 0;
+	connectib_mlnx_enhanced_equal_info_ini_pack(&(ptr_struct->as_bits), ptr_buff + offset/8);
 
 }
 
-void connectib_dword_val_unpack(struct connectib_dword_val *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_mlpn_enhanced_database_ini_unpack(struct connectib_mlpn_enhanced_database_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_mlnx_enhanced_equal_info_ini_unpack(&(ptr_struct->as_bits), ptr_buff + offset/8);
 
 }
 
-void connectib_dword_val_print(const struct connectib_dword_val *ptr_struct, FILE* file, int indent_level){
+void connectib_mlpn_enhanced_database_ini_print(const struct connectib_mlpn_enhanced_database_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dword_val ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_mlpn_enhanced_database_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "val                  : "U32H_FMT"\n", ptr_struct->val);
+	fprintf(file, "as_bits:\n");
+	connectib_mlnx_enhanced_equal_info_ini_print(&(ptr_struct->as_bits), file, indent_level + 1);
 
 }
 
-int connectib_dword_val_size(void){
+int connectib_mlpn_enhanced_database_ini_size(void)
+{
 	 return 4;
 }
 
-void connectib_dword_val_dump(const struct connectib_dword_val *ptr_struct, FILE* file) {
-	connectib_dword_val_print(ptr_struct, file, 0);
+void connectib_mlpn_enhanced_database_ini_dump(const struct connectib_mlpn_enhanced_database_ini *ptr_struct, FILE* file)
+{
+	connectib_mlpn_enhanced_database_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_port_cap_mask1_fields_pack(const struct connectib_port_cap_mask1_fields *ptr_struct, u_int8_t* ptr_buff){
+void connectib_mlpn_database_all_protocol_ini_pack(const struct connectib_mlpn_database_all_protocol_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_sm);
-
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_notice_sup);
-
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_trap_sup);
-
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_optional_ipd_sup);
-
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_automatic_migration_sup);
-
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_sl_mapping_sup);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_mkey_nvram);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_pkey_nvram);
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_led_info_sup);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_sm_disabled);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_system_image_guid_sup);
-
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_pkey_switch_external_port_trap_sup);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_cable_info_supported);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_extended_speed_sup);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_capability_mask2_supported);
-
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_communication_management_sup);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_snmp_tunneling_sup);
-
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_reinit_sup);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_device_management_sup);
-
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_vendor_class_sup);
-
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_dr_notice_sup);
-
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_capability_mask_notice_sup);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_boot_management_sup);
-
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_link_round_trip_latency_sup);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_client_reregistration_sup);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_other_local_changes_notice_supported);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_link_speed_width_pairs_table_supported);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_vendor_specific_mads_table_supported);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_multicast_pkey_trap_suppression_supported);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_multicast_fdb_top_supported);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_hierarchy_info_supported);
+	offset = 0;
+	connectib_mlpn_database_all_protocol_bits_ini_pack(&(ptr_struct->as_bits), ptr_buff + offset/8);
 
 }
 
-void connectib_port_cap_mask1_fields_unpack(struct connectib_port_cap_mask1_fields *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_mlpn_database_all_protocol_ini_unpack(struct connectib_mlpn_database_all_protocol_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->is_sm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=29;
-	ptr_struct->is_notice_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->is_trap_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=27;
-	ptr_struct->is_optional_ipd_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->is_automatic_migration_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=25;
-	ptr_struct->is_sl_mapping_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=24;
-	ptr_struct->is_mkey_nvram = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=23;
-	ptr_struct->is_pkey_nvram = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=22;
-	ptr_struct->is_led_info_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=21;
-	ptr_struct->is_sm_disabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=20;
-	ptr_struct->is_system_image_guid_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=19;
-	ptr_struct->is_pkey_switch_external_port_trap_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->is_cable_info_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->is_extended_speed_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->is_capability_mask2_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=15;
-	ptr_struct->is_communication_management_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=14;
-	ptr_struct->is_snmp_tunneling_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=13;
-	ptr_struct->is_reinit_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=12;
-	ptr_struct->is_device_management_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=11;
-	ptr_struct->is_vendor_class_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=10;
-	ptr_struct->is_dr_notice_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=9;
-	ptr_struct->is_capability_mask_notice_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=8;
-	ptr_struct->is_boot_management_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=7;
-	ptr_struct->is_link_round_trip_latency_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->is_client_reregistration_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=5;
-	ptr_struct->is_other_local_changes_notice_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=4;
-	ptr_struct->is_link_speed_width_pairs_table_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=3;
-	ptr_struct->is_vendor_specific_mads_table_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=2;
-	ptr_struct->is_multicast_pkey_trap_suppression_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->is_multicast_fdb_top_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->is_hierarchy_info_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_mlpn_database_all_protocol_bits_ini_unpack(&(ptr_struct->as_bits), ptr_buff + offset/8);
 
 }
 
-void connectib_port_cap_mask1_fields_print(const struct connectib_port_cap_mask1_fields *ptr_struct, FILE* file, int indent_level){
+void connectib_mlpn_database_all_protocol_ini_print(const struct connectib_mlpn_database_all_protocol_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_port_cap_mask1_fields ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_mlpn_database_all_protocol_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_sm                : "UH_FMT"\n", ptr_struct->is_sm);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_notice_sup        : "UH_FMT"\n", ptr_struct->is_notice_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_trap_sup          : "UH_FMT"\n", ptr_struct->is_trap_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_optional_ipd_sup  : "UH_FMT"\n", ptr_struct->is_optional_ipd_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_automatic_migration_sup : "UH_FMT"\n", ptr_struct->is_automatic_migration_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_sl_mapping_sup    : "UH_FMT"\n", ptr_struct->is_sl_mapping_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_mkey_nvram        : "UH_FMT"\n", ptr_struct->is_mkey_nvram);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_pkey_nvram        : "UH_FMT"\n", ptr_struct->is_pkey_nvram);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_led_info_sup      : "UH_FMT"\n", ptr_struct->is_led_info_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_sm_disabled       : "UH_FMT"\n", ptr_struct->is_sm_disabled);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_system_image_guid_sup : "UH_FMT"\n", ptr_struct->is_system_image_guid_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_pkey_switch_external_port_trap_sup : "UH_FMT"\n", ptr_struct->is_pkey_switch_external_port_trap_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_cable_info_supported : "UH_FMT"\n", ptr_struct->is_cable_info_supported);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_extended_speed_sup : "UH_FMT"\n", ptr_struct->is_extended_speed_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_capability_mask2_supported : "UH_FMT"\n", ptr_struct->is_capability_mask2_supported);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_communication_management_sup : "UH_FMT"\n", ptr_struct->is_communication_management_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_snmp_tunneling_sup : "UH_FMT"\n", ptr_struct->is_snmp_tunneling_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_reinit_sup        : "UH_FMT"\n", ptr_struct->is_reinit_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_device_management_sup : "UH_FMT"\n", ptr_struct->is_device_management_sup);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_vendor_class_sup  : "UH_FMT"\n", ptr_struct->is_vendor_class_sup);
+	fprintf(file, "as_bits:\n");
+	connectib_mlpn_database_all_protocol_bits_ini_print(&(ptr_struct->as_bits), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_dr_notice_sup     : "UH_FMT"\n", ptr_struct->is_dr_notice_sup);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_capability_mask_notice_sup : "UH_FMT"\n", ptr_struct->is_capability_mask_notice_sup);
+int connectib_mlpn_database_all_protocol_ini_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_boot_management_sup : "UH_FMT"\n", ptr_struct->is_boot_management_sup);
+void connectib_mlpn_database_all_protocol_ini_dump(const struct connectib_mlpn_database_all_protocol_ini *ptr_struct, FILE* file)
+{
+	connectib_mlpn_database_all_protocol_ini_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_link_round_trip_latency_sup : "UH_FMT"\n", ptr_struct->is_link_round_trip_latency_sup);
+void connectib_tx_rx_logic_serdes_mapping_node_ini_pack(const struct connectib_tx_rx_logic_serdes_mapping_node_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_client_reregistration_sup : "UH_FMT"\n", ptr_struct->is_client_reregistration_sup);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->logic_to_serdes[i]);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_other_local_changes_notice_supported : "UH_FMT"\n", ptr_struct->is_other_local_changes_notice_supported);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_link_speed_width_pairs_table_supported : "UH_FMT"\n", ptr_struct->is_link_speed_width_pairs_table_supported);
+void connectib_tx_rx_logic_serdes_mapping_node_ini_unpack(struct connectib_tx_rx_logic_serdes_mapping_node_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_vendor_specific_mads_table_supported : "UH_FMT"\n", ptr_struct->is_vendor_specific_mads_table_supported);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	ptr_struct->logic_to_serdes[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_multicast_pkey_trap_suppression_supported : "UH_FMT"\n", ptr_struct->is_multicast_pkey_trap_suppression_supported);
+}
 
+void connectib_tx_rx_logic_serdes_mapping_node_ini_print(const struct connectib_tx_rx_logic_serdes_mapping_node_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_multicast_fdb_top_supported : "UH_FMT"\n", ptr_struct->is_multicast_fdb_top_supported);
+	fprintf(file, "======== connectib_tx_rx_logic_serdes_mapping_node_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_hierarchy_info_supported : "UH_FMT"\n", ptr_struct->is_hierarchy_info_supported);
+	fprintf(file, "logic_to_serdes_%03d : " U32H_FMT "\n", i, ptr_struct->logic_to_serdes[i]);
+	}
 
 }
 
-int connectib_port_cap_mask1_fields_size(void){
-	 return 4;
+int connectib_tx_rx_logic_serdes_mapping_node_ini_size(void)
+{
+	 return 32;
 }
 
-void connectib_port_cap_mask1_fields_dump(const struct connectib_port_cap_mask1_fields *ptr_struct, FILE* file) {
-	connectib_port_cap_mask1_fields_print(ptr_struct, file, 0);
+void connectib_tx_rx_logic_serdes_mapping_node_ini_dump(const struct connectib_tx_rx_logic_serdes_mapping_node_ini *ptr_struct, FILE* file)
+{
+	connectib_tx_rx_logic_serdes_mapping_node_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_ib_port_counters_pack(const struct connectib_ib_port_counters *ptr_struct, u_int8_t* ptr_buff){
+void connectib_serdes_conf_ini_pack(const struct connectib_serdes_conf_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_downed_counter);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_error_recovery_counter);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->symbol_error_counter);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_rcv_remote_physical_errors);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_rcv_errors);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_xmit_discards);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_rcv_switch_relay_errors);
-
-	offset=124;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->excessive_buffer_overrun_errors);
-
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->local_link_integrity_errors);
-
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_rcv_constraint_errors);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_xmit_constraint_errors);
-
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vl15_dropped);
+	offset = 0;
+	connectib_serdes_autoneg_sets_ini_pack(&(ptr_struct->nego), ptr_buff + offset/8);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_xmit_data);
+	offset = 3072;
+	connectib_serdes_aba_sets_ini_pack(&(ptr_struct->aba), ptr_buff + offset/8);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_rcv_data);
+	offset = 6144;
+	connectib_serdes_force_sets_ini_pack(&(ptr_struct->force), ptr_buff + offset/8);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_xmit_pkts);
+	offset = 7104;
+	connectib_serdes_active_sets_ini_pack(&(ptr_struct->active), ptr_buff + offset/8);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_rcv_pkts);
+	offset = 7488;
+	connectib_serdes_preset_sets_ini_pack(&(ptr_struct->preset_tx_fdr), ptr_buff + offset/8);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_xmit_wait);
+	offset = 8000;
+	connectib_serdes_preset_sets_ini_pack(&(ptr_struct->preset_tx_qdr), ptr_buff + offset/8);
 
 }
 
-void connectib_ib_port_counters_unpack(struct connectib_ib_port_counters *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_serdes_conf_ini_unpack(struct connectib_serdes_conf_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->link_downed_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->link_error_recovery_counter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	ptr_struct->symbol_error_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=48;
-	ptr_struct->port_rcv_remote_physical_errors = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=32;
-	ptr_struct->port_rcv_errors = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=80;
-	ptr_struct->port_xmit_discards = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=64;
-	ptr_struct->port_rcv_switch_relay_errors = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=124;
-	ptr_struct->excessive_buffer_overrun_errors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=120;
-	ptr_struct->local_link_integrity_errors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=104;
-	ptr_struct->port_rcv_constraint_errors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=96;
-	ptr_struct->port_xmit_constraint_errors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=144;
-	ptr_struct->vl15_dropped = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	connectib_serdes_autoneg_sets_ini_unpack(&(ptr_struct->nego), ptr_buff + offset/8);
 
-	offset=160;
-	ptr_struct->port_xmit_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 3072;
+	connectib_serdes_aba_sets_ini_unpack(&(ptr_struct->aba), ptr_buff + offset/8);
 
-	offset=192;
-	ptr_struct->port_rcv_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 6144;
+	connectib_serdes_force_sets_ini_unpack(&(ptr_struct->force), ptr_buff + offset/8);
 
-	offset=224;
-	ptr_struct->port_xmit_pkts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 7104;
+	connectib_serdes_active_sets_ini_unpack(&(ptr_struct->active), ptr_buff + offset/8);
 
-	offset=256;
-	ptr_struct->port_rcv_pkts = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 7488;
+	connectib_serdes_preset_sets_ini_unpack(&(ptr_struct->preset_tx_fdr), ptr_buff + offset/8);
 
-	offset=288;
-	ptr_struct->port_xmit_wait = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8000;
+	connectib_serdes_preset_sets_ini_unpack(&(ptr_struct->preset_tx_qdr), ptr_buff + offset/8);
 
 }
 
-void connectib_ib_port_counters_print(const struct connectib_ib_port_counters *ptr_struct, FILE* file, int indent_level){
+void connectib_serdes_conf_ini_print(const struct connectib_serdes_conf_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ib_port_counters ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_serdes_conf_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_downed_counter  : "UH_FMT"\n", ptr_struct->link_downed_counter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_error_recovery_counter : "UH_FMT"\n", ptr_struct->link_error_recovery_counter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "symbol_error_counter : "UH_FMT"\n", ptr_struct->symbol_error_counter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_rcv_remote_physical_errors : "UH_FMT"\n", ptr_struct->port_rcv_remote_physical_errors);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_rcv_errors      : "UH_FMT"\n", ptr_struct->port_rcv_errors);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_xmit_discards   : "UH_FMT"\n", ptr_struct->port_xmit_discards);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_rcv_switch_relay_errors : "UH_FMT"\n", ptr_struct->port_rcv_switch_relay_errors);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "excessive_buffer_overrun_errors : "UH_FMT"\n", ptr_struct->excessive_buffer_overrun_errors);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_link_integrity_errors : "UH_FMT"\n", ptr_struct->local_link_integrity_errors);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_rcv_constraint_errors : "UH_FMT"\n", ptr_struct->port_rcv_constraint_errors);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_xmit_constraint_errors : "UH_FMT"\n", ptr_struct->port_xmit_constraint_errors);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl15_dropped         : "UH_FMT"\n", ptr_struct->vl15_dropped);
+	fprintf(file, "nego:\n");
+	connectib_serdes_autoneg_sets_ini_print(&(ptr_struct->nego), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_xmit_data       : "U32H_FMT"\n", ptr_struct->port_xmit_data);
+	fprintf(file, "aba:\n");
+	connectib_serdes_aba_sets_ini_print(&(ptr_struct->aba), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_rcv_data        : "U32H_FMT"\n", ptr_struct->port_rcv_data);
+	fprintf(file, "force:\n");
+	connectib_serdes_force_sets_ini_print(&(ptr_struct->force), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_xmit_pkts       : "U32H_FMT"\n", ptr_struct->port_xmit_pkts);
+	fprintf(file, "active:\n");
+	connectib_serdes_active_sets_ini_print(&(ptr_struct->active), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_rcv_pkts        : "U32H_FMT"\n", ptr_struct->port_rcv_pkts);
+	fprintf(file, "preset_tx_fdr:\n");
+	connectib_serdes_preset_sets_ini_print(&(ptr_struct->preset_tx_fdr), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_xmit_wait       : "U32H_FMT"\n", ptr_struct->port_xmit_wait);
+	fprintf(file, "preset_tx_qdr:\n");
+	connectib_serdes_preset_sets_ini_print(&(ptr_struct->preset_tx_qdr), file, indent_level + 1);
 
 }
 
-int connectib_ib_port_counters_size(void){
-	 return 248;
+int connectib_serdes_conf_ini_size(void)
+{
+	 return 1088;
 }
 
-void connectib_ib_port_counters_dump(const struct connectib_ib_port_counters *ptr_struct, FILE* file) {
-	connectib_ib_port_counters_print(ptr_struct, file, 0);
+void connectib_serdes_conf_ini_dump(const struct connectib_serdes_conf_ini *ptr_struct, FILE* file)
+{
+	connectib_serdes_conf_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_llr_counters_pack(const struct connectib_llr_counters *ptr_struct, u_int8_t* ptr_buff){
+void connectib_rx_adapt_ini_pack(const struct connectib_rx_adapt_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_rx_cells_high);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_rx_cells_low);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_rx_error_high);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_rx_error_low);
-
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_rx_crc_error_high);
-
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_rx_crc_error_low);
-
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_tx_cells_high);
-
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_tx_cells_low);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_num_ffe_search);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_tx_ret_cells_high);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->num_of_ffe_taps);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_tx_ret_cells_low);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->num_of_ffe_hw_steps);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_tx_ret_events_high);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_hw_ffe_before_open_eye);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->llr_tx_ret_events_low);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->skip_ffe_srch);
 
-}
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->skip_rx_srch);
 
-void connectib_llr_counters_unpack(struct connectib_llr_counters *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->offset_eye_opener_range);
 
-	offset=0;
-	ptr_struct->llr_rx_cells_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mixer_offset_grade_margin);
 
-	offset=32;
-	ptr_struct->llr_rx_cells_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->jump_size_ffe_level1);
 
-	offset=64;
-	ptr_struct->llr_rx_error_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->jump_size_ffe_level2);
 
-	offset=96;
-	ptr_struct->llr_rx_error_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->jump_size_ffe_level3);
 
-	offset=128;
-	ptr_struct->llr_rx_crc_error_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 47;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->delta_from_edges_phase);
 
-	offset=160;
-	ptr_struct->llr_rx_crc_error_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 41;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->delta_from_edges_offst);
 
-	offset=192;
-	ptr_struct->llr_tx_cells_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->offset_penalty_en);
 
-	offset=224;
-	ptr_struct->llr_tx_cells_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->offset_penalty_weight);
 
-	offset=256;
-	ptr_struct->llr_tx_ret_cells_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 95;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->center_mix90phase);
 
-	offset=288;
-	ptr_struct->llr_tx_ret_cells_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 94;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_calib_in_QDR_rev0);
 
-	offset=320;
-	ptr_struct->llr_tx_ret_events_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 93;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->center_mixer_offset);
 
-	offset=352;
-	ptr_struct->llr_tx_ret_events_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 92;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grade_mixer_margin_en);
 
-}
+	offset = 87;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_open_machine_measure_time);
 
-void connectib_llr_counters_print(const struct connectib_llr_counters *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_llr_counters ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 82;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_open_machine_stab_time);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_rx_cells_high    : "U32H_FMT"\n", ptr_struct->llr_rx_cells_high);
+	offset = 74;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->best_grade_th);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_rx_cells_low     : "U32H_FMT"\n", ptr_struct->llr_rx_cells_low);
+	offset = 69;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_open_machine_stab_time_extended);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_rx_error_high    : "U32H_FMT"\n", ptr_struct->llr_rx_error_high);
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eye_phase_diff_min);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_rx_error_low     : "U32H_FMT"\n", ptr_struct->llr_rx_error_low);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eye_offset_diff_min);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_rx_crc_error_high : "U32H_FMT"\n", ptr_struct->llr_rx_crc_error_high);
+	offset = 111;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->min_eye_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_rx_crc_error_low : "U32H_FMT"\n", ptr_struct->llr_rx_crc_error_low);
+	offset = 110;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grade_eye_from_center);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_tx_cells_high    : "U32H_FMT"\n", ptr_struct->llr_tx_cells_high);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->offset_zero_grade_threshold);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_tx_cells_low     : "U32H_FMT"\n", ptr_struct->llr_tx_cells_low);
+	offset = 99;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_open_machine_measure_time_in_stab_extend);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_tx_ret_cells_high : "U32H_FMT"\n", ptr_struct->llr_tx_ret_cells_high);
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->offset_max_grade);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_tx_ret_cells_low : "U32H_FMT"\n", ptr_struct->llr_tx_ret_cells_low);
+	offset = 147;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->phase_limit);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_tx_ret_events_high : "U32H_FMT"\n", ptr_struct->llr_tx_ret_events_high);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rx_adaptation_reattempts);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_tx_ret_events_low : "U32H_FMT"\n", ptr_struct->llr_tx_ret_events_low);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->phase_weight);
 
-}
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->offset_weight);
 
-int connectib_llr_counters_size(void){
-	 return 248;
-}
+	offset = 184;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rx_taps_norm_val);
 
-void connectib_llr_counters_dump(const struct connectib_llr_counters *ptr_struct, FILE* file) {
-	connectib_llr_counters_print(ptr_struct, file, 0);
 }
 
-void connectib_discard_cntrs_grp_data_pack(const struct connectib_discard_cntrs_grp_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_rx_adapt_ini_unpack(struct connectib_rx_adapt_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ingress_general_high);
+	offset = 26;
+	ptr_struct->max_num_ffe_search = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ingress_general_low);
+	offset = 23;
+	ptr_struct->num_of_ffe_taps = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ingress_policy_engine_high);
+	offset = 17;
+	ptr_struct->num_of_ffe_hw_steps = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ingress_policy_engine_low);
+	offset = 13;
+	ptr_struct->num_hw_ffe_before_open_eye = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ingress_vlan_membership_high);
+	offset = 12;
+	ptr_struct->skip_ffe_srch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ingress_vlan_membership_low);
+	offset = 11;
+	ptr_struct->skip_rx_srch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ingress_tag_frame_type_high);
+	offset = 4;
+	ptr_struct->offset_eye_opener_range = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ingress_tag_frame_type_low);
+	offset = 0;
+	ptr_struct->mixer_offset_grade_margin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_vlan_membership_high);
+	offset = 60;
+	ptr_struct->jump_size_ffe_level1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_vlan_membership_low);
+	offset = 56;
+	ptr_struct->jump_size_ffe_level2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->loopback_filter_high);
+	offset = 52;
+	ptr_struct->jump_size_ffe_level3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->loopback_filter_low);
+	offset = 47;
+	ptr_struct->delta_from_edges_phase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_general_high);
+	offset = 41;
+	ptr_struct->delta_from_edges_offst = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_general_low);
+	offset = 40;
+	ptr_struct->offset_penalty_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_link_down_high);
+	offset = 32;
+	ptr_struct->offset_penalty_weight = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_link_down_low);
+	offset = 95;
+	ptr_struct->center_mix90phase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_hoq_high);
+	offset = 94;
+	ptr_struct->disable_calib_in_QDR_rev0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_hoq_low);
+	offset = 93;
+	ptr_struct->center_mixer_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_isolation_high);
+	offset = 92;
+	ptr_struct->grade_mixer_margin_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=608;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_isolation_low);
+	offset = 87;
+	ptr_struct->eye_open_machine_measure_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_policy_engine_high);
+	offset = 82;
+	ptr_struct->eye_open_machine_stab_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=672;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->egress_policy_engine_low);
+	offset = 74;
+	ptr_struct->best_grade_th = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-}
+	offset = 69;
+	ptr_struct->eye_open_machine_stab_time_extended = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-void connectib_discard_cntrs_grp_data_unpack(struct connectib_discard_cntrs_grp_data *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 120;
+	ptr_struct->eye_phase_diff_min = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->ingress_general_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 112;
+	ptr_struct->eye_offset_diff_min = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	ptr_struct->ingress_general_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 111;
+	ptr_struct->min_eye_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->ingress_policy_engine_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 110;
+	ptr_struct->grade_eye_from_center = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->ingress_policy_engine_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 104;
+	ptr_struct->offset_zero_grade_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=128;
-	ptr_struct->ingress_vlan_membership_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 99;
+	ptr_struct->eye_open_machine_measure_time_in_stab_extend = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=160;
-	ptr_struct->ingress_vlan_membership_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 152;
+	ptr_struct->offset_max_grade = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=192;
-	ptr_struct->ingress_tag_frame_type_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 147;
+	ptr_struct->phase_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=224;
-	ptr_struct->ingress_tag_frame_type_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 144;
+	ptr_struct->rx_adaptation_reattempts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=256;
-	ptr_struct->egress_vlan_membership_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 136;
+	ptr_struct->phase_weight = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=288;
-	ptr_struct->egress_vlan_membership_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	ptr_struct->offset_weight = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=320;
-	ptr_struct->loopback_filter_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 184;
+	ptr_struct->rx_taps_norm_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=352;
-	ptr_struct->loopback_filter_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=384;
-	ptr_struct->egress_general_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_rx_adapt_ini_print(const struct connectib_rx_adapt_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_rx_adapt_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=416;
-	ptr_struct->egress_general_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_num_ffe_search   : " UH_FMT "\n", ptr_struct->max_num_ffe_search);
 
-	offset=448;
-	ptr_struct->egress_link_down_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_of_ffe_taps      : " UH_FMT "\n", ptr_struct->num_of_ffe_taps);
 
-	offset=480;
-	ptr_struct->egress_link_down_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_of_ffe_hw_steps  : " UH_FMT "\n", ptr_struct->num_of_ffe_hw_steps);
 
-	offset=512;
-	ptr_struct->egress_hoq_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_hw_ffe_before_open_eye : " UH_FMT "\n", ptr_struct->num_hw_ffe_before_open_eye);
 
-	offset=544;
-	ptr_struct->egress_hoq_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "skip_ffe_srch        : " UH_FMT "\n", ptr_struct->skip_ffe_srch);
 
-	offset=576;
-	ptr_struct->port_isolation_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "skip_rx_srch         : " UH_FMT "\n", ptr_struct->skip_rx_srch);
 
-	offset=608;
-	ptr_struct->port_isolation_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "offset_eye_opener_range : " UH_FMT "\n", ptr_struct->offset_eye_opener_range);
 
-	offset=640;
-	ptr_struct->egress_policy_engine_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mixer_offset_grade_margin : " UH_FMT "\n", ptr_struct->mixer_offset_grade_margin);
 
-	offset=672;
-	ptr_struct->egress_policy_engine_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "jump_size_ffe_level1 : " UH_FMT "\n", ptr_struct->jump_size_ffe_level1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "jump_size_ffe_level2 : " UH_FMT "\n", ptr_struct->jump_size_ffe_level2);
 
-void connectib_discard_cntrs_grp_data_print(const struct connectib_discard_cntrs_grp_data *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_discard_cntrs_grp_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "jump_size_ffe_level3 : " UH_FMT "\n", ptr_struct->jump_size_ffe_level3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ingress_general_high : "U32H_FMT"\n", ptr_struct->ingress_general_high);
+	fprintf(file, "delta_from_edges_phase : " UH_FMT "\n", ptr_struct->delta_from_edges_phase);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ingress_general_low  : "U32H_FMT"\n", ptr_struct->ingress_general_low);
+	fprintf(file, "delta_from_edges_offst : " UH_FMT "\n", ptr_struct->delta_from_edges_offst);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ingress_policy_engine_high : "U32H_FMT"\n", ptr_struct->ingress_policy_engine_high);
+	fprintf(file, "offset_penalty_en    : " UH_FMT "\n", ptr_struct->offset_penalty_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ingress_policy_engine_low : "U32H_FMT"\n", ptr_struct->ingress_policy_engine_low);
+	fprintf(file, "offset_penalty_weight : " UH_FMT "\n", ptr_struct->offset_penalty_weight);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ingress_vlan_membership_high : "U32H_FMT"\n", ptr_struct->ingress_vlan_membership_high);
+	fprintf(file, "center_mix90phase    : " UH_FMT "\n", ptr_struct->center_mix90phase);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ingress_vlan_membership_low : "U32H_FMT"\n", ptr_struct->ingress_vlan_membership_low);
+	fprintf(file, "disable_calib_in_QDR_rev0 : " UH_FMT "\n", ptr_struct->disable_calib_in_QDR_rev0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ingress_tag_frame_type_high : "U32H_FMT"\n", ptr_struct->ingress_tag_frame_type_high);
+	fprintf(file, "center_mixer_offset  : " UH_FMT "\n", ptr_struct->center_mixer_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ingress_tag_frame_type_low : "U32H_FMT"\n", ptr_struct->ingress_tag_frame_type_low);
+	fprintf(file, "grade_mixer_margin_en : " UH_FMT "\n", ptr_struct->grade_mixer_margin_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_vlan_membership_high : "U32H_FMT"\n", ptr_struct->egress_vlan_membership_high);
+	fprintf(file, "eye_open_machine_measure_time : " UH_FMT "\n", ptr_struct->eye_open_machine_measure_time);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_vlan_membership_low : "U32H_FMT"\n", ptr_struct->egress_vlan_membership_low);
+	fprintf(file, "eye_open_machine_stab_time : " UH_FMT "\n", ptr_struct->eye_open_machine_stab_time);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "loopback_filter_high : "U32H_FMT"\n", ptr_struct->loopback_filter_high);
+	fprintf(file, "best_grade_th        : " UH_FMT "\n", ptr_struct->best_grade_th);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "loopback_filter_low  : "U32H_FMT"\n", ptr_struct->loopback_filter_low);
+	fprintf(file, "eye_open_machine_stab_time_extended : " UH_FMT "\n", ptr_struct->eye_open_machine_stab_time_extended);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_general_high  : "U32H_FMT"\n", ptr_struct->egress_general_high);
+	fprintf(file, "eye_phase_diff_min   : " UH_FMT "\n", ptr_struct->eye_phase_diff_min);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_general_low   : "U32H_FMT"\n", ptr_struct->egress_general_low);
+	fprintf(file, "eye_offset_diff_min  : " UH_FMT "\n", ptr_struct->eye_offset_diff_min);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_link_down_high : "U32H_FMT"\n", ptr_struct->egress_link_down_high);
+	fprintf(file, "min_eye_en           : " UH_FMT "\n", ptr_struct->min_eye_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_link_down_low : "U32H_FMT"\n", ptr_struct->egress_link_down_low);
+	fprintf(file, "grade_eye_from_center : " UH_FMT "\n", ptr_struct->grade_eye_from_center);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_hoq_high      : "U32H_FMT"\n", ptr_struct->egress_hoq_high);
+	fprintf(file, "offset_zero_grade_threshold : " UH_FMT "\n", ptr_struct->offset_zero_grade_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_hoq_low       : "U32H_FMT"\n", ptr_struct->egress_hoq_low);
+	fprintf(file, "eye_open_machine_measure_time_in_stab_extend : " UH_FMT "\n", ptr_struct->eye_open_machine_measure_time_in_stab_extend);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_isolation_high  : "U32H_FMT"\n", ptr_struct->port_isolation_high);
+	fprintf(file, "offset_max_grade     : " UH_FMT "\n", ptr_struct->offset_max_grade);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_isolation_low   : "U32H_FMT"\n", ptr_struct->port_isolation_low);
+	fprintf(file, "phase_limit          : " UH_FMT "\n", ptr_struct->phase_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_policy_engine_high : "U32H_FMT"\n", ptr_struct->egress_policy_engine_high);
+	fprintf(file, "rx_adaptation_reattempts : " UH_FMT "\n", ptr_struct->rx_adaptation_reattempts);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "egress_policy_engine_low : "U32H_FMT"\n", ptr_struct->egress_policy_engine_low);
+	fprintf(file, "phase_weight         : " UH_FMT "\n", ptr_struct->phase_weight);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "offset_weight        : " UH_FMT "\n", ptr_struct->offset_weight);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_taps_norm_val     : " UH_FMT "\n", ptr_struct->rx_taps_norm_val);
 
 }
 
-int connectib_discard_cntrs_grp_data_size(void){
-	 return 248;
+int connectib_rx_adapt_ini_size(void)
+{
+	 return 24;
 }
 
-void connectib_discard_cntrs_grp_data_dump(const struct connectib_discard_cntrs_grp_data *ptr_struct, FILE* file) {
-	connectib_discard_cntrs_grp_data_print(ptr_struct, file, 0);
+void connectib_rx_adapt_ini_dump(const struct connectib_rx_adapt_ini *ptr_struct, FILE* file)
+{
+	connectib_rx_adapt_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_phys_layer_cntrs_pack(const struct connectib_phys_layer_cntrs *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ib_ini_ini_pack(const struct connectib_ib_ini_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->time_since_last_clear_high);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->time_since_last_clear_low);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->symbol_errors_high);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->symbol_errors_low);
-
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->sync_headers_errors_high);
-
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->sync_headers_errors_low);
-
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->edpl_bip_errors_lane0_high);
-
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->edpl_bip_errors_lane0_low);
-
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->edpl_bip_errors_lane1_high);
-
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->edpl_bip_errors_lane1_low);
-
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->edpl_bip_errors_lane2_high);
-
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->edpl_bip_errors_lane2_low);
-
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->edpl_bip_errors_lane3_high);
-
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->edpl_bip_errors_lane3_low);
-
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_corrected_blocks_lane0_high);
-
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_corrected_blocks_lane0_low);
-
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_corrected_blocks_lane1_high);
-
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_corrected_blocks_lane1_low);
-
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_corrected_blocks_lane2_high);
-
-	offset=608;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_corrected_blocks_lane2_low);
-
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_corrected_blocks_lane3_high);
-
-	offset=672;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_corrected_blocks_lane3_low);
-
-	offset=704;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_uncorrectable_blocks_lane0_high);
-
-	offset=736;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_uncorrectable_blocks_lane0_low);
-
-	offset=768;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_uncorrectable_blocks_lane1_high);
-
-	offset=800;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_uncorrectable_blocks_lane1_low);
-
-	offset=832;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_uncorrectable_blocks_lane2_high);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->llr_wait_time);
 
-	offset=864;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_uncorrectable_blocks_lane2_low);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec1_3_ignore_peer_tx_req);
 
-	offset=896;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_uncorrectable_blocks_lane3_high);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qdr_tx_aggressor_en);
 
-	offset=928;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fc_fec_uncorrectable_blocks_lane3_low);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equal_req_en);
 
-	offset=960;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_blocks_high);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ts3_fcu);
 
-	offset=992;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_blocks_low);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_hbr);
 
-	offset=1024;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_uncorrectable_blocks_high);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_sct);
 
-	offset=1056;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_uncorrectable_blocks_low);
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_tp);
 
-	offset=1088;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_no_errors_blocks_high);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_mpr);
 
-	offset=1120;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_no_errors_blocks_low);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_ft);
 
-	offset=1152;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_single_error_blocks_high);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->min_ib_grade);
 
-	offset=1184;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_single_error_blocks_low);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_polarity_port0);
 
-	offset=1216;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_total_high);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_polarity_port1);
 
-	offset=1248;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_total_low);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->Mloop_en_mask);
 
-	offset=1280;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_lane0_high);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 768, 1);
+	connectib_ib_ini_per_lcl_ini_pack(&(ptr_struct->lcl[i]), ptr_buff + offset/8);
+	}
 
-	offset=1312;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_lane0_low);
+	offset = 121;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->retry_counter_threshold);
 
-	offset=1344;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_lane1_high);
+	offset = 113;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->time_2_clear_err_after_linkup);
 
-	offset=1376;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_lane1_low);
+	offset = 128;
+	connectib_spec1_3_preset_ini_pack(&(ptr_struct->spec1_3_preset), ptr_buff + offset/8);
 
-	offset=1408;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_lane2_high);
+	offset = 767;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_llr_on_long_optic);
 
-	offset=1440;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_lane2_low);
+	offset = 760;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->llr_max_cable_length);
 
-	offset=1472;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_lane3_high);
+	offset = 759;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->terminate_pkt_timeout);
 
-	offset=1504;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rs_fec_corrected_symbols_lane3_low);
+	offset = 758;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_rx_check_en);
 
-	offset=1536;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->link_down_events);
+	offset = 757;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_fec_on_long_optic);
 
-	offset=1568;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->successful_recovery_events);
+	offset = 750;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->fec_min_cable_length);
 
 }
 
-void connectib_phys_layer_cntrs_unpack(struct connectib_phys_layer_cntrs *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ib_ini_ini_unpack(struct connectib_ib_ini_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->time_since_last_clear_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->time_since_last_clear_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->symbol_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=96;
-	ptr_struct->symbol_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=128;
-	ptr_struct->sync_headers_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=160;
-	ptr_struct->sync_headers_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=192;
-	ptr_struct->edpl_bip_errors_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=224;
-	ptr_struct->edpl_bip_errors_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=256;
-	ptr_struct->edpl_bip_errors_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=288;
-	ptr_struct->edpl_bip_errors_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=320;
-	ptr_struct->edpl_bip_errors_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=352;
-	ptr_struct->edpl_bip_errors_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=384;
-	ptr_struct->edpl_bip_errors_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=416;
-	ptr_struct->edpl_bip_errors_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=448;
-	ptr_struct->fc_fec_corrected_blocks_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=480;
-	ptr_struct->fc_fec_corrected_blocks_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=512;
-	ptr_struct->fc_fec_corrected_blocks_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=544;
-	ptr_struct->fc_fec_corrected_blocks_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=576;
-	ptr_struct->fc_fec_corrected_blocks_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=608;
-	ptr_struct->fc_fec_corrected_blocks_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=640;
-	ptr_struct->fc_fec_corrected_blocks_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=672;
-	ptr_struct->fc_fec_corrected_blocks_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=704;
-	ptr_struct->fc_fec_uncorrectable_blocks_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=736;
-	ptr_struct->fc_fec_uncorrectable_blocks_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=768;
-	ptr_struct->fc_fec_uncorrectable_blocks_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=800;
-	ptr_struct->fc_fec_uncorrectable_blocks_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=832;
-	ptr_struct->fc_fec_uncorrectable_blocks_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 26;
+	ptr_struct->llr_wait_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=864;
-	ptr_struct->fc_fec_uncorrectable_blocks_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 25;
+	ptr_struct->spec1_3_ignore_peer_tx_req = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=896;
-	ptr_struct->fc_fec_uncorrectable_blocks_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->qdr_tx_aggressor_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=928;
-	ptr_struct->fc_fec_uncorrectable_blocks_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 23;
+	ptr_struct->equal_req_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=960;
-	ptr_struct->rs_fec_corrected_blocks_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 21;
+	ptr_struct->ts3_fcu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=992;
-	ptr_struct->rs_fec_corrected_blocks_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 20;
+	ptr_struct->ts3_hbr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1024;
-	ptr_struct->rs_fec_uncorrectable_blocks_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 19;
+	ptr_struct->ts3_sct = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1056;
-	ptr_struct->rs_fec_uncorrectable_blocks_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 18;
+	ptr_struct->ts3_tp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1088;
-	ptr_struct->rs_fec_no_errors_blocks_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 17;
+	ptr_struct->ts3_mpr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1120;
-	ptr_struct->rs_fec_no_errors_blocks_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->ts3_ft = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1152;
-	ptr_struct->rs_fec_single_error_blocks_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 11;
+	ptr_struct->min_ib_grade = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=1184;
-	ptr_struct->rs_fec_single_error_blocks_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 7;
+	ptr_struct->tx_polarity_port0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=1216;
-	ptr_struct->rs_fec_corrected_symbols_total_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 3;
+	ptr_struct->tx_polarity_port1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=1248;
-	ptr_struct->rs_fec_corrected_symbols_total_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 1;
+	ptr_struct->Mloop_en_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=1280;
-	ptr_struct->rs_fec_corrected_symbols_lane0_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 768, 1);
+	connectib_ib_ini_per_lcl_ini_unpack(&(ptr_struct->lcl[i]), ptr_buff + offset/8);
+	}
 
-	offset=1312;
-	ptr_struct->rs_fec_corrected_symbols_lane0_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 121;
+	ptr_struct->retry_counter_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=1344;
-	ptr_struct->rs_fec_corrected_symbols_lane1_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 113;
+	ptr_struct->time_2_clear_err_after_linkup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=1376;
-	ptr_struct->rs_fec_corrected_symbols_lane1_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	connectib_spec1_3_preset_ini_unpack(&(ptr_struct->spec1_3_preset), ptr_buff + offset/8);
 
-	offset=1408;
-	ptr_struct->rs_fec_corrected_symbols_lane2_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 767;
+	ptr_struct->disable_llr_on_long_optic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1440;
-	ptr_struct->rs_fec_corrected_symbols_lane2_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 760;
+	ptr_struct->llr_max_cable_length = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=1472;
-	ptr_struct->rs_fec_corrected_symbols_lane3_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 759;
+	ptr_struct->terminate_pkt_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1504;
-	ptr_struct->rs_fec_corrected_symbols_lane3_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 758;
+	ptr_struct->llr_rx_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1536;
-	ptr_struct->link_down_events = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 757;
+	ptr_struct->enable_fec_on_long_optic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1568;
-	ptr_struct->successful_recovery_events = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 750;
+	ptr_struct->fec_min_cable_length = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
 }
 
-void connectib_phys_layer_cntrs_print(const struct connectib_phys_layer_cntrs *ptr_struct, FILE* file, int indent_level){
+void connectib_ib_ini_ini_print(const struct connectib_ib_ini_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_phys_layer_cntrs ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ib_ini_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "time_since_last_clear_high : "U32H_FMT"\n", ptr_struct->time_since_last_clear_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "time_since_last_clear_low : "U32H_FMT"\n", ptr_struct->time_since_last_clear_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "symbol_errors_high   : "U32H_FMT"\n", ptr_struct->symbol_errors_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "symbol_errors_low    : "U32H_FMT"\n", ptr_struct->symbol_errors_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sync_headers_errors_high : "U32H_FMT"\n", ptr_struct->sync_headers_errors_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sync_headers_errors_low : "U32H_FMT"\n", ptr_struct->sync_headers_errors_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edpl_bip_errors_lane0_high : "U32H_FMT"\n", ptr_struct->edpl_bip_errors_lane0_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edpl_bip_errors_lane0_low : "U32H_FMT"\n", ptr_struct->edpl_bip_errors_lane0_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edpl_bip_errors_lane1_high : "U32H_FMT"\n", ptr_struct->edpl_bip_errors_lane1_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edpl_bip_errors_lane1_low : "U32H_FMT"\n", ptr_struct->edpl_bip_errors_lane1_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edpl_bip_errors_lane2_high : "U32H_FMT"\n", ptr_struct->edpl_bip_errors_lane2_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edpl_bip_errors_lane2_low : "U32H_FMT"\n", ptr_struct->edpl_bip_errors_lane2_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edpl_bip_errors_lane3_high : "U32H_FMT"\n", ptr_struct->edpl_bip_errors_lane3_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "edpl_bip_errors_lane3_low : "U32H_FMT"\n", ptr_struct->edpl_bip_errors_lane3_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_corrected_blocks_lane0_high : "U32H_FMT"\n", ptr_struct->fc_fec_corrected_blocks_lane0_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_corrected_blocks_lane0_low : "U32H_FMT"\n", ptr_struct->fc_fec_corrected_blocks_lane0_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_corrected_blocks_lane1_high : "U32H_FMT"\n", ptr_struct->fc_fec_corrected_blocks_lane1_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_corrected_blocks_lane1_low : "U32H_FMT"\n", ptr_struct->fc_fec_corrected_blocks_lane1_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_corrected_blocks_lane2_high : "U32H_FMT"\n", ptr_struct->fc_fec_corrected_blocks_lane2_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_corrected_blocks_lane2_low : "U32H_FMT"\n", ptr_struct->fc_fec_corrected_blocks_lane2_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_corrected_blocks_lane3_high : "U32H_FMT"\n", ptr_struct->fc_fec_corrected_blocks_lane3_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_corrected_blocks_lane3_low : "U32H_FMT"\n", ptr_struct->fc_fec_corrected_blocks_lane3_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_uncorrectable_blocks_lane0_high : "U32H_FMT"\n", ptr_struct->fc_fec_uncorrectable_blocks_lane0_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_uncorrectable_blocks_lane0_low : "U32H_FMT"\n", ptr_struct->fc_fec_uncorrectable_blocks_lane0_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_uncorrectable_blocks_lane1_high : "U32H_FMT"\n", ptr_struct->fc_fec_uncorrectable_blocks_lane1_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_uncorrectable_blocks_lane1_low : "U32H_FMT"\n", ptr_struct->fc_fec_uncorrectable_blocks_lane1_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_uncorrectable_blocks_lane2_high : "U32H_FMT"\n", ptr_struct->fc_fec_uncorrectable_blocks_lane2_high);
+	fprintf(file, "llr_wait_time        : " UH_FMT "\n", ptr_struct->llr_wait_time);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_uncorrectable_blocks_lane2_low : "U32H_FMT"\n", ptr_struct->fc_fec_uncorrectable_blocks_lane2_low);
+	fprintf(file, "spec1_3_ignore_peer_tx_req : " UH_FMT "\n", ptr_struct->spec1_3_ignore_peer_tx_req);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_uncorrectable_blocks_lane3_high : "U32H_FMT"\n", ptr_struct->fc_fec_uncorrectable_blocks_lane3_high);
+	fprintf(file, "qdr_tx_aggressor_en  : " UH_FMT "\n", ptr_struct->qdr_tx_aggressor_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc_fec_uncorrectable_blocks_lane3_low : "U32H_FMT"\n", ptr_struct->fc_fec_uncorrectable_blocks_lane3_low);
+	fprintf(file, "equal_req_en         : " UH_FMT "\n", ptr_struct->equal_req_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_blocks_high : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_blocks_high);
+	fprintf(file, "ts3_fcu              : " UH_FMT "\n", ptr_struct->ts3_fcu);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_blocks_low : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_blocks_low);
+	fprintf(file, "ts3_hbr              : " UH_FMT "\n", ptr_struct->ts3_hbr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_uncorrectable_blocks_high : "U32H_FMT"\n", ptr_struct->rs_fec_uncorrectable_blocks_high);
+	fprintf(file, "ts3_sct              : " UH_FMT "\n", ptr_struct->ts3_sct);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_uncorrectable_blocks_low : "U32H_FMT"\n", ptr_struct->rs_fec_uncorrectable_blocks_low);
+	fprintf(file, "ts3_tp               : " UH_FMT "\n", ptr_struct->ts3_tp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_no_errors_blocks_high : "U32H_FMT"\n", ptr_struct->rs_fec_no_errors_blocks_high);
+	fprintf(file, "ts3_mpr              : " UH_FMT "\n", ptr_struct->ts3_mpr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_no_errors_blocks_low : "U32H_FMT"\n", ptr_struct->rs_fec_no_errors_blocks_low);
+	fprintf(file, "ts3_ft               : " UH_FMT "\n", ptr_struct->ts3_ft);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_single_error_blocks_high : "U32H_FMT"\n", ptr_struct->rs_fec_single_error_blocks_high);
+	fprintf(file, "min_ib_grade         : " UH_FMT "\n", ptr_struct->min_ib_grade);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_single_error_blocks_low : "U32H_FMT"\n", ptr_struct->rs_fec_single_error_blocks_low);
+	fprintf(file, "tx_polarity_port0    : " UH_FMT "\n", ptr_struct->tx_polarity_port0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_total_high : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_total_high);
+	fprintf(file, "tx_polarity_port1    : " UH_FMT "\n", ptr_struct->tx_polarity_port1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_total_low : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_total_low);
+	fprintf(file, "Mloop_en_mask        : " UH_FMT "\n", ptr_struct->Mloop_en_mask);
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_lane0_high : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_lane0_high);
+	fprintf(file, "lcl_%03d:\n", i);
+	connectib_ib_ini_per_lcl_ini_print(&(ptr_struct->lcl[i]), file, indent_level + 1);
+	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_lane0_low : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_lane0_low);
+	fprintf(file, "retry_counter_threshold : " UH_FMT "\n", ptr_struct->retry_counter_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_lane1_high : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_lane1_high);
+	fprintf(file, "time_2_clear_err_after_linkup : " UH_FMT "\n", ptr_struct->time_2_clear_err_after_linkup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_lane1_low : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_lane1_low);
+	fprintf(file, "spec1_3_preset:\n");
+	connectib_spec1_3_preset_ini_print(&(ptr_struct->spec1_3_preset), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_lane2_high : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_lane2_high);
+	fprintf(file, "disable_llr_on_long_optic : " UH_FMT "\n", ptr_struct->disable_llr_on_long_optic);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_lane2_low : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_lane2_low);
+	fprintf(file, "llr_max_cable_length : " UH_FMT "\n", ptr_struct->llr_max_cable_length);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_lane3_high : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_lane3_high);
+	fprintf(file, "terminate_pkt_timeout : " UH_FMT "\n", ptr_struct->terminate_pkt_timeout);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rs_fec_corrected_symbols_lane3_low : "U32H_FMT"\n", ptr_struct->rs_fec_corrected_symbols_lane3_low);
+	fprintf(file, "llr_rx_check_en      : " UH_FMT "\n", ptr_struct->llr_rx_check_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_down_events     : "U32H_FMT"\n", ptr_struct->link_down_events);
+	fprintf(file, "enable_fec_on_long_optic : " UH_FMT "\n", ptr_struct->enable_fec_on_long_optic);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "successful_recovery_events : "U32H_FMT"\n", ptr_struct->successful_recovery_events);
+	fprintf(file, "fec_min_cable_length : " UH_FMT "\n", ptr_struct->fec_min_cable_length);
 
 }
 
-int connectib_phys_layer_cntrs_size(void){
-	 return 200;
+int connectib_ib_ini_ini_size(void)
+{
+	 return 96;
 }
 
-void connectib_phys_layer_cntrs_dump(const struct connectib_phys_layer_cntrs *ptr_struct, FILE* file) {
-	connectib_phys_layer_cntrs_print(ptr_struct, file, 0);
+void connectib_ib_ini_ini_dump(const struct connectib_ib_ini_ini *ptr_struct, FILE* file)
+{
+	connectib_ib_ini_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_per_traffic_grp_data_layout_pack(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, u_int8_t* ptr_buff){
+void connectib_PORT_PHY_ini_pack(const struct connectib_PORT_PHY_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->transmit_queue_high);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->transmit_queue_low);
+	offset = 0;
+	connectib_serdes_param_mask_ini_pack(&(ptr_struct->serdes_param_mask), ptr_buff + offset/8);
 
 }
 
-void connectib_eth_per_traffic_grp_data_layout_unpack(struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_PORT_PHY_ini_unpack(struct connectib_PORT_PHY_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->transmit_queue_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->transmit_queue_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_serdes_param_mask_ini_unpack(&(ptr_struct->serdes_param_mask), ptr_buff + offset/8);
 
 }
 
-void connectib_eth_per_traffic_grp_data_layout_print(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, FILE* file, int indent_level){
+void connectib_PORT_PHY_ini_print(const struct connectib_PORT_PHY_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_eth_per_traffic_grp_data_layout ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_PORT_PHY_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "transmit_queue_high  : "U32H_FMT"\n", ptr_struct->transmit_queue_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "transmit_queue_low   : "U32H_FMT"\n", ptr_struct->transmit_queue_low);
+	fprintf(file, "serdes_param_mask:\n");
+	connectib_serdes_param_mask_ini_print(&(ptr_struct->serdes_param_mask), file, indent_level + 1);
 
 }
 
-int connectib_eth_per_traffic_grp_data_layout_size(void){
-	 return 248;
+int connectib_PORT_PHY_ini_size(void)
+{
+	 return 16;
 }
 
-void connectib_eth_per_traffic_grp_data_layout_dump(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, FILE* file) {
-	connectib_eth_per_traffic_grp_data_layout_print(ptr_struct, file, 0);
+void connectib_PORT_PHY_ini_dump(const struct connectib_PORT_PHY_ini *ptr_struct, FILE* file)
+{
+	connectib_PORT_PHY_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_per_prio_grp_data_layout_pack(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_tlv_data_vpi_settings_pack(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_octets_high);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_octets_low);
-
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_frames_high);
-
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_frames_low);
-
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tx_octets_high);
-
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tx_octets_low);
-
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tx_frames_high);
-
-	offset=608;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tx_frames_low);
-
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_pause_high);
-
-	offset=672;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_pause_low);
-
-	offset=704;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_pause_duration_high);
-
-	offset=736;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_pause_duration_low);
-
-	offset=768;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tx_pause_high);
-
-	offset=800;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tx_pause_low);
-
-	offset=832;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tx_pause_duration_high);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->network_link_type_ib);
 
-	offset=864;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tx_pause_duration_low);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->network_link_type_eth);
 
-	offset=896;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_pause_transition_high);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->default_link_type_ib);
 
-	offset=928;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rx_pause_transition_low);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->default_link_type_eth);
 
 }
 
-void connectib_eth_per_prio_grp_data_layout_unpack(struct connectib_eth_per_prio_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_tlv_data_vpi_settings_unpack(struct connectib_nv_tlv_data_vpi_settings *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->rx_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->rx_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=256;
-	ptr_struct->rx_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=288;
-	ptr_struct->rx_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=320;
-	ptr_struct->tx_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=352;
-	ptr_struct->tx_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=576;
-	ptr_struct->tx_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=608;
-	ptr_struct->tx_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=640;
-	ptr_struct->rx_pause_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=672;
-	ptr_struct->rx_pause_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=704;
-	ptr_struct->rx_pause_duration_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=736;
-	ptr_struct->rx_pause_duration_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=768;
-	ptr_struct->tx_pause_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=800;
-	ptr_struct->tx_pause_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=832;
-	ptr_struct->tx_pause_duration_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 31;
+	ptr_struct->network_link_type_ib = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=864;
-	ptr_struct->tx_pause_duration_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 30;
+	ptr_struct->network_link_type_eth = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=896;
-	ptr_struct->rx_pause_transition_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 29;
+	ptr_struct->default_link_type_ib = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=928;
-	ptr_struct->rx_pause_transition_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 28;
+	ptr_struct->default_link_type_eth = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_eth_per_prio_grp_data_layout_print(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_tlv_data_vpi_settings_print(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_eth_per_prio_grp_data_layout ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_tlv_data_vpi_settings ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_octets_high       : "U32H_FMT"\n", ptr_struct->rx_octets_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_octets_low        : "U32H_FMT"\n", ptr_struct->rx_octets_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_frames_high       : "U32H_FMT"\n", ptr_struct->rx_frames_high);
+	fprintf(file, "network_link_type_ib : " UH_FMT "\n", ptr_struct->network_link_type_ib);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_frames_low        : "U32H_FMT"\n", ptr_struct->rx_frames_low);
+	fprintf(file, "network_link_type_eth : " UH_FMT "\n", ptr_struct->network_link_type_eth);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_octets_high       : "U32H_FMT"\n", ptr_struct->tx_octets_high);
+	fprintf(file, "default_link_type_ib : " UH_FMT "\n", ptr_struct->default_link_type_ib);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_octets_low        : "U32H_FMT"\n", ptr_struct->tx_octets_low);
+	fprintf(file, "default_link_type_eth : " UH_FMT "\n", ptr_struct->default_link_type_eth);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_frames_high       : "U32H_FMT"\n", ptr_struct->tx_frames_high);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_frames_low        : "U32H_FMT"\n", ptr_struct->tx_frames_low);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_pause_high        : "U32H_FMT"\n", ptr_struct->rx_pause_high);
+int connectib_nv_tlv_data_vpi_settings_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_pause_low         : "U32H_FMT"\n", ptr_struct->rx_pause_low);
+void connectib_nv_tlv_data_vpi_settings_dump(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, FILE* file)
+{
+	connectib_nv_tlv_data_vpi_settings_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_pause_duration_high : "U32H_FMT"\n", ptr_struct->rx_pause_duration_high);
+void connectib_nv_config_kdnet_data_pack(const struct connectib_nv_config_kdnet_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_pause_duration_low : "U32H_FMT"\n", ptr_struct->rx_pause_duration_low);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->kdnet_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_pause_high        : "U32H_FMT"\n", ptr_struct->tx_pause_high);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_pause_low         : "U32H_FMT"\n", ptr_struct->tx_pause_low);
+void connectib_nv_config_kdnet_data_unpack(struct connectib_nv_config_kdnet_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_pause_duration_high : "U32H_FMT"\n", ptr_struct->tx_pause_duration_high);
+	offset = 0;
+	ptr_struct->kdnet_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_pause_duration_low : "U32H_FMT"\n", ptr_struct->tx_pause_duration_low);
+}
 
+void connectib_nv_config_kdnet_data_print(const struct connectib_nv_config_kdnet_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_pause_transition_high : "U32H_FMT"\n", ptr_struct->rx_pause_transition_high);
+	fprintf(file, "======== connectib_nv_config_kdnet_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_pause_transition_low : "U32H_FMT"\n", ptr_struct->rx_pause_transition_low);
+	fprintf(file, "kdnet_en             : " UH_FMT "\n", ptr_struct->kdnet_en);
 
 }
 
-int connectib_eth_per_prio_grp_data_layout_size(void){
-	 return 248;
+int connectib_nv_config_kdnet_data_size(void)
+{
+	 return 4;
 }
 
-void connectib_eth_per_prio_grp_data_layout_dump(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, FILE* file) {
-	connectib_eth_per_prio_grp_data_layout_print(ptr_struct, file, 0);
+void connectib_nv_config_kdnet_data_dump(const struct connectib_nv_config_kdnet_data *ptr_struct, FILE* file)
+{
+	connectib_nv_config_kdnet_data_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_extended_cntrs_grp_data_layout_pack(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_tpt_pack(const struct connectib_nv_config_tpt *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_transmit_wait_high);
+	offset = 0;
+	connectib_nv_tpt_conf_pack(&(ptr_struct->settings), ptr_buff + offset/8);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_transmit_wait_low);
+	offset = 32;
+	connectib_nv_tlv_data_tpt_capabilities_pack(&(ptr_struct->capabilities), ptr_buff + offset/8);
 
 }
 
-void connectib_eth_extended_cntrs_grp_data_layout_unpack(struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_config_tpt_unpack(struct connectib_nv_config_tpt *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->port_transmit_wait_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_nv_tpt_conf_unpack(&(ptr_struct->settings), ptr_buff + offset/8);
 
-	offset=32;
-	ptr_struct->port_transmit_wait_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_nv_tlv_data_tpt_capabilities_unpack(&(ptr_struct->capabilities), ptr_buff + offset/8);
 
 }
 
-void connectib_eth_extended_cntrs_grp_data_layout_print(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_config_tpt_print(const struct connectib_nv_config_tpt *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_eth_extended_cntrs_grp_data_layout ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_config_tpt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_transmit_wait_high : "U32H_FMT"\n", ptr_struct->port_transmit_wait_high);
+	fprintf(file, "settings:\n");
+	connectib_nv_tpt_conf_print(&(ptr_struct->settings), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_transmit_wait_low : "U32H_FMT"\n", ptr_struct->port_transmit_wait_low);
+	fprintf(file, "capabilities:\n");
+	connectib_nv_tlv_data_tpt_capabilities_print(&(ptr_struct->capabilities), file, indent_level + 1);
 
 }
 
-int connectib_eth_extended_cntrs_grp_data_layout_size(void){
-	 return 248;
+int connectib_nv_config_tpt_size(void)
+{
+	 return 8;
 }
 
-void connectib_eth_extended_cntrs_grp_data_layout_dump(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, FILE* file) {
-	connectib_eth_extended_cntrs_grp_data_layout_print(ptr_struct, file, 0);
+void connectib_nv_config_tpt_dump(const struct connectib_nv_config_tpt *ptr_struct, FILE* file)
+{
+	connectib_nv_config_tpt_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_3635_cntrs_grp_data_layout_pack(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_pci_pack(const struct connectib_nv_config_pci *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_alignment_errors_high);
+	offset = 0;
+	connectib_nv_global_pci_conf_pack(&(ptr_struct->settings), ptr_buff + offset/8);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_alignment_errors_low);
+	offset = 96;
+	connectib_nv_global_pci_cap_pack(&(ptr_struct->capabilities), ptr_buff + offset/8);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_fcs_errors_high);
+}
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_fcs_errors_low);
+void connectib_nv_config_pci_unpack(struct connectib_nv_config_pci *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_single_collision_frames_high);
+	offset = 0;
+	connectib_nv_global_pci_conf_unpack(&(ptr_struct->settings), ptr_buff + offset/8);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_single_collision_frames_low);
+	offset = 96;
+	connectib_nv_global_pci_cap_unpack(&(ptr_struct->capabilities), ptr_buff + offset/8);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_multiple_collision_frames_high);
+}
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_multiple_collision_frames_low);
+void connectib_nv_config_pci_print(const struct connectib_nv_config_pci *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_config_pci ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_sqe_test_errors_high);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "settings:\n");
+	connectib_nv_global_pci_conf_print(&(ptr_struct->settings), file, indent_level + 1);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_sqe_test_errors_low);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "capabilities:\n");
+	connectib_nv_global_pci_cap_print(&(ptr_struct->capabilities), file, indent_level + 1);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_deferred_transmissions_high);
+}
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_deferred_transmissions_low);
+int connectib_nv_config_pci_size(void)
+{
+	 return 32;
+}
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_late_collisions_high);
+void connectib_nv_config_pci_dump(const struct connectib_nv_config_pci *ptr_struct, FILE* file)
+{
+	connectib_nv_config_pci_print(ptr_struct, file, 0);
+}
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_late_collisions_low);
+void connectib_acs_ext_cap_pack(const struct connectib_acs_ext_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_excessive_collisions_high);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_excessive_collisions_low);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_internal_mac_transmit_errors_high);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
 
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_internal_mac_transmit_errors_low);
+	offset = 32;
+	connectib_pcie_acs_ctrl_fields_pack(&(ptr_struct->acs_ctrl_fields), ptr_buff + offset/8);
 
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_carrier_sense_errors_high);
+}
 
-	offset=608;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_carrier_sense_errors_low);
+void connectib_acs_ext_cap_unpack(struct connectib_acs_ext_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_frame_too_longs_high);
+	offset = 16;
+	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=672;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_frame_too_longs_low);
+	offset = 12;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=704;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_internal_mac_receive_errors_high);
+	offset = 0;
+	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=736;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_internal_mac_receive_errors_low);
+	offset = 32;
+	connectib_pcie_acs_ctrl_fields_unpack(&(ptr_struct->acs_ctrl_fields), ptr_buff + offset/8);
 
-	offset=768;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_symbol_errors_high);
+}
 
-	offset=800;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3stats_symbol_errors_low);
+void connectib_acs_ext_cap_print(const struct connectib_acs_ext_cap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_acs_ext_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=832;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3control_in_unknown_opcodes_high);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_id               : " UH_FMT "\n", ptr_struct->cap_id);
 
-	offset=864;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3control_in_unknown_opcodes_low);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
-	offset=896;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3in_pause_frames_high);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
-	offset=928;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3in_pause_frames_low);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "acs_ctrl_fields:\n");
+	connectib_pcie_acs_ctrl_fields_print(&(ptr_struct->acs_ctrl_fields), file, indent_level + 1);
 
-	offset=960;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3out_pause_frames_high);
+}
 
-	offset=992;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dot3out_pause_frames_low);
+int connectib_acs_ext_cap_size(void)
+{
+	 return 8;
+}
 
+void connectib_acs_ext_cap_dump(const struct connectib_acs_ext_cap *ptr_struct, FILE* file)
+{
+	connectib_acs_ext_cap_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_3635_cntrs_grp_data_layout_unpack(struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_advanced_error_reporting_pack(const struct connectib_advanced_error_reporting *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->dot3stats_alignment_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->dot3stats_alignment_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->dot3stats_fcs_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=96;
-	ptr_struct->dot3stats_fcs_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=128;
-	ptr_struct->dot3stats_single_collision_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=160;
-	ptr_struct->dot3stats_single_collision_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=192;
-	ptr_struct->dot3stats_multiple_collision_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=224;
-	ptr_struct->dot3stats_multiple_collision_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=256;
-	ptr_struct->dot3stats_sqe_test_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=288;
-	ptr_struct->dot3stats_sqe_test_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=320;
-	ptr_struct->dot3stats_deferred_transmissions_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
 
-	offset=352;
-	ptr_struct->dot3stats_deferred_transmissions_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
-	offset=384;
-	ptr_struct->dot3stats_late_collisions_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
 
-	offset=416;
-	ptr_struct->dot3stats_late_collisions_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_uncorrectable_error_status_pack(&(ptr_struct->uncorrectable_error_status), ptr_buff + offset/8);
 
-	offset=448;
-	ptr_struct->dot3stats_excessive_collisions_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	connectib_uncorrectable_error_mask_pack(&(ptr_struct->uncorrectable_error_mask), ptr_buff + offset/8);
 
-	offset=480;
-	ptr_struct->dot3stats_excessive_collisions_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	connectib_uncorrectable_error_severity_pack(&(ptr_struct->uncorrectable_error_severity), ptr_buff + offset/8);
 
-	offset=512;
-	ptr_struct->dot3stats_internal_mac_transmit_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	connectib_correctable_error_status_pack(&(ptr_struct->correctable_error_status), ptr_buff + offset/8);
 
-	offset=544;
-	ptr_struct->dot3stats_internal_mac_transmit_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	connectib_correctable_error_mask_pack(&(ptr_struct->correctable_error_mask), ptr_buff + offset/8);
 
-	offset=576;
-	ptr_struct->dot3stats_carrier_sense_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	connectib_advanced_error_cap_ctl_pack(&(ptr_struct->advanced_error_cap_ctl), ptr_buff + offset/8);
 
-	offset=608;
-	ptr_struct->dot3stats_carrier_sense_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	connectib_header_log_pack(&(ptr_struct->header_log), ptr_buff + offset/8);
 
-	offset=640;
-	ptr_struct->dot3stats_frame_too_longs_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=672;
-	ptr_struct->dot3stats_frame_too_longs_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_advanced_error_reporting_unpack(struct connectib_advanced_error_reporting *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=704;
-	ptr_struct->dot3stats_internal_mac_receive_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=736;
-	ptr_struct->dot3stats_internal_mac_receive_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 12;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=768;
-	ptr_struct->dot3stats_symbol_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=800;
-	ptr_struct->dot3stats_symbol_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_uncorrectable_error_status_unpack(&(ptr_struct->uncorrectable_error_status), ptr_buff + offset/8);
 
-	offset=832;
-	ptr_struct->dot3control_in_unknown_opcodes_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	connectib_uncorrectable_error_mask_unpack(&(ptr_struct->uncorrectable_error_mask), ptr_buff + offset/8);
 
-	offset=864;
-	ptr_struct->dot3control_in_unknown_opcodes_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	connectib_uncorrectable_error_severity_unpack(&(ptr_struct->uncorrectable_error_severity), ptr_buff + offset/8);
 
-	offset=896;
-	ptr_struct->dot3in_pause_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	connectib_correctable_error_status_unpack(&(ptr_struct->correctable_error_status), ptr_buff + offset/8);
 
-	offset=928;
-	ptr_struct->dot3in_pause_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	connectib_correctable_error_mask_unpack(&(ptr_struct->correctable_error_mask), ptr_buff + offset/8);
 
-	offset=960;
-	ptr_struct->dot3out_pause_frames_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	connectib_advanced_error_cap_ctl_unpack(&(ptr_struct->advanced_error_cap_ctl), ptr_buff + offset/8);
 
-	offset=992;
-	ptr_struct->dot3out_pause_frames_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	connectib_header_log_unpack(&(ptr_struct->header_log), ptr_buff + offset/8);
 
 }
 
-void connectib_eth_3635_cntrs_grp_data_layout_print(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level){
+void connectib_advanced_error_reporting_print(const struct connectib_advanced_error_reporting *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_eth_3635_cntrs_grp_data_layout ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_advanced_error_reporting ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_alignment_errors_high : "U32H_FMT"\n", ptr_struct->dot3stats_alignment_errors_high);
+	fprintf(file, "cap_id               : " UH_FMT "\n", ptr_struct->cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_alignment_errors_low : "U32H_FMT"\n", ptr_struct->dot3stats_alignment_errors_low);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_fcs_errors_high : "U32H_FMT"\n", ptr_struct->dot3stats_fcs_errors_high);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_fcs_errors_low : "U32H_FMT"\n", ptr_struct->dot3stats_fcs_errors_low);
+	fprintf(file, "uncorrectable_error_status:\n");
+	connectib_uncorrectable_error_status_print(&(ptr_struct->uncorrectable_error_status), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_single_collision_frames_high : "U32H_FMT"\n", ptr_struct->dot3stats_single_collision_frames_high);
+	fprintf(file, "uncorrectable_error_mask:\n");
+	connectib_uncorrectable_error_mask_print(&(ptr_struct->uncorrectable_error_mask), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_single_collision_frames_low : "U32H_FMT"\n", ptr_struct->dot3stats_single_collision_frames_low);
+	fprintf(file, "uncorrectable_error_severity:\n");
+	connectib_uncorrectable_error_severity_print(&(ptr_struct->uncorrectable_error_severity), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_multiple_collision_frames_high : "U32H_FMT"\n", ptr_struct->dot3stats_multiple_collision_frames_high);
+	fprintf(file, "correctable_error_status:\n");
+	connectib_correctable_error_status_print(&(ptr_struct->correctable_error_status), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_multiple_collision_frames_low : "U32H_FMT"\n", ptr_struct->dot3stats_multiple_collision_frames_low);
+	fprintf(file, "correctable_error_mask:\n");
+	connectib_correctable_error_mask_print(&(ptr_struct->correctable_error_mask), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_sqe_test_errors_high : "U32H_FMT"\n", ptr_struct->dot3stats_sqe_test_errors_high);
+	fprintf(file, "advanced_error_cap_ctl:\n");
+	connectib_advanced_error_cap_ctl_print(&(ptr_struct->advanced_error_cap_ctl), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_sqe_test_errors_low : "U32H_FMT"\n", ptr_struct->dot3stats_sqe_test_errors_low);
+	fprintf(file, "header_log:\n");
+	connectib_header_log_print(&(ptr_struct->header_log), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_deferred_transmissions_high : "U32H_FMT"\n", ptr_struct->dot3stats_deferred_transmissions_high);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_deferred_transmissions_low : "U32H_FMT"\n", ptr_struct->dot3stats_deferred_transmissions_low);
+int connectib_advanced_error_reporting_size(void)
+{
+	 return 56;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_late_collisions_high : "U32H_FMT"\n", ptr_struct->dot3stats_late_collisions_high);
+void connectib_advanced_error_reporting_dump(const struct connectib_advanced_error_reporting *ptr_struct, FILE* file)
+{
+	connectib_advanced_error_reporting_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_late_collisions_low : "U32H_FMT"\n", ptr_struct->dot3stats_late_collisions_low);
+void connectib_dev_serial_num_cap_pack(const struct connectib_dev_serial_num_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_excessive_collisions_high : "U32H_FMT"\n", ptr_struct->dot3stats_excessive_collisions_high);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_excessive_collisions_low : "U32H_FMT"\n", ptr_struct->dot3stats_excessive_collisions_low);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_internal_mac_transmit_errors_high : "U32H_FMT"\n", ptr_struct->dot3stats_internal_mac_transmit_errors_high);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_internal_mac_transmit_errors_low : "U32H_FMT"\n", ptr_struct->dot3stats_internal_mac_transmit_errors_low);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->serial_number_31_0);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_carrier_sense_errors_high : "U32H_FMT"\n", ptr_struct->dot3stats_carrier_sense_errors_high);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->serial_number_63_32);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_carrier_sense_errors_low : "U32H_FMT"\n", ptr_struct->dot3stats_carrier_sense_errors_low);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_frame_too_longs_high : "U32H_FMT"\n", ptr_struct->dot3stats_frame_too_longs_high);
+void connectib_dev_serial_num_cap_unpack(struct connectib_dev_serial_num_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_frame_too_longs_low : "U32H_FMT"\n", ptr_struct->dot3stats_frame_too_longs_low);
+	offset = 16;
+	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_internal_mac_receive_errors_high : "U32H_FMT"\n", ptr_struct->dot3stats_internal_mac_receive_errors_high);
+	offset = 12;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_internal_mac_receive_errors_low : "U32H_FMT"\n", ptr_struct->dot3stats_internal_mac_receive_errors_low);
+	offset = 0;
+	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_symbol_errors_high : "U32H_FMT"\n", ptr_struct->dot3stats_symbol_errors_high);
+	offset = 32;
+	ptr_struct->serial_number_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3stats_symbol_errors_low : "U32H_FMT"\n", ptr_struct->dot3stats_symbol_errors_low);
+	offset = 64;
+	ptr_struct->serial_number_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
 
+void connectib_dev_serial_num_cap_print(const struct connectib_dev_serial_num_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3control_in_unknown_opcodes_high : "U32H_FMT"\n", ptr_struct->dot3control_in_unknown_opcodes_high);
+	fprintf(file, "======== connectib_dev_serial_num_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3control_in_unknown_opcodes_low : "U32H_FMT"\n", ptr_struct->dot3control_in_unknown_opcodes_low);
+	fprintf(file, "cap_id               : " UH_FMT "\n", ptr_struct->cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3in_pause_frames_high : "U32H_FMT"\n", ptr_struct->dot3in_pause_frames_high);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3in_pause_frames_low : "U32H_FMT"\n", ptr_struct->dot3in_pause_frames_low);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3out_pause_frames_high : "U32H_FMT"\n", ptr_struct->dot3out_pause_frames_high);
+	fprintf(file, "serial_number_31_0   : " U32H_FMT "\n", ptr_struct->serial_number_31_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dot3out_pause_frames_low : "U32H_FMT"\n", ptr_struct->dot3out_pause_frames_low);
+	fprintf(file, "serial_number_63_32  : " U32H_FMT "\n", ptr_struct->serial_number_63_32);
 
 }
 
-int connectib_eth_3635_cntrs_grp_data_layout_size(void){
-	 return 248;
+int connectib_dev_serial_num_cap_size(void)
+{
+	 return 12;
 }
 
-void connectib_eth_3635_cntrs_grp_data_layout_dump(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, FILE* file) {
-	connectib_eth_3635_cntrs_grp_data_layout_print(ptr_struct, file, 0);
+void connectib_dev_serial_num_cap_dump(const struct connectib_dev_serial_num_cap *ptr_struct, FILE* file)
+{
+	connectib_dev_serial_num_cap_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_2819_cntrs_grp_data_layout_pack(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sriov_cap_pack(const struct connectib_sriov_cap *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_drop_events_high);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_drop_events_low);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_octets_high);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_octets_low);
-
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts_high);
-
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts_low);
-
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_broadcast_pkts_high);
-
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_broadcast_pkts_low);
-
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_multicast_pkts_high);
-
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_multicast_pkts_low);
-
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_crc_align_errors_high);
-
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_crc_align_errors_low);
-
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_undersize_pkts_high);
-
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_undersize_pkts_low);
-
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_oversize_pkts_high);
-
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_oversize_pkts_low);
-
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_fragments_high);
-
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_fragments_low);
-
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_jabbers_high);
-
-	offset=608;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_jabbers_low);
-
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_collisions_high);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
 
-	offset=672;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_collisions_low);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
-	offset=704;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts64octets_high);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
 
-	offset=736;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts64octets_low);
+	offset = 32;
+	connectib_sriov_capabilities_pack(&(ptr_struct->capabilities), ptr_buff + offset/8);
 
-	offset=768;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts65to127octets_high);
+	offset = 80;
+	connectib_sriov_control_pack(&(ptr_struct->ctrl), ptr_buff + offset/8);
 
-	offset=800;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts65to127octets_low);
+	offset = 64;
+	connectib_sriov_status_pack(&(ptr_struct->status), ptr_buff + offset/8);
 
-	offset=832;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts128to255octets_high);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->initial_vfs);
 
-	offset=864;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts128to255octets_low);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->total_vfs);
 
-	offset=896;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts256to511octets_high);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_vfs);
 
-	offset=928;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts256to511octets_low);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->func_dependency_link);
 
-	offset=960;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts512to1023octets_high);
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->first_vf_offset);
 
-	offset=992;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts512to1023octets_low);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vf_stride);
 
-	offset=1024;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts1024to1518octets_high);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vf_device_id);
 
-	offset=1056;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts1024to1518octets_low);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->supported_page_sizes);
 
-	offset=1088;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts1519to2047octets_high);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->system_page_size);
 
-	offset=1120;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts1519to2047octets_low);
+	offset = 288;
+	connectib_bar_low_pack(&(ptr_struct->vf_bar0), ptr_buff + offset/8);
 
-	offset=1152;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts2048to4095octets_high);
+	offset = 320;
+	connectib_bar_high_pack(&(ptr_struct->vf_bar1), ptr_buff + offset/8);
 
-	offset=1184;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts2048to4095octets_low);
+	offset = 352;
+	connectib_bar_low_pack(&(ptr_struct->vf_bar2), ptr_buff + offset/8);
 
-	offset=1216;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts4096to8191octets_high);
+	offset = 384;
+	connectib_bar_high_pack(&(ptr_struct->vf_bar3), ptr_buff + offset/8);
 
-	offset=1248;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts4096to8191octets_low);
+	offset = 416;
+	connectib_bar_low_pack(&(ptr_struct->vf_bar4), ptr_buff + offset/8);
 
-	offset=1280;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts8192to10239octets_high);
+	offset = 448;
+	connectib_bar_high_pack(&(ptr_struct->vf_bar5), ptr_buff + offset/8);
 
-	offset=1312;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ether_stats_pkts8192to10239octets_low);
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vf_migstate_arrayofst);
 
 }
 
-void connectib_eth_2819_cntrs_grp_data_layout_unpack(struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sriov_cap_unpack(struct connectib_sriov_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->ether_stats_drop_events_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->ether_stats_drop_events_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->ether_stats_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=96;
-	ptr_struct->ether_stats_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=128;
-	ptr_struct->ether_stats_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=160;
-	ptr_struct->ether_stats_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=192;
-	ptr_struct->ether_stats_broadcast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=224;
-	ptr_struct->ether_stats_broadcast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=256;
-	ptr_struct->ether_stats_multicast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=288;
-	ptr_struct->ether_stats_multicast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=320;
-	ptr_struct->ether_stats_crc_align_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=352;
-	ptr_struct->ether_stats_crc_align_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=384;
-	ptr_struct->ether_stats_undersize_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=416;
-	ptr_struct->ether_stats_undersize_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=448;
-	ptr_struct->ether_stats_oversize_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=480;
-	ptr_struct->ether_stats_oversize_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=512;
-	ptr_struct->ether_stats_fragments_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=544;
-	ptr_struct->ether_stats_fragments_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=576;
-	ptr_struct->ether_stats_jabbers_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=608;
-	ptr_struct->ether_stats_jabbers_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=640;
-	ptr_struct->ether_stats_collisions_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=672;
-	ptr_struct->ether_stats_collisions_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 12;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=704;
-	ptr_struct->ether_stats_pkts64octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=736;
-	ptr_struct->ether_stats_pkts64octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_sriov_capabilities_unpack(&(ptr_struct->capabilities), ptr_buff + offset/8);
 
-	offset=768;
-	ptr_struct->ether_stats_pkts65to127octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 80;
+	connectib_sriov_control_unpack(&(ptr_struct->ctrl), ptr_buff + offset/8);
 
-	offset=800;
-	ptr_struct->ether_stats_pkts65to127octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	connectib_sriov_status_unpack(&(ptr_struct->status), ptr_buff + offset/8);
 
-	offset=832;
-	ptr_struct->ether_stats_pkts128to255octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 112;
+	ptr_struct->initial_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=864;
-	ptr_struct->ether_stats_pkts128to255octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	ptr_struct->total_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=896;
-	ptr_struct->ether_stats_pkts256to511octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 144;
+	ptr_struct->num_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=928;
-	ptr_struct->ether_stats_pkts256to511octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 136;
+	ptr_struct->func_dependency_link = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=960;
-	ptr_struct->ether_stats_pkts512to1023octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 176;
+	ptr_struct->first_vf_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=992;
-	ptr_struct->ether_stats_pkts512to1023octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	ptr_struct->vf_stride = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=1024;
-	ptr_struct->ether_stats_pkts1024to1518octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	ptr_struct->vf_device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=1056;
-	ptr_struct->ether_stats_pkts1024to1518octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	ptr_struct->supported_page_sizes = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=1088;
-	ptr_struct->ether_stats_pkts1519to2047octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	ptr_struct->system_page_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=1120;
-	ptr_struct->ether_stats_pkts1519to2047octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	connectib_bar_low_unpack(&(ptr_struct->vf_bar0), ptr_buff + offset/8);
 
-	offset=1152;
-	ptr_struct->ether_stats_pkts2048to4095octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 320;
+	connectib_bar_high_unpack(&(ptr_struct->vf_bar1), ptr_buff + offset/8);
 
-	offset=1184;
-	ptr_struct->ether_stats_pkts2048to4095octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 352;
+	connectib_bar_low_unpack(&(ptr_struct->vf_bar2), ptr_buff + offset/8);
 
-	offset=1216;
-	ptr_struct->ether_stats_pkts4096to8191octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 384;
+	connectib_bar_high_unpack(&(ptr_struct->vf_bar3), ptr_buff + offset/8);
 
-	offset=1248;
-	ptr_struct->ether_stats_pkts4096to8191octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 416;
+	connectib_bar_low_unpack(&(ptr_struct->vf_bar4), ptr_buff + offset/8);
 
-	offset=1280;
-	ptr_struct->ether_stats_pkts8192to10239octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 448;
+	connectib_bar_high_unpack(&(ptr_struct->vf_bar5), ptr_buff + offset/8);
 
-	offset=1312;
-	ptr_struct->ether_stats_pkts8192to10239octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 480;
+	ptr_struct->vf_migstate_arrayofst = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_eth_2819_cntrs_grp_data_layout_print(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level){
+void connectib_sriov_cap_print(const struct connectib_sriov_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_eth_2819_cntrs_grp_data_layout ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_sriov_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_drop_events_high : "U32H_FMT"\n", ptr_struct->ether_stats_drop_events_high);
+	fprintf(file, "cap_id               : " UH_FMT "\n", ptr_struct->cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_drop_events_low : "U32H_FMT"\n", ptr_struct->ether_stats_drop_events_low);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_octets_high);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_octets_low);
+	fprintf(file, "capabilities:\n");
+	connectib_sriov_capabilities_print(&(ptr_struct->capabilities), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts_high);
+	fprintf(file, "ctrl:\n");
+	connectib_sriov_control_print(&(ptr_struct->ctrl), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts_low);
+	fprintf(file, "status:\n");
+	connectib_sriov_status_print(&(ptr_struct->status), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_broadcast_pkts_high : "U32H_FMT"\n", ptr_struct->ether_stats_broadcast_pkts_high);
+	fprintf(file, "initial_vfs          : " UH_FMT "\n", ptr_struct->initial_vfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_broadcast_pkts_low : "U32H_FMT"\n", ptr_struct->ether_stats_broadcast_pkts_low);
+	fprintf(file, "total_vfs            : " UH_FMT "\n", ptr_struct->total_vfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_multicast_pkts_high : "U32H_FMT"\n", ptr_struct->ether_stats_multicast_pkts_high);
+	fprintf(file, "num_vfs              : " UH_FMT "\n", ptr_struct->num_vfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_multicast_pkts_low : "U32H_FMT"\n", ptr_struct->ether_stats_multicast_pkts_low);
+	fprintf(file, "func_dependency_link : " UH_FMT "\n", ptr_struct->func_dependency_link);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_crc_align_errors_high : "U32H_FMT"\n", ptr_struct->ether_stats_crc_align_errors_high);
+	fprintf(file, "first_vf_offset      : " UH_FMT "\n", ptr_struct->first_vf_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_crc_align_errors_low : "U32H_FMT"\n", ptr_struct->ether_stats_crc_align_errors_low);
+	fprintf(file, "vf_stride            : " UH_FMT "\n", ptr_struct->vf_stride);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_undersize_pkts_high : "U32H_FMT"\n", ptr_struct->ether_stats_undersize_pkts_high);
+	fprintf(file, "vf_device_id         : " UH_FMT "\n", ptr_struct->vf_device_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_undersize_pkts_low : "U32H_FMT"\n", ptr_struct->ether_stats_undersize_pkts_low);
+	fprintf(file, "supported_page_sizes : " U32H_FMT "\n", ptr_struct->supported_page_sizes);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_oversize_pkts_high : "U32H_FMT"\n", ptr_struct->ether_stats_oversize_pkts_high);
+	fprintf(file, "system_page_size     : " U32H_FMT "\n", ptr_struct->system_page_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_oversize_pkts_low : "U32H_FMT"\n", ptr_struct->ether_stats_oversize_pkts_low);
+	fprintf(file, "vf_bar0:\n");
+	connectib_bar_low_print(&(ptr_struct->vf_bar0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_fragments_high : "U32H_FMT"\n", ptr_struct->ether_stats_fragments_high);
+	fprintf(file, "vf_bar1:\n");
+	connectib_bar_high_print(&(ptr_struct->vf_bar1), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_fragments_low : "U32H_FMT"\n", ptr_struct->ether_stats_fragments_low);
+	fprintf(file, "vf_bar2:\n");
+	connectib_bar_low_print(&(ptr_struct->vf_bar2), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_jabbers_high : "U32H_FMT"\n", ptr_struct->ether_stats_jabbers_high);
+	fprintf(file, "vf_bar3:\n");
+	connectib_bar_high_print(&(ptr_struct->vf_bar3), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_jabbers_low : "U32H_FMT"\n", ptr_struct->ether_stats_jabbers_low);
+	fprintf(file, "vf_bar4:\n");
+	connectib_bar_low_print(&(ptr_struct->vf_bar4), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_collisions_high : "U32H_FMT"\n", ptr_struct->ether_stats_collisions_high);
+	fprintf(file, "vf_bar5:\n");
+	connectib_bar_high_print(&(ptr_struct->vf_bar5), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_collisions_low : "U32H_FMT"\n", ptr_struct->ether_stats_collisions_low);
+	fprintf(file, "vf_migstate_arrayofst : " U32H_FMT "\n", ptr_struct->vf_migstate_arrayofst);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts64octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts64octets_high);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts64octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts64octets_low);
+int connectib_sriov_cap_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts65to127octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts65to127octets_high);
+void connectib_sriov_cap_dump(const struct connectib_sriov_cap *ptr_struct, FILE* file)
+{
+	connectib_sriov_cap_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts65to127octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts65to127octets_low);
+void connectib_ari_cap_pack(const struct connectib_ari_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts128to255octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts128to255octets_high);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts128to255octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts128to255octets_low);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts256to511octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts256to511octets_high);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
+
+	offset = 48;
+	connectib_ari_capabilities_pack(&(ptr_struct->ari_capabilities), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_ari_control_pack(&(ptr_struct->ari_control), ptr_buff + offset/8);
+
+}
 
+void connectib_ari_cap_unpack(struct connectib_ari_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 12;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 0;
+	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 48;
+	connectib_ari_capabilities_unpack(&(ptr_struct->ari_capabilities), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_ari_control_unpack(&(ptr_struct->ari_control), ptr_buff + offset/8);
+
+}
+
+void connectib_ari_cap_print(const struct connectib_ari_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts256to511octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts256to511octets_low);
+	fprintf(file, "======== connectib_ari_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts512to1023octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts512to1023octets_high);
+	fprintf(file, "cap_id               : " UH_FMT "\n", ptr_struct->cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts512to1023octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts512to1023octets_low);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts1024to1518octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts1024to1518octets_high);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts1024to1518octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts1024to1518octets_low);
+	fprintf(file, "ari_capabilities:\n");
+	connectib_ari_capabilities_print(&(ptr_struct->ari_capabilities), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts1519to2047octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts1519to2047octets_high);
+	fprintf(file, "ari_control:\n");
+	connectib_ari_control_print(&(ptr_struct->ari_control), file, indent_level + 1);
+
+}
+
+int connectib_ari_cap_size(void)
+{
+	 return 8;
+}
+
+void connectib_ari_cap_dump(const struct connectib_ari_cap *ptr_struct, FILE* file)
+{
+	connectib_ari_cap_print(ptr_struct, file, 0);
+}
+
+void connectib_secondary_pciex_ext_cap_pack(const struct connectib_secondary_pciex_ext_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
+
+	offset = 32;
+	connectib_pciex_link_ctl3_pack(&(ptr_struct->pciex_link_ctl3), ptr_buff + offset/8);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lane_err_bits);
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(96, 32, i, 352, 1);
+	connectib_lane_eql_ctl_pack(&(ptr_struct->lane_eql_ctl[i]), ptr_buff + offset/8);
+	}
+
+}
+
+void connectib_secondary_pciex_ext_cap_unpack(struct connectib_secondary_pciex_ext_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 12;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 0;
+	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 32;
+	connectib_pciex_link_ctl3_unpack(&(ptr_struct->pciex_link_ctl3), ptr_buff + offset/8);
+
+	offset = 80;
+	ptr_struct->lane_err_bits = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(96, 32, i, 352, 1);
+	connectib_lane_eql_ctl_unpack(&(ptr_struct->lane_eql_ctl[i]), ptr_buff + offset/8);
+	}
+
+}
 
+void connectib_secondary_pciex_ext_cap_print(const struct connectib_secondary_pciex_ext_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts1519to2047octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts1519to2047octets_low);
+	fprintf(file, "======== connectib_secondary_pciex_ext_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts2048to4095octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts2048to4095octets_high);
+	fprintf(file, "cap_id               : " UH_FMT "\n", ptr_struct->cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts2048to4095octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts2048to4095octets_low);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts4096to8191octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts4096to8191octets_high);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts4096to8191octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts4096to8191octets_low);
+	fprintf(file, "pciex_link_ctl3:\n");
+	connectib_pciex_link_ctl3_print(&(ptr_struct->pciex_link_ctl3), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts8192to10239octets_high : "U32H_FMT"\n", ptr_struct->ether_stats_pkts8192to10239octets_high);
+	fprintf(file, "lane_err_bits        : " UH_FMT "\n", ptr_struct->lane_err_bits);
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ether_stats_pkts8192to10239octets_low : "U32H_FMT"\n", ptr_struct->ether_stats_pkts8192to10239octets_low);
+	fprintf(file, "lane_eql_ctl_%03d:\n", i);
+	connectib_lane_eql_ctl_print(&(ptr_struct->lane_eql_ctl[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_eth_2819_cntrs_grp_data_layout_size(void){
-	 return 248;
+int connectib_secondary_pciex_ext_cap_size(void)
+{
+	 return 44;
 }
 
-void connectib_eth_2819_cntrs_grp_data_layout_dump(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, FILE* file) {
-	connectib_eth_2819_cntrs_grp_data_layout_print(ptr_struct, file, 0);
+void connectib_secondary_pciex_ext_cap_dump(const struct connectib_secondary_pciex_ext_cap *ptr_struct, FILE* file)
+{
+	connectib_secondary_pciex_ext_cap_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_2863_cntrs_grp_data_layout_pack(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pci_cfg_type1_header_pack(const struct connectib_pci_cfg_type1_header *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_octets_high);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vendor_id);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_id);
+
+	offset = 48;
+	connectib_cmd_reg1_pack(&(ptr_struct->command), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_stat_reg1_pack(&(ptr_struct->status), ptr_buff + offset/8);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->revision_id);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->class_code);
+
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cache_line);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_octets_low);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->latency);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_ucast_pkts_high);
+	offset = 104;
+	connectib_header_type_pack(&(ptr_struct->header_type), ptr_buff + offset/8);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_ucast_pkts_low);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->bist);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_discards_high);
+	offset = 128;
+	connectib_bar_low_pack(&(ptr_struct->bar_low), ptr_buff + offset/8);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_discards_low);
+	offset = 160;
+	connectib_bar_high_pack(&(ptr_struct->bar_high), ptr_buff + offset/8);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_errors_high);
+	offset = 216;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->primary_bus);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_errors_low);
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->secondary_bus);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_unknown_protos_high);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->subordinate_bus);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_unknown_protos_low);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->secondary_latency);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_octets_high);
+	offset = 248;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->io_base);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_octets_low);
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->io_limit);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_ucast_pkts_high);
+	offset = 224;
+	connectib_secondary_status_pack(&(ptr_struct->secondary_status), ptr_buff + offset/8);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_ucast_pkts_low);
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->memory_base);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_discards_high);
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->memory_limit);
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_discards_low);
+	offset = 304;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pre_memory_base);
 
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_errors_high);
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pre_memory_limit);
 
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_errors_low);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pre_base_upper_32);
 
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_multicast_pkts_high);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pre_limit_upper_32);
 
-	offset=608;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_multicast_pkts_low);
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->io_base_upper_16);
 
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_broadcast_pkts_high);
+	offset = 384;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->io_limit_upper_16);
 
-	offset=672;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_in_broadcast_pkts_low);
+	offset = 440;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cap_ptr);
 
-	offset=704;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_multicast_pkts_high);
+	offset = 448;
+	connectib_exp_rom_pack(&(ptr_struct->exp_rom_bar), ptr_buff + offset/8);
 
-	offset=736;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_multicast_pkts_low);
+	offset = 504;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->interrupt_line);
 
-	offset=768;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_broadcast_pkts_high);
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->interrupt_pin);
 
-	offset=800;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->if_out_broadcast_pkts_low);
+	offset = 480;
+	connectib_bridge_control_pack(&(ptr_struct->bridge_control), ptr_buff + offset/8);
 
 }
 
-void connectib_eth_2863_cntrs_grp_data_layout_unpack(struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pci_cfg_type1_header_unpack(struct connectib_pci_cfg_type1_header *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->if_in_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
-	ptr_struct->if_in_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
-	ptr_struct->if_in_ucast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 48;
+	connectib_cmd_reg1_unpack(&(ptr_struct->command), ptr_buff + offset/8);
 
-	offset=96;
-	ptr_struct->if_in_ucast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_stat_reg1_unpack(&(ptr_struct->status), ptr_buff + offset/8);
 
-	offset=128;
-	ptr_struct->if_in_discards_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 88;
+	ptr_struct->revision_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=160;
-	ptr_struct->if_in_discards_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	ptr_struct->class_code = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=192;
-	ptr_struct->if_in_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 120;
+	ptr_struct->cache_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=224;
-	ptr_struct->if_in_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 112;
+	ptr_struct->latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=256;
-	ptr_struct->if_in_unknown_protos_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 104;
+	connectib_header_type_unpack(&(ptr_struct->header_type), ptr_buff + offset/8);
 
-	offset=288;
-	ptr_struct->if_in_unknown_protos_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	ptr_struct->bist = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=320;
-	ptr_struct->if_out_octets_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	connectib_bar_low_unpack(&(ptr_struct->bar_low), ptr_buff + offset/8);
 
-	offset=352;
-	ptr_struct->if_out_octets_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	connectib_bar_high_unpack(&(ptr_struct->bar_high), ptr_buff + offset/8);
 
-	offset=384;
-	ptr_struct->if_out_ucast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 216;
+	ptr_struct->primary_bus = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=416;
-	ptr_struct->if_out_ucast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 208;
+	ptr_struct->secondary_bus = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=448;
-	ptr_struct->if_out_discards_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 200;
+	ptr_struct->subordinate_bus = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=480;
-	ptr_struct->if_out_discards_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	ptr_struct->secondary_latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=512;
-	ptr_struct->if_out_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 248;
+	ptr_struct->io_base = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=544;
-	ptr_struct->if_out_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 240;
+	ptr_struct->io_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=576;
-	ptr_struct->if_in_multicast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	connectib_secondary_status_unpack(&(ptr_struct->secondary_status), ptr_buff + offset/8);
 
-	offset=608;
-	ptr_struct->if_in_multicast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 272;
+	ptr_struct->memory_base = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=640;
-	ptr_struct->if_in_broadcast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	ptr_struct->memory_limit = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=672;
-	ptr_struct->if_in_broadcast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 304;
+	ptr_struct->pre_memory_base = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=704;
-	ptr_struct->if_out_multicast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	ptr_struct->pre_memory_limit = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=736;
-	ptr_struct->if_out_multicast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 320;
+	ptr_struct->pre_base_upper_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=768;
-	ptr_struct->if_out_broadcast_pkts_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 352;
+	ptr_struct->pre_limit_upper_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=800;
-	ptr_struct->if_out_broadcast_pkts_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 400;
+	ptr_struct->io_base_upper_16 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 384;
+	ptr_struct->io_limit_upper_16 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 440;
+	ptr_struct->cap_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 448;
+	connectib_exp_rom_unpack(&(ptr_struct->exp_rom_bar), ptr_buff + offset/8);
+
+	offset = 504;
+	ptr_struct->interrupt_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 496;
+	ptr_struct->interrupt_pin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 480;
+	connectib_bridge_control_unpack(&(ptr_struct->bridge_control), ptr_buff + offset/8);
 
 }
 
-void connectib_eth_2863_cntrs_grp_data_layout_print(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level){
+void connectib_pci_cfg_type1_header_print(const struct connectib_pci_cfg_type1_header *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_eth_2863_cntrs_grp_data_layout ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pci_cfg_type1_header ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_octets_high    : "U32H_FMT"\n", ptr_struct->if_in_octets_high);
+	fprintf(file, "vendor_id            : " UH_FMT "\n", ptr_struct->vendor_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_id            : " UH_FMT "\n", ptr_struct->device_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "command:\n");
+	connectib_cmd_reg1_print(&(ptr_struct->command), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "status:\n");
+	connectib_stat_reg1_print(&(ptr_struct->status), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "revision_id          : " UH_FMT "\n", ptr_struct->revision_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "class_code           : " UH_FMT "\n", ptr_struct->class_code);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_octets_low     : "U32H_FMT"\n", ptr_struct->if_in_octets_low);
+	fprintf(file, "cache_line           : " UH_FMT "\n", ptr_struct->cache_line);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_ucast_pkts_high : "U32H_FMT"\n", ptr_struct->if_in_ucast_pkts_high);
+	fprintf(file, "latency              : " UH_FMT "\n", ptr_struct->latency);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_ucast_pkts_low : "U32H_FMT"\n", ptr_struct->if_in_ucast_pkts_low);
+	fprintf(file, "header_type:\n");
+	connectib_header_type_print(&(ptr_struct->header_type), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_discards_high  : "U32H_FMT"\n", ptr_struct->if_in_discards_high);
+	fprintf(file, "bist                 : " UH_FMT "\n", ptr_struct->bist);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_discards_low   : "U32H_FMT"\n", ptr_struct->if_in_discards_low);
+	fprintf(file, "bar_low:\n");
+	connectib_bar_low_print(&(ptr_struct->bar_low), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_errors_high    : "U32H_FMT"\n", ptr_struct->if_in_errors_high);
+	fprintf(file, "bar_high:\n");
+	connectib_bar_high_print(&(ptr_struct->bar_high), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_errors_low     : "U32H_FMT"\n", ptr_struct->if_in_errors_low);
+	fprintf(file, "primary_bus          : " UH_FMT "\n", ptr_struct->primary_bus);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_unknown_protos_high : "U32H_FMT"\n", ptr_struct->if_in_unknown_protos_high);
+	fprintf(file, "secondary_bus        : " UH_FMT "\n", ptr_struct->secondary_bus);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_unknown_protos_low : "U32H_FMT"\n", ptr_struct->if_in_unknown_protos_low);
+	fprintf(file, "subordinate_bus      : " UH_FMT "\n", ptr_struct->subordinate_bus);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_octets_high   : "U32H_FMT"\n", ptr_struct->if_out_octets_high);
+	fprintf(file, "secondary_latency    : " UH_FMT "\n", ptr_struct->secondary_latency);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_octets_low    : "U32H_FMT"\n", ptr_struct->if_out_octets_low);
+	fprintf(file, "io_base              : " UH_FMT "\n", ptr_struct->io_base);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_ucast_pkts_high : "U32H_FMT"\n", ptr_struct->if_out_ucast_pkts_high);
+	fprintf(file, "io_limit             : " UH_FMT "\n", ptr_struct->io_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_ucast_pkts_low : "U32H_FMT"\n", ptr_struct->if_out_ucast_pkts_low);
+	fprintf(file, "secondary_status:\n");
+	connectib_secondary_status_print(&(ptr_struct->secondary_status), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_discards_high : "U32H_FMT"\n", ptr_struct->if_out_discards_high);
+	fprintf(file, "memory_base          : " UH_FMT "\n", ptr_struct->memory_base);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_discards_low  : "U32H_FMT"\n", ptr_struct->if_out_discards_low);
+	fprintf(file, "memory_limit         : " UH_FMT "\n", ptr_struct->memory_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_errors_high   : "U32H_FMT"\n", ptr_struct->if_out_errors_high);
+	fprintf(file, "pre_memory_base      : " UH_FMT "\n", ptr_struct->pre_memory_base);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_errors_low    : "U32H_FMT"\n", ptr_struct->if_out_errors_low);
+	fprintf(file, "pre_memory_limit     : " UH_FMT "\n", ptr_struct->pre_memory_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_multicast_pkts_high : "U32H_FMT"\n", ptr_struct->if_in_multicast_pkts_high);
+	fprintf(file, "pre_base_upper_32    : " U32H_FMT "\n", ptr_struct->pre_base_upper_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_multicast_pkts_low : "U32H_FMT"\n", ptr_struct->if_in_multicast_pkts_low);
+	fprintf(file, "pre_limit_upper_32   : " U32H_FMT "\n", ptr_struct->pre_limit_upper_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_broadcast_pkts_high : "U32H_FMT"\n", ptr_struct->if_in_broadcast_pkts_high);
+	fprintf(file, "io_base_upper_16     : " UH_FMT "\n", ptr_struct->io_base_upper_16);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_in_broadcast_pkts_low : "U32H_FMT"\n", ptr_struct->if_in_broadcast_pkts_low);
+	fprintf(file, "io_limit_upper_16    : " UH_FMT "\n", ptr_struct->io_limit_upper_16);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_multicast_pkts_high : "U32H_FMT"\n", ptr_struct->if_out_multicast_pkts_high);
+	fprintf(file, "cap_ptr              : " UH_FMT "\n", ptr_struct->cap_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_multicast_pkts_low : "U32H_FMT"\n", ptr_struct->if_out_multicast_pkts_low);
+	fprintf(file, "exp_rom_bar:\n");
+	connectib_exp_rom_print(&(ptr_struct->exp_rom_bar), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_broadcast_pkts_high : "U32H_FMT"\n", ptr_struct->if_out_broadcast_pkts_high);
+	fprintf(file, "interrupt_line       : " UH_FMT "\n", ptr_struct->interrupt_line);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "if_out_broadcast_pkts_low : "U32H_FMT"\n", ptr_struct->if_out_broadcast_pkts_low);
+	fprintf(file, "interrupt_pin        : " UH_FMT "\n", ptr_struct->interrupt_pin);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bridge_control:\n");
+	connectib_bridge_control_print(&(ptr_struct->bridge_control), file, indent_level + 1);
 
 }
 
-int connectib_eth_2863_cntrs_grp_data_layout_size(void){
-	 return 248;
+int connectib_pci_cfg_type1_header_size(void)
+{
+	 return 64;
 }
 
-void connectib_eth_2863_cntrs_grp_data_layout_dump(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, FILE* file) {
-	connectib_eth_2863_cntrs_grp_data_layout_print(ptr_struct, file, 0);
+void connectib_pci_cfg_type1_header_dump(const struct connectib_pci_cfg_type1_header *ptr_struct, FILE* file)
+{
+	connectib_pci_cfg_type1_header_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_802_3_cntrs_grp_data_layout_pack(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff){
+void connectib_msix_cap_pack(const struct connectib_msix_cap *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_frames_transmitted_ok_high);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_frames_transmitted_ok_low);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_frames_received_ok_high);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_frames_received_ok_low);
-
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_frame_check_sequence_errors_high);
-
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_frame_check_sequence_errors_low);
-
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_alignment_errors_high);
-
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_alignment_errors_low);
-
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_octets_transmitted_ok_high);
-
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_octets_transmitted_ok_low);
-
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_octets_received_ok_high);
-
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_octets_received_ok_low);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->msix_cap_id);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_multicast_frames_xmitted_ok_high);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nxt_ptr);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_multicast_frames_xmitted_ok_low);
+	offset = 0;
+	connectib_message_control_pack(&(ptr_struct->message_control), ptr_buff + offset/8);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_broadcast_frames_xmitted_ok_high);
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->Table_BIR);
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_broadcast_frames_xmitted_ok_low);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->Table_Offset);
 
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_multicast_frames_received_ok_high);
+	offset = 93;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->PBA_BIR);
 
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_multicast_frames_received_ok_low);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->PBA_Offset);
 
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_broadcast_frames_recieved_ok_high);
+}
 
-	offset=608;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_broadcast_frames_recieved_ok_low);
+void connectib_msix_cap_unpack(struct connectib_msix_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_in_range_length_errors_high);
+	offset = 24;
+	ptr_struct->msix_cap_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=672;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_in_range_length_errors_low);
+	offset = 16;
+	ptr_struct->nxt_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=704;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_out_of_range_length_field_high);
+	offset = 0;
+	connectib_message_control_unpack(&(ptr_struct->message_control), ptr_buff + offset/8);
 
-	offset=736;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_out_of_range_length_field_low);
+	offset = 61;
+	ptr_struct->Table_BIR = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=768;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_frame_too_long_errors_high);
+	offset = 32;
+	ptr_struct->Table_Offset = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
 
-	offset=800;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_frame_too_long_errors_low);
+	offset = 93;
+	ptr_struct->PBA_BIR = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=832;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_symbol_error_during_carrier_high);
+	offset = 64;
+	ptr_struct->PBA_Offset = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
 
-	offset=864;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_symbol_error_during_carrier_low);
+}
 
-	offset=896;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_mac_control_frames_transmitted_high);
+void connectib_msix_cap_print(const struct connectib_msix_cap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_msix_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=928;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_mac_control_frames_transmitted_low);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "msix_cap_id          : " UH_FMT "\n", ptr_struct->msix_cap_id);
 
-	offset=960;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_mac_control_frames_received_high);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
-	offset=992;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_mac_control_frames_received_low);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "message_control:\n");
+	connectib_message_control_print(&(ptr_struct->message_control), file, indent_level + 1);
 
-	offset=1024;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_unsupported_opcodes_received_high);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "Table_BIR            : " UH_FMT "\n", ptr_struct->Table_BIR);
 
-	offset=1056;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_unsupported_opcodes_received_low);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "Table_Offset         : " UH_FMT "\n", ptr_struct->Table_Offset);
 
-	offset=1088;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_pause_mac_ctrl_frames_received_high);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "PBA_BIR              : " UH_FMT "\n", ptr_struct->PBA_BIR);
 
-	offset=1120;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_pause_mac_ctrl_frames_received_low);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "PBA_Offset           : " UH_FMT "\n", ptr_struct->PBA_Offset);
 
-	offset=1152;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_pause_mac_ctrl_frames_transmitted_high);
+}
 
-	offset=1184;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->a_pause_mac_ctrl_frames_transmitted_low);
+int connectib_msix_cap_size(void)
+{
+	 return 12;
+}
 
+void connectib_msix_cap_dump(const struct connectib_msix_cap *ptr_struct, FILE* file)
+{
+	connectib_msix_cap_print(ptr_struct, file, 0);
 }
 
-void connectib_eth_802_3_cntrs_grp_data_layout_unpack(struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pciex_cap_block_pack(const struct connectib_pciex_cap_block *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->a_frames_transmitted_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->a_frames_transmitted_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->a_frames_received_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=96;
-	ptr_struct->a_frames_received_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=128;
-	ptr_struct->a_frame_check_sequence_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pciex_cap_id);
 
-	offset=160;
-	ptr_struct->a_frame_check_sequence_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nxt_ptr);
 
-	offset=192;
-	ptr_struct->a_alignment_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_pciex_cap_pack(&(ptr_struct->pciex_cap), ptr_buff + offset/8);
 
-	offset=224;
-	ptr_struct->a_alignment_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_device_caps_pack(&(ptr_struct->device_caps), ptr_buff + offset/8);
 
-	offset=256;
-	ptr_struct->a_octets_transmitted_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 80;
+	connectib_device_ctl_pack(&(ptr_struct->device_ctl), ptr_buff + offset/8);
 
-	offset=288;
-	ptr_struct->a_octets_transmitted_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	connectib_device_stat_pack(&(ptr_struct->device_stat), ptr_buff + offset/8);
 
-	offset=320;
-	ptr_struct->a_octets_received_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	connectib_link_caps_pack(&(ptr_struct->link_caps), ptr_buff + offset/8);
 
-	offset=352;
-	ptr_struct->a_octets_received_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 144;
+	connectib_link_ctl_pack(&(ptr_struct->link_ctl), ptr_buff + offset/8);
 
-	offset=384;
-	ptr_struct->a_multicast_frames_xmitted_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	connectib_link_stat_pack(&(ptr_struct->link_stat), ptr_buff + offset/8);
 
-	offset=416;
-	ptr_struct->a_multicast_frames_xmitted_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	connectib_slot_caps_pack(&(ptr_struct->slot_caps), ptr_buff + offset/8);
 
-	offset=448;
-	ptr_struct->a_broadcast_frames_xmitted_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	connectib_device_caps2_pack(&(ptr_struct->device_caps2), ptr_buff + offset/8);
 
-	offset=480;
-	ptr_struct->a_broadcast_frames_xmitted_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 336;
+	connectib_device_ctl2_pack(&(ptr_struct->device_ctl2), ptr_buff + offset/8);
 
-	offset=512;
-	ptr_struct->a_multicast_frames_received_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 320;
+	connectib_device_stat2_pack(&(ptr_struct->device_stat2), ptr_buff + offset/8);
 
-	offset=544;
-	ptr_struct->a_multicast_frames_received_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 352;
+	connectib_link_caps2_pack(&(ptr_struct->link_caps2), ptr_buff + offset/8);
 
-	offset=576;
-	ptr_struct->a_broadcast_frames_recieved_ok_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 400;
+	connectib_link_ctl2_pack(&(ptr_struct->link_ctl2), ptr_buff + offset/8);
 
-	offset=608;
-	ptr_struct->a_broadcast_frames_recieved_ok_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 384;
+	connectib_link_stat2_pack(&(ptr_struct->link_stat2), ptr_buff + offset/8);
 
-	offset=640;
-	ptr_struct->a_in_range_length_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=672;
-	ptr_struct->a_in_range_length_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_pciex_cap_block_unpack(struct connectib_pciex_cap_block *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=704;
-	ptr_struct->a_out_of_range_length_field_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->pciex_cap_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=736;
-	ptr_struct->a_out_of_range_length_field_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->nxt_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=768;
-	ptr_struct->a_frame_too_long_errors_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_pciex_cap_unpack(&(ptr_struct->pciex_cap), ptr_buff + offset/8);
 
-	offset=800;
-	ptr_struct->a_frame_too_long_errors_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_device_caps_unpack(&(ptr_struct->device_caps), ptr_buff + offset/8);
 
-	offset=832;
-	ptr_struct->a_symbol_error_during_carrier_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 80;
+	connectib_device_ctl_unpack(&(ptr_struct->device_ctl), ptr_buff + offset/8);
 
-	offset=864;
-	ptr_struct->a_symbol_error_during_carrier_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	connectib_device_stat_unpack(&(ptr_struct->device_stat), ptr_buff + offset/8);
 
-	offset=896;
-	ptr_struct->a_mac_control_frames_transmitted_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	connectib_link_caps_unpack(&(ptr_struct->link_caps), ptr_buff + offset/8);
 
-	offset=928;
-	ptr_struct->a_mac_control_frames_transmitted_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 144;
+	connectib_link_ctl_unpack(&(ptr_struct->link_ctl), ptr_buff + offset/8);
 
-	offset=960;
-	ptr_struct->a_mac_control_frames_received_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	connectib_link_stat_unpack(&(ptr_struct->link_stat), ptr_buff + offset/8);
 
-	offset=992;
-	ptr_struct->a_mac_control_frames_received_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	connectib_slot_caps_unpack(&(ptr_struct->slot_caps), ptr_buff + offset/8);
 
-	offset=1024;
-	ptr_struct->a_unsupported_opcodes_received_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	connectib_device_caps2_unpack(&(ptr_struct->device_caps2), ptr_buff + offset/8);
 
-	offset=1056;
-	ptr_struct->a_unsupported_opcodes_received_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 336;
+	connectib_device_ctl2_unpack(&(ptr_struct->device_ctl2), ptr_buff + offset/8);
 
-	offset=1088;
-	ptr_struct->a_pause_mac_ctrl_frames_received_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 320;
+	connectib_device_stat2_unpack(&(ptr_struct->device_stat2), ptr_buff + offset/8);
 
-	offset=1120;
-	ptr_struct->a_pause_mac_ctrl_frames_received_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 352;
+	connectib_link_caps2_unpack(&(ptr_struct->link_caps2), ptr_buff + offset/8);
 
-	offset=1152;
-	ptr_struct->a_pause_mac_ctrl_frames_transmitted_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 400;
+	connectib_link_ctl2_unpack(&(ptr_struct->link_ctl2), ptr_buff + offset/8);
 
-	offset=1184;
-	ptr_struct->a_pause_mac_ctrl_frames_transmitted_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 384;
+	connectib_link_stat2_unpack(&(ptr_struct->link_stat2), ptr_buff + offset/8);
 
 }
 
-void connectib_eth_802_3_cntrs_grp_data_layout_print(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level){
+void connectib_pciex_cap_block_print(const struct connectib_pciex_cap_block *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_eth_802_3_cntrs_grp_data_layout ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pciex_cap_block ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_frames_transmitted_ok_high : "U32H_FMT"\n", ptr_struct->a_frames_transmitted_ok_high);
+	fprintf(file, "pciex_cap_id         : " UH_FMT "\n", ptr_struct->pciex_cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_frames_transmitted_ok_low : "U32H_FMT"\n", ptr_struct->a_frames_transmitted_ok_low);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_frames_received_ok_high : "U32H_FMT"\n", ptr_struct->a_frames_received_ok_high);
+	fprintf(file, "pciex_cap:\n");
+	connectib_pciex_cap_print(&(ptr_struct->pciex_cap), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_frames_received_ok_low : "U32H_FMT"\n", ptr_struct->a_frames_received_ok_low);
+	fprintf(file, "device_caps:\n");
+	connectib_device_caps_print(&(ptr_struct->device_caps), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_frame_check_sequence_errors_high : "U32H_FMT"\n", ptr_struct->a_frame_check_sequence_errors_high);
+	fprintf(file, "device_ctl:\n");
+	connectib_device_ctl_print(&(ptr_struct->device_ctl), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_frame_check_sequence_errors_low : "U32H_FMT"\n", ptr_struct->a_frame_check_sequence_errors_low);
+	fprintf(file, "device_stat:\n");
+	connectib_device_stat_print(&(ptr_struct->device_stat), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_alignment_errors_high : "U32H_FMT"\n", ptr_struct->a_alignment_errors_high);
+	fprintf(file, "link_caps:\n");
+	connectib_link_caps_print(&(ptr_struct->link_caps), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_alignment_errors_low : "U32H_FMT"\n", ptr_struct->a_alignment_errors_low);
+	fprintf(file, "link_ctl:\n");
+	connectib_link_ctl_print(&(ptr_struct->link_ctl), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_octets_transmitted_ok_high : "U32H_FMT"\n", ptr_struct->a_octets_transmitted_ok_high);
+	fprintf(file, "link_stat:\n");
+	connectib_link_stat_print(&(ptr_struct->link_stat), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_octets_transmitted_ok_low : "U32H_FMT"\n", ptr_struct->a_octets_transmitted_ok_low);
+	fprintf(file, "slot_caps:\n");
+	connectib_slot_caps_print(&(ptr_struct->slot_caps), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_octets_received_ok_high : "U32H_FMT"\n", ptr_struct->a_octets_received_ok_high);
+	fprintf(file, "device_caps2:\n");
+	connectib_device_caps2_print(&(ptr_struct->device_caps2), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_octets_received_ok_low : "U32H_FMT"\n", ptr_struct->a_octets_received_ok_low);
+	fprintf(file, "device_ctl2:\n");
+	connectib_device_ctl2_print(&(ptr_struct->device_ctl2), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_multicast_frames_xmitted_ok_high : "U32H_FMT"\n", ptr_struct->a_multicast_frames_xmitted_ok_high);
+	fprintf(file, "device_stat2:\n");
+	connectib_device_stat2_print(&(ptr_struct->device_stat2), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_multicast_frames_xmitted_ok_low : "U32H_FMT"\n", ptr_struct->a_multicast_frames_xmitted_ok_low);
+	fprintf(file, "link_caps2:\n");
+	connectib_link_caps2_print(&(ptr_struct->link_caps2), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_broadcast_frames_xmitted_ok_high : "U32H_FMT"\n", ptr_struct->a_broadcast_frames_xmitted_ok_high);
+	fprintf(file, "link_ctl2:\n");
+	connectib_link_ctl2_print(&(ptr_struct->link_ctl2), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_broadcast_frames_xmitted_ok_low : "U32H_FMT"\n", ptr_struct->a_broadcast_frames_xmitted_ok_low);
+	fprintf(file, "link_stat2:\n");
+	connectib_link_stat2_print(&(ptr_struct->link_stat2), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_multicast_frames_received_ok_high : "U32H_FMT"\n", ptr_struct->a_multicast_frames_received_ok_high);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_multicast_frames_received_ok_low : "U32H_FMT"\n", ptr_struct->a_multicast_frames_received_ok_low);
+int connectib_pciex_cap_block_size(void)
+{
+	 return 60;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_broadcast_frames_recieved_ok_high : "U32H_FMT"\n", ptr_struct->a_broadcast_frames_recieved_ok_high);
+void connectib_pciex_cap_block_dump(const struct connectib_pciex_cap_block *ptr_struct, FILE* file)
+{
+	connectib_pciex_cap_block_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_broadcast_frames_recieved_ok_low : "U32H_FMT"\n", ptr_struct->a_broadcast_frames_recieved_ok_low);
+void connectib_vpd_cap_pack(const struct connectib_vpd_cap *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_in_range_length_errors_high : "U32H_FMT"\n", ptr_struct->a_in_range_length_errors_high);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vpd_cap_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_in_range_length_errors_low : "U32H_FMT"\n", ptr_struct->a_in_range_length_errors_low);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nxt_ptr);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_out_of_range_length_field_high : "U32H_FMT"\n", ptr_struct->a_out_of_range_length_field_high);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->vpd_address);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_out_of_range_length_field_low : "U32H_FMT"\n", ptr_struct->a_out_of_range_length_field_low);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->F);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_frame_too_long_errors_high : "U32H_FMT"\n", ptr_struct->a_frame_too_long_errors_high);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vpd_data);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_frame_too_long_errors_low : "U32H_FMT"\n", ptr_struct->a_frame_too_long_errors_low);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_symbol_error_during_carrier_high : "U32H_FMT"\n", ptr_struct->a_symbol_error_during_carrier_high);
+void connectib_vpd_cap_unpack(struct connectib_vpd_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_symbol_error_during_carrier_low : "U32H_FMT"\n", ptr_struct->a_symbol_error_during_carrier_low);
+	offset = 24;
+	ptr_struct->vpd_cap_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_mac_control_frames_transmitted_high : "U32H_FMT"\n", ptr_struct->a_mac_control_frames_transmitted_high);
+	offset = 16;
+	ptr_struct->nxt_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_mac_control_frames_transmitted_low : "U32H_FMT"\n", ptr_struct->a_mac_control_frames_transmitted_low);
+	offset = 1;
+	ptr_struct->vpd_address = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_mac_control_frames_received_high : "U32H_FMT"\n", ptr_struct->a_mac_control_frames_received_high);
+	offset = 0;
+	ptr_struct->F = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_mac_control_frames_received_low : "U32H_FMT"\n", ptr_struct->a_mac_control_frames_received_low);
+	offset = 32;
+	ptr_struct->vpd_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
 
+void connectib_vpd_cap_print(const struct connectib_vpd_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_unsupported_opcodes_received_high : "U32H_FMT"\n", ptr_struct->a_unsupported_opcodes_received_high);
+	fprintf(file, "======== connectib_vpd_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_unsupported_opcodes_received_low : "U32H_FMT"\n", ptr_struct->a_unsupported_opcodes_received_low);
+	fprintf(file, "vpd_cap_id           : " UH_FMT "\n", ptr_struct->vpd_cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_pause_mac_ctrl_frames_received_high : "U32H_FMT"\n", ptr_struct->a_pause_mac_ctrl_frames_received_high);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_pause_mac_ctrl_frames_received_low : "U32H_FMT"\n", ptr_struct->a_pause_mac_ctrl_frames_received_low);
+	fprintf(file, "vpd_address          : " UH_FMT "\n", ptr_struct->vpd_address);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_pause_mac_ctrl_frames_transmitted_high : "U32H_FMT"\n", ptr_struct->a_pause_mac_ctrl_frames_transmitted_high);
+	fprintf(file, "F                    : " UH_FMT "\n", ptr_struct->F);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a_pause_mac_ctrl_frames_transmitted_low : "U32H_FMT"\n", ptr_struct->a_pause_mac_ctrl_frames_transmitted_low);
+	fprintf(file, "vpd_data             : " U32H_FMT "\n", ptr_struct->vpd_data);
 
 }
 
-int connectib_eth_802_3_cntrs_grp_data_layout_size(void){
-	 return 248;
+int connectib_vpd_cap_size(void)
+{
+	 return 8;
 }
 
-void connectib_eth_802_3_cntrs_grp_data_layout_dump(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, FILE* file) {
-	connectib_eth_802_3_cntrs_grp_data_layout_print(ptr_struct, file, 0);
+void connectib_vpd_cap_dump(const struct connectib_vpd_cap *ptr_struct, FILE* file)
+{
+	connectib_vpd_cap_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_ctx_special_pack(const union connectib_cmdif_ctx_special *ptr_struct, u_int8_t* ptr_buff)
+void connectib_pci_power_management_cap_pack(const struct connectib_pci_power_management_cap *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_cmdif_ctx_dmfs_pack(&(ptr_struct->dmfs), ptr_buff);
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cap_id);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nxt_ptr);
+
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->version);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pme_clock);
+
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_specific);
+
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->aux_current);
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->d1_support);
+
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->d2_support);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->pme_support);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->power_state);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_soft_reset);
+
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pme_enable);
+
+	offset = 51;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data_select);
+
+	offset = 49;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->data_scale);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pme_status);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pmcsr_bse);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->data);
+
 }
 
-void connectib_cmdif_ctx_special_unpack(union connectib_cmdif_ctx_special *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_pci_power_management_cap_unpack(struct connectib_pci_power_management_cap *ptr_struct, const u_int8_t* ptr_buff)
 {
-	connectib_cmdif_ctx_dmfs_unpack(&(ptr_struct->dmfs), ptr_buff);
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->cap_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 16;
+	ptr_struct->nxt_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 13;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 12;
+	ptr_struct->pme_clock = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 10;
+	ptr_struct->device_specific = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 7;
+	ptr_struct->aux_current = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 6;
+	ptr_struct->d1_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 5;
+	ptr_struct->d2_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->pme_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 62;
+	ptr_struct->power_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 60;
+	ptr_struct->no_soft_reset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 55;
+	ptr_struct->pme_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 51;
+	ptr_struct->data_select = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 49;
+	ptr_struct->data_scale = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 48;
+	ptr_struct->pme_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 40;
+	ptr_struct->pmcsr_bse = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->data = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
 }
 
-void connectib_cmdif_ctx_special_print(const union connectib_cmdif_ctx_special *ptr_struct, FILE* file, int indent_level){
+void connectib_pci_power_management_cap_print(const struct connectib_pci_power_management_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx_special ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pci_power_management_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "c:\n");
-	connectib_cmdif_ctx_special_create_print(&(ptr_struct->c), file, indent_level + 1);
+	fprintf(file, "cap_id               : " UH_FMT "\n", ptr_struct->cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tir:\n");
-	connectib_cmdif_ctx_special_modify_tir_print(&(ptr_struct->tir), file, indent_level + 1);
+	fprintf(file, "nxt_ptr              : " UH_FMT "\n", ptr_struct->nxt_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp:\n");
-	connectib_cmdif_ctx_special_create_qp_print(&(ptr_struct->qp), file, indent_level + 1);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rq:\n");
-	connectib_cmdif_ctx_special_create_rq_print(&(ptr_struct->rq), file, indent_level + 1);
+	fprintf(file, "pme_clock            : " UH_FMT "\n", ptr_struct->pme_clock);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq:\n");
-	connectib_cmdif_ctx_special_create_srq_print(&(ptr_struct->srq), file, indent_level + 1);
+	fprintf(file, "device_specific      : " UH_FMT "\n", ptr_struct->device_specific);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt:\n");
-	connectib_cmdif_ctx_rqt_print(&(ptr_struct->rqt), file, indent_level + 1);
+	fprintf(file, "aux_current          : " UH_FMT "\n", ptr_struct->aux_current);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eq:\n");
-	connectib_cmdif_ctx_special_create_eq_print(&(ptr_struct->eq), file, indent_level + 1);
+	fprintf(file, "d1_support           : " UH_FMT "\n", ptr_struct->d1_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "c_cq:\n");
-	connectib_cmdif_ctx_special_create_cq_print(&(ptr_struct->c_cq), file, indent_level + 1);
+	fprintf(file, "d2_support           : " UH_FMT "\n", ptr_struct->d2_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_cq:\n");
-	connectib_cmdif_ctx_special_modify_cq_print(&(ptr_struct->m_cq), file, indent_level + 1);
+	fprintf(file, "pme_support          : " UH_FMT "\n", ptr_struct->pme_support);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mkey:\n");
-	connectib_cmdif_ctx_special_mkey_print(&(ptr_struct->mkey), file, indent_level + 1);
+	fprintf(file, "power_state          : " UH_FMT "\n", ptr_struct->power_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "arm_rq:\n");
-	connectib_cmdif_ctx_special_arm_rq_print(&(ptr_struct->arm_rq), file, indent_level + 1);
+	fprintf(file, "no_soft_reset        : " UH_FMT "\n", ptr_struct->no_soft_reset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "modify_rmp:\n");
-	connectib_cmdif_ctx_special_modify_rmp_print(&(ptr_struct->modify_rmp), file, indent_level + 1);
+	fprintf(file, "pme_enable           : " UH_FMT "\n", ptr_struct->pme_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sniffer:\n");
-	connectib_cmdif_ctx_sniffer_print(&(ptr_struct->sniffer), file, indent_level + 1);
+	fprintf(file, "data_select          : " UH_FMT "\n", ptr_struct->data_select);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mcg:\n");
-	connectib_cmdif_ctx_mcg_print(&(ptr_struct->mcg), file, indent_level + 1);
+	fprintf(file, "data_scale           : " UH_FMT "\n", ptr_struct->data_scale);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "psv:\n");
-	connectib_cmdif_ctx_psv_print(&(ptr_struct->psv), file, indent_level + 1);
+	fprintf(file, "pme_status           : " UH_FMT "\n", ptr_struct->pme_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt:\n");
-	connectib_cmdif_ctx_create_mtt_print(&(ptr_struct->mtt), file, indent_level + 1);
+	fprintf(file, "pmcsr_bse            : " UH_FMT "\n", ptr_struct->pmcsr_bse);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dmfs:\n");
-	connectib_cmdif_ctx_dmfs_print(&(ptr_struct->dmfs), file, indent_level + 1);
-
-}
+	fprintf(file, "data                 : " UH_FMT "\n", ptr_struct->data);
 
-int connectib_cmdif_ctx_special_size(void){
-	 return 32;
-}
-
-void connectib_cmdif_ctx_special_dump(const union connectib_cmdif_ctx_special *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_special_print(ptr_struct, file, 0);
 }
 
-void connectib_flush_type_pack(const union connectib_flush_type *ptr_struct, u_int8_t* ptr_buff)
+int connectib_pci_power_management_cap_size(void)
 {
-	connectib_flush_type_bitmask_pack(&(ptr_struct->bitmask), ptr_buff);
+	 return 8;
 }
 
-void connectib_flush_type_unpack(union connectib_flush_type *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_pci_power_management_cap_dump(const struct connectib_pci_power_management_cap *ptr_struct, FILE* file)
 {
-	connectib_flush_type_bitmask_unpack(&(ptr_struct->bitmask), ptr_buff);
-}
-
-void connectib_flush_type_print(const union connectib_flush_type *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_flush_type ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bits:\n");
-	connectib_flush_type_bits_print(&(ptr_struct->bits), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bitmask:\n");
-	connectib_flush_type_bitmask_print(&(ptr_struct->bitmask), file, indent_level + 1);
-
-}
-
-int connectib_flush_type_size(void){
-	 return 4;
-}
-
-void connectib_flush_type_dump(const union connectib_flush_type *ptr_struct, FILE* file) {
-	connectib_flush_type_print(ptr_struct, file, 0);
+	connectib_pci_power_management_cap_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_eqe_flat_data_pack(const struct connectib_sw_eqe_flat_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pci_cfg_type0_header_pack(const struct connectib_pci_cfg_type0_header *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 7; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 224, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data[i]);
-	}
-
-}
-
-void connectib_sw_eqe_flat_data_unpack(struct connectib_sw_eqe_flat_data *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vendor_id);
 
-	for (i=0; i < 7; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 224, 1);
-	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_id);
 
-}
+	offset = 48;
+	connectib_cmd_reg1_pack(&(ptr_struct->cmd), ptr_buff + offset/8);
 
-void connectib_sw_eqe_flat_data_print(const struct connectib_sw_eqe_flat_data *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sw_eqe_flat_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 32;
+	connectib_stat_reg1_pack(&(ptr_struct->status), ptr_buff + offset/8);
 
-	for (i=0; i < 7; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U32H_FMT"\n", i, ptr_struct->data[i]);
-	}
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rev_id);
 
-}
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->class_code);
 
-int connectib_sw_eqe_flat_data_size(void){
-	 return 28;
-}
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cache_line);
 
-void connectib_sw_eqe_flat_data_dump(const struct connectib_sw_eqe_flat_data *ptr_struct, FILE* file) {
-	connectib_sw_eqe_flat_data_print(ptr_struct, file, 0);
-}
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->latency);
 
-void connectib_db_bf_congestion_event_pack(const struct connectib_db_bf_congestion_event *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hdr_type);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->congestion_level);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->bist);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->event_subtype);
+	offset = 128;
+	connectib_bar_low_pack(&(ptr_struct->reg4), ptr_buff + offset/8);
 
-}
+	offset = 160;
+	connectib_bar_high_pack(&(ptr_struct->reg5), ptr_buff + offset/8);
 
-void connectib_db_bf_congestion_event_unpack(struct connectib_db_bf_congestion_event *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 192;
+	connectib_bar_low_pack(&(ptr_struct->reg6), ptr_buff + offset/8);
 
-	offset=16;
-	ptr_struct->congestion_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 224;
+	connectib_bar_high_pack(&(ptr_struct->reg7), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->event_subtype = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 256;
+	connectib_bar_low_pack(&(ptr_struct->reg8), ptr_buff + offset/8);
 
-}
+	offset = 288;
+	connectib_bar_high_pack(&(ptr_struct->reg9), ptr_buff + offset/8);
 
-void connectib_db_bf_congestion_event_print(const struct connectib_db_bf_congestion_event *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_db_bf_congestion_event ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 368;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sub_vendor_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "congestion_level     : "UH_FMT"\n", ptr_struct->congestion_level);
+	offset = 352;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->subsystem_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "event_subtype        : "UH_FMT"\n", ptr_struct->event_subtype);
+	offset = 384;
+	connectib_exp_rom_pack(&(ptr_struct->reg12), ptr_buff + offset/8);
 
-}
+	offset = 440;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cap_ptr);
 
-int connectib_db_bf_congestion_event_size(void){
-	 return 24;
-}
+	offset = 504;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->interrupt_line);
+
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->interrupt_pin);
+
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->min_gnt_max_lat);
 
-void connectib_db_bf_congestion_event_dump(const struct connectib_db_bf_congestion_event *ptr_struct, FILE* file) {
-	connectib_db_bf_congestion_event_print(ptr_struct, file, 0);
 }
 
-void connectib_rdma_page_fault_event_pack(const struct connectib_rdma_page_fault_event *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pci_cfg_type0_header_unpack(struct connectib_pci_cfg_type0_header *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->bytes_committed);
+	offset = 16;
+	ptr_struct->vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->r_key);
+	offset = 0;
+	ptr_struct->device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->packet_len);
+	offset = 48;
+	connectib_cmd_reg1_unpack(&(ptr_struct->cmd), ptr_buff + offset/8);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rdma_op_len);
+	offset = 32;
+	connectib_stat_reg1_unpack(&(ptr_struct->status), ptr_buff + offset/8);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rdma_va_hi);
+	offset = 88;
+	ptr_struct->rev_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rdma_va_lo);
+	offset = 64;
+	ptr_struct->class_code = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
+	offset = 120;
+	ptr_struct->cache_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=199;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->requestor);
+	offset = 112;
+	ptr_struct->latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=198;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_read_);
+	offset = 104;
+	ptr_struct->hdr_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=197;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rdma);
+	offset = 96;
+	ptr_struct->bist = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-}
+	offset = 128;
+	connectib_bar_low_unpack(&(ptr_struct->reg4), ptr_buff + offset/8);
 
-void connectib_rdma_page_fault_event_unpack(struct connectib_rdma_page_fault_event *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 160;
+	connectib_bar_high_unpack(&(ptr_struct->reg5), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->bytes_committed = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	connectib_bar_low_unpack(&(ptr_struct->reg6), ptr_buff + offset/8);
 
-	offset=32;
-	ptr_struct->r_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	connectib_bar_high_unpack(&(ptr_struct->reg7), ptr_buff + offset/8);
 
-	offset=80;
-	ptr_struct->packet_len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 256;
+	connectib_bar_low_unpack(&(ptr_struct->reg8), ptr_buff + offset/8);
 
-	offset=96;
-	ptr_struct->rdma_op_len = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	connectib_bar_high_unpack(&(ptr_struct->reg9), ptr_buff + offset/8);
 
-	offset=128;
-	ptr_struct->rdma_va_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 368;
+	ptr_struct->sub_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=160;
-	ptr_struct->rdma_va_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 352;
+	ptr_struct->subsystem_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=200;
-	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 384;
+	connectib_exp_rom_unpack(&(ptr_struct->reg12), ptr_buff + offset/8);
 
-	offset=199;
-	ptr_struct->requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 440;
+	ptr_struct->cap_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=198;
-	ptr_struct->write_read_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 504;
+	ptr_struct->interrupt_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=197;
-	ptr_struct->rdma = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 496;
+	ptr_struct->interrupt_pin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 480;
+	ptr_struct->min_gnt_max_lat = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_rdma_page_fault_event_print(const struct connectib_rdma_page_fault_event *ptr_struct, FILE* file, int indent_level){
+void connectib_pci_cfg_type0_header_print(const struct connectib_pci_cfg_type0_header *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_rdma_page_fault_event ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pci_cfg_type0_header ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bytes_committed      : "U32H_FMT"\n", ptr_struct->bytes_committed);
+	fprintf(file, "vendor_id            : " UH_FMT "\n", ptr_struct->vendor_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "r_key                : "U32H_FMT"\n", ptr_struct->r_key);
+	fprintf(file, "device_id            : " UH_FMT "\n", ptr_struct->device_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "packet_len           : "UH_FMT"\n", ptr_struct->packet_len);
+	fprintf(file, "cmd:\n");
+	connectib_cmd_reg1_print(&(ptr_struct->cmd), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdma_op_len          : "U32H_FMT"\n", ptr_struct->rdma_op_len);
+	fprintf(file, "status:\n");
+	connectib_stat_reg1_print(&(ptr_struct->status), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdma_va_hi           : "U32H_FMT"\n", ptr_struct->rdma_va_hi);
+	fprintf(file, "rev_id               : " UH_FMT "\n", ptr_struct->rev_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdma_va_lo           : "U32H_FMT"\n", ptr_struct->rdma_va_lo);
+	fprintf(file, "class_code           : " UH_FMT "\n", ptr_struct->class_code);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "cache_line           : " UH_FMT "\n", ptr_struct->cache_line);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "requestor            : "UH_FMT"\n", ptr_struct->requestor);
+	fprintf(file, "latency              : " UH_FMT "\n", ptr_struct->latency);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_read_          : "UH_FMT"\n", ptr_struct->write_read_);
+	fprintf(file, "hdr_type             : " UH_FMT "\n", ptr_struct->hdr_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdma                 : "UH_FMT"\n", ptr_struct->rdma);
-
-}
-
-int connectib_rdma_page_fault_event_size(void){
-	 return 28;
-}
-
-void connectib_rdma_page_fault_event_dump(const struct connectib_rdma_page_fault_event *ptr_struct, FILE* file) {
-	connectib_rdma_page_fault_event_print(ptr_struct, file, 0);
-}
-
-void connectib_wqe_page_fault_event_pack(const struct connectib_wqe_page_fault_event *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->bytes_committed);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->wqe_index);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->packet_len);
-
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
-
-	offset=199;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->req_res_);
-
-	offset=198;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_read_);
-
-	offset=197;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rdma);
-
-}
-
-void connectib_wqe_page_fault_event_unpack(struct connectib_wqe_page_fault_event *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	ptr_struct->bytes_committed = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=48;
-	ptr_struct->wqe_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=80;
-	ptr_struct->packet_len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	fprintf(file, "bist                 : " UH_FMT "\n", ptr_struct->bist);
 
-	offset=200;
-	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reg4:\n");
+	connectib_bar_low_print(&(ptr_struct->reg4), file, indent_level + 1);
 
-	offset=199;
-	ptr_struct->req_res_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reg5:\n");
+	connectib_bar_high_print(&(ptr_struct->reg5), file, indent_level + 1);
 
-	offset=198;
-	ptr_struct->write_read_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reg6:\n");
+	connectib_bar_low_print(&(ptr_struct->reg6), file, indent_level + 1);
 
-	offset=197;
-	ptr_struct->rdma = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reg7:\n");
+	connectib_bar_high_print(&(ptr_struct->reg7), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reg8:\n");
+	connectib_bar_low_print(&(ptr_struct->reg8), file, indent_level + 1);
 
-void connectib_wqe_page_fault_event_print(const struct connectib_wqe_page_fault_event *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_page_fault_event ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "reg9:\n");
+	connectib_bar_high_print(&(ptr_struct->reg9), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bytes_committed      : "U32H_FMT"\n", ptr_struct->bytes_committed);
+	fprintf(file, "sub_vendor_id        : " UH_FMT "\n", ptr_struct->sub_vendor_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_index            : "UH_FMT"\n", ptr_struct->wqe_index);
+	fprintf(file, "subsystem_id         : " UH_FMT "\n", ptr_struct->subsystem_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "packet_len           : "UH_FMT"\n", ptr_struct->packet_len);
+	fprintf(file, "reg12:\n");
+	connectib_exp_rom_print(&(ptr_struct->reg12), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "cap_ptr              : " UH_FMT "\n", ptr_struct->cap_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "req_res_             : "UH_FMT"\n", ptr_struct->req_res_);
+	fprintf(file, "interrupt_line       : " UH_FMT "\n", ptr_struct->interrupt_line);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_read_          : "UH_FMT"\n", ptr_struct->write_read_);
+	fprintf(file, "interrupt_pin        : " UH_FMT "\n", ptr_struct->interrupt_pin);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdma                 : "UH_FMT"\n", ptr_struct->rdma);
+	fprintf(file, "min_gnt_max_lat      : " UH_FMT "\n", ptr_struct->min_gnt_max_lat);
 
 }
 
-int connectib_wqe_page_fault_event_size(void){
-	 return 28;
+int connectib_pci_cfg_type0_header_size(void)
+{
+	 return 64;
 }
 
-void connectib_wqe_page_fault_event_dump(const struct connectib_wqe_page_fault_event *ptr_struct, FILE* file) {
-	connectib_wqe_page_fault_event_print(ptr_struct, file, 0);
+void connectib_pci_cfg_type0_header_dump(const struct connectib_pci_cfg_type0_header *ptr_struct, FILE* file)
+{
+	connectib_pci_cfg_type0_header_print(ptr_struct, file, 0);
 }
 
-void connectib_page_request_event_pack(const struct connectib_page_request_event *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_block_behavior_fields_pack(const struct connectib_fw_block_behavior_fields *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->function_id);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_mfpa_mfba_mfbe);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_cr_space_flash_gw);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_pages);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->en);
 
 }
 
-void connectib_page_request_event_unpack(struct connectib_page_request_event *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_block_behavior_fields_unpack(struct connectib_fw_block_behavior_fields *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->function_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 31;
+	ptr_struct->disable_mfpa_mfba_mfbe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->num_pages = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 30;
+	ptr_struct->disable_cr_space_flash_gw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_page_request_event_print(const struct connectib_page_request_event *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_block_behavior_fields_print(const struct connectib_fw_block_behavior_fields *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_page_request_event ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_block_behavior_fields ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "function_id          : "UH_FMT"\n", ptr_struct->function_id);
+	fprintf(file, "disable_mfpa_mfba_mfbe : " UH_FMT "\n", ptr_struct->disable_mfpa_mfba_mfbe);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "disable_cr_space_flash_gw : " UH_FMT "\n", ptr_struct->disable_cr_space_flash_gw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_pages            : "U32H_FMT"\n", ptr_struct->num_pages);
+	fprintf(file, "en                   : " UH_FMT "\n", ptr_struct->en);
 
 }
 
-int connectib_page_request_event_size(void){
-	 return 28;
+int connectib_fw_block_behavior_fields_size(void)
+{
+	 return 4;
 }
 
-void connectib_page_request_event_dump(const struct connectib_page_request_event *ptr_struct, FILE* file) {
-	connectib_page_request_event_print(ptr_struct, file, 0);
+void connectib_fw_block_behavior_fields_dump(const struct connectib_fw_block_behavior_fields *ptr_struct, FILE* file)
+{
+	connectib_fw_block_behavior_fields_print(ptr_struct, file, 0);
 }
 
-void connectib_port_state_change_event_pack(const struct connectib_port_state_change_event *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_block_behavior_dw_pack(const struct connectib_fw_block_behavior_dw *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_num);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dw);
 
 }
 
-void connectib_port_state_change_event_unpack(struct connectib_port_state_change_event *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_block_behavior_dw_unpack(struct connectib_fw_block_behavior_dw *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=64;
-	ptr_struct->port_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->dw = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_port_state_change_event_print(const struct connectib_port_state_change_event *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_block_behavior_dw_print(const struct connectib_fw_block_behavior_dw *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_port_state_change_event ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_block_behavior_dw ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_num             : "UH_FMT"\n", ptr_struct->port_num);
+	fprintf(file, "dw                   : " U32H_FMT "\n", ptr_struct->dw);
 
 }
 
-int connectib_port_state_change_event_size(void){
-	 return 28;
+int connectib_fw_block_behavior_dw_size(void)
+{
+	 return 4;
 }
 
-void connectib_port_state_change_event_dump(const struct connectib_port_state_change_event *ptr_struct, FILE* file) {
-	connectib_port_state_change_event_print(ptr_struct, file, 0);
+void connectib_fw_block_behavior_dw_dump(const struct connectib_fw_block_behavior_dw *ptr_struct, FILE* file)
+{
+	connectib_fw_block_behavior_dw_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_eqe_qp_data_pack(const struct connectib_sw_eqe_qp_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_host_func_main_pack(const struct connectib_nv_config_host_func_main *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
+	offset = 0;
+	connectib_external_port_pf_array_pack(&(ptr_struct->external_port), ptr_buff + offset/8);
 
 }
 
-void connectib_sw_eqe_qp_data_unpack(struct connectib_sw_eqe_qp_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_config_host_func_main_unpack(struct connectib_nv_config_host_func_main *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=200;
-	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	connectib_external_port_pf_array_unpack(&(ptr_struct->external_port), ptr_buff + offset/8);
 
 }
 
-void connectib_sw_eqe_qp_data_print(const struct connectib_sw_eqe_qp_data *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_config_host_func_main_print(const struct connectib_nv_config_host_func_main *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sw_eqe_qp_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_config_host_func_main ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "external_port:\n");
+	connectib_external_port_pf_array_print(&(ptr_struct->external_port), file, indent_level + 1);
 
 }
 
-int connectib_sw_eqe_qp_data_size(void){
-	 return 28;
+int connectib_nv_config_host_func_main_size(void)
+{
+	 return 24;
 }
 
-void connectib_sw_eqe_qp_data_dump(const struct connectib_sw_eqe_qp_data *ptr_struct, FILE* file) {
-	connectib_sw_eqe_qp_data_print(ptr_struct, file, 0);
+void connectib_nv_config_host_func_main_dump(const struct connectib_nv_config_host_func_main *ptr_struct, FILE* file)
+{
+	connectib_nv_config_host_func_main_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_eqe_error_data_pack(const struct connectib_sw_eqe_error_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_global_main_pack(const struct connectib_nv_config_global_main *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cqn);
+	offset = 0;
+	connectib_nv_roce_1_5_conf_pack(&(ptr_struct->roce_1_5_next_prot), ptr_buff + offset/8);
 
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->syndrome);
+	offset = 32;
+	connectib_nv_sw_offload_conf_pack(&(ptr_struct->sw_offload_conf), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_nv_tlv_tweaks_pack(&(ptr_struct->tweaks), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_nv_config_host_2_bmc_pack(&(ptr_struct->host_2_bmc), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_nv_config_flex_nic_pack(&(ptr_struct->flex_nic), ptr_buff + offset/8);
+
+	offset = 192;
+	connectib_nv_tlv_data_curr_config_pack(&(ptr_struct->current_configurator), ptr_buff + offset/8);
 
 }
 
-void connectib_sw_eqe_error_data_unpack(struct connectib_sw_eqe_error_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_config_global_main_unpack(struct connectib_nv_config_global_main *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->cqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	connectib_nv_roce_1_5_conf_unpack(&(ptr_struct->roce_1_5_next_prot), ptr_buff + offset/8);
 
-	offset=88;
-	ptr_struct->syndrome = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 32;
+	connectib_nv_sw_offload_conf_unpack(&(ptr_struct->sw_offload_conf), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_nv_tlv_tweaks_unpack(&(ptr_struct->tweaks), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_nv_config_host_2_bmc_unpack(&(ptr_struct->host_2_bmc), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_nv_config_flex_nic_unpack(&(ptr_struct->flex_nic), ptr_buff + offset/8);
+
+	offset = 192;
+	connectib_nv_tlv_data_curr_config_unpack(&(ptr_struct->current_configurator), ptr_buff + offset/8);
 
 }
 
-void connectib_sw_eqe_error_data_print(const struct connectib_sw_eqe_error_data *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_config_global_main_print(const struct connectib_nv_config_global_main *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sw_eqe_error_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_config_global_main ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cqn                  : "UH_FMT"\n", ptr_struct->cqn);
+	fprintf(file, "roce_1_5_next_prot:\n");
+	connectib_nv_roce_1_5_conf_print(&(ptr_struct->roce_1_5_next_prot), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sw_offload_conf:\n");
+	connectib_nv_sw_offload_conf_print(&(ptr_struct->sw_offload_conf), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tweaks:\n");
+	connectib_nv_tlv_tweaks_print(&(ptr_struct->tweaks), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "host_2_bmc:\n");
+	connectib_nv_config_host_2_bmc_print(&(ptr_struct->host_2_bmc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flex_nic:\n");
+	connectib_nv_config_flex_nic_print(&(ptr_struct->flex_nic), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "syndrome             : "UH_FMT"\n", ptr_struct->syndrome);
+	fprintf(file, "current_configurator:\n");
+	connectib_nv_tlv_data_curr_config_print(&(ptr_struct->current_configurator), file, indent_level + 1);
 
 }
 
-int connectib_sw_eqe_error_data_size(void){
-	 return 28;
+int connectib_nv_config_global_main_size(void)
+{
+	 return 64;
 }
 
-void connectib_sw_eqe_error_data_dump(const struct connectib_sw_eqe_error_data *ptr_struct, FILE* file) {
-	connectib_sw_eqe_error_data_print(ptr_struct, file, 0);
+void connectib_nv_config_global_main_dump(const struct connectib_nv_config_global_main *ptr_struct, FILE* file)
+{
+	connectib_nv_config_global_main_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_eqe_cq_data_pack(const struct connectib_sw_eqe_cq_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_port_settings_pack(const struct connectib_port_settings *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cqn);
+	offset = 0;
+	connectib_nv_roce_cc_pack(&(ptr_struct->roce_cc_ctrl), ptr_buff + offset/8);
 
-}
+	offset = 64;
+	connectib_nv_roce_cc_ecn_pack(&(ptr_struct->roce_ecn), ptr_buff + offset/8);
 
-void connectib_sw_eqe_cq_data_unpack(struct connectib_sw_eqe_cq_data *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 704;
+	connectib_nv_keep_link_up_pack(&(ptr_struct->keep_link_up), ptr_buff + offset/8);
 
-	offset=200;
-	ptr_struct->cqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 768;
+	connectib_nv_lldp_nb_cap_pack(&(ptr_struct->lldp_nb_cap), ptr_buff + offset/8);
 
-}
+	offset = 864;
+	connectib_nv_lldp_nb_conf_pack(&(ptr_struct->lldp_nb_param), ptr_buff + offset/8);
 
-void connectib_sw_eqe_cq_data_print(const struct connectib_sw_eqe_cq_data *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sw_eqe_cq_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 960;
+	connectib_nv_lldp_nb_dcbx_pack(&(ptr_struct->dcbx_nb), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cqn                  : "UH_FMT"\n", ptr_struct->cqn);
+	offset = 1056;
+	connectib_nv_qos_conf_pack(&(ptr_struct->qos_conf), ptr_buff + offset/8);
 
-}
+	offset = 1152;
+	connectib_nv_qos_cap_pack(&(ptr_struct->qos_cap), ptr_buff + offset/8);
 
-int connectib_sw_eqe_cq_data_size(void){
-	 return 28;
-}
+	offset = 1184;
+	connectib_nv_qos_ets_tc_conf_pack(&(ptr_struct->qos_ets_tc_conf), ptr_buff + offset/8);
 
-void connectib_sw_eqe_cq_data_dump(const struct connectib_sw_eqe_cq_data *ptr_struct, FILE* file) {
-	connectib_sw_eqe_cq_data_print(ptr_struct, file, 0);
 }
 
-void connectib_reg_access_reg_tlv_data_pack(const union connectib_reg_access_reg_tlv_data *ptr_struct, u_int8_t* ptr_buff)
+void connectib_port_settings_unpack(struct connectib_port_settings *ptr_struct, const u_int8_t* ptr_buff)
 {
-	connectib_project_nvqc_pack(&(ptr_struct->nvqc), ptr_buff);
-}
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_reg_access_reg_tlv_data_unpack(union connectib_reg_access_reg_tlv_data *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_project_nvqc_unpack(&(ptr_struct->nvqc), ptr_buff);
-}
+	offset = 0;
+	connectib_nv_roce_cc_unpack(&(ptr_struct->roce_cc_ctrl), ptr_buff + offset/8);
 
-void connectib_reg_access_reg_tlv_data_print(const union connectib_reg_access_reg_tlv_data *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reg_access_reg_tlv_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 64;
+	connectib_nv_roce_cc_ecn_unpack(&(ptr_struct->roce_ecn), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfpa:\n");
-	connectib_mfpa_print(&(ptr_struct->mfpa), file, indent_level + 1);
+	offset = 704;
+	connectib_nv_keep_link_up_unpack(&(ptr_struct->keep_link_up), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfai:\n");
-	connectib_register_mfai_print(&(ptr_struct->mfai), file, indent_level + 1);
+	offset = 768;
+	connectib_nv_lldp_nb_cap_unpack(&(ptr_struct->lldp_nb_cap), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfrl:\n");
-	connectib_register_mfrl_print(&(ptr_struct->mfrl), file, indent_level + 1);
+	offset = 864;
+	connectib_nv_lldp_nb_conf_unpack(&(ptr_struct->lldp_nb_param), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtmp:\n");
-	connectib_mtmp_print(&(ptr_struct->mtmp), file, indent_level + 1);
+	offset = 960;
+	connectib_nv_lldp_nb_dcbx_unpack(&(ptr_struct->dcbx_nb), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "misc_counters:\n");
-	connectib_register_misc_counters_print(&(ptr_struct->misc_counters), file, indent_level + 1);
+	offset = 1056;
+	connectib_nv_qos_conf_unpack(&(ptr_struct->qos_conf), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfba:\n");
-	connectib_project_mfba_print(&(ptr_struct->mfba), file, indent_level + 1);
+	offset = 1152;
+	connectib_nv_qos_cap_unpack(&(ptr_struct->qos_cap), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mfbe:\n");
-	connectib_mfbe_print(&(ptr_struct->mfbe), file, indent_level + 1);
+	offset = 1184;
+	connectib_nv_qos_ets_tc_conf_unpack(&(ptr_struct->qos_ets_tc_conf), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mjtag:\n");
-	connectib_mjtag_print(&(ptr_struct->mjtag), file, indent_level + 1);
+}
 
+void connectib_port_settings_print(const struct connectib_port_settings *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "paos:\n");
-	connectib_paos_reg_print(&(ptr_struct->paos), file, indent_level + 1);
+	fprintf(file, "======== connectib_port_settings ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slrp:\n");
-	connectib_slrp_reg_print(&(ptr_struct->slrp), file, indent_level + 1);
+	fprintf(file, "roce_cc_ctrl:\n");
+	connectib_nv_roce_cc_print(&(ptr_struct->roce_cc_ctrl), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sltp:\n");
-	connectib_sltp_reg_print(&(ptr_struct->sltp), file, indent_level + 1);
+	fprintf(file, "roce_ecn:\n");
+	connectib_nv_roce_cc_ecn_print(&(ptr_struct->roce_ecn), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ptas:\n");
-	connectib_ptas_reg_print(&(ptr_struct->ptas), file, indent_level + 1);
+	fprintf(file, "keep_link_up:\n");
+	connectib_nv_keep_link_up_print(&(ptr_struct->keep_link_up), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slrg:\n");
-	connectib_slrg_reg_print(&(ptr_struct->slrg), file, indent_level + 1);
+	fprintf(file, "lldp_nb_cap:\n");
+	connectib_nv_lldp_nb_cap_print(&(ptr_struct->lldp_nb_cap), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ppamp:\n");
-	connectib_pamp_reg_print(&(ptr_struct->ppamp), file, indent_level + 1);
+	fprintf(file, "lldp_nb_param:\n");
+	connectib_nv_lldp_nb_conf_print(&(ptr_struct->lldp_nb_param), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pmtu:\n");
-	connectib_pmtu_reg_print(&(ptr_struct->pmtu), file, indent_level + 1);
+	fprintf(file, "dcbx_nb:\n");
+	connectib_nv_lldp_nb_dcbx_print(&(ptr_struct->dcbx_nb), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nvda:\n");
-	connectib_project_nvda_print(&(ptr_struct->nvda), file, indent_level + 1);
+	fprintf(file, "qos_conf:\n");
+	connectib_nv_qos_conf_print(&(ptr_struct->qos_conf), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nvdi:\n");
-	connectib_nv_tlv_hdr_print(&(ptr_struct->nvdi), file, indent_level + 1);
+	fprintf(file, "qos_cap:\n");
+	connectib_nv_qos_cap_print(&(ptr_struct->qos_cap), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nvqc:\n");
-	connectib_project_nvqc_print(&(ptr_struct->nvqc), file, indent_level + 1);
+	fprintf(file, "qos_ets_tc_conf:\n");
+	connectib_nv_qos_ets_tc_conf_print(&(ptr_struct->qos_ets_tc_conf), file, indent_level + 1);
 
 }
 
-int connectib_reg_access_reg_tlv_data_size(void){
-	 return 44;
+int connectib_port_settings_size(void)
+{
+	 return 256;
 }
 
-void connectib_reg_access_reg_tlv_data_dump(const union connectib_reg_access_reg_tlv_data *ptr_struct, FILE* file) {
-	connectib_reg_access_reg_tlv_data_print(ptr_struct, file, 0);
+void connectib_port_settings_dump(const struct connectib_port_settings *ptr_struct, FILE* file)
+{
+	connectib_port_settings_print(ptr_struct, file, 0);
 }
 
-void connectib_reg_access_tlv_pack(const struct connectib_reg_access_tlv *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phy_lcl_ini_pack(const struct connectib_phy_lcl_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->len);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->type);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->PlaceHolder);
 
 }
 
-void connectib_reg_access_tlv_unpack(struct connectib_reg_access_tlv *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_phy_lcl_ini_unpack(struct connectib_phy_lcl_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=5;
-	ptr_struct->len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
-
-	offset=0;
-	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 0;
+	ptr_struct->PlaceHolder = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_reg_access_tlv_print(const struct connectib_reg_access_tlv *ptr_struct, FILE* file, int indent_level){
+void connectib_phy_lcl_ini_print(const struct connectib_phy_lcl_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reg_access_tlv ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_phy_lcl_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "len                  : "UH_FMT"\n", ptr_struct->len);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "UH_FMT"\n", ptr_struct->type);
+	fprintf(file, "PlaceHolder          : " U32H_FMT "\n", ptr_struct->PlaceHolder);
 
 }
 
-int connectib_reg_access_tlv_size(void){
+int connectib_phy_lcl_ini_size(void)
+{
 	 return 4;
 }
 
-void connectib_reg_access_tlv_dump(const struct connectib_reg_access_tlv *ptr_struct, FILE* file) {
-	connectib_reg_access_tlv_print(ptr_struct, file, 0);
+void connectib_phy_lcl_ini_dump(const struct connectib_phy_lcl_ini *ptr_struct, FILE* file)
+{
+	connectib_phy_lcl_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_IB_TID_pack(const struct connectib_IB_TID *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->High);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->Low);
-
+void connectib_port_cap_mask1_pack(const union connectib_port_cap_mask1 *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_dword_val_pack(&(ptr_struct->dword), ptr_buff);
 }
 
-void connectib_IB_TID_unpack(struct connectib_IB_TID *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	ptr_struct->High = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->Low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
+void connectib_port_cap_mask1_unpack(union connectib_port_cap_mask1 *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_dword_val_unpack(&(ptr_struct->dword), ptr_buff);
 }
 
-void connectib_IB_TID_print(const struct connectib_IB_TID *ptr_struct, FILE* file, int indent_level){
+void connectib_port_cap_mask1_print(const union connectib_port_cap_mask1 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_IB_TID ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_port_cap_mask1 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "High                 : "U32H_FMT"\n", ptr_struct->High);
+	fprintf(file, "fields:\n");
+	connectib_port_cap_mask1_fields_print(&(ptr_struct->fields), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Low                  : "U32H_FMT"\n", ptr_struct->Low);
+	fprintf(file, "dword:\n");
+	connectib_dword_val_print(&(ptr_struct->dword), file, indent_level + 1);
 
 }
 
-int connectib_IB_TID_size(void){
-	 return 8;
+int connectib_port_cap_mask1_size(void)
+{
+	 return 4;
 }
 
-void connectib_IB_TID_dump(const struct connectib_IB_TID *ptr_struct, FILE* file) {
-	connectib_IB_TID_print(ptr_struct, file, 0);
+void connectib_port_cap_mask1_dump(const union connectib_port_cap_mask1 *ptr_struct, FILE* file)
+{
+	connectib_port_cap_mask1_print(ptr_struct, file, 0);
 }
 
-void connectib_dc_control_packet_desc_pack(const struct connectib_dc_control_packet_desc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_reset_version_pack(const struct connectib_reset_version *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dlid);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->slid);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->source_qp);
-
-	offset=39;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dest_qp);
-
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->psn);
-
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey);
-
-	offset=140;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
-
-	offset=139;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_id);
-
-	offset=138;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->has_grh);
-
-	offset=137;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_loopback);
-
-	offset=176;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dct_gvmi);
-
-	offset=216;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
-
-	offset=208;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
-
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->flow_label);
-
-	offset=256;
-	connectib_ib_gid_pack(&(ptr_struct->dgid), ptr_buff + offset/8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->minor);
 
-	offset=384;
-	connectib_ib_gid_pack(&(ptr_struct->sgid), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->major);
 
 }
 
-void connectib_dc_control_packet_desc_unpack(struct connectib_dc_control_packet_desc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_reset_version_unpack(struct connectib_reset_version *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->dlid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->slid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=40;
-	ptr_struct->source_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=39;
+	offset = 31;
 	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=72;
-	ptr_struct->dest_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=104;
-	ptr_struct->psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=144;
-	ptr_struct->pkey = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=140;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=139;
-	ptr_struct->port_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=138;
-	ptr_struct->has_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=137;
-	ptr_struct->force_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=176;
-	ptr_struct->dct_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=216;
-	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=208;
-	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=192;
-	ptr_struct->flow_label = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=256;
-	connectib_ib_gid_unpack(&(ptr_struct->dgid), ptr_buff + offset/8);
+	offset = 16;
+	ptr_struct->minor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=384;
-	connectib_ib_gid_unpack(&(ptr_struct->sgid), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->major = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_dc_control_packet_desc_print(const struct connectib_dc_control_packet_desc *ptr_struct, FILE* file, int indent_level){
+void connectib_reset_version_print(const struct connectib_reset_version *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dc_control_packet_desc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_reset_version ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dlid                 : "UH_FMT"\n", ptr_struct->dlid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slid                 : "UH_FMT"\n", ptr_struct->slid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "source_qp            : "UH_FMT"\n", ptr_struct->source_qp);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dest_qp              : "UH_FMT"\n", ptr_struct->dest_qp);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "psn                  : "UH_FMT"\n", ptr_struct->psn);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey                 : "UH_FMT"\n", ptr_struct->pkey);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_id              : "UH_FMT"\n", ptr_struct->port_id);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "has_grh              : "UH_FMT"\n", ptr_struct->has_grh);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_loopback       : "UH_FMT"\n", ptr_struct->force_loopback);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct_gvmi             : "UH_FMT"\n", ptr_struct->dct_gvmi);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_limit            : "UH_FMT"\n", ptr_struct->hop_limit);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dgid:\n");
-	connectib_ib_gid_print(&(ptr_struct->dgid), file, indent_level + 1);
+	fprintf(file, "minor                : " UH_FMT "\n", ptr_struct->minor);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sgid:\n");
-	connectib_ib_gid_print(&(ptr_struct->sgid), file, indent_level + 1);
-
-}
-
-int connectib_dc_control_packet_desc_size(void){
-	 return 64;
-}
+	fprintf(file, "major                : " UH_FMT "\n", ptr_struct->major);
 
-void connectib_dc_control_packet_desc_dump(const struct connectib_dc_control_packet_desc *ptr_struct, FILE* file) {
-	connectib_dc_control_packet_desc_print(ptr_struct, file, 0);
 }
 
-void connectib_dmfs_resources_pack(const union connectib_dmfs_resources *ptr_struct, u_int8_t* ptr_buff)
+int connectib_reset_version_size(void)
 {
-	connectib_dmfs_hash_meta_pack(&(ptr_struct->hash_meta), ptr_buff);
+	 return 4;
 }
 
-void connectib_dmfs_resources_unpack(union connectib_dmfs_resources *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_reset_version_dump(const struct connectib_reset_version *ptr_struct, FILE* file)
 {
-	connectib_dmfs_hash_meta_unpack(&(ptr_struct->hash_meta), ptr_buff);
-}
-
-void connectib_dmfs_resources_print(const union connectib_dmfs_resources *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dmfs_resources ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "group_meta:\n");
-	connectib_dmfs_group_meta_print(&(ptr_struct->group_meta), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ft_meta:\n");
-	connectib_dmfs_ft_meta_print(&(ptr_struct->ft_meta), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fte_meta:\n");
-	connectib_dmfs_fte_meta_print(&(ptr_struct->fte_meta), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hash_meta:\n");
-	connectib_dmfs_hash_meta_print(&(ptr_struct->hash_meta), file, indent_level + 1);
-
-}
-
-int connectib_dmfs_resources_size(void){
-	 return 64;
-}
-
-void connectib_dmfs_resources_dump(const union connectib_dmfs_resources *ptr_struct, FILE* file) {
-	connectib_dmfs_resources_print(ptr_struct, file, 0);
+	connectib_reset_version_print(ptr_struct, file, 0);
 }
 
-void connectib_list_element_pack(const struct connectib_list_element *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dcr_odp_events_pack(const struct connectib_dcr_odp_events *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->next);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_list);
-
-	offset=39;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->prev);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	connectib_dcr_odp_event_entry_pack(&(ptr_struct->event_entry[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_list_element_unpack(struct connectib_list_element *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dcr_odp_events_unpack(struct connectib_dcr_odp_events *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	ptr_struct->next = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
-
-	offset=0;
-	ptr_struct->in_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=39;
-	ptr_struct->prev = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	connectib_dcr_odp_event_entry_unpack(&(ptr_struct->event_entry[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_list_element_print(const struct connectib_list_element *ptr_struct, FILE* file, int indent_level){
+void connectib_dcr_odp_events_print(const struct connectib_dcr_odp_events *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_list_element ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_dcr_odp_events ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next                 : "UH_FMT"\n", ptr_struct->next);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in_list              : "UH_FMT"\n", ptr_struct->in_list);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prev                 : "UH_FMT"\n", ptr_struct->prev);
+	fprintf(file, "event_entry_%03d:\n", i);
+	connectib_dcr_odp_event_entry_print(&(ptr_struct->event_entry[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_list_element_size(void){
-	 return 8;
+int connectib_dcr_odp_events_size(void)
+{
+	 return 64;
 }
 
-void connectib_list_element_dump(const struct connectib_list_element *ptr_struct, FILE* file) {
-	connectib_list_element_print(ptr_struct, file, 0);
+void connectib_dcr_odp_events_dump(const struct connectib_dcr_odp_events *ptr_struct, FILE* file)
+{
+	connectib_dcr_odp_events_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_rqt_pack(const struct connectib_fw_rqt *ptr_struct, u_int8_t* ptr_buff){
+void connectib_disable_mask_value_pack(const struct connectib_disable_mask_value *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_max_size);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rqt_actual_size);
-
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rqt_hw_data_ix);
-
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rqt_fw_data_ix);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->value);
 
 }
 
-void connectib_fw_rqt_unpack(struct connectib_fw_rqt *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_disable_mask_value_unpack(struct connectib_disable_mask_value *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
-
-	offset=48;
-	ptr_struct->rqt_max_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=32;
-	ptr_struct->rqt_actual_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=128;
-	ptr_struct->rqt_hw_data_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=160;
-	ptr_struct->rqt_fw_data_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->value = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_fw_rqt_print(const struct connectib_fw_rqt *ptr_struct, FILE* file, int indent_level){
+void connectib_disable_mask_value_print(const struct connectib_disable_mask_value *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_rqt ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_disable_mask_value ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_max_size         : "UH_FMT"\n", ptr_struct->rqt_max_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_actual_size      : "UH_FMT"\n", ptr_struct->rqt_actual_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_hw_data_ix       : "U32H_FMT"\n", ptr_struct->rqt_hw_data_ix);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqt_fw_data_ix       : "U32H_FMT"\n", ptr_struct->rqt_fw_data_ix);
+	fprintf(file, "value                : " U32H_FMT "\n", ptr_struct->value);
 
 }
 
-int connectib_fw_rqt_size(void){
-	 return 32;
+int connectib_disable_mask_value_size(void)
+{
+	 return 4;
 }
 
-void connectib_fw_rqt_dump(const struct connectib_fw_rqt *ptr_struct, FILE* file) {
-	connectib_fw_rqt_print(ptr_struct, file, 0);
+void connectib_disable_mask_value_dump(const struct connectib_disable_mask_value *ptr_struct, FILE* file)
+{
+	connectib_disable_mask_value_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_cqc_pack(const struct connectib_fw_cqc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_disable_mask_bits_pack(const struct connectib_disable_mask_bits *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->module_not_present);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cq_status);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->paos);
 
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->trap_reason);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mad);
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_cq_overrun_list);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->non_mlnx_long_range_cable);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_eq_overrun_list);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->verification);
+
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ekey);
+
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->high_power_not_allowed);
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->unknown_identifier);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->paos_up_once_active);
+
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->stamping_failure);
 
 }
 
-void connectib_fw_cqc_unpack(struct connectib_fw_cqc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_disable_mask_bits_unpack(struct connectib_disable_mask_bits *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 31;
+	ptr_struct->module_not_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=56;
-	ptr_struct->cq_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 30;
+	ptr_struct->paos = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=52;
-	ptr_struct->trap_reason = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 29;
+	ptr_struct->mad = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=33;
-	ptr_struct->in_cq_overrun_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	ptr_struct->non_mlnx_long_range_cable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->in_eq_overrun_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	ptr_struct->verification = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 26;
+	ptr_struct->ekey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 25;
+	ptr_struct->high_power_not_allowed = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 24;
+	ptr_struct->unknown_identifier = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 23;
+	ptr_struct->paos_up_once_active = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 22;
+	ptr_struct->stamping_failure = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_fw_cqc_print(const struct connectib_fw_cqc *ptr_struct, FILE* file, int indent_level){
+void connectib_disable_mask_bits_print(const struct connectib_disable_mask_bits *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_cqc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_disable_mask_bits ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+	fprintf(file, "module_not_present   : " UH_FMT "\n", ptr_struct->module_not_present);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "paos                 : " UH_FMT "\n", ptr_struct->paos);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mad                  : " UH_FMT "\n", ptr_struct->mad);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "non_mlnx_long_range_cable : " UH_FMT "\n", ptr_struct->non_mlnx_long_range_cable);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "verification         : " UH_FMT "\n", ptr_struct->verification);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_status            : "UH_FMT"\n", ptr_struct->cq_status);
+	fprintf(file, "ekey                 : " UH_FMT "\n", ptr_struct->ekey);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trap_reason          : "UH_FMT"\n", ptr_struct->trap_reason);
+	fprintf(file, "high_power_not_allowed : " UH_FMT "\n", ptr_struct->high_power_not_allowed);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in_cq_overrun_list   : "UH_FMT"\n", ptr_struct->in_cq_overrun_list);
+	fprintf(file, "unknown_identifier   : " UH_FMT "\n", ptr_struct->unknown_identifier);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in_eq_overrun_list   : "UH_FMT"\n", ptr_struct->in_eq_overrun_list);
+	fprintf(file, "paos_up_once_active  : " UH_FMT "\n", ptr_struct->paos_up_once_active);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "stamping_failure     : " UH_FMT "\n", ptr_struct->stamping_failure);
 
 }
 
-int connectib_fw_cqc_size(void){
-	 return 16;
+int connectib_disable_mask_bits_size(void)
+{
+	 return 4;
 }
 
-void connectib_fw_cqc_dump(const struct connectib_fw_cqc *ptr_struct, FILE* file) {
-	connectib_fw_cqc_print(ptr_struct, file, 0);
+void connectib_disable_mask_bits_dump(const struct connectib_disable_mask_bits *ptr_struct, FILE* file)
+{
+	connectib_disable_mask_bits_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_psv_pack(const struct connectib_fw_psv *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dmfs_ft_type_info_pack(const struct connectib_dmfs_ft_type_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->root_ft);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_marked_sigerr);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ft_exist);
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->level0_ft_exist);
+
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_ft_root_set);
 
 }
 
-void connectib_fw_psv_unpack(struct connectib_fw_psv *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dmfs_ft_type_info_unpack(struct connectib_dmfs_ft_type_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->root_ft = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=7;
-	ptr_struct->fw_marked_sigerr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 7;
+	ptr_struct->ft_exist = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 6;
+	ptr_struct->level0_ft_exist = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 5;
+	ptr_struct->is_ft_root_set = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_fw_psv_print(const struct connectib_fw_psv *ptr_struct, FILE* file, int indent_level){
+void connectib_dmfs_ft_type_info_print(const struct connectib_dmfs_ft_type_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_psv ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_dmfs_ft_type_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "root_ft              : " UH_FMT "\n", ptr_struct->root_ft);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_exist             : " UH_FMT "\n", ptr_struct->ft_exist);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "level0_ft_exist      : " UH_FMT "\n", ptr_struct->level0_ft_exist);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_marked_sigerr     : "UH_FMT"\n", ptr_struct->fw_marked_sigerr);
+	fprintf(file, "is_ft_root_set       : " UH_FMT "\n", ptr_struct->is_ft_root_set);
 
 }
 
-int connectib_fw_psv_size(void){
+int connectib_dmfs_ft_type_info_size(void)
+{
 	 return 4;
 }
 
-void connectib_fw_psv_dump(const struct connectib_fw_psv *ptr_struct, FILE* file) {
-	connectib_fw_psv_print(ptr_struct, file, 0);
+void connectib_dmfs_ft_type_info_dump(const struct connectib_dmfs_ft_type_info *ptr_struct, FILE* file)
+{
+	connectib_dmfs_ft_type_info_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_mkc_pack(const struct connectib_fw_mkc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ocbb_fields_from_vpd_pack(const struct connectib_ocbb_fields_from_vpd *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	for (i = 0; i < 40; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 544, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->product_name[i]);
+	}
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 31, (u_int32_t)ptr_struct->state);
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(344, 8, i, 544, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->part_number[i]);
+	}
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sync_umr);
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(440, 8, i, 544, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->serial_number[i]);
+	}
 
-	offset=64;
-	connectib_mkey_dump_pack(&(ptr_struct->mkey_dump), ptr_buff + offset/8);
+	offset = 528;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->serial_number_size);
 
-	offset=127;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->next_num_of_sigerr);
+	offset = 520;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->part_number_size);
 
-	offset=126;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pg_access);
+	offset = 512;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->product_name_size);
 
 }
 
-void connectib_fw_mkc_unpack(struct connectib_fw_mkc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ocbb_fields_from_vpd_unpack(struct connectib_ocbb_fields_from_vpd *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	for (i = 0; i < 40; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 544, 1);
+	ptr_struct->product_name[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
 
-	offset=33;
-	ptr_struct->state = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 31);
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(344, 8, i, 544, 1);
+	ptr_struct->part_number[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
 
-	offset=32;
-	ptr_struct->sync_umr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(440, 8, i, 544, 1);
+	ptr_struct->serial_number[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
 
-	offset=64;
-	connectib_mkey_dump_unpack(&(ptr_struct->mkey_dump), ptr_buff + offset/8);
+	offset = 528;
+	ptr_struct->serial_number_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=127;
-	ptr_struct->next_num_of_sigerr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 520;
+	ptr_struct->part_number_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=126;
-	ptr_struct->pg_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 512;
+	ptr_struct->product_name_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_fw_mkc_print(const struct connectib_fw_mkc *ptr_struct, FILE* file, int indent_level){
+void connectib_ocbb_fields_from_vpd_print(const struct connectib_ocbb_fields_from_vpd *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_mkc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ocbb_fields_from_vpd ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 40; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+	fprintf(file, "product_name_%03d    : " UH_FMT "\n", i, ptr_struct->product_name[i]);
+	}
 
+	for (i = 0; i < 12; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "state                : "UH_FMT"\n", ptr_struct->state);
+	fprintf(file, "part_number_%03d     : " UH_FMT "\n", i, ptr_struct->part_number[i]);
+	}
 
+	for (i = 0; i < 12; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sync_umr             : "UH_FMT"\n", ptr_struct->sync_umr);
+	fprintf(file, "serial_number_%03d   : " UH_FMT "\n", i, ptr_struct->serial_number[i]);
+	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mkey_dump:\n");
-	connectib_mkey_dump_print(&(ptr_struct->mkey_dump), file, indent_level + 1);
+	fprintf(file, "serial_number_size   : " UH_FMT "\n", ptr_struct->serial_number_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_num_of_sigerr   : "UH_FMT"\n", ptr_struct->next_num_of_sigerr);
+	fprintf(file, "part_number_size     : " UH_FMT "\n", ptr_struct->part_number_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pg_access            : "UH_FMT"\n", ptr_struct->pg_access);
+	fprintf(file, "product_name_size    : " UH_FMT "\n", ptr_struct->product_name_size);
 
 }
 
-int connectib_fw_mkc_size(void){
-	 return 16;
+int connectib_ocbb_fields_from_vpd_size(void)
+{
+	 return 68;
 }
 
-void connectib_fw_mkc_dump(const struct connectib_fw_mkc *ptr_struct, FILE* file) {
-	connectib_fw_mkc_print(ptr_struct, file, 0);
+void connectib_ocbb_fields_from_vpd_dump(const struct connectib_ocbb_fields_from_vpd *ptr_struct, FILE* file)
+{
+	connectib_ocbb_fields_from_vpd_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_cre_pack(const union connectib_fw_cre *ptr_struct, u_int8_t* ptr_buff)
+void connectib_fw_banner_pack(const struct connectib_fw_banner *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_fw_tis_pack(&(ptr_struct->fw_tis), ptr_buff);
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 3; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 96, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fw_banner_str[i]);
+	}
+
 }
 
-void connectib_fw_cre_unpack(union connectib_fw_cre *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_fw_banner_unpack(struct connectib_fw_banner *ptr_struct, const u_int8_t* ptr_buff)
 {
-	connectib_fw_tis_unpack(&(ptr_struct->fw_tis), ptr_buff);
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 3; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 96, 1);
+	ptr_struct->fw_banner_str[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
 }
 
-void connectib_fw_cre_print(const union connectib_fw_cre *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_banner_print(const struct connectib_fw_banner *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_cre ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_banner ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 3; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_srqc:\n");
-	connectib_fw_srqc_print(&(ptr_struct->fw_srqc), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_qpc:\n");
-	connectib_fw_qpc_print(&(ptr_struct->fw_qpc), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_tir:\n");
-	connectib_fw_tir_print(&(ptr_struct->fw_tir), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_tis:\n");
-	connectib_fw_tis_print(&(ptr_struct->fw_tis), file, indent_level + 1);
+	fprintf(file, "fw_banner_str_%03d   : " U32H_FMT "\n", i, ptr_struct->fw_banner_str[i]);
+	}
 
 }
 
-int connectib_fw_cre_size(void){
-	 return 64;
+int connectib_fw_banner_size(void)
+{
+	 return 12;
 }
 
-void connectib_fw_cre_dump(const union connectib_fw_cre *ptr_struct, FILE* file) {
-	connectib_fw_cre_print(ptr_struct, file, 0);
+void connectib_fw_banner_dump(const struct connectib_fw_banner *ptr_struct, FILE* file)
+{
+	connectib_fw_banner_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_basic_res_ctx_pack(const struct connectib_fw_basic_res_ctx *ptr_struct, u_int8_t* ptr_buff){
+void connectib_resource_type_entry_pack(const struct connectib_resource_type_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->type);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->locked);
 
 }
 
-void connectib_fw_basic_res_ctx_unpack(struct connectib_fw_basic_res_ctx *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_resource_type_entry_unpack(struct connectib_resource_type_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 8;
+	ptr_struct->type = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 0;
+	ptr_struct->locked = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_fw_basic_res_ctx_print(const struct connectib_fw_basic_res_ctx *ptr_struct, FILE* file, int indent_level){
+void connectib_resource_type_entry_print(const struct connectib_resource_type_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_basic_res_ctx ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_resource_type_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "locked               : " UH_FMT "\n", ptr_struct->locked);
 
 }
 
-int connectib_fw_basic_res_ctx_size(void){
+int connectib_resource_type_entry_size(void)
+{
 	 return 4;
 }
 
-void connectib_fw_basic_res_ctx_dump(const struct connectib_fw_basic_res_ctx *ptr_struct, FILE* file) {
-	connectib_fw_basic_res_ctx_print(ptr_struct, file, 0);
+void connectib_resource_type_entry_dump(const struct connectib_resource_type_entry *ptr_struct, FILE* file)
+{
+	connectib_resource_type_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_alt_path_pack(const struct connectib_fw_alt_path *ptr_struct, u_int8_t* ptr_buff){
+void connectib_index_and_length_pack(const struct connectib_index_and_length *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_sw_ads_pack(&(ptr_struct->alt), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->index);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->length);
 
 }
 
-void connectib_fw_alt_path_unpack(struct connectib_fw_alt_path *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_index_and_length_unpack(struct connectib_index_and_length *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_sw_ads_unpack(&(ptr_struct->alt), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->index = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_fw_alt_path_print(const struct connectib_fw_alt_path *ptr_struct, FILE* file, int indent_level){
+void connectib_index_and_length_print(const struct connectib_index_and_length *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_alt_path ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_index_and_length ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "alt:\n");
-	connectib_sw_ads_print(&(ptr_struct->alt), file, indent_level + 1);
+	fprintf(file, "index                : " U64H_FMT "\n", ptr_struct->index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "length               : " U32H_FMT "\n", ptr_struct->length);
 
 }
 
-int connectib_fw_alt_path_size(void){
-	 return 48;
+int connectib_index_and_length_size(void)
+{
+	 return 16;
 }
 
-void connectib_fw_alt_path_dump(const struct connectib_fw_alt_path *ptr_struct, FILE* file) {
-	connectib_fw_alt_path_print(ptr_struct, file, 0);
+void connectib_index_and_length_dump(const struct connectib_index_and_length *ptr_struct, FILE* file)
+{
+	connectib_index_and_length_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_eqc_pack(const struct connectib_fw_eqc *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_flow_list_pack(const union connectib_flow_list *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_flow_counter_list_pack(&(ptr_struct->cntr), ptr_buff);
+}
+
+void connectib_flow_list_unpack(union connectib_flow_list *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_flow_counter_list_unpack(&(ptr_struct->cntr), ptr_buff);
+}
+
+void connectib_flow_list_print(const union connectib_flow_list *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_flow_list ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	connectib_fw_ref_count_pack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	(void)file;
+	(void)indent_level;
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eq_status);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dest:\n");
+	connectib_dest_format_struct_print(&(ptr_struct->dest), file, indent_level + 1);
 
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->trap_reason);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cntr:\n");
+	connectib_flow_counter_list_print(&(ptr_struct->cntr), file, indent_level + 1);
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->needs_eq_probe);
+}
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->in_eq_overrun_list);
+int connectib_flow_list_size(void)
+{
+	 return 8;
+}
 
+void connectib_flow_list_dump(const union connectib_flow_list *ptr_struct, FILE* file)
+{
+	connectib_flow_list_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_eqc_unpack(struct connectib_fw_eqc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_flow_table_entry_match_set_lyr_2_4_pack(const struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_fw_ref_count_unpack(&(ptr_struct->fw_ref_count), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->smac_47_16);
 
-	offset=56;
-	ptr_struct->eq_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ethertype);
 
-	offset=52;
-	ptr_struct->trap_reason = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->smac_15_0);
 
-	offset=33;
-	ptr_struct->needs_eq_probe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dmac_47_16);
 
-	offset=32;
-	ptr_struct->in_eq_overrun_list = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 116;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->first_vid);
 
-}
+	offset = 115;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first_cfi);
 
-void connectib_fw_eqc_print(const struct connectib_fw_eqc *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_eqc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->first_prio);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ref_count:\n");
-	connectib_fw_ref_count_print(&(ptr_struct->fw_ref_count), file, indent_level + 1);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dmac_15_0);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eq_status            : "UH_FMT"\n", ptr_struct->eq_status);
+	offset = 151;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->tcp_flags);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trap_reason          : "UH_FMT"\n", ptr_struct->trap_reason);
+	offset = 147;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ip_version);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "needs_eq_probe       : "UH_FMT"\n", ptr_struct->needs_eq_probe);
+	offset = 146;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frag);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in_eq_overrun_list   : "UH_FMT"\n", ptr_struct->in_eq_overrun_list);
+	offset = 145;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->svlan_tag);
 
-}
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cvlan_tag);
 
-int connectib_fw_eqc_size(void){
-	 return 16;
-}
+	offset = 142;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ip_ecn);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->ip_dscp);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ip_protocol);
+
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->tcp_dport);
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->tcp_sport);
+
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->udp_dport);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->udp_sport);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->src_ip_127_96);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->src_ip_95_64);
+
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->src_ip_63_32);
+
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->src_ip_31_0);
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dst_ip_127_96);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dst_ip_95_64);
+
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dst_ip_63_32);
+
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dst_ip_31_0);
 
-void connectib_fw_eqc_dump(const struct connectib_fw_eqc *ptr_struct, FILE* file) {
-	connectib_fw_eqc_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_qp_counter_pack(const struct connectib_hw_qp_counter *ptr_struct, u_int8_t* ptr_buff){
+void connectib_flow_table_entry_match_set_lyr_2_4_unpack(struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pkt_nobuffer_drop);
+	offset = 0;
+	ptr_struct->smac_47_16 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pkt_good_unicast);
+	offset = 48;
+	ptr_struct->ethertype = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pkt_good_multicast);
+	offset = 32;
+	ptr_struct->smac_15_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pkt_dropped);
+	offset = 64;
+	ptr_struct->dmac_47_16 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->msg_write_req);
+	offset = 116;
+	ptr_struct->first_vid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->msg_rnr_nack);
+	offset = 115;
+	ptr_struct->first_cfi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->msg_read);
+	offset = 112;
+	ptr_struct->first_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->msg_dct_connect);
+	offset = 96;
+	ptr_struct->dmac_15_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->msg_atomic);
+	offset = 151;
+	ptr_struct->tcp_flags = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->fw_reserved);
+	offset = 147;
+	ptr_struct->ip_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bytes_rdma_frame);
+	offset = 146;
+	ptr_struct->frag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bytes_good_unicast);
+	offset = 145;
+	ptr_struct->svlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->bytes_good_multicast);
+	offset = 144;
+	ptr_struct->cvlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 142;
+	ptr_struct->ip_ecn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-void connectib_hw_qp_counter_unpack(struct connectib_hw_qp_counter *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 136;
+	ptr_struct->ip_dscp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=0;
-	ptr_struct->pkt_nobuffer_drop = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	ptr_struct->ip_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	ptr_struct->pkt_good_unicast = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 176;
+	ptr_struct->tcp_dport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
-	ptr_struct->pkt_good_multicast = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	ptr_struct->tcp_sport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=96;
-	ptr_struct->pkt_dropped = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 240;
+	ptr_struct->udp_dport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=128;
-	ptr_struct->msg_write_req = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	ptr_struct->udp_sport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=160;
-	ptr_struct->msg_rnr_nack = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	ptr_struct->src_ip_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
-	ptr_struct->msg_read = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	ptr_struct->src_ip_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=224;
-	ptr_struct->msg_dct_connect = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 320;
+	ptr_struct->src_ip_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=256;
-	ptr_struct->msg_atomic = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 352;
+	ptr_struct->src_ip_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=288;
-	ptr_struct->fw_reserved = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 384;
+	ptr_struct->dst_ip_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
-	ptr_struct->bytes_rdma_frame = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 416;
+	ptr_struct->dst_ip_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
-	ptr_struct->bytes_good_unicast = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 448;
+	ptr_struct->dst_ip_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=448;
-	ptr_struct->bytes_good_multicast = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 480;
+	ptr_struct->dst_ip_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_qp_counter_print(const struct connectib_hw_qp_counter *ptr_struct, FILE* file, int indent_level){
+void connectib_flow_table_entry_match_set_lyr_2_4_print(const struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_qp_counter ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_flow_table_entry_match_set_lyr_2_4 ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkt_nobuffer_drop    : "U32H_FMT"\n", ptr_struct->pkt_nobuffer_drop);
+	fprintf(file, "smac_47_16           : " U32H_FMT "\n", ptr_struct->smac_47_16);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkt_good_unicast     : "U32H_FMT"\n", ptr_struct->pkt_good_unicast);
+	fprintf(file, "ethertype            : " UH_FMT "\n", ptr_struct->ethertype);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkt_good_multicast   : "U32H_FMT"\n", ptr_struct->pkt_good_multicast);
+	fprintf(file, "smac_15_0            : " UH_FMT "\n", ptr_struct->smac_15_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkt_dropped          : "U32H_FMT"\n", ptr_struct->pkt_dropped);
+	fprintf(file, "dmac_47_16           : " U32H_FMT "\n", ptr_struct->dmac_47_16);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msg_write_req        : "U32H_FMT"\n", ptr_struct->msg_write_req);
+	fprintf(file, "first_vid            : " UH_FMT "\n", ptr_struct->first_vid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msg_rnr_nack         : "U32H_FMT"\n", ptr_struct->msg_rnr_nack);
+	fprintf(file, "first_cfi            : " UH_FMT "\n", ptr_struct->first_cfi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msg_read             : "U32H_FMT"\n", ptr_struct->msg_read);
+	fprintf(file, "first_prio           : " UH_FMT "\n", ptr_struct->first_prio);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msg_dct_connect      : "U32H_FMT"\n", ptr_struct->msg_dct_connect);
+	fprintf(file, "dmac_15_0            : " UH_FMT "\n", ptr_struct->dmac_15_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msg_atomic           : "U32H_FMT"\n", ptr_struct->msg_atomic);
+	fprintf(file, "tcp_flags            : " UH_FMT "\n", ptr_struct->tcp_flags);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_reserved          : "U32H_FMT"\n", ptr_struct->fw_reserved);
+	fprintf(file, "ip_version           : " UH_FMT "\n", ptr_struct->ip_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bytes_rdma_frame     : "U64H_FMT"\n", ptr_struct->bytes_rdma_frame);
+	fprintf(file, "frag                 : " UH_FMT "\n", ptr_struct->frag);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bytes_good_unicast   : "U64H_FMT"\n", ptr_struct->bytes_good_unicast);
+	fprintf(file, "svlan_tag            : " UH_FMT "\n", ptr_struct->svlan_tag);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bytes_good_multicast : "U64H_FMT"\n", ptr_struct->bytes_good_multicast);
+	fprintf(file, "cvlan_tag            : " UH_FMT "\n", ptr_struct->cvlan_tag);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ip_ecn               : " UH_FMT "\n", ptr_struct->ip_ecn);
 
-int connectib_hw_qp_counter_size(void){
-	 return 64;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ip_dscp              : " UH_FMT "\n", ptr_struct->ip_dscp);
 
-void connectib_hw_qp_counter_dump(const struct connectib_hw_qp_counter *ptr_struct, FILE* file) {
-	connectib_hw_qp_counter_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ip_protocol          : " UH_FMT "\n", ptr_struct->ip_protocol);
 
-void connectib_hw_msix_pack(const struct connectib_hw_msix *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcp_dport            : " UH_FMT "\n", ptr_struct->tcp_dport);
 
-	offset=0;
-	connectib_hw_msix_context_pack(&(ptr_struct->msix_context), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tcp_sport            : " UH_FMT "\n", ptr_struct->tcp_sport);
 
-	offset=128;
-	connectib_hw_msix_ext_context_pack(&(ptr_struct->msix_ext_context), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "udp_dport            : " UH_FMT "\n", ptr_struct->udp_dport);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "udp_sport            : " UH_FMT "\n", ptr_struct->udp_sport);
 
-void connectib_hw_msix_unpack(struct connectib_hw_msix *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "src_ip_127_96        : " U32H_FMT "\n", ptr_struct->src_ip_127_96);
 
-	offset=0;
-	connectib_hw_msix_context_unpack(&(ptr_struct->msix_context), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "src_ip_95_64         : " U32H_FMT "\n", ptr_struct->src_ip_95_64);
 
-	offset=128;
-	connectib_hw_msix_ext_context_unpack(&(ptr_struct->msix_ext_context), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "src_ip_63_32         : " U32H_FMT "\n", ptr_struct->src_ip_63_32);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "src_ip_31_0          : " U32H_FMT "\n", ptr_struct->src_ip_31_0);
 
-void connectib_hw_msix_print(const struct connectib_hw_msix *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_msix ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "dst_ip_127_96        : " U32H_FMT "\n", ptr_struct->dst_ip_127_96);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix_context:\n");
-	connectib_hw_msix_context_print(&(ptr_struct->msix_context), file, indent_level + 1);
+	fprintf(file, "dst_ip_95_64         : " U32H_FMT "\n", ptr_struct->dst_ip_95_64);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix_ext_context:\n");
-	connectib_hw_msix_ext_context_print(&(ptr_struct->msix_ext_context), file, indent_level + 1);
+	fprintf(file, "dst_ip_63_32         : " U32H_FMT "\n", ptr_struct->dst_ip_63_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dst_ip_31_0          : " U32H_FMT "\n", ptr_struct->dst_ip_31_0);
 
 }
 
-int connectib_hw_msix_size(void){
-	 return 32;
+int connectib_flow_table_entry_match_set_lyr_2_4_size(void)
+{
+	 return 64;
 }
 
-void connectib_hw_msix_dump(const struct connectib_hw_msix *ptr_struct, FILE* file) {
-	connectib_hw_msix_print(ptr_struct, file, 0);
+void connectib_flow_table_entry_match_set_lyr_2_4_dump(const struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, FILE* file)
+{
+	connectib_flow_table_entry_match_set_lyr_2_4_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_rdb_pack(const struct connectib_hw_rdb *ptr_struct, u_int8_t* ptr_buff){
+void connectib_flow_table_entry_match_set_misc_pack(const struct connectib_flow_table_entry_match_set_misc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->opcode);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->source_sqn);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->psn);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->source_port);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->r_key);
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->inner_second_vid);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->address_63_32);
+	offset = 83;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->inner_second_cfi);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->address_31_0);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->inner_second_prio);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->byte_count);
+	offset = 68;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->outer_second_vid);
 
-	offset=184;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	offset = 67;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->outer_second_cfi);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->outer_second_prio);
 
-	offset=213;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->protection_ffser);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gre_protocol);
 
-	offset=255;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_marked_as_read);
+	offset = 99;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->inner_second_svlan_tag);
 
-	offset=256;
-	connectib_hw_rdb_atomic_data_pack(&(ptr_struct->atomic_data), ptr_buff + offset/8);
+	offset = 98;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->outer_second_svlan_tag);
+
+	offset = 97;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->inner_second_cvlan_tag);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->outer_second_cvlan_tag);
+
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->gre_key_l);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gre_key_h);
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->vxlan_vni);
+
+	offset = 223;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->geneve_oam);
+
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->geneve_vni);
+
+	offset = 236;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->outer_ipv6_flow_label);
+
+	offset = 268;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->inner_ipv6_flow_label);
+
+	offset = 304;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->geneve_protocol_type);
+
+	offset = 298;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->geneve_opt_len);
+
+	offset = 328;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->bth_dst_qp);
 
 }
 
-void connectib_hw_rdb_unpack(struct connectib_hw_rdb *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_flow_table_entry_match_set_misc_unpack(struct connectib_flow_table_entry_match_set_misc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->source_sqn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=0;
-	ptr_struct->psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 48;
+	ptr_struct->source_port = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
-	ptr_struct->r_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 84;
+	ptr_struct->inner_second_vid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=64;
-	ptr_struct->address_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 83;
+	ptr_struct->inner_second_cfi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->address_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 80;
+	ptr_struct->inner_second_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=128;
-	ptr_struct->byte_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 68;
+	ptr_struct->outer_second_vid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=184;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 67;
+	ptr_struct->outer_second_cfi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 64;
+	ptr_struct->outer_second_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=213;
-	ptr_struct->protection_ffser = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 112;
+	ptr_struct->gre_protocol = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=255;
-	ptr_struct->fw_marked_as_read = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 99;
+	ptr_struct->inner_second_svlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	connectib_hw_rdb_atomic_data_unpack(&(ptr_struct->atomic_data), ptr_buff + offset/8);
+	offset = 98;
+	ptr_struct->outer_second_svlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 97;
+	ptr_struct->inner_second_cvlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->outer_second_cvlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 152;
+	ptr_struct->gre_key_l = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 128;
+	ptr_struct->gre_key_h = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 160;
+	ptr_struct->vxlan_vni = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 223;
+	ptr_struct->geneve_oam = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 192;
+	ptr_struct->geneve_vni = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 236;
+	ptr_struct->outer_ipv6_flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+
+	offset = 268;
+	ptr_struct->inner_ipv6_flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+
+	offset = 304;
+	ptr_struct->geneve_protocol_type = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 298;
+	ptr_struct->geneve_opt_len = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 328;
+	ptr_struct->bth_dst_qp = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
 }
 
-void connectib_hw_rdb_print(const struct connectib_hw_rdb *ptr_struct, FILE* file, int indent_level){
+void connectib_flow_table_entry_match_set_misc_print(const struct connectib_flow_table_entry_match_set_misc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_rdb ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_flow_table_entry_match_set_misc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : "UH_FMT"\n", ptr_struct->opcode);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "psn                  : "UH_FMT"\n", ptr_struct->psn);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "r_key                : "U32H_FMT"\n", ptr_struct->r_key);
+	fprintf(file, "source_sqn           : " UH_FMT "\n", ptr_struct->source_sqn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address_63_32        : "U32H_FMT"\n", ptr_struct->address_63_32);
+	fprintf(file, "source_port          : " UH_FMT "\n", ptr_struct->source_port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address_31_0         : "U32H_FMT"\n", ptr_struct->address_31_0);
+	fprintf(file, "inner_second_vid     : " UH_FMT "\n", ptr_struct->inner_second_vid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_count           : "U32H_FMT"\n", ptr_struct->byte_count);
+	fprintf(file, "inner_second_cfi     : " UH_FMT "\n", ptr_struct->inner_second_cfi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "inner_second_prio    : " UH_FMT "\n", ptr_struct->inner_second_prio);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "outer_second_vid     : " UH_FMT "\n", ptr_struct->outer_second_vid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "protection_ffser     : "UH_FMT"\n", ptr_struct->protection_ffser);
+	fprintf(file, "outer_second_cfi     : " UH_FMT "\n", ptr_struct->outer_second_cfi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_marked_as_read    : "UH_FMT"\n", ptr_struct->fw_marked_as_read);
+	fprintf(file, "outer_second_prio    : " UH_FMT "\n", ptr_struct->outer_second_prio);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "atomic_data:\n");
-	connectib_hw_rdb_atomic_data_print(&(ptr_struct->atomic_data), file, indent_level + 1);
-
-}
-
-int connectib_hw_rdb_size(void){
-	 return 64;
-}
+	fprintf(file, "gre_protocol         : " UH_FMT "\n", ptr_struct->gre_protocol);
 
-void connectib_hw_rdb_dump(const struct connectib_hw_rdb *ptr_struct, FILE* file) {
-	connectib_hw_rdb_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inner_second_svlan_tag : " UH_FMT "\n", ptr_struct->inner_second_svlan_tag);
 
-void connectib_icm_mtt_pack(const union connectib_icm_mtt *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_hw_mtt2_pack(&(ptr_struct->as_dw), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "outer_second_svlan_tag : " UH_FMT "\n", ptr_struct->outer_second_svlan_tag);
 
-void connectib_icm_mtt_unpack(union connectib_icm_mtt *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_hw_mtt2_unpack(&(ptr_struct->as_dw), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inner_second_cvlan_tag : " UH_FMT "\n", ptr_struct->inner_second_cvlan_tag);
 
-void connectib_icm_mtt_print(const union connectib_icm_mtt *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icm_mtt ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "outer_second_cvlan_tag : " UH_FMT "\n", ptr_struct->outer_second_cvlan_tag);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw:\n");
-	connectib_hw_mtt_print(&(ptr_struct->hw), file, indent_level + 1);
+	fprintf(file, "gre_key_l            : " UH_FMT "\n", ptr_struct->gre_key_l);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "as_dw:\n");
-	connectib_hw_mtt2_print(&(ptr_struct->as_dw), file, indent_level + 1);
+	fprintf(file, "gre_key_h            : " UH_FMT "\n", ptr_struct->gre_key_h);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vxlan_vni            : " UH_FMT "\n", ptr_struct->vxlan_vni);
 
-int connectib_icm_mtt_size(void){
-	 return 8;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "geneve_oam           : " UH_FMT "\n", ptr_struct->geneve_oam);
 
-void connectib_icm_mtt_dump(const union connectib_icm_mtt *ptr_struct, FILE* file) {
-	connectib_icm_mtt_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "geneve_vni           : " UH_FMT "\n", ptr_struct->geneve_vni);
 
-void connectib_steering_entry_icmc_pack(const union connectib_steering_entry_icmc *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_steering_qp_list_pack(&(ptr_struct->steering_qp_list), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "outer_ipv6_flow_label : " UH_FMT "\n", ptr_struct->outer_ipv6_flow_label);
 
-void connectib_steering_entry_icmc_unpack(union connectib_steering_entry_icmc *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_steering_qp_list_unpack(&(ptr_struct->steering_qp_list), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inner_ipv6_flow_label : " UH_FMT "\n", ptr_struct->inner_ipv6_flow_label);
 
-void connectib_steering_entry_icmc_print(const union connectib_steering_entry_icmc *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_steering_entry_icmc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "geneve_protocol_type : " UH_FMT "\n", ptr_struct->geneve_protocol_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_ste:\n");
-	connectib_hw_ste_print(&(ptr_struct->hw_ste), file, indent_level + 1);
+	fprintf(file, "geneve_opt_len       : " UH_FMT "\n", ptr_struct->geneve_opt_len);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_qp_list:\n");
-	connectib_steering_qp_list_print(&(ptr_struct->steering_qp_list), file, indent_level + 1);
+	fprintf(file, "bth_dst_qp           : " UH_FMT "\n", ptr_struct->bth_dst_qp);
 
 }
 
-int connectib_steering_entry_icmc_size(void){
+int connectib_flow_table_entry_match_set_misc_size(void)
+{
 	 return 64;
 }
 
-void connectib_steering_entry_icmc_dump(const union connectib_steering_entry_icmc *ptr_struct, FILE* file) {
-	connectib_steering_entry_icmc_print(ptr_struct, file, 0);
+void connectib_flow_table_entry_match_set_misc_dump(const struct connectib_flow_table_entry_match_set_misc *ptr_struct, FILE* file)
+{
+	connectib_flow_table_entry_match_set_misc_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_pkey_pack(const struct connectib_hw_pkey *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_ver_data_one_qp_per_recovery_pack(const struct connectib_icmd_ver_data_one_qp_per_recovery *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pkey);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->input);
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->output);
 
 }
 
-void connectib_hw_pkey_unpack(struct connectib_hw_pkey *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_ver_data_one_qp_per_recovery_unpack(struct connectib_icmd_ver_data_one_qp_per_recovery *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->pkey = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 31;
+	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->input = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 29;
+	ptr_struct->output = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_hw_pkey_print(const struct connectib_hw_pkey *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_ver_data_one_qp_per_recovery_print(const struct connectib_icmd_ver_data_one_qp_per_recovery *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_pkey ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_ver_data_one_qp_per_recovery ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey                 : "UH_FMT"\n", ptr_struct->pkey);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "input                : " UH_FMT "\n", ptr_struct->input);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "output               : " UH_FMT "\n", ptr_struct->output);
 
 }
 
-int connectib_hw_pkey_size(void){
+int connectib_icmd_ver_data_one_qp_per_recovery_size(void)
+{
 	 return 4;
 }
 
-void connectib_hw_pkey_dump(const struct connectib_hw_pkey *ptr_struct, FILE* file) {
-	connectib_hw_pkey_print(ptr_struct, file, 0);
+void connectib_icmd_ver_data_one_qp_per_recovery_dump(const struct connectib_icmd_ver_data_one_qp_per_recovery *ptr_struct, FILE* file)
+{
+	connectib_icmd_ver_data_one_qp_per_recovery_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_timer_32_pack(const struct connectib_hw_timer_32 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_ver_data_max_atomic_pack(const struct connectib_icmd_ver_data_max_atomic *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	connectib_hw_timer_pack(&(ptr_struct->hw_timer), ptr_buff + offset/8);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_max_atomic_size);
 
 }
 
-void connectib_hw_timer_32_unpack(struct connectib_hw_timer_32 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_ver_data_max_atomic_unpack(struct connectib_icmd_ver_data_max_atomic *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	connectib_hw_timer_unpack(&(ptr_struct->hw_timer), ptr_buff + offset/8);
+	offset = 24;
+	ptr_struct->log_max_atomic_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_hw_timer_32_print(const struct connectib_hw_timer_32 *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_ver_data_max_atomic_print(const struct connectib_icmd_ver_data_max_atomic *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_timer_32 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_ver_data_max_atomic ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_timer:\n");
-	connectib_hw_timer_print(&(ptr_struct->hw_timer), file, indent_level + 1);
+	fprintf(file, "log_max_atomic_size  : " UH_FMT "\n", ptr_struct->log_max_atomic_size);
 
 }
 
-int connectib_hw_timer_32_size(void){
+int connectib_icmd_ver_data_max_atomic_size(void)
+{
 	 return 4;
 }
 
-void connectib_hw_timer_32_dump(const struct connectib_hw_timer_32 *ptr_struct, FILE* file) {
-	connectib_hw_timer_32_print(ptr_struct, file, 0);
+void connectib_icmd_ver_data_max_atomic_dump(const struct connectib_icmd_ver_data_max_atomic *ptr_struct, FILE* file)
+{
+	connectib_icmd_ver_data_max_atomic_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_sq_qp_list_pack(const struct connectib_hw_sq_qp_list *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_vport_ctx_pack(const struct connectib_fw_vport_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpi);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->esw_state);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->global_gvmi);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->nic_state);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->connected_2_steering);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->event_mask);
 
 }
 
-void connectib_hw_sq_qp_list_unpack(struct connectib_hw_sq_qp_list *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_vport_ctx_unpack(struct connectib_fw_vport_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->qpi = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 14;
+	ptr_struct->esw_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=0;
-	ptr_struct->global_gvmi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 11;
+	ptr_struct->nic_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 8;
+	ptr_struct->connected_2_steering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->event_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_hw_sq_qp_list_print(const struct connectib_hw_sq_qp_list *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_vport_ctx_print(const struct connectib_fw_vport_ctx *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_sq_qp_list ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_vport_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpi                  : "UH_FMT"\n", ptr_struct->qpi);
+	fprintf(file, "esw_state            : " UH_FMT "\n", ptr_struct->esw_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nic_state            : " UH_FMT "\n", ptr_struct->nic_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "global_gvmi          : "UH_FMT"\n", ptr_struct->global_gvmi);
+	fprintf(file, "connected_2_steering : " UH_FMT "\n", ptr_struct->connected_2_steering);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "event_mask           : " UH_FMT "\n", ptr_struct->event_mask);
 
 }
 
-int connectib_hw_sq_qp_list_size(void){
-	 return 4;
+int connectib_fw_vport_ctx_size(void)
+{
+	 return 2;
 }
 
-void connectib_hw_sq_qp_list_dump(const struct connectib_hw_sq_qp_list *ptr_struct, FILE* file) {
-	connectib_hw_sq_qp_list_print(ptr_struct, file, 0);
+void connectib_fw_vport_ctx_dump(const struct connectib_fw_vport_ctx *ptr_struct, FILE* file)
+{
+	connectib_fw_vport_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_pipa_pack(const struct connectib_hw_pipa *ptr_struct, u_int8_t* ptr_buff){
+void connectib_vf_pages_list_pack(const struct connectib_vf_pages_list *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pa_63_32);
-
-	offset=63;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->recovery_en);
-
-	offset=62;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->always_zero);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->pa_31_2);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->pages[i]);
+	}
 
 }
 
-void connectib_hw_pipa_unpack(struct connectib_hw_pipa *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_vf_pages_list_unpack(struct connectib_vf_pages_list *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->pa_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=63;
-	ptr_struct->recovery_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=62;
-	ptr_struct->always_zero = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	ptr_struct->pa_31_2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 512, 1);
+	ptr_struct->pages[i] = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	}
 
 }
 
-void connectib_hw_pipa_print(const struct connectib_hw_pipa *ptr_struct, FILE* file, int indent_level){
+void connectib_vf_pages_list_print(const struct connectib_vf_pages_list *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_pipa ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_vf_pages_list ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pa_63_32             : "U32H_FMT"\n", ptr_struct->pa_63_32);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "recovery_en          : "UH_FMT"\n", ptr_struct->recovery_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "always_zero          : "UH_FMT"\n", ptr_struct->always_zero);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pa_31_2              : "UH_FMT"\n", ptr_struct->pa_31_2);
+	fprintf(file, "pages_%03d           : " U64H_FMT "\n", i, ptr_struct->pages[i]);
+	}
 
 }
 
-int connectib_hw_pipa_size(void){
-	 return 8;
+int connectib_vf_pages_list_size(void)
+{
+	 return 64;
 }
 
-void connectib_hw_pipa_dump(const struct connectib_hw_pipa *ptr_struct, FILE* file) {
-	connectib_hw_pipa_print(ptr_struct, file, 0);
+void connectib_vf_pages_list_dump(const struct connectib_vf_pages_list *ptr_struct, FILE* file)
+{
+	connectib_vf_pages_list_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_sxdc_pack(const struct connectib_hw_sxdc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icm_page_manager_pack(const struct connectib_icm_page_manager *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sq);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->swqe_producer_index);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->page_list);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->uar);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->free_count);
 
-	offset=39;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->requestor_in_sq);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->used_count);
 
-	offset=38;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->responder_in_sq);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->page_list_length);
 
-	offset=37;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->scheduling_interrupt);
+	offset = 191;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lock);
 
-	offset=35;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->doorbell_int);
+	offset = 190;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->event_pending);
 
-	offset=34;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_path);
+	offset = 189;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->driver_refused);
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->external_db_en);
+	offset = 187;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->state);
 
-	offset=32;
+	offset = 186;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_vf_pages);
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vf_page_ix);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->page_owner_pasid);
+
 }
 
-void connectib_hw_sxdc_unpack(struct connectib_hw_sxdc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icm_page_manager_unpack(struct connectib_icm_page_manager *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->sq = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->swqe_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->page_list = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=40;
-	ptr_struct->uar = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 64;
+	ptr_struct->free_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=39;
-	ptr_struct->requestor_in_sq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->used_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=38;
-	ptr_struct->responder_in_sq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	ptr_struct->page_list_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=37;
-	ptr_struct->scheduling_interrupt = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 191;
+	ptr_struct->lock = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=35;
-	ptr_struct->doorbell_int = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 190;
+	ptr_struct->event_pending = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=34;
-	ptr_struct->fast_path = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 189;
+	ptr_struct->driver_refused = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=33;
-	ptr_struct->external_db_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 187;
+	ptr_struct->state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=32;
+	offset = 186;
 	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
+	offset = 168;
+	ptr_struct->num_vf_pages = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 160;
+	ptr_struct->vf_page_ix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 224;
+	ptr_struct->page_owner_pasid = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
 }
 
-void connectib_hw_sxdc_print(const struct connectib_hw_sxdc *ptr_struct, FILE* file, int indent_level){
+void connectib_icm_page_manager_print(const struct connectib_icm_page_manager *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_sxdc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icm_page_manager ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sq                   : "UH_FMT"\n", ptr_struct->sq);
+	fprintf(file, "page_list            : " U64H_FMT "\n", ptr_struct->page_list);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "free_count           : " U32H_FMT "\n", ptr_struct->free_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "used_count           : " U32H_FMT "\n", ptr_struct->used_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_producer_index  : "UH_FMT"\n", ptr_struct->swqe_producer_index);
+	fprintf(file, "page_list_length     : " U32H_FMT "\n", ptr_struct->page_list_length);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uar                  : "UH_FMT"\n", ptr_struct->uar);
+	fprintf(file, "lock                 : " UH_FMT "\n", ptr_struct->lock);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "requestor_in_sq      : "UH_FMT"\n", ptr_struct->requestor_in_sq);
+	fprintf(file, "event_pending        : " UH_FMT "\n", ptr_struct->event_pending);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "responder_in_sq      : "UH_FMT"\n", ptr_struct->responder_in_sq);
+	fprintf(file, "driver_refused       : " UH_FMT "\n", ptr_struct->driver_refused);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "scheduling_interrupt : "UH_FMT"\n", ptr_struct->scheduling_interrupt);
+	fprintf(file, "state                : " UH_FMT "\n", ptr_struct->state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "doorbell_int         : "UH_FMT"\n", ptr_struct->doorbell_int);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_path            : "UH_FMT"\n", ptr_struct->fast_path);
+	fprintf(file, "num_vf_pages         : " UH_FMT "\n", ptr_struct->num_vf_pages);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "external_db_en       : "UH_FMT"\n", ptr_struct->external_db_en);
+	fprintf(file, "vf_page_ix           : " UH_FMT "\n", ptr_struct->vf_page_ix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "page_owner_pasid     : " U32H_FMT "\n", ptr_struct->page_owner_pasid);
 
 }
 
-int connectib_hw_sxdc_size(void){
-	 return 8;
+int connectib_icm_page_manager_size(void)
+{
+	 return 32;
 }
 
-void connectib_hw_sxdc_dump(const struct connectib_hw_sxdc *ptr_struct, FILE* file) {
-	connectib_hw_sxdc_print(ptr_struct, file, 0);
+void connectib_icm_page_manager_dump(const struct connectib_icm_page_manager *ptr_struct, FILE* file)
+{
+	connectib_icm_page_manager_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_klm_entry_pack(const struct connectib_hw_klm_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hca_params_pack(const struct connectib_hca_params *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->length);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->partition_cap);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->key);
+	offset = 67;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_max_qp);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->va);
+	offset = 66;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->phy_port_owner);
 
-}
+	offset = 65;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eswitch_owner);
 
-void connectib_hw_klm_entry_unpack(struct connectib_hw_klm_entry *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dct);
 
-	offset=0;
-	ptr_struct->length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 114;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_max_ra_res_qp);
 
-	offset=32;
-	ptr_struct->key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 98;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_max_ra_req_qp);
 
-	offset=64;
-	ptr_struct->va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_ports);
 
-}
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cache_line_128byte);
 
-void connectib_hw_klm_entry_print(const struct connectib_hw_klm_entry *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_klm_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->log_uar_page_sz);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "length               : "U32H_FMT"\n", ptr_struct->length);
+	offset = 170;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_gid_table_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "key                  : "U32H_FMT"\n", ptr_struct->key);
+	offset = 169;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->uar_4k);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "va                   : "U64H_FMT"\n", ptr_struct->va);
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->named_qp);
 
-}
+	offset = 167;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->named_mkey);
 
-int connectib_hw_klm_entry_size(void){
-	 return 16;
-}
+	offset = 162;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->atomic_req_8b_endianess_mode);
+
+	offset = 161;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->init_hca_disable_linkup);
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->host_endianess);
+
+	offset = 192;
+	connectib_odp_hca_params_pack(&(ptr_struct->odp_caps), ptr_buff + offset/8);
 
-void connectib_hw_klm_entry_dump(const struct connectib_hw_klm_entry *ptr_struct, FILE* file) {
-	connectib_hw_klm_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_sq_tokens_pack(const struct connectib_hw_sq_tokens *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hca_params_unpack(struct connectib_hca_params *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ware_house_burst_size_23_8);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->responder_burst_size);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ware_house_burst_size_7_0);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->requestor_burst_size);
-
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gvmi_vl_weight);
+	offset = 80;
+	ptr_struct->partition_cap = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gvmi_vl_token_count);
+	offset = 67;
+	ptr_struct->log_max_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gvmi_vl_saturation);
+	offset = 66;
+	ptr_struct->phy_port_owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dwrr_weight);
+	offset = 65;
+	ptr_struct->eswitch_owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dwrr_token_count);
+	offset = 64;
+	ptr_struct->dct = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=228;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
+	offset = 114;
+	ptr_struct->log_max_ra_res_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=225;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->vlg);
+	offset = 98;
+	ptr_struct->log_max_ra_req_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port);
+	offset = 144;
+	ptr_struct->num_ports = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-}
+	offset = 128;
+	ptr_struct->cache_line_128byte = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_hw_sq_tokens_unpack(struct connectib_hw_sq_tokens *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 176;
+	ptr_struct->log_uar_page_sz = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=16;
-	ptr_struct->ware_house_burst_size_23_8 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 170;
+	ptr_struct->log_gid_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=0;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 169;
+	ptr_struct->uar_4k = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=40;
-	ptr_struct->responder_burst_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 168;
+	ptr_struct->named_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->ware_house_burst_size_7_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 167;
+	ptr_struct->named_mkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=72;
-	ptr_struct->requestor_burst_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 162;
+	ptr_struct->atomic_req_8b_endianess_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=104;
-	ptr_struct->gvmi_vl_weight = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 161;
+	ptr_struct->init_hca_disable_linkup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=136;
-	ptr_struct->gvmi_vl_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 160;
+	ptr_struct->host_endianess = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=168;
-	ptr_struct->gvmi_vl_saturation = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 192;
+	connectib_odp_hca_params_unpack(&(ptr_struct->odp_caps), ptr_buff + offset/8);
 
-	offset=200;
-	ptr_struct->dwrr_weight = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=232;
-	ptr_struct->dwrr_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_hca_params_print(const struct connectib_hca_params *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_hca_params ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=228;
-	ptr_struct->vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "partition_cap        : " UH_FMT "\n", ptr_struct->partition_cap);
 
-	offset=225;
-	ptr_struct->vlg = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_max_qp           : " UH_FMT "\n", ptr_struct->log_max_qp);
 
-	offset=224;
-	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "phy_port_owner       : " UH_FMT "\n", ptr_struct->phy_port_owner);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eswitch_owner        : " UH_FMT "\n", ptr_struct->eswitch_owner);
 
-void connectib_hw_sq_tokens_print(const struct connectib_hw_sq_tokens *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_sq_tokens ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "dct                  : " UH_FMT "\n", ptr_struct->dct);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ware_house_burst_size_23_8 : "UH_FMT"\n", ptr_struct->ware_house_burst_size_23_8);
+	fprintf(file, "log_max_ra_res_qp    : " UH_FMT "\n", ptr_struct->log_max_ra_res_qp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "log_max_ra_req_qp    : " UH_FMT "\n", ptr_struct->log_max_ra_req_qp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "responder_burst_size : "UH_FMT"\n", ptr_struct->responder_burst_size);
+	fprintf(file, "num_ports            : " UH_FMT "\n", ptr_struct->num_ports);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ware_house_burst_size_7_0 : "UH_FMT"\n", ptr_struct->ware_house_burst_size_7_0);
+	fprintf(file, "cache_line_128byte   : " UH_FMT "\n", ptr_struct->cache_line_128byte);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "requestor_burst_size : "UH_FMT"\n", ptr_struct->requestor_burst_size);
+	fprintf(file, "log_uar_page_sz      : " UH_FMT "\n", ptr_struct->log_uar_page_sz);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi_vl_weight       : "UH_FMT"\n", ptr_struct->gvmi_vl_weight);
+	fprintf(file, "log_gid_table_size   : " UH_FMT "\n", ptr_struct->log_gid_table_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi_vl_token_count  : "UH_FMT"\n", ptr_struct->gvmi_vl_token_count);
+	fprintf(file, "uar_4k               : " UH_FMT "\n", ptr_struct->uar_4k);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi_vl_saturation   : "UH_FMT"\n", ptr_struct->gvmi_vl_saturation);
+	fprintf(file, "named_qp             : " UH_FMT "\n", ptr_struct->named_qp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dwrr_weight          : "UH_FMT"\n", ptr_struct->dwrr_weight);
+	fprintf(file, "named_mkey           : " UH_FMT "\n", ptr_struct->named_mkey);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dwrr_token_count     : "UH_FMT"\n", ptr_struct->dwrr_token_count);
+	fprintf(file, "atomic_req_8b_endianess_mode : " UH_FMT "\n", ptr_struct->atomic_req_8b_endianess_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl                   : "UH_FMT"\n", ptr_struct->vl);
+	fprintf(file, "init_hca_disable_linkup : " UH_FMT "\n", ptr_struct->init_hca_disable_linkup);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vlg                  : "UH_FMT"\n", ptr_struct->vlg);
+	fprintf(file, "host_endianess       : " UH_FMT "\n", ptr_struct->host_endianess);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
+	fprintf(file, "odp_caps:\n");
+	connectib_odp_hca_params_print(&(ptr_struct->odp_caps), file, indent_level + 1);
 
 }
 
-int connectib_hw_sq_tokens_size(void){
+int connectib_hca_params_size(void)
+{
 	 return 32;
 }
 
-void connectib_hw_sq_tokens_dump(const struct connectib_hw_sq_tokens *ptr_struct, FILE* file) {
-	connectib_hw_sq_tokens_print(ptr_struct, file, 0);
+void connectib_hca_params_dump(const struct connectib_hca_params *ptr_struct, FILE* file)
+{
+	connectib_hca_params_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_gvmi_tokens_pack(const struct connectib_hw_gvmi_tokens *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dummy_addresses_one_cache_line_pack(const struct connectib_dummy_addresses_one_cache_line *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=91;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port1_avg_saturation);
-
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port1_high_vlg_req_token);
-
-	offset=83;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port1_log2avg_time);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port1_max_weight_exp);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ix[i]);
+	}
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port1_log2max_time);
+}
 
-	offset=74;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port0_has_token);
+void connectib_dummy_addresses_one_cache_line_unpack(struct connectib_dummy_addresses_one_cache_line *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=73;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port0_vlg_req_vld);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 512, 1);
+	ptr_struct->ix[i] = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	}
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port1_has_token);
+}
 
-	offset=67;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port1_max_saturation);
+void connectib_dummy_addresses_one_cache_line_print(const struct connectib_dummy_addresses_one_cache_line *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_dummy_addresses_one_cache_line ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port1_vlg_req_vld);
+	for (i = 0; i < 8; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ix_%03d              : " U64H_FMT "\n", i, ptr_struct->ix[i]);
+	}
 
-	offset=123;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port0_avg_saturation);
+}
 
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port0_avg_weight_exp);
+int connectib_dummy_addresses_one_cache_line_size(void)
+{
+	 return 64;
+}
 
-	offset=115;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port0_log2avg_time);
+void connectib_dummy_addresses_one_cache_line_dump(const struct connectib_dummy_addresses_one_cache_line *ptr_struct, FILE* file)
+{
+	connectib_dummy_addresses_one_cache_line_print(ptr_struct, file, 0);
+}
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port0_high_vlg_req_token);
+void connectib_cmdif_ctx_pack(const struct connectib_cmdif_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=107;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port0_log2max_time);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->done_missions);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port0_max_weight_exp);
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->res_num);
 
-	offset=99;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->port0_max_saturation);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cmd_valid);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->port1_avg_weight_exp);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->opcode);
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->port1_max_token_count);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->op_mod);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port1_max_weight_mantissa);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->allocated_pages);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->port1_avg_token_count);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->needed_pages);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port1_avg_weight_mantissa);
+	offset = 160;
+	connectib_flush_type_pack(&(ptr_struct->flush_type), ptr_buff + offset/8);
 
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->port0_max_token_count);
+	offset = 200;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->flush_qpn);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port0_max_weight_mantissa);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_synd);
 
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->port0_avg_token_count);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->nim_start_offset);
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port0_avg_weight_mantissa);
+	offset = 256;
+	connectib_cmdif_ctx_special_pack(&(ptr_struct->s), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_gvmi_tokens_unpack(struct connectib_hw_gvmi_tokens *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_cmdif_ctx_unpack(struct connectib_cmdif_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=91;
-	ptr_struct->port1_avg_saturation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 0;
+	ptr_struct->done_missions = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=88;
-	ptr_struct->port1_high_vlg_req_token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 39;
+	ptr_struct->res_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
 
-	offset=83;
-	ptr_struct->port1_log2avg_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 32;
+	ptr_struct->cmd_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	ptr_struct->port1_max_weight_exp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 80;
+	ptr_struct->opcode = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=75;
-	ptr_struct->port1_log2max_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 64;
+	ptr_struct->op_mod = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=74;
-	ptr_struct->port0_has_token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->allocated_pages = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=73;
-	ptr_struct->port0_vlg_req_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	ptr_struct->needed_pages = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
-	ptr_struct->port1_has_token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	connectib_flush_type_unpack(&(ptr_struct->flush_type), ptr_buff + offset/8);
 
-	offset=67;
-	ptr_struct->port1_max_saturation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 200;
+	ptr_struct->flush_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=66;
-	ptr_struct->port1_vlg_req_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	ptr_struct->flush_synd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=123;
-	ptr_struct->port0_avg_saturation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 224;
+	ptr_struct->nim_start_offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=120;
-	ptr_struct->port0_avg_weight_exp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 256;
+	connectib_cmdif_ctx_special_unpack(&(ptr_struct->s), ptr_buff + offset/8);
 
-	offset=115;
-	ptr_struct->port0_log2avg_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+}
 
-	offset=112;
-	ptr_struct->port0_high_vlg_req_token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+void connectib_cmdif_ctx_print(const struct connectib_cmdif_ctx *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_cmdif_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=107;
-	ptr_struct->port0_log2max_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "done_missions        : " U32H_FMT "\n", ptr_struct->done_missions);
 
-	offset=104;
-	ptr_struct->port0_max_weight_exp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "res_num              : " UH_FMT "\n", ptr_struct->res_num);
 
-	offset=99;
-	ptr_struct->port0_max_saturation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmd_valid            : " UH_FMT "\n", ptr_struct->cmd_valid);
 
-	offset=96;
-	ptr_struct->port1_avg_weight_exp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
 
-	offset=136;
-	ptr_struct->port1_max_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "op_mod               : " UH_FMT "\n", ptr_struct->op_mod);
 
-	offset=128;
-	ptr_struct->port1_max_weight_mantissa = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "allocated_pages      : " U32H_FMT "\n", ptr_struct->allocated_pages);
 
-	offset=168;
-	ptr_struct->port1_avg_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "needed_pages         : " U32H_FMT "\n", ptr_struct->needed_pages);
 
-	offset=160;
-	ptr_struct->port1_avg_weight_mantissa = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flush_type:\n");
+	connectib_flush_type_print(&(ptr_struct->flush_type), file, indent_level + 1);
 
-	offset=200;
-	ptr_struct->port0_max_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flush_qpn            : " UH_FMT "\n", ptr_struct->flush_qpn);
 
-	offset=192;
-	ptr_struct->port0_max_weight_mantissa = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flush_synd           : " UH_FMT "\n", ptr_struct->flush_synd);
 
-	offset=232;
-	ptr_struct->port0_avg_token_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nim_start_offset     : " U32H_FMT "\n", ptr_struct->nim_start_offset);
 
-	offset=224;
-	ptr_struct->port0_avg_weight_mantissa = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "s:\n");
+	connectib_cmdif_ctx_special_print(&(ptr_struct->s), file, indent_level + 1);
 
 }
 
-void connectib_hw_gvmi_tokens_print(const struct connectib_hw_gvmi_tokens *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_gvmi_tokens ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+int connectib_cmdif_ctx_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_avg_saturation : "UH_FMT"\n", ptr_struct->port1_avg_saturation);
+void connectib_cmdif_ctx_dump(const struct connectib_cmdif_ctx *ptr_struct, FILE* file)
+{
+	connectib_cmdif_ctx_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_high_vlg_req_token : "UH_FMT"\n", ptr_struct->port1_high_vlg_req_token);
+void connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_pack(const union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_r [...]
+{
+	connectib_general_notification_delay_drop_event_pack(&(ptr_struct->general_notification_delay_drop_event), ptr_buff);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_log2avg_time   : "UH_FMT"\n", ptr_struct->port1_log2avg_time);
+void connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_unpack(union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_ [...]
+{
+	connectib_general_notification_delay_drop_event_unpack(&(ptr_struct->general_notification_delay_drop_event), ptr_buff);
+}
 
+void connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_print(const union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_ [...]
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_max_weight_exp : "UH_FMT"\n", ptr_struct->port1_max_weight_exp);
+	fprintf(file, "======== connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_log2max_time   : "UH_FMT"\n", ptr_struct->port1_log2max_time);
+	fprintf(file, "flat_data:\n");
+	connectib_sw_eqe_flat_data_print(&(ptr_struct->flat_data), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_has_token      : "UH_FMT"\n", ptr_struct->port0_has_token);
+	fprintf(file, "comp_event:\n");
+	connectib_comp_event_print(&(ptr_struct->comp_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_vlg_req_vld    : "UH_FMT"\n", ptr_struct->port0_vlg_req_vld);
+	fprintf(file, "dct_events:\n");
+	connectib_dct_events_print(&(ptr_struct->dct_events), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_has_token      : "UH_FMT"\n", ptr_struct->port1_has_token);
+	fprintf(file, "qp_events:\n");
+	connectib_qp_events_print(&(ptr_struct->qp_events), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_max_saturation : "UH_FMT"\n", ptr_struct->port1_max_saturation);
+	fprintf(file, "wqe_associated_page_fault_event:\n");
+	connectib_wqe_associated_page_fault_event_print(&(ptr_struct->wqe_associated_page_fault_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_vlg_req_vld    : "UH_FMT"\n", ptr_struct->port1_vlg_req_vld);
+	fprintf(file, "rdma_page_fault_event:\n");
+	connectib_rdma_page_fault_event_print(&(ptr_struct->rdma_page_fault_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_avg_saturation : "UH_FMT"\n", ptr_struct->port0_avg_saturation);
+	fprintf(file, "cq_error:\n");
+	connectib_cq_error_print(&(ptr_struct->cq_error), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_avg_weight_exp : "UH_FMT"\n", ptr_struct->port0_avg_weight_exp);
+	fprintf(file, "dropped_packet_logged:\n");
+	connectib_dropped_packet_logged_print(&(ptr_struct->dropped_packet_logged), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_log2avg_time   : "UH_FMT"\n", ptr_struct->port0_log2avg_time);
+	fprintf(file, "port_state_change_event:\n");
+	connectib_port_state_change_event_print(&(ptr_struct->port_state_change_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_high_vlg_req_token : "UH_FMT"\n", ptr_struct->port0_high_vlg_req_token);
+	fprintf(file, "gpio_event:\n");
+	connectib_gpio_event_print(&(ptr_struct->gpio_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_log2max_time   : "UH_FMT"\n", ptr_struct->port0_log2max_time);
+	fprintf(file, "port_module_event:\n");
+	connectib_port_module_event_print(&(ptr_struct->port_module_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_max_weight_exp : "UH_FMT"\n", ptr_struct->port0_max_weight_exp);
+	fprintf(file, "dcbx_change_event:\n");
+	connectib_dcbx_change_event_print(&(ptr_struct->dcbx_change_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_max_saturation : "UH_FMT"\n", ptr_struct->port0_max_saturation);
+	fprintf(file, "temp_warning_event:\n");
+	connectib_temp_warning_event_print(&(ptr_struct->temp_warning_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_avg_weight_exp : "UH_FMT"\n", ptr_struct->port1_avg_weight_exp);
+	fprintf(file, "db_bf_congestion_event:\n");
+	connectib_db_bf_congestion_event_print(&(ptr_struct->db_bf_congestion_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_max_token_count : "UH_FMT"\n", ptr_struct->port1_max_token_count);
+	fprintf(file, "stall_vl_event:\n");
+	connectib_stall_vl_event_print(&(ptr_struct->stall_vl_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_max_weight_mantissa : "UH_FMT"\n", ptr_struct->port1_max_weight_mantissa);
+	fprintf(file, "cmd_inter_comp_event:\n");
+	connectib_cmd_inter_comp_event_print(&(ptr_struct->cmd_inter_comp_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_avg_token_count : "UH_FMT"\n", ptr_struct->port1_avg_token_count);
+	fprintf(file, "pages_req_event:\n");
+	connectib_pages_req_event_print(&(ptr_struct->pages_req_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port1_avg_weight_mantissa : "UH_FMT"\n", ptr_struct->port1_avg_weight_mantissa);
+	fprintf(file, "nic_vport_change_event:\n");
+	connectib_nic_vport_change_event_print(&(ptr_struct->nic_vport_change_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_max_token_count : "UH_FMT"\n", ptr_struct->port0_max_token_count);
+	fprintf(file, "fpga_error_event:\n");
+	connectib_fpga_error_event_print(&(ptr_struct->fpga_error_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_max_weight_mantissa : "UH_FMT"\n", ptr_struct->port0_max_weight_mantissa);
+	fprintf(file, "fpga_qp_error_event:\n");
+	connectib_fpga_qp_error_event_print(&(ptr_struct->fpga_qp_error_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_avg_token_count : "UH_FMT"\n", ptr_struct->port0_avg_token_count);
+	fprintf(file, "pps_event:\n");
+	connectib_pps_event_print(&(ptr_struct->pps_event), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port0_avg_weight_mantissa : "UH_FMT"\n", ptr_struct->port0_avg_weight_mantissa);
+	fprintf(file, "general_notification_delay_drop_event:\n");
+	connectib_general_notification_delay_drop_event_print(&(ptr_struct->general_notification_delay_drop_event), file, indent_level + 1);
 
 }
 
-int connectib_hw_gvmi_tokens_size(void){
-	 return 32;
+int connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_size(void)
+{
+	 return 28;
 }
 
-void connectib_hw_gvmi_tokens_dump(const struct connectib_hw_gvmi_tokens *ptr_struct, FILE* file) {
-	connectib_hw_gvmi_tokens_print(ptr_struct, file, 0);
+void connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_dump(const union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_r [...]
+{
+	connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_sq_pointers_pack(const struct connectib_hw_sq_pointers *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->weight_requestor);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->sq_offset_11_6);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->weight_responder);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
-
-	offset=38;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->token);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->sq_offset_5_0);
-
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->ware_house_counter_responder);
-
-	offset=103;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->ware_house_counter_requestor);
-
-	offset=135;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->push_pointer_responder);
-
-	offset=167;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->push_pointer_requestor);
-
-	offset=166;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port);
-
-	offset=165;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->scheduling_interrupt);
-
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
+void connectib_icmd_generic_reg_access_reg_tlv_data_pack(const union connectib_icmd_generic_reg_access_reg_tlv_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_generic_flash_reg_access_data_pack(&(ptr_struct->flash_reg_access), ptr_buff);
+}
 
-	offset=199;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->pop_pointer_responder);
+void connectib_icmd_generic_reg_access_reg_tlv_data_unpack(union connectib_icmd_generic_reg_access_reg_tlv_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_generic_flash_reg_access_data_unpack(&(ptr_struct->flash_reg_access), ptr_buff);
+}
 
-	offset=198;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_gnt_requestor);
+void connectib_icmd_generic_reg_access_reg_tlv_data_print(const union connectib_icmd_generic_reg_access_reg_tlv_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_generic_reg_access_reg_tlv_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_max_num_of_qp_responder);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmdif_access_register:\n");
+	connectib_access_register_data_layout_print(&(ptr_struct->cmdif_access_register), file, indent_level + 1);
 
-	offset=231;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->pop_pointer_requestor);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flash_reg_access:\n");
+	connectib_generic_flash_reg_access_data_print(&(ptr_struct->flash_reg_access), file, indent_level + 1);
 
-	offset=230;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->db_interrupt);
+}
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_max_num_of_qp_requestor);
+int connectib_icmd_generic_reg_access_reg_tlv_data_size(void)
+{
+	 return 272;
+}
 
+void connectib_icmd_generic_reg_access_reg_tlv_data_dump(const union connectib_icmd_generic_reg_access_reg_tlv_data *ptr_struct, FILE* file)
+{
+	connectib_icmd_generic_reg_access_reg_tlv_data_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_sq_pointers_unpack(struct connectib_hw_sq_pointers *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_reg_access_tlv_pack(const struct connectib_reg_access_tlv *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=22;
-	ptr_struct->weight_requestor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->len);
 
-	offset=16;
-	ptr_struct->sq_offset_11_6 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->type);
 
-	offset=6;
-	ptr_struct->weight_responder = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+}
 
-	offset=48;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_reg_access_tlv_unpack(struct connectib_reg_access_tlv *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=38;
-	ptr_struct->token = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 5;
+	ptr_struct->len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=32;
-	ptr_struct->sq_offset_5_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 0;
+	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=71;
-	ptr_struct->ware_house_counter_responder = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
+}
 
-	offset=103;
-	ptr_struct->ware_house_counter_requestor = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
+void connectib_reg_access_tlv_print(const struct connectib_reg_access_tlv *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_reg_access_tlv ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=135;
-	ptr_struct->push_pointer_responder = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "len                  : " UH_FMT "\n", ptr_struct->len);
 
-	offset=167;
-	ptr_struct->push_pointer_requestor = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
 
-	offset=166;
-	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=165;
-	ptr_struct->scheduling_interrupt = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+int connectib_reg_access_tlv_size(void)
+{
+	 return 4;
+}
 
-	offset=160;
-	ptr_struct->vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_reg_access_tlv_dump(const struct connectib_reg_access_tlv *ptr_struct, FILE* file)
+{
+	connectib_reg_access_tlv_print(ptr_struct, file, 0);
+}
 
-	offset=199;
-	ptr_struct->pop_pointer_responder = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
+void connectib_IB_TID_pack(const struct connectib_IB_TID *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=198;
-	ptr_struct->last_gnt_requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->High);
 
-	offset=192;
-	ptr_struct->log2_max_num_of_qp_responder = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->Low);
 
-	offset=231;
-	ptr_struct->pop_pointer_requestor = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
+}
 
-	offset=230;
-	ptr_struct->db_interrupt = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_IB_TID_unpack(struct connectib_IB_TID *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=224;
-	ptr_struct->log2_max_num_of_qp_requestor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 0;
+	ptr_struct->High = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->Low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_sq_pointers_print(const struct connectib_hw_sq_pointers *ptr_struct, FILE* file, int indent_level){
+void connectib_IB_TID_print(const struct connectib_IB_TID *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_sq_pointers ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_IB_TID ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "weight_requestor     : "UH_FMT"\n", ptr_struct->weight_requestor);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sq_offset_11_6       : "UH_FMT"\n", ptr_struct->sq_offset_11_6);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "weight_responder     : "UH_FMT"\n", ptr_struct->weight_responder);
+	fprintf(file, "High                 : " U32H_FMT "\n", ptr_struct->High);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "Low                  : " U32H_FMT "\n", ptr_struct->Low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "token                : "UH_FMT"\n", ptr_struct->token);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sq_offset_5_0        : "UH_FMT"\n", ptr_struct->sq_offset_5_0);
+int connectib_IB_TID_size(void)
+{
+	 return 8;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ware_house_counter_responder : "UH_FMT"\n", ptr_struct->ware_house_counter_responder);
+void connectib_IB_TID_dump(const struct connectib_IB_TID *ptr_struct, FILE* file)
+{
+	connectib_IB_TID_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ware_house_counter_requestor : "UH_FMT"\n", ptr_struct->ware_house_counter_requestor);
+void connectib_icmd_kdnet_ctrl_out_pack(const struct connectib_icmd_kdnet_ctrl_out *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "push_pointer_responder : "UH_FMT"\n", ptr_struct->push_pointer_responder);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->kdnet_bdf);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "push_pointer_requestor : "UH_FMT"\n", ptr_struct->push_pointer_requestor);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "scheduling_interrupt : "UH_FMT"\n", ptr_struct->scheduling_interrupt);
+void connectib_icmd_kdnet_ctrl_out_unpack(struct connectib_icmd_kdnet_ctrl_out *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl                   : "UH_FMT"\n", ptr_struct->vl);
+	offset = 16;
+	ptr_struct->kdnet_bdf = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pop_pointer_responder : "UH_FMT"\n", ptr_struct->pop_pointer_responder);
+	offset = 0;
+	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_gnt_requestor   : "UH_FMT"\n", ptr_struct->last_gnt_requestor);
+}
 
+void connectib_icmd_kdnet_ctrl_out_print(const struct connectib_icmd_kdnet_ctrl_out *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_max_num_of_qp_responder : "UH_FMT"\n", ptr_struct->log2_max_num_of_qp_responder);
+	fprintf(file, "======== connectib_icmd_kdnet_ctrl_out ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pop_pointer_requestor : "UH_FMT"\n", ptr_struct->pop_pointer_requestor);
+	fprintf(file, "kdnet_bdf            : " UH_FMT "\n", ptr_struct->kdnet_bdf);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "db_interrupt         : "UH_FMT"\n", ptr_struct->db_interrupt);
+	fprintf(file, "status               : " UH_FMT "\n", ptr_struct->status);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_max_num_of_qp_requestor : "UH_FMT"\n", ptr_struct->log2_max_num_of_qp_requestor);
+}
 
+int connectib_icmd_kdnet_ctrl_out_size(void)
+{
+	 return 4;
 }
 
-int connectib_hw_sq_pointers_size(void){
-	 return 32;
+void connectib_icmd_kdnet_ctrl_out_dump(const struct connectib_icmd_kdnet_ctrl_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_kdnet_ctrl_out_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_sq_pointers_dump(const struct connectib_hw_sq_pointers *ptr_struct, FILE* file) {
-	connectib_hw_sq_pointers_print(ptr_struct, file, 0);
+void connectib_icmd_kdnet_ctrl_in_pack(const struct connectib_icmd_kdnet_ctrl_in *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->operation);
+
 }
 
-void connectib_hw_trasta_pack(const struct connectib_hw_trasta *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_kdnet_ctrl_in_unpack(struct connectib_icmd_kdnet_ctrl_in *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->va_offset_63_32);
+	offset = 28;
+	ptr_struct->operation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->va_offset_31_0);
+}
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->klm_index);
+void connectib_icmd_kdnet_ctrl_in_print(const struct connectib_icmd_kdnet_ctrl_in *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_kdnet_ctrl_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->invalidation_counter);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "operation            : " UH_FMT "\n", ptr_struct->operation);
 
-	offset=111;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+}
 
+int connectib_icmd_kdnet_ctrl_in_size(void)
+{
+	 return 4;
+}
+
+void connectib_icmd_kdnet_ctrl_in_dump(const struct connectib_icmd_kdnet_ctrl_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_kdnet_ctrl_in_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_trasta_unpack(struct connectib_hw_trasta *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_itrace_ctrl_pack(const struct connectib_itrace_ctrl *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->va_offset_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_level);
 
-	offset=32;
-	ptr_struct->va_offset_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->log_delay);
 
-	offset=64;
-	ptr_struct->klm_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=112;
-	ptr_struct->invalidation_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_itrace_ctrl_unpack(struct connectib_itrace_ctrl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=111;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->log_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->log_delay = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_hw_trasta_print(const struct connectib_hw_trasta *ptr_struct, FILE* file, int indent_level){
+void connectib_itrace_ctrl_print(const struct connectib_itrace_ctrl *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_trasta ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_itrace_ctrl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "va_offset_63_32      : "U32H_FMT"\n", ptr_struct->va_offset_63_32);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "va_offset_31_0       : "U32H_FMT"\n", ptr_struct->va_offset_31_0);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "klm_index            : "U32H_FMT"\n", ptr_struct->klm_index);
+	fprintf(file, "log_level            : " UH_FMT "\n", ptr_struct->log_level);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "invalidation_counter : "UH_FMT"\n", ptr_struct->invalidation_counter);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "log_delay            : " UH_FMT "\n", ptr_struct->log_delay);
 
 }
 
-int connectib_hw_trasta_size(void){
-	 return 16;
+int connectib_itrace_ctrl_size(void)
+{
+	 return 4;
 }
 
-void connectib_hw_trasta_dump(const struct connectib_hw_trasta *ptr_struct, FILE* file) {
-	connectib_hw_trasta_print(ptr_struct, file, 0);
+void connectib_itrace_ctrl_dump(const struct connectib_itrace_ctrl *ptr_struct, FILE* file)
+{
+	connectib_itrace_ctrl_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_trastb_pack(const struct connectib_hw_trastb *ptr_struct, u_int8_t* ptr_buff){
+void connectib_output_inline_standart_pack(const struct connectib_output_inline_standart *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->generation_count);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->auto_1);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->bsf_offset);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->status);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->m_fbo);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->syndrome);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->w_fbo);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ix);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->m_va);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->auto_2);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->w_va);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->auto_3);
 
 }
 
-void connectib_hw_trastb_unpack(struct connectib_hw_trastb *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_output_inline_standart_unpack(struct connectib_output_inline_standart *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->generation_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 8;
+	ptr_struct->auto_1 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=32;
-	ptr_struct->bsf_offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	ptr_struct->m_fbo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->syndrome = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	ptr_struct->w_fbo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 72;
+	ptr_struct->ix = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=128;
-	ptr_struct->m_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 64;
+	ptr_struct->auto_2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=192;
-	ptr_struct->w_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 96;
+	ptr_struct->auto_3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_trastb_print(const struct connectib_hw_trastb *ptr_struct, FILE* file, int indent_level){
+void connectib_output_inline_standart_print(const struct connectib_output_inline_standart *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_trastb ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_output_inline_standart ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "generation_count     : "UH_FMT"\n", ptr_struct->generation_count);
+	fprintf(file, "auto_1               : " UH_FMT "\n", ptr_struct->auto_1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bsf_offset           : "U32H_FMT"\n", ptr_struct->bsf_offset);
+	fprintf(file, "status               : " UH_FMT "\n", ptr_struct->status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_fbo                : "U32H_FMT"\n", ptr_struct->m_fbo);
+	fprintf(file, "syndrome             : " U32H_FMT "\n", ptr_struct->syndrome);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_fbo                : "U32H_FMT"\n", ptr_struct->w_fbo);
+	fprintf(file, "ix                   : " UH_FMT "\n", ptr_struct->ix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_va                 : "U64H_FMT"\n", ptr_struct->m_va);
+	fprintf(file, "auto_2               : " UH_FMT "\n", ptr_struct->auto_2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "w_va                 : "U64H_FMT"\n", ptr_struct->w_va);
+	fprintf(file, "auto_3               : " U32H_FMT "\n", ptr_struct->auto_3);
 
 }
 
-int connectib_hw_trastb_size(void){
-	 return 32;
+int connectib_output_inline_standart_size(void)
+{
+	 return 16;
 }
 
-void connectib_hw_trastb_dump(const struct connectib_hw_trastb *ptr_struct, FILE* file) {
-	connectib_hw_trastb_print(ptr_struct, file, 0);
+void connectib_output_inline_standart_dump(const struct connectib_output_inline_standart *ptr_struct, FILE* file)
+{
+	connectib_output_inline_standart_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_base_psv_pack(const struct connectib_hw_base_psv *ptr_struct, u_int8_t* ptr_buff){
+void connectib_input_inline_standart_pack(const struct connectib_input_inline_standart *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->data_heart_beat);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->reserved_0);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wqe_heart_beat);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->opcode);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->opcode_mod);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->status);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->reserved_1);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->syndrome);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ix);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->transient_signature);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reserved_2);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->reference_tag);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reserved_3);
 
 }
 
-void connectib_hw_base_psv_unpack(struct connectib_hw_base_psv *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_input_inline_standart_unpack(struct connectib_input_inline_standart *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=2;
-	ptr_struct->data_heart_beat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->reserved_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=1;
-	ptr_struct->wqe_heart_beat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->opcode = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=0;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->opcode_mod = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=48;
-	ptr_struct->status = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	ptr_struct->reserved_1 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
-	ptr_struct->syndrome = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 72;
+	ptr_struct->ix = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=64;
-	ptr_struct->transient_signature = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	ptr_struct->reserved_2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=96;
-	ptr_struct->reference_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	ptr_struct->reserved_3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_base_psv_print(const struct connectib_hw_base_psv *ptr_struct, FILE* file, int indent_level){
+void connectib_input_inline_standart_print(const struct connectib_input_inline_standart *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_base_psv ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_input_inline_standart ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "reserved_0           : " UH_FMT "\n", ptr_struct->reserved_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_heart_beat      : "UH_FMT"\n", ptr_struct->data_heart_beat);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_heart_beat       : "UH_FMT"\n", ptr_struct->wqe_heart_beat);
+	fprintf(file, "opcode_mod           : " UH_FMT "\n", ptr_struct->opcode_mod);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "reserved_1           : " UH_FMT "\n", ptr_struct->reserved_1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status               : "UH_FMT"\n", ptr_struct->status);
+	fprintf(file, "ix                   : " UH_FMT "\n", ptr_struct->ix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "syndrome             : "UH_FMT"\n", ptr_struct->syndrome);
+	fprintf(file, "reserved_2           : " UH_FMT "\n", ptr_struct->reserved_2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "transient_signature  : "U32H_FMT"\n", ptr_struct->transient_signature);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reference_tag        : "U32H_FMT"\n", ptr_struct->reference_tag);
+	fprintf(file, "reserved_3           : " U32H_FMT "\n", ptr_struct->reserved_3);
 
 }
 
-int connectib_hw_base_psv_size(void){
+int connectib_input_inline_standart_size(void)
+{
 	 return 16;
 }
 
-void connectib_hw_base_psv_dump(const struct connectib_hw_base_psv *ptr_struct, FILE* file) {
-	connectib_hw_base_psv_print(ptr_struct, file, 0);
-}
-
-void connectib_hw_bsf_entry_pack(const union connectib_hw_bsf_entry *ptr_struct, u_int8_t* ptr_buff)
+void connectib_input_inline_standart_dump(const struct connectib_input_inline_standart *ptr_struct, FILE* file)
 {
-	connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_pack(&(ptr_struct->hw_bsf_entry_w_non_repeating_m_non_repeating), ptr_buff);
+	connectib_input_inline_standart_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_bsf_entry_unpack(union connectib_hw_bsf_entry *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_g_rse_decoders_as_dwords_pack(const struct connectib_g_rse_decoders_as_dwords *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_unpack(&(ptr_struct->hw_bsf_entry_w_non_repeating_m_non_repeating), ptr_buff);
-}
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_hw_bsf_entry_print(const union connectib_hw_bsf_entry *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_bsf_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2048, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "same_block_repeating:\n");
-	connectib_hw_bsf_entry_same_block_repeating_print(&(ptr_struct->same_block_repeating), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "same_block_non_repeating:\n");
-	connectib_hw_bsf_entry_same_block_non_repeating_print(&(ptr_struct->same_block_non_repeating), file, indent_level + 1);
+void connectib_g_rse_decoders_as_dwords_unpack(struct connectib_g_rse_decoders_as_dwords *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_bsf_entry_w_repeating_m_repeating:\n");
-	connectib_hw_bsf_entry_w_repeating_m_repeating_print(&(ptr_struct->hw_bsf_entry_w_repeating_m_repeating), file, indent_level + 1);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2048, 1);
+	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_bsf_entry_w_repeating_m_non_repeating:\n");
-	connectib_hw_bsf_entry_w_repeating_m_non_repeating_print(&(ptr_struct->hw_bsf_entry_w_repeating_m_non_repeating), file, indent_level + 1);
+}
 
+void connectib_g_rse_decoders_as_dwords_print(const struct connectib_g_rse_decoders_as_dwords *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_bsf_entry_w_non_repeating_m_repeating:\n");
-	connectib_hw_bsf_entry_w_non_repeating_m_repeating_print(&(ptr_struct->hw_bsf_entry_w_non_repeating_m_repeating), file, indent_level + 1);
+	fprintf(file, "======== connectib_g_rse_decoders_as_dwords ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
+	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_bsf_entry_w_non_repeating_m_non_repeating:\n");
-	connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_print(&(ptr_struct->hw_bsf_entry_w_non_repeating_m_non_repeating), file, indent_level + 1);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
+	}
 
 }
 
-int connectib_hw_bsf_entry_size(void){
-	 return 64;
+int connectib_g_rse_decoders_as_dwords_size(void)
+{
+	 return 256;
 }
 
-void connectib_hw_bsf_entry_dump(const union connectib_hw_bsf_entry *ptr_struct, FILE* file) {
-	connectib_hw_bsf_entry_print(ptr_struct, file, 0);
+void connectib_g_rse_decoders_as_dwords_dump(const struct connectib_g_rse_decoders_as_dwords *ptr_struct, FILE* file)
+{
+	connectib_g_rse_decoders_as_dwords_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_port_info_pack(const struct connectib_hw_port_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_rxs_rxt_desc_decoder_pack(const struct connectib_rxs_rxt_desc_decoder *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->lmc);
+	offset = 50;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 14, (u_int32_t)ptr_struct->payload_end_offset);
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->mad_filter);
+	offset = 49;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mask_px_icmc_tpt_vld);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lid);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->need_invalidation);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->gid_prefix);
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_rdb_size);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(272, 16, i, 512, 1);
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dc_rsl2sq_map[i]);
-	}
+	offset = 41;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_rdma_atomic);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->scatter_grh);
+
+	offset = 37;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->packet_type);
+
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_dcr_gvmi_for_rdb);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 66;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 14, (u_int32_t)ptr_struct->packet_len);
+
+	offset = 65;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->free_line);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->header_capture);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->psn);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->payload_offset);
+
+	offset = 168;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->grh_offset);
+
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rkey);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dma_length);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->va_63_32);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->va_31_0);
 
 }
 
-void connectib_hw_port_info_unpack(struct connectib_hw_port_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_rxs_rxt_desc_decoder_unpack(struct connectib_rxs_rxt_desc_decoder *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->lmc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 50;
+	ptr_struct->payload_end_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 14);
 
-	offset=2;
-	ptr_struct->mad_filter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 49;
+	ptr_struct->mask_px_icmc_tpt_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=48;
-	ptr_struct->lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 48;
+	ptr_struct->need_invalidation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->gid_prefix = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 44;
+	ptr_struct->extended_rdb_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(272, 16, i, 512, 1);
-	ptr_struct->dc_rsl2sq_map[i] = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-	}
+	offset = 41;
+	ptr_struct->max_rdma_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-}
+	offset = 40;
+	ptr_struct->scatter_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_hw_port_info_print(const struct connectib_hw_port_info *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_port_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 37;
+	ptr_struct->packet_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lmc                  : "UH_FMT"\n", ptr_struct->lmc);
+	offset = 36;
+	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mad_filter           : "UH_FMT"\n", ptr_struct->mad_filter);
+	offset = 35;
+	ptr_struct->use_dcr_gvmi_for_rdb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lid                  : "UH_FMT"\n", ptr_struct->lid);
+	offset = 80;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gid_prefix           : "U64H_FMT"\n", ptr_struct->gid_prefix);
+	offset = 66;
+	ptr_struct->packet_len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 14);
 
-	for (i=0; i < 16; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_rsl2sq_map_%03d   : "UH_FMT"\n", i, ptr_struct->dc_rsl2sq_map[i]);
-	}
+	offset = 65;
+	ptr_struct->free_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 64;
+	ptr_struct->header_capture = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-int connectib_hw_port_info_size(void){
-	 return 64;
-}
+	offset = 104;
+	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-void connectib_hw_port_info_dump(const struct connectib_hw_port_info *ptr_struct, FILE* file) {
-	connectib_hw_port_info_print(ptr_struct, file, 0);
-}
+	offset = 96;
+	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-void connectib_hw_r_qpc_pack(const union connectib_hw_r_qpc *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_hw_dct_pack(&(ptr_struct->dct), ptr_buff);
-}
+	offset = 136;
+	ptr_struct->psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 128;
+	ptr_struct->payload_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 168;
+	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 160;
+	ptr_struct->grh_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 192;
+	ptr_struct->rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->dma_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 256;
+	ptr_struct->va_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->va_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_hw_r_qpc_unpack(union connectib_hw_r_qpc *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_hw_dct_unpack(&(ptr_struct->dct), ptr_buff);
 }
 
-void connectib_hw_r_qpc_print(const union connectib_hw_r_qpc *ptr_struct, FILE* file, int indent_level){
+void connectib_rxs_rxt_desc_decoder_print(const struct connectib_rxs_rxt_desc_decoder *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_r_qpc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_rxs_rxt_desc_decoder ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shared:\n");
-	connectib_hw_r_qpc_common_print(&(ptr_struct->shared), file, indent_level + 1);
+	fprintf(file, "payload_end_offset   : " UH_FMT "\n", ptr_struct->payload_end_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shared_connected:\n");
-	connectib_hw_r_qpc_connected_common_print(&(ptr_struct->shared_connected), file, indent_level + 1);
+	fprintf(file, "mask_px_icmc_tpt_vld : " UH_FMT "\n", ptr_struct->mask_px_icmc_tpt_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected:\n");
-	connectib_hw_r_qpc_rc_uc_dci_print(&(ptr_struct->connected), file, indent_level + 1);
+	fprintf(file, "need_invalidation    : " UH_FMT "\n", ptr_struct->need_invalidation);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_cd:\n");
-	connectib_hw_r_qpc_rc_uc_cd_print(&(ptr_struct->connected_cd), file, indent_level + 1);
+	fprintf(file, "extended_rdb_size    : " UH_FMT "\n", ptr_struct->extended_rdb_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_2cycbuff:\n");
-	connectib_hw_r_qpc_rc_uc_2cycbuff_print(&(ptr_struct->connected_2cycbuff), file, indent_level + 1);
+	fprintf(file, "max_rdma_atomic      : " UH_FMT "\n", ptr_struct->max_rdma_atomic);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_2srq:\n");
-	connectib_hw_r_qpc_rc_uc_2srq_print(&(ptr_struct->connected_2srq), file, indent_level + 1);
+	fprintf(file, "scatter_grh          : " UH_FMT "\n", ptr_struct->scatter_grh);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_dcr:\n");
-	connectib_hw_r_qpc_dcr_print(&(ptr_struct->connected_dcr), file, indent_level + 1);
+	fprintf(file, "packet_type          : " UH_FMT "\n", ptr_struct->packet_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_xrc:\n");
-	connectib_hw_r_qpc_xrc_print(&(ptr_struct->connected_xrc), file, indent_level + 1);
+	fprintf(file, "can_use_reserved_lkey : " UH_FMT "\n", ptr_struct->can_use_reserved_lkey);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shared_unconnected:\n");
-	connectib_hw_r_qpc_unconnected_common_print(&(ptr_struct->shared_unconnected), file, indent_level + 1);
+	fprintf(file, "use_dcr_gvmi_for_rdb : " UH_FMT "\n", ptr_struct->use_dcr_gvmi_for_rdb);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unconnected:\n");
-	connectib_hw_r_qpc_ud_l2_print(&(ptr_struct->unconnected), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unconnected_2cyclicbuff:\n");
-	connectib_hw_r_qpc_ud_l2_2cyclicbuff_print(&(ptr_struct->unconnected_2cyclicbuff), file, indent_level + 1);
+	fprintf(file, "packet_len           : " UH_FMT "\n", ptr_struct->packet_len);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unconnected_2srq:\n");
-	connectib_hw_r_qpc_ud_l2_2srq_print(&(ptr_struct->unconnected_2srq), file, indent_level + 1);
+	fprintf(file, "free_line            : " UH_FMT "\n", ptr_struct->free_line);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unconnected_cd:\n");
-	connectib_hw_r_qpc_ud_l2_cd_print(&(ptr_struct->unconnected_cd), file, indent_level + 1);
+	fprintf(file, "header_capture       : " UH_FMT "\n", ptr_struct->header_capture);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct:\n");
-	connectib_hw_dct_print(&(ptr_struct->dct), file, indent_level + 1);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
-}
-
-int connectib_hw_r_qpc_size(void){
-	 return 64;
-}
-
-void connectib_hw_r_qpc_dump(const union connectib_hw_r_qpc *ptr_struct, FILE* file) {
-	connectib_hw_r_qpc_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rdb_write_pointer    : " UH_FMT "\n", ptr_struct->rdb_write_pointer);
 
-void connectib_hw_s_qpc_pack(const union connectib_hw_s_qpc *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_hw_s_qpc_ud_l2_pack(&(ptr_struct->unconnected), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "psn                  : " UH_FMT "\n", ptr_struct->psn);
 
-void connectib_hw_s_qpc_unpack(union connectib_hw_s_qpc *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_hw_s_qpc_ud_l2_unpack(&(ptr_struct->unconnected), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "payload_offset       : " UH_FMT "\n", ptr_struct->payload_offset);
 
-void connectib_hw_s_qpc_print(const union connectib_hw_s_qpc *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_s_qpc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "pd                   : " UH_FMT "\n", ptr_struct->pd);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shared:\n");
-	connectib_hw_s_qpc_common_print(&(ptr_struct->shared), file, indent_level + 1);
+	fprintf(file, "grh_offset           : " UH_FMT "\n", ptr_struct->grh_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shared_connected:\n");
-	connectib_hw_s_qpc_connected_common_print(&(ptr_struct->shared_connected), file, indent_level + 1);
+	fprintf(file, "rkey                 : " U32H_FMT "\n", ptr_struct->rkey);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected:\n");
-	connectib_hw_s_qpc_rc_uc_dcr_print(&(ptr_struct->connected), file, indent_level + 1);
+	fprintf(file, "dma_length           : " U32H_FMT "\n", ptr_struct->dma_length);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_dci:\n");
-	connectib_hw_s_qpc_dci_print(&(ptr_struct->connected_dci), file, indent_level + 1);
+	fprintf(file, "va_63_32             : " U32H_FMT "\n", ptr_struct->va_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unconnected:\n");
-	connectib_hw_s_qpc_ud_l2_print(&(ptr_struct->unconnected), file, indent_level + 1);
+	fprintf(file, "va_31_0              : " U32H_FMT "\n", ptr_struct->va_31_0);
 
 }
 
-int connectib_hw_s_qpc_size(void){
+int connectib_rxs_rxt_desc_decoder_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_s_qpc_dump(const union connectib_hw_s_qpc *ptr_struct, FILE* file) {
-	connectib_hw_s_qpc_print(ptr_struct, file, 0);
-}
-
-void connectib_hw_c_qpc_pack(const union connectib_hw_c_qpc *ptr_struct, u_int8_t* ptr_buff)
+void connectib_rxs_rxt_desc_decoder_dump(const struct connectib_rxs_rxt_desc_decoder *ptr_struct, FILE* file)
 {
-	connectib_hw_c_qpc_unconnected_2cycbuff_pack(&(ptr_struct->unconnected_2cycbuff), ptr_buff);
+	connectib_rxs_rxt_desc_decoder_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_c_qpc_unpack(union connectib_hw_c_qpc *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_rxt_context_fetch_qp_desc_decoder_pack(const struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_hw_c_qpc_unconnected_2cycbuff_unpack(&(ptr_struct->unconnected_2cycbuff), ptr_buff);
-}
-
-void connectib_hw_c_qpc_print(const union connectib_hw_c_qpc *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_c_qpc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shared:\n");
-	connectib_hw_c_qpc_common_print(&(ptr_struct->shared), file, indent_level + 1);
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shared_connected:\n");
-	connectib_hw_c_qpc_connected_common_print(&(ptr_struct->shared_connected), file, indent_level + 1);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qpc_ts_3_3);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected:\n");
-	connectib_hw_c_qpc_connected_print(&(ptr_struct->connected), file, indent_level + 1);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_2cycbuff:\n");
-	connectib_hw_c_qpc_connected_2cycbuff_print(&(ptr_struct->connected_2cycbuff), file, indent_level + 1);
+	offset = 51;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 13, (u_int32_t)ptr_struct->srq_number_23_11);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_dual:\n");
-	connectib_hw_c_qpc_connected_dual_print(&(ptr_struct->connected_dual), file, indent_level + 1);
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shared_unconnected:\n");
-	connectib_hw_c_qpc_unconnected_common_print(&(ptr_struct->shared_unconnected), file, indent_level + 1);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->qpc_ts_2_0);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unconnected:\n");
-	connectib_hw_c_qpc_unconnected_print(&(ptr_struct->unconnected), file, indent_level + 1);
+	offset = 84;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_index);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unconnected_2cycbuff:\n");
-	connectib_hw_c_qpc_unconnected_2cycbuff_print(&(ptr_struct->unconnected_2cycbuff), file, indent_level + 1);
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_index);
 
-}
+	offset = 75;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->srq_vld);
 
-int connectib_hw_c_qpc_size(void){
-	 return 64;
-}
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->srq_number_10_0);
 
-void connectib_hw_c_qpc_dump(const union connectib_hw_c_qpc *ptr_struct, FILE* file) {
-	connectib_hw_c_qpc_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_srq_pack(const struct connectib_hw_srq *ptr_struct, u_int8_t* ptr_buff){
+void connectib_rxt_context_fetch_qp_desc_decoder_unpack(struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=208;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->e2e_consumer_index);
-
-	offset=198;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->srq_fw);
-
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_consumer_index);
-
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->e2e_producer_index);
+	offset = 31;
+	ptr_struct->qpc_ts_3_3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=264;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->xrc_domain);
+	offset = 30;
+	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=296;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 51;
+	ptr_struct->srq_number_23_11 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 13);
 
-	offset=293;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->e2e_credits_prefetch_threshold);
+	offset = 35;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=328;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cq_number);
+	offset = 32;
+	ptr_struct->qpc_ts_2_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=324;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rwqe_buffer_size);
+	offset = 84;
+	ptr_struct->pkey_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=321;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rwqe_stride);
+	offset = 76;
+	ptr_struct->my_gid_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->context_number);
+	offset = 75;
+	ptr_struct->srq_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=355;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
+	offset = 64;
+	ptr_struct->srq_number_10_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=354;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_drop);
+}
 
-	offset=353;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+void connectib_rxt_context_fetch_qp_desc_decoder_print(const struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_rxt_context_fetch_qp_desc_decoder ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tcu_trap);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qpc_ts_3_3           : " UH_FMT "\n", ptr_struct->qpc_ts_3_3);
 
-	offset=408;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->mtt_pointer_39_32);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_number          : " UH_FMT "\n", ptr_struct->port_number);
 
-	offset=402;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->wqe_page_offset);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "srq_number_23_11     : " UH_FMT "\n", ptr_struct->srq_number_23_11);
 
-	offset=401;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rx_heartbeat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->e2e_fetch_enable);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qpc_ts_2_0           : " UH_FMT "\n", ptr_struct->qpc_ts_2_0);
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rwqe_limit_event);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkey_index           : " UH_FMT "\n", ptr_struct->pkey_index);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_31_0);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "my_gid_index         : " UH_FMT "\n", ptr_struct->my_gid_index);
 
-	offset=450;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->e2e_pa_63_34);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "srq_vld              : " UH_FMT "\n", ptr_struct->srq_vld);
 
-	offset=449;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->srq_valid);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "srq_number_10_0      : " UH_FMT "\n", ptr_struct->srq_number_10_0);
 
-	offset=448;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wq_signature);
+}
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->e2e_pa_33_2);
+int connectib_rxt_context_fetch_qp_desc_decoder_size(void)
+{
+	 return 16;
+}
 
+void connectib_rxt_context_fetch_qp_desc_decoder_dump(const struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, FILE* file)
+{
+	connectib_rxt_context_fetch_qp_desc_decoder_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_srq_unpack(struct connectib_hw_srq *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_rxt_checks_steering_results_decoder_pack(const struct connectib_rxt_checks_steering_results_decoder *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=208;
-	ptr_struct->e2e_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=198;
-	ptr_struct->srq_fw = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
-
-	offset=240;
-	ptr_struct->rwqe_consumer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=224;
-	ptr_struct->e2e_producer_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=264;
-	ptr_struct->xrc_domain = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=296;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_packet_counters_trigger);
 
-	offset=293;
-	ptr_struct->e2e_credits_prefetch_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->xqpn_40_32);
 
-	offset=328;
-	ptr_struct->cq_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 54;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pport_counters_trigger_vld);
 
-	offset=324;
-	ptr_struct->rwqe_buffer_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 53;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qpn_direct_access);
 
-	offset=321;
-	ptr_struct->rwqe_stride = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vport_counters_trigger_vld);
 
-	offset=360;
-	ptr_struct->context_number = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_byte_counters_trigger);
 
-	offset=355;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_byte_counters_trigger);
 
-	offset=354;
-	ptr_struct->tcu_drop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_packet_counters_trigger);
 
-	offset=353;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->xqpn_31_0);
 
-	offset=352;
-	ptr_struct->tcu_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=408;
-	ptr_struct->mtt_pointer_39_32 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_rxt_checks_steering_results_decoder_unpack(struct connectib_rxt_checks_steering_results_decoder *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=402;
-	ptr_struct->wqe_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 28;
+	ptr_struct->vport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=401;
-	ptr_struct->rx_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 55;
+	ptr_struct->xqpn_40_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-	offset=400;
-	ptr_struct->e2e_fetch_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 54;
+	ptr_struct->pport_counters_trigger_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=384;
-	ptr_struct->rwqe_limit_event = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 53;
+	ptr_struct->qpn_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=416;
-	ptr_struct->mtt_pointer_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 52;
+	ptr_struct->vport_counters_trigger_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=450;
-	ptr_struct->e2e_pa_63_34 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+	offset = 48;
+	ptr_struct->vport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=449;
-	ptr_struct->srq_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 40;
+	ptr_struct->pport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=448;
-	ptr_struct->wq_signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->pport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=480;
-	ptr_struct->e2e_pa_33_2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	ptr_struct->xqpn_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_srq_print(const struct connectib_hw_srq *ptr_struct, FILE* file, int indent_level){
+void connectib_rxt_checks_steering_results_decoder_print(const struct connectib_rxt_checks_steering_results_decoder *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_srq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_rxt_checks_steering_results_decoder ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_consumer_index   : "UH_FMT"\n", ptr_struct->e2e_consumer_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_fw               : "UH_FMT"\n", ptr_struct->srq_fw);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_consumer_index  : "UH_FMT"\n", ptr_struct->rwqe_consumer_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_producer_index   : "UH_FMT"\n", ptr_struct->e2e_producer_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "xrc_domain           : "UH_FMT"\n", ptr_struct->xrc_domain);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_credits_prefetch_threshold : "UH_FMT"\n", ptr_struct->e2e_credits_prefetch_threshold);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_number            : "UH_FMT"\n", ptr_struct->cq_number);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_buffer_size     : "UH_FMT"\n", ptr_struct->rwqe_buffer_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_stride          : "UH_FMT"\n", ptr_struct->rwqe_stride);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "context_number       : "UH_FMT"\n", ptr_struct->context_number);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_drop             : "UH_FMT"\n", ptr_struct->tcu_drop);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcu_trap             : "UH_FMT"\n", ptr_struct->tcu_trap);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_32    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_32);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_offset      : "UH_FMT"\n", ptr_struct->wqe_page_offset);
+	fprintf(file, "vport_packet_counters_trigger : " UH_FMT "\n", ptr_struct->vport_packet_counters_trigger);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_heartbeat         : "UH_FMT"\n", ptr_struct->rx_heartbeat);
+	fprintf(file, "xqpn_40_32           : " UH_FMT "\n", ptr_struct->xqpn_40_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_fetch_enable     : "UH_FMT"\n", ptr_struct->e2e_fetch_enable);
+	fprintf(file, "pport_counters_trigger_vld : " UH_FMT "\n", ptr_struct->pport_counters_trigger_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_limit_event     : "UH_FMT"\n", ptr_struct->rwqe_limit_event);
+	fprintf(file, "qpn_direct_access    : " UH_FMT "\n", ptr_struct->qpn_direct_access);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_31_0     : "U32H_FMT"\n", ptr_struct->mtt_pointer_31_0);
+	fprintf(file, "vport_counters_trigger_vld : " UH_FMT "\n", ptr_struct->vport_counters_trigger_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_63_34         : "UH_FMT"\n", ptr_struct->e2e_pa_63_34);
+	fprintf(file, "vport_byte_counters_trigger : " UH_FMT "\n", ptr_struct->vport_byte_counters_trigger);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_valid            : "UH_FMT"\n", ptr_struct->srq_valid);
+	fprintf(file, "pport_byte_counters_trigger : " UH_FMT "\n", ptr_struct->pport_byte_counters_trigger);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wq_signature         : "UH_FMT"\n", ptr_struct->wq_signature);
+	fprintf(file, "pport_packet_counters_trigger : " UH_FMT "\n", ptr_struct->pport_packet_counters_trigger);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "e2e_pa_33_2          : "U32H_FMT"\n", ptr_struct->e2e_pa_33_2);
+	fprintf(file, "xqpn_31_0            : " U32H_FMT "\n", ptr_struct->xqpn_31_0);
 
 }
 
-int connectib_hw_srq_size(void){
-	 return 64;
+int connectib_rxt_checks_steering_results_decoder_size(void)
+{
+	 return 16;
 }
 
-void connectib_hw_srq_dump(const struct connectib_hw_srq *ptr_struct, FILE* file) {
-	connectib_hw_srq_print(ptr_struct, file, 0);
+void connectib_rxt_checks_steering_results_decoder_dump(const struct connectib_rxt_checks_steering_results_decoder *ptr_struct, FILE* file)
+{
+	connectib_rxt_checks_steering_results_decoder_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_toc_pack(const struct connectib_hw_toc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_rxt_steering_context_decoder_pack(const struct connectib_rxt_steering_context_decoder *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->eqn_offset);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->msix_offset);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->doorbell_record);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_hit_table_size);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->cmdq_phy_addr);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->take_qp_from_packet);
 
-	offset=128;
-	connectib_hw_init_info_pack(&(ptr_struct->init_info), ptr_buff + offset/8);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_byte_counters_trigger);
 
-	offset=160;
-	connectib_pf_vf_cfg_space_pack(&(ptr_struct->pci_cfg_space), ptr_buff + offset/8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_packet_counters_trigger);
 
-	offset=408;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sw_cmd_eq);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=406;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->csum);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_packet_counters_trigger);
 
-	offset=405;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ext_mod);
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_hit_entry_size);
 
-	offset=404;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->teardown_event);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first_line_of_steering_entry);
 
-	offset=403;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pre_icm_driver_refused);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_sniffer_accomulated);
 
-	offset=402;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->initializing);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qp_list_index);
 
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->flr_state);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_byte_counters_trigger);
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->issi);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->member_count);
 
-	offset=440;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hca_state);
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hit_lookup_type_hash_field_mask);
 
-	offset=438;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->nic_interface_type);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->hit_base_address_55_32);
 
-	offset=436;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->nic_interface_type_sw);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hit_lookup_type);
 
-	offset=477;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->nodnic_idx);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hit_base_address_31_0);
 
 }
 
-void connectib_hw_toc_unpack(struct connectib_hw_toc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_rxt_steering_context_decoder_unpack(struct connectib_rxt_steering_context_decoder *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->eqn_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->msix_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=32;
-	ptr_struct->doorbell_record = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 26;
+	ptr_struct->log2_hit_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=64;
-	ptr_struct->cmdq_phy_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 25;
+	ptr_struct->take_qp_from_packet = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	connectib_hw_init_info_unpack(&(ptr_struct->init_info), ptr_buff + offset/8);
+	offset = 20;
+	ptr_struct->vport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
-	connectib_pf_vf_cfg_space_unpack(&(ptr_struct->pci_cfg_space), ptr_buff + offset/8);
+	offset = 16;
+	ptr_struct->vport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=408;
-	ptr_struct->sw_cmd_eq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=406;
-	ptr_struct->csum = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 40;
+	ptr_struct->pport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=405;
-	ptr_struct->ext_mod = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 34;
+	ptr_struct->log2_hit_entry_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=404;
-	ptr_struct->teardown_event = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 33;
+	ptr_struct->first_line_of_steering_entry = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=403;
-	ptr_struct->pre_icm_driver_refused = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->sx_sniffer_accomulated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=402;
-	ptr_struct->initializing = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 72;
+	ptr_struct->qp_list_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=400;
-	ptr_struct->flr_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 64;
+	ptr_struct->pport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=384;
-	ptr_struct->issi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 104;
+	ptr_struct->member_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=440;
-	ptr_struct->hca_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 96;
+	ptr_struct->hit_lookup_type_hash_field_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=438;
-	ptr_struct->nic_interface_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 136;
+	ptr_struct->hit_base_address_55_32 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=436;
-	ptr_struct->nic_interface_type_sw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 128;
+	ptr_struct->hit_lookup_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=477;
-	ptr_struct->nodnic_idx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 160;
+	ptr_struct->hit_base_address_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_toc_print(const struct connectib_hw_toc *ptr_struct, FILE* file, int indent_level){
+void connectib_rxt_steering_context_decoder_print(const struct connectib_rxt_steering_context_decoder *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_toc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_rxt_steering_context_decoder ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eqn_offset           : "UH_FMT"\n", ptr_struct->eqn_offset);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix_offset          : "UH_FMT"\n", ptr_struct->msix_offset);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "doorbell_record      : "U32H_FMT"\n", ptr_struct->doorbell_record);
+	fprintf(file, "log2_hit_table_size  : " UH_FMT "\n", ptr_struct->log2_hit_table_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cmdq_phy_addr        : "U64H_FMT"\n", ptr_struct->cmdq_phy_addr);
+	fprintf(file, "take_qp_from_packet  : " UH_FMT "\n", ptr_struct->take_qp_from_packet);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "init_info:\n");
-	connectib_hw_init_info_print(&(ptr_struct->init_info), file, indent_level + 1);
+	fprintf(file, "vport_byte_counters_trigger : " UH_FMT "\n", ptr_struct->vport_byte_counters_trigger);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pci_cfg_space:\n");
-	connectib_pf_vf_cfg_space_print(&(ptr_struct->pci_cfg_space), file, indent_level + 1);
+	fprintf(file, "vport_packet_counters_trigger : " UH_FMT "\n", ptr_struct->vport_packet_counters_trigger);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sw_cmd_eq            : "UH_FMT"\n", ptr_struct->sw_cmd_eq);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "csum                 : "UH_FMT"\n", ptr_struct->csum);
+	fprintf(file, "pport_packet_counters_trigger : " UH_FMT "\n", ptr_struct->pport_packet_counters_trigger);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ext_mod              : "UH_FMT"\n", ptr_struct->ext_mod);
+	fprintf(file, "log2_hit_entry_size  : " UH_FMT "\n", ptr_struct->log2_hit_entry_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "teardown_event       : "UH_FMT"\n", ptr_struct->teardown_event);
+	fprintf(file, "first_line_of_steering_entry : " UH_FMT "\n", ptr_struct->first_line_of_steering_entry);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pre_icm_driver_refused : "UH_FMT"\n", ptr_struct->pre_icm_driver_refused);
+	fprintf(file, "sx_sniffer_accomulated : " UH_FMT "\n", ptr_struct->sx_sniffer_accomulated);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "initializing         : "UH_FMT"\n", ptr_struct->initializing);
+	fprintf(file, "qp_list_index        : " UH_FMT "\n", ptr_struct->qp_list_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flr_state            : "UH_FMT"\n", ptr_struct->flr_state);
+	fprintf(file, "pport_byte_counters_trigger : " UH_FMT "\n", ptr_struct->pport_byte_counters_trigger);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "issi                 : "UH_FMT"\n", ptr_struct->issi);
+	fprintf(file, "member_count         : " UH_FMT "\n", ptr_struct->member_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hca_state            : "UH_FMT"\n", ptr_struct->hca_state);
+	fprintf(file, "hit_lookup_type_hash_field_mask : " UH_FMT "\n", ptr_struct->hit_lookup_type_hash_field_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nic_interface_type   : "UH_FMT"\n", ptr_struct->nic_interface_type);
+	fprintf(file, "hit_base_address_55_32 : " UH_FMT "\n", ptr_struct->hit_base_address_55_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nic_interface_type_sw : "UH_FMT"\n", ptr_struct->nic_interface_type_sw);
+	fprintf(file, "hit_lookup_type      : " UH_FMT "\n", ptr_struct->hit_lookup_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nodnic_idx           : "UH_FMT"\n", ptr_struct->nodnic_idx);
+	fprintf(file, "hit_base_address_31_0 : " U32H_FMT "\n", ptr_struct->hit_base_address_31_0);
 
 }
 
-int connectib_hw_toc_size(void){
-	 return 64;
+int connectib_rxt_steering_context_decoder_size(void)
+{
+	 return 32;
 }
 
-void connectib_hw_toc_dump(const struct connectib_hw_toc *ptr_struct, FILE* file) {
-	connectib_hw_toc_print(ptr_struct, file, 0);
+void connectib_rxt_steering_context_decoder_dump(const struct connectib_rxt_steering_context_decoder *ptr_struct, FILE* file)
+{
+	connectib_rxt_steering_context_decoder_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_mkc_pack(const struct connectib_hw_mkc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_rxt_checks_packet_descriptor_decoder_pack(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->access_mode);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lr);
-
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lw);
-
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rr);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->a);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->umr_en);
-
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->small_fence_on_rdma_read_response);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->timestamp_version);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->goto_pci);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_loopback);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->relaxed_ordering);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->functional_loopback);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_snoop);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->inner_crc_ok);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->tlp_processing_hints);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mad_baseversion_error);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->tlp_processing_hints_en);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mad_classversion_error);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->free);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mad_send2host);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->outer_crc_ok);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->mem_key);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_error);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_sniffer);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->timestamp_vld);
 
-	offset=103;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->en_rinval);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->payload_offset);
 
-	offset=101;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->num_of_sigerr);
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw0_vld);
 
-	offset=99;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trast_a_en);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw1_vld);
 
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trast_b_en);
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw2_vld);
 
-	offset=97;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bsf_enabled);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw3_vld);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->length_64);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw3);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->start_address);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw2);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->length);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw1);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->bsf_octoword_count);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw0);
 
-	offset=305;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->bsf_first_index_46_32);
+	offset = 215;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->source_xqpn_40_32);
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 28, (u_int32_t)ptr_struct->bsf_first_index_31_4);
+	offset = 214;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dummy_packet);
 
-	offset=369;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->mtt_first_index_46_32);
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->mad_qp1_class);
 
-	offset=384;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->mtt_first_index_31_3);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->packet_end_offset);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_octoword_count);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->source_xqpn_31_0);
 
-	offset=475;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->entity_size);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->timestamp_63_32);
 
-	offset=496;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->generation_counter);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->timestamp_31_0);
 
 }
 
-void connectib_hw_mkc_unpack(struct connectib_hw_mkc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_rxt_checks_packet_descriptor_decoder_unpack(struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=22;
-	ptr_struct->access_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=21;
-	ptr_struct->lr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=20;
-	ptr_struct->lw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=19;
-	ptr_struct->rr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->a = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->umr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=15;
-	ptr_struct->small_fence_on_rdma_read_response = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	ptr_struct->timestamp_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=14;
-	ptr_struct->goto_pci = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 29;
+	ptr_struct->force_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=13;
-	ptr_struct->relaxed_ordering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	ptr_struct->functional_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=12;
-	ptr_struct->no_snoop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 27;
+	ptr_struct->inner_crc_ok = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=10;
-	ptr_struct->tlp_processing_hints = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 26;
+	ptr_struct->mad_baseversion_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=9;
-	ptr_struct->tlp_processing_hints_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 25;
+	ptr_struct->mad_classversion_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=1;
-	ptr_struct->free = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->mad_send2host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 23;
+	ptr_struct->outer_crc_ok = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=56;
-	ptr_struct->mem_key = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 22;
+	ptr_struct->port_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 21;
+	ptr_struct->sx_sniffer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=104;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 20;
+	ptr_struct->timestamp_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=103;
-	ptr_struct->en_rinval = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->payload_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=101;
-	ptr_struct->num_of_sigerr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 44;
+	ptr_struct->custom_dw0_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=99;
-	ptr_struct->trast_a_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 40;
+	ptr_struct->custom_dw1_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=98;
-	ptr_struct->trast_b_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 36;
+	ptr_struct->custom_dw2_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=97;
-	ptr_struct->bsf_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->custom_dw3_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	ptr_struct->length_64 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->custom_dw3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	ptr_struct->start_address = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 96;
+	ptr_struct->custom_dw2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
-	ptr_struct->length = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 128;
+	ptr_struct->custom_dw1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=256;
-	ptr_struct->bsf_octoword_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	ptr_struct->custom_dw0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=305;
-	ptr_struct->bsf_first_index_46_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
+	offset = 215;
+	ptr_struct->source_xqpn_40_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-	offset=320;
-	ptr_struct->bsf_first_index_31_4 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 28);
+	offset = 214;
+	ptr_struct->dummy_packet = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=369;
-	ptr_struct->mtt_first_index_46_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
+	offset = 208;
+	ptr_struct->mad_qp1_class = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=384;
-	ptr_struct->mtt_first_index_31_3 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
+	offset = 192;
+	ptr_struct->packet_end_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=416;
-	ptr_struct->mtt_octoword_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	ptr_struct->source_xqpn_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=475;
-	ptr_struct->entity_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 256;
+	ptr_struct->timestamp_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=496;
-	ptr_struct->generation_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 288;
+	ptr_struct->timestamp_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_hw_mkc_print(const struct connectib_hw_mkc *ptr_struct, FILE* file, int indent_level){
+void connectib_rxt_checks_packet_descriptor_decoder_print(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_mkc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_rxt_checks_packet_descriptor_decoder ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "access_mode          : "UH_FMT"\n", ptr_struct->access_mode);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lr                   : "UH_FMT"\n", ptr_struct->lr);
+	fprintf(file, "timestamp_version    : " UH_FMT "\n", ptr_struct->timestamp_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lw                   : "UH_FMT"\n", ptr_struct->lw);
+	fprintf(file, "force_loopback       : " UH_FMT "\n", ptr_struct->force_loopback);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rr                   : "UH_FMT"\n", ptr_struct->rr);
+	fprintf(file, "functional_loopback  : " UH_FMT "\n", ptr_struct->functional_loopback);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	fprintf(file, "inner_crc_ok         : " UH_FMT "\n", ptr_struct->inner_crc_ok);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a                    : "UH_FMT"\n", ptr_struct->a);
+	fprintf(file, "mad_baseversion_error : " UH_FMT "\n", ptr_struct->mad_baseversion_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "umr_en               : "UH_FMT"\n", ptr_struct->umr_en);
+	fprintf(file, "mad_classversion_error : " UH_FMT "\n", ptr_struct->mad_classversion_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "small_fence_on_rdma_read_response : "UH_FMT"\n", ptr_struct->small_fence_on_rdma_read_response);
+	fprintf(file, "mad_send2host        : " UH_FMT "\n", ptr_struct->mad_send2host);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "goto_pci             : "UH_FMT"\n", ptr_struct->goto_pci);
+	fprintf(file, "outer_crc_ok         : " UH_FMT "\n", ptr_struct->outer_crc_ok);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "relaxed_ordering     : "UH_FMT"\n", ptr_struct->relaxed_ordering);
+	fprintf(file, "port_error           : " UH_FMT "\n", ptr_struct->port_error);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_snoop             : "UH_FMT"\n", ptr_struct->no_snoop);
+	fprintf(file, "sx_sniffer           : " UH_FMT "\n", ptr_struct->sx_sniffer);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tlp_processing_hints : "UH_FMT"\n", ptr_struct->tlp_processing_hints);
+	fprintf(file, "timestamp_vld        : " UH_FMT "\n", ptr_struct->timestamp_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tlp_processing_hints_en : "UH_FMT"\n", ptr_struct->tlp_processing_hints_en);
+	fprintf(file, "payload_offset       : " UH_FMT "\n", ptr_struct->payload_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "free                 : "UH_FMT"\n", ptr_struct->free);
+	fprintf(file, "custom_dw0_vld       : " UH_FMT "\n", ptr_struct->custom_dw0_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "custom_dw1_vld       : " UH_FMT "\n", ptr_struct->custom_dw1_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mem_key              : "UH_FMT"\n", ptr_struct->mem_key);
+	fprintf(file, "custom_dw2_vld       : " UH_FMT "\n", ptr_struct->custom_dw2_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "custom_dw3_vld       : " UH_FMT "\n", ptr_struct->custom_dw3_vld);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "custom_dw3           : " U32H_FMT "\n", ptr_struct->custom_dw3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "en_rinval            : "UH_FMT"\n", ptr_struct->en_rinval);
+	fprintf(file, "custom_dw2           : " U32H_FMT "\n", ptr_struct->custom_dw2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_sigerr        : "UH_FMT"\n", ptr_struct->num_of_sigerr);
+	fprintf(file, "custom_dw1           : " U32H_FMT "\n", ptr_struct->custom_dw1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trast_a_en           : "UH_FMT"\n", ptr_struct->trast_a_en);
+	fprintf(file, "custom_dw0           : " U32H_FMT "\n", ptr_struct->custom_dw0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trast_b_en           : "UH_FMT"\n", ptr_struct->trast_b_en);
+	fprintf(file, "source_xqpn_40_32    : " UH_FMT "\n", ptr_struct->source_xqpn_40_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bsf_enabled          : "UH_FMT"\n", ptr_struct->bsf_enabled);
+	fprintf(file, "dummy_packet         : " UH_FMT "\n", ptr_struct->dummy_packet);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "length_64            : "UH_FMT"\n", ptr_struct->length_64);
+	fprintf(file, "mad_qp1_class        : " UH_FMT "\n", ptr_struct->mad_qp1_class);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "start_address        : "U64H_FMT"\n", ptr_struct->start_address);
+	fprintf(file, "packet_end_offset    : " UH_FMT "\n", ptr_struct->packet_end_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "length               : "U64H_FMT"\n", ptr_struct->length);
+	fprintf(file, "source_xqpn_31_0     : " U32H_FMT "\n", ptr_struct->source_xqpn_31_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bsf_octoword_count   : "U32H_FMT"\n", ptr_struct->bsf_octoword_count);
+	fprintf(file, "timestamp_63_32      : " U32H_FMT "\n", ptr_struct->timestamp_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bsf_first_index_46_32 : "UH_FMT"\n", ptr_struct->bsf_first_index_46_32);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bsf_first_index_31_4 : "UH_FMT"\n", ptr_struct->bsf_first_index_31_4);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_first_index_46_32 : "UH_FMT"\n", ptr_struct->mtt_first_index_46_32);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_first_index_31_3 : "UH_FMT"\n", ptr_struct->mtt_first_index_31_3);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_octoword_count   : "U32H_FMT"\n", ptr_struct->mtt_octoword_count);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "entity_size          : "UH_FMT"\n", ptr_struct->entity_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "generation_counter   : "UH_FMT"\n", ptr_struct->generation_counter);
+	fprintf(file, "timestamp_31_0       : " U32H_FMT "\n", ptr_struct->timestamp_31_0);
 
 }
 
-int connectib_hw_mkc_size(void){
+int connectib_rxt_checks_packet_descriptor_decoder_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_mkc_dump(const struct connectib_hw_mkc *ptr_struct, FILE* file) {
-	connectib_hw_mkc_print(ptr_struct, file, 0);
+void connectib_rxt_checks_packet_descriptor_decoder_dump(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, FILE* file)
+{
+	connectib_rxt_checks_packet_descriptor_decoder_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_cqc_pack(const struct connectib_hw_cqc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ctx_as_dwords_pack(const struct connectib_ctx_as_dwords *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lookahead_size_23_8);
-
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cqc_valid);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cqe_128b_size);
-
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cqe_coalesce_checksum_msix);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pa_error);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_page_size);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->poll_cq_cqe_with_error_generated_on_this_queue);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->poll_cq_queue_in_error_state);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last_notified_check_for_arm_en);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->last_solicited_index);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lookahead_size_7_0);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pa0_63_32);
-
-	offset=122;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->cq_page_offset);
-
-	offset=121;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->db_recovery_enable);
-
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cqe_heartbeat);
-
-	offset=118;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pa_mode);
-
-	offset=117;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->shrink);
-
-	offset=116;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cq_trap);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->pa0_31_12);
-
-	offset=152;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->moderation_cnt_limit_15_8);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->last_notified_index);
-
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->producer_index);
-
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->moderation_cnt_limit_7_0);
-
-	offset=204;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->eqn_msix);
-
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->moderation_min_wait_time);
-
-	offset=232;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->db_ci);
-
-	offset=227;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log2_size);
-
-	offset=226;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->db_heartbeat);
-
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->number_of_events_generated);
-
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->cipa_63_32);
-
-	offset=317;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mtt_pointer_39_37);
-
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->cipa_31_3);
-
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mtt_pointer_36_5);
-
-	offset=360;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->consumer_index);
-
-	offset=358;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->cq_state);
-
-	offset=357;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->overrun_ignore);
-
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->mtt_pointer_4_0);
-
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pa1_63_32);
-
-	offset=436;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->moderation_timestamp_51_40);
-
-	offset=416;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->pa1_31_12);
-
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->moderation_timestamp_39_8);
-
-	offset=488;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->uar);
-
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->moderation_timestamp_7_0);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dwords[i]);
+	}
 
 }
 
-void connectib_hw_cqc_unpack(struct connectib_hw_cqc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ctx_as_dwords_unpack(struct connectib_ctx_as_dwords *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->lookahead_size_23_8 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=15;
-	ptr_struct->cqc_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=14;
-	ptr_struct->cqe_128b_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=13;
-	ptr_struct->cqe_coalesce_checksum_msix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=8;
-	ptr_struct->pa_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=3;
-	ptr_struct->log_page_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=2;
-	ptr_struct->poll_cq_cqe_with_error_generated_on_this_queue = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->poll_cq_queue_in_error_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->last_notified_check_for_arm_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=40;
-	ptr_struct->last_solicited_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=32;
-	ptr_struct->lookahead_size_7_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=64;
-	ptr_struct->pa0_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=122;
-	ptr_struct->cq_page_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=121;
-	ptr_struct->db_recovery_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=120;
-	ptr_struct->cqe_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=118;
-	ptr_struct->pa_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=117;
-	ptr_struct->shrink = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=116;
-	ptr_struct->cq_trap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=96;
-	ptr_struct->pa0_31_12 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
-
-	offset=152;
-	ptr_struct->moderation_cnt_limit_15_8 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=128;
-	ptr_struct->last_notified_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=168;
-	ptr_struct->producer_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=160;
-	ptr_struct->moderation_cnt_limit_7_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=204;
-	ptr_struct->eqn_msix = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
-
-	offset=192;
-	ptr_struct->moderation_min_wait_time = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
-
-	offset=232;
-	ptr_struct->db_ci = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=227;
-	ptr_struct->log2_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=226;
-	ptr_struct->db_heartbeat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=224;
-	ptr_struct->number_of_events_generated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=256;
-	ptr_struct->cipa_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=317;
-	ptr_struct->mtt_pointer_39_37 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=288;
-	ptr_struct->cipa_31_3 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
-
-	offset=320;
-	ptr_struct->mtt_pointer_36_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=360;
-	ptr_struct->consumer_index = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=358;
-	ptr_struct->cq_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=357;
-	ptr_struct->overrun_ignore = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	ptr_struct->dwords[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=352;
-	ptr_struct->mtt_pointer_4_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+}
 
-	offset=384;
-	ptr_struct->pa1_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_ctx_as_dwords_print(const struct connectib_ctx_as_dwords *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_ctx_as_dwords ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=436;
-	ptr_struct->moderation_timestamp_51_40 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	for (i = 0; i < 16; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dwords_%03d          : " U32H_FMT "\n", i, ptr_struct->dwords[i]);
+	}
 
-	offset=416;
-	ptr_struct->pa1_31_12 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+}
 
-	offset=448;
-	ptr_struct->moderation_timestamp_39_8 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+int connectib_ctx_as_dwords_size(void)
+{
+	 return 64;
+}
 
-	offset=488;
-	ptr_struct->uar = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+void connectib_ctx_as_dwords_dump(const struct connectib_ctx_as_dwords *ptr_struct, FILE* file)
+{
+	connectib_ctx_as_dwords_print(ptr_struct, file, 0);
+}
 
-	offset=480;
-	ptr_struct->moderation_timestamp_7_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_fw_resource_context_pack(const union connectib_fw_resource_context *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_scheduling_context_pack(&(ptr_struct->sched_element_ctx), ptr_buff);
+}
 
+void connectib_fw_resource_context_unpack(union connectib_fw_resource_context *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_scheduling_context_unpack(&(ptr_struct->sched_element_ctx), ptr_buff);
 }
 
-void connectib_hw_cqc_print(const struct connectib_hw_cqc *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_resource_context_print(const union connectib_fw_resource_context *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_cqc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_resource_context ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lookahead_size_23_8  : "UH_FMT"\n", ptr_struct->lookahead_size_23_8);
+	fprintf(file, "fw_eqc:\n");
+	connectib_fw_eqc_print(&(ptr_struct->fw_eqc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_alt_path:\n");
+	connectib_fw_alt_path_print(&(ptr_struct->fw_alt_path), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_basic:\n");
+	connectib_fw_basic_res_ctx_print(&(ptr_struct->fw_basic), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_cre:\n");
+	connectib_fw_cre_print(&(ptr_struct->fw_cre), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cqc_valid            : "UH_FMT"\n", ptr_struct->cqc_valid);
+	fprintf(file, "fw_mkc:\n");
+	connectib_fw_mkc_print(&(ptr_struct->fw_mkc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cqe_128b_size        : "UH_FMT"\n", ptr_struct->cqe_128b_size);
+	fprintf(file, "fw_psv:\n");
+	connectib_fw_psv_print(&(ptr_struct->fw_psv), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cqe_coalesce_checksum_msix : "UH_FMT"\n", ptr_struct->cqe_coalesce_checksum_msix);
+	fprintf(file, "fw_cqc:\n");
+	connectib_fw_cqc_print(&(ptr_struct->fw_cqc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pa_error             : "UH_FMT"\n", ptr_struct->pa_error);
+	fprintf(file, "fw_rqt:\n");
+	connectib_fw_rqt_print(&(ptr_struct->fw_rqt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_page_size        : "UH_FMT"\n", ptr_struct->log_page_size);
+	fprintf(file, "list_element:\n");
+	connectib_list_element_print(&(ptr_struct->list_element), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "poll_cq_cqe_with_error_generated_on_this_queue : "UH_FMT"\n", ptr_struct->poll_cq_cqe_with_error_generated_on_this_queue);
+	fprintf(file, "dmfs_resources:\n");
+	connectib_dmfs_resources_print(&(ptr_struct->dmfs_resources), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "poll_cq_queue_in_error_state : "UH_FMT"\n", ptr_struct->poll_cq_queue_in_error_state);
+	fprintf(file, "dc_control_packet_desc:\n");
+	connectib_dc_control_packet_desc_print(&(ptr_struct->dc_control_packet_desc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_notified_check_for_arm_en : "UH_FMT"\n", ptr_struct->last_notified_check_for_arm_en);
+	fprintf(file, "vqos_arb_ctx:\n");
+	connectib_vqos_arb_ctx_print(&(ptr_struct->vqos_arb_ctx), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_solicited_index : "UH_FMT"\n", ptr_struct->last_solicited_index);
+	fprintf(file, "fw_transport_domain:\n");
+	connectib_fw_transport_domain_print(&(ptr_struct->fw_transport_domain), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lookahead_size_7_0   : "UH_FMT"\n", ptr_struct->lookahead_size_7_0);
+	fprintf(file, "fw_q_counters:\n");
+	connectib_fw_q_counters_print(&(ptr_struct->fw_q_counters), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pa0_63_32            : "U32H_FMT"\n", ptr_struct->pa0_63_32);
+	fprintf(file, "fw_ipoib_meta:\n");
+	connectib_fw_ipoib_meta_print(&(ptr_struct->fw_ipoib_meta), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_page_offset       : "UH_FMT"\n", ptr_struct->cq_page_offset);
+	fprintf(file, "sched_element_ctx:\n");
+	connectib_scheduling_context_print(&(ptr_struct->sched_element_ctx), file, indent_level + 1);
+
+}
+
+int connectib_fw_resource_context_size(void)
+{
+	 return 64;
+}
+
+void connectib_fw_resource_context_dump(const union connectib_fw_resource_context *ptr_struct, FILE* file)
+{
+	connectib_fw_resource_context_print(ptr_struct, file, 0);
+}
+
+void connectib_hw_hca_contexts_pack(const union connectib_hw_hca_contexts *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_hw_qp_counter_pack(&(ptr_struct->qp_counter), ptr_buff);
+}
+
+void connectib_hw_hca_contexts_unpack(union connectib_hw_hca_contexts *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_hw_qp_counter_unpack(&(ptr_struct->qp_counter), ptr_buff);
+}
 
+void connectib_hw_hca_contexts_print(const union connectib_hw_hca_contexts *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "db_recovery_enable   : "UH_FMT"\n", ptr_struct->db_recovery_enable);
+	fprintf(file, "======== connectib_hw_hca_contexts ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cqe_heartbeat        : "UH_FMT"\n", ptr_struct->cqe_heartbeat);
+	fprintf(file, "hw_c_cqc:\n");
+	connectib_hw_c_cqc_print(&(ptr_struct->hw_c_cqc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pa_mode              : "UH_FMT"\n", ptr_struct->pa_mode);
+	fprintf(file, "hw_c_eqc:\n");
+	connectib_hw_c_eqc_print(&(ptr_struct->hw_c_eqc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shrink               : "UH_FMT"\n", ptr_struct->shrink);
+	fprintf(file, "mkc:\n");
+	connectib_hw_mkc_print(&(ptr_struct->mkc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_trap              : "UH_FMT"\n", ptr_struct->cq_trap);
+	fprintf(file, "toc:\n");
+	connectib_hw_toc_print(&(ptr_struct->toc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pa0_31_12            : "UH_FMT"\n", ptr_struct->pa0_31_12);
+	fprintf(file, "hw_c_srq:\n");
+	connectib_hw_c_srq_print(&(ptr_struct->hw_c_srq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "moderation_cnt_limit_15_8 : "UH_FMT"\n", ptr_struct->moderation_cnt_limit_15_8);
+	fprintf(file, "dct:\n");
+	connectib_hw_dct_print(&(ptr_struct->dct), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_notified_index  : "UH_FMT"\n", ptr_struct->last_notified_index);
+	fprintf(file, "c_qpc:\n");
+	connectib_hw_c_qpc_print(&(ptr_struct->c_qpc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "producer_index       : "UH_FMT"\n", ptr_struct->producer_index);
+	fprintf(file, "s_qpc:\n");
+	connectib_hw_s_qpc_print(&(ptr_struct->s_qpc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "moderation_cnt_limit_7_0 : "UH_FMT"\n", ptr_struct->moderation_cnt_limit_7_0);
+	fprintf(file, "r_qpc:\n");
+	connectib_hw_qpc_r_dct_print(&(ptr_struct->r_qpc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eqn_msix             : "UH_FMT"\n", ptr_struct->eqn_msix);
+	fprintf(file, "port_info:\n");
+	connectib_hw_port_info_print(&(ptr_struct->port_info), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "moderation_min_wait_time : "UH_FMT"\n", ptr_struct->moderation_min_wait_time);
+	fprintf(file, "bsf_entry:\n");
+	connectib_hw_bsf_entry_print(&(ptr_struct->bsf_entry), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "db_ci                : "UH_FMT"\n", ptr_struct->db_ci);
+	fprintf(file, "base_psv:\n");
+	connectib_hw_base_psv_print(&(ptr_struct->base_psv), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_size            : "UH_FMT"\n", ptr_struct->log2_size);
+	fprintf(file, "trastb:\n");
+	connectib_hw_trastb_print(&(ptr_struct->trastb), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "db_heartbeat         : "UH_FMT"\n", ptr_struct->db_heartbeat);
+	fprintf(file, "trasta:\n");
+	connectib_hw_trasta_print(&(ptr_struct->trasta), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "number_of_events_generated : "UH_FMT"\n", ptr_struct->number_of_events_generated);
+	fprintf(file, "sq_pointers:\n");
+	connectib_hw_sq_pointers_print(&(ptr_struct->sq_pointers), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cipa_63_32           : "U32H_FMT"\n", ptr_struct->cipa_63_32);
+	fprintf(file, "gvmi_tokens:\n");
+	connectib_hw_gvmi_tokens_print(&(ptr_struct->gvmi_tokens), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_39_37    : "UH_FMT"\n", ptr_struct->mtt_pointer_39_37);
+	fprintf(file, "sq_tokens:\n");
+	connectib_hw_sq_tokens_print(&(ptr_struct->sq_tokens), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cipa_31_3            : "UH_FMT"\n", ptr_struct->cipa_31_3);
+	fprintf(file, "klm_entry:\n");
+	connectib_hw_klm_entry_print(&(ptr_struct->klm_entry), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_36_5     : "U32H_FMT"\n", ptr_struct->mtt_pointer_36_5);
+	fprintf(file, "sxdc:\n");
+	connectib_hw_sxdc_print(&(ptr_struct->sxdc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "consumer_index       : "UH_FMT"\n", ptr_struct->consumer_index);
+	fprintf(file, "pipa:\n");
+	connectib_hw_pipa_print(&(ptr_struct->pipa), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_state             : "UH_FMT"\n", ptr_struct->cq_state);
+	fprintf(file, "sq_qp_list:\n");
+	connectib_hw_sq_qp_list_print(&(ptr_struct->sq_qp_list), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "overrun_ignore       : "UH_FMT"\n", ptr_struct->overrun_ignore);
+	fprintf(file, "timer:\n");
+	connectib_hw_timer_32_print(&(ptr_struct->timer), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt_pointer_4_0      : "UH_FMT"\n", ptr_struct->mtt_pointer_4_0);
+	fprintf(file, "pkey:\n");
+	connectib_hw_pkey_print(&(ptr_struct->pkey), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pa1_63_32            : "U32H_FMT"\n", ptr_struct->pa1_63_32);
+	fprintf(file, "hw_ste:\n");
+	connectib_hw_ste_print(&(ptr_struct->hw_ste), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "moderation_timestamp_51_40 : "UH_FMT"\n", ptr_struct->moderation_timestamp_51_40);
+	fprintf(file, "steering_entry_icmc:\n");
+	connectib_steering_entry_icmc_print(&(ptr_struct->steering_entry_icmc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pa1_31_12            : "UH_FMT"\n", ptr_struct->pa1_31_12);
+	fprintf(file, "mtt:\n");
+	connectib_icm_mtt_print(&(ptr_struct->mtt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "moderation_timestamp_39_8 : "U32H_FMT"\n", ptr_struct->moderation_timestamp_39_8);
+	fprintf(file, "rdb:\n");
+	connectib_hw_rdb_print(&(ptr_struct->rdb), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uar                  : "UH_FMT"\n", ptr_struct->uar);
+	fprintf(file, "msix:\n");
+	connectib_hw_msix_print(&(ptr_struct->msix), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "moderation_timestamp_7_0 : "UH_FMT"\n", ptr_struct->moderation_timestamp_7_0);
+	fprintf(file, "qp_counter:\n");
+	connectib_hw_qp_counter_print(&(ptr_struct->qp_counter), file, indent_level + 1);
 
 }
 
-int connectib_hw_cqc_size(void){
+int connectib_hw_hca_contexts_size(void)
+{
 	 return 64;
 }
 
-void connectib_hw_cqc_dump(const struct connectib_hw_cqc *ptr_struct, FILE* file) {
-	connectib_hw_cqc_print(ptr_struct, file, 0);
+void connectib_hw_hca_contexts_dump(const union connectib_hw_hca_contexts *ptr_struct, FILE* file)
+{
+	connectib_hw_hca_contexts_print(ptr_struct, file, 0);
 }
 
-void connectib_ffe_tap_set_pack(const struct connectib_ffe_tap_set *ptr_struct, u_int8_t* ptr_buff){
+void connectib_field_boundary_pack(const struct connectib_field_boundary *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap0);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap1);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap2);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap3);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ffe_tap4);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->field_boundary);
 
 }
 
-void connectib_ffe_tap_set_unpack(struct connectib_ffe_tap_set *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_field_boundary_unpack(struct connectib_field_boundary *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->ffe_tap0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->ffe_tap1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->ffe_tap2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	ptr_struct->ffe_tap3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=56;
-	ptr_struct->ffe_tap4 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->field_boundary = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_ffe_tap_set_print(const struct connectib_ffe_tap_set *ptr_struct, FILE* file, int indent_level){
+void connectib_field_boundary_print(const struct connectib_field_boundary *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ffe_tap_set ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_field_boundary ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap0             : "UH_FMT"\n", ptr_struct->ffe_tap0);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap1             : "UH_FMT"\n", ptr_struct->ffe_tap1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap2             : "UH_FMT"\n", ptr_struct->ffe_tap2);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap3             : "UH_FMT"\n", ptr_struct->ffe_tap3);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap4             : "UH_FMT"\n", ptr_struct->ffe_tap4);
+	fprintf(file, "field_boundary       : " U32H_FMT "\n", ptr_struct->field_boundary);
 
 }
 
-int connectib_ffe_tap_set_size(void){
-	 return 8;
+int connectib_field_boundary_size(void)
+{
+	 return 4;
 }
 
-void connectib_ffe_tap_set_dump(const struct connectib_ffe_tap_set *ptr_struct, FILE* file) {
-	connectib_ffe_tap_set_print(ptr_struct, file, 0);
+void connectib_field_boundary_dump(const struct connectib_field_boundary *ptr_struct, FILE* file)
+{
+	connectib_field_boundary_print(ptr_struct, file, 0);
 }
 
-void connectib_GEN3_TRANSMITTER_SETTING_pack(const struct connectib_GEN3_TRANSMITTER_SETTING *ptr_struct, u_int8_t* ptr_buff){
+void connectib_add_data_pack(const struct connectib_add_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->post);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->add_data);
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reject_coeff);
+}
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->parity);
+void connectib_add_data_unpack(struct connectib_add_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->main);
+	offset = 0;
+	ptr_struct->add_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->pre);
+}
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ec);
+void connectib_add_data_print(const struct connectib_add_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_add_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reset_eieos);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "add_data             : " U32H_FMT "\n", ptr_struct->add_data);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->preset);
+}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_preset);
+int connectib_add_data_size(void)
+{
+	 return 4;
+}
 
+void connectib_add_data_dump(const struct connectib_add_data *ptr_struct, FILE* file)
+{
+	connectib_add_data_print(ptr_struct, file, 0);
 }
 
-void connectib_GEN3_TRANSMITTER_SETTING_unpack(struct connectib_GEN3_TRANSMITTER_SETTING *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_compare_mask_data_pack(const struct connectib_compare_mask_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=25;
-	ptr_struct->reject_coeff = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=24;
-	ptr_struct->parity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=10;
-	ptr_struct->pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=6;
-	ptr_struct->ec = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->compare_mask_data);
 
-	offset=5;
-	ptr_struct->reset_eieos = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=1;
-	ptr_struct->preset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_compare_mask_data_unpack(struct connectib_compare_mask_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->use_preset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->compare_mask_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_GEN3_TRANSMITTER_SETTING_print(const struct connectib_GEN3_TRANSMITTER_SETTING *ptr_struct, FILE* file, int indent_level){
+void connectib_compare_mask_data_print(const struct connectib_compare_mask_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_GEN3_TRANSMITTER_SETTING ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_compare_mask_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "post                 : "UH_FMT"\n", ptr_struct->post);
+	fprintf(file, "compare_mask_data    : " U32H_FMT "\n", ptr_struct->compare_mask_data);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reject_coeff         : "UH_FMT"\n", ptr_struct->reject_coeff);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parity               : "UH_FMT"\n", ptr_struct->parity);
+int connectib_compare_mask_data_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "main                 : "UH_FMT"\n", ptr_struct->main);
+void connectib_compare_mask_data_dump(const struct connectib_compare_mask_data *ptr_struct, FILE* file)
+{
+	connectib_compare_mask_data_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pre                  : "UH_FMT"\n", ptr_struct->pre);
+void connectib_swap_mask_data_pack(const struct connectib_swap_mask_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ec                   : "UH_FMT"\n", ptr_struct->ec);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swap_mask_data);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_eieos          : "UH_FMT"\n", ptr_struct->reset_eieos);
+}
+
+void connectib_swap_mask_data_unpack(struct connectib_swap_mask_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->swap_mask_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
+}
+
+void connectib_swap_mask_data_print(const struct connectib_swap_mask_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "preset               : "UH_FMT"\n", ptr_struct->preset);
+	fprintf(file, "======== connectib_swap_mask_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "use_preset           : "UH_FMT"\n", ptr_struct->use_preset);
+	fprintf(file, "swap_mask_data       : " U32H_FMT "\n", ptr_struct->swap_mask_data);
 
 }
 
-int connectib_GEN3_TRANSMITTER_SETTING_size(void){
+int connectib_swap_mask_data_size(void)
+{
 	 return 4;
 }
 
-void connectib_GEN3_TRANSMITTER_SETTING_dump(const struct connectib_GEN3_TRANSMITTER_SETTING *ptr_struct, FILE* file) {
-	connectib_GEN3_TRANSMITTER_SETTING_print(ptr_struct, file, 0);
+void connectib_swap_mask_data_dump(const struct connectib_swap_mask_data *ptr_struct, FILE* file)
+{
+	connectib_swap_mask_data_print(ptr_struct, file, 0);
 }
 
-void connectib_gpio_config_pack(const struct connectib_gpio_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_compare_data_pack(const struct connectib_compare_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mode0);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mode1);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->def_val);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pull_up);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pull_en);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->masked);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->compare_data);
 
 }
 
-void connectib_gpio_config_unpack(struct connectib_gpio_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_compare_data_unpack(struct connectib_compare_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=7;
-	ptr_struct->mode0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->mode1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=5;
-	ptr_struct->def_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=4;
-	ptr_struct->pull_up = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=3;
-	ptr_struct->pull_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->masked = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->compare_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_gpio_config_print(const struct connectib_gpio_config *ptr_struct, FILE* file, int indent_level){
+void connectib_compare_data_print(const struct connectib_compare_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_gpio_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_compare_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mode0                : "UH_FMT"\n", ptr_struct->mode0);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mode1                : "UH_FMT"\n", ptr_struct->mode1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "def_val              : "UH_FMT"\n", ptr_struct->def_val);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pull_up              : "UH_FMT"\n", ptr_struct->pull_up);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pull_en              : "UH_FMT"\n", ptr_struct->pull_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "masked               : "UH_FMT"\n", ptr_struct->masked);
+	fprintf(file, "compare_data         : " U32H_FMT "\n", ptr_struct->compare_data);
 
 }
 
-int connectib_gpio_config_size(void){
-	 return 1;
+int connectib_compare_data_size(void)
+{
+	 return 4;
 }
 
-void connectib_gpio_config_dump(const struct connectib_gpio_config *ptr_struct, FILE* file) {
-	connectib_gpio_config_print(ptr_struct, file, 0);
+void connectib_compare_data_dump(const struct connectib_compare_data *ptr_struct, FILE* file)
+{
+	connectib_compare_data_print(ptr_struct, file, 0);
 }
 
-void connectib_gpio_function_pack(const struct connectib_gpio_function *ptr_struct, u_int8_t* ptr_buff){
+void connectib_swap_data_pack(const struct connectib_swap_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->mapping);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reverse_polarity);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->masked);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swap_data);
 
 }
 
-void connectib_gpio_function_unpack(struct connectib_gpio_function *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_swap_data_unpack(struct connectib_swap_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=2;
-	ptr_struct->mapping = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=1;
-	ptr_struct->reverse_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->masked = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->swap_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_gpio_function_print(const struct connectib_gpio_function *ptr_struct, FILE* file, int indent_level){
+void connectib_swap_data_print(const struct connectib_swap_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_gpio_function ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_swap_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mapping              : "UH_FMT"\n", ptr_struct->mapping);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reverse_polarity     : "UH_FMT"\n", ptr_struct->reverse_polarity);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "masked               : "UH_FMT"\n", ptr_struct->masked);
+	fprintf(file, "swap_data            : " U32H_FMT "\n", ptr_struct->swap_data);
 
 }
 
-int connectib_gpio_function_size(void){
-	 return 1;
+int connectib_swap_data_size(void)
+{
+	 return 4;
 }
 
-void connectib_gpio_function_dump(const struct connectib_gpio_function *ptr_struct, FILE* file) {
-	connectib_gpio_function_print(ptr_struct, file, 0);
+void connectib_swap_data_dump(const struct connectib_swap_data *ptr_struct, FILE* file)
+{
+	connectib_swap_data_print(ptr_struct, file, 0);
 }
 
-void connectib_mlpn_enhanced_database_ini_pack(const struct connectib_mlpn_enhanced_database_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_component_authentication_configuration_pack(const struct connectib_component_authentication_configuration *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_mlnx_enhanced_equal_info_ini_pack(&(ptr_struct->as_bits), ptr_buff + offset/8);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->auth_type);
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frc_en);
+
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlnx_nvconfig_en);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vendor_nvconfig_en);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cs_token_en);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_en);
 
 }
 
-void connectib_mlpn_enhanced_database_ini_unpack(struct connectib_mlpn_enhanced_database_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_component_authentication_configuration_unpack(struct connectib_component_authentication_configuration *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_mlnx_enhanced_equal_info_ini_unpack(&(ptr_struct->as_bits), ptr_buff + offset/8);
+	offset = 24;
+	ptr_struct->auth_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 4;
+	ptr_struct->frc_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 3;
+	ptr_struct->mlnx_nvconfig_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 2;
+	ptr_struct->vendor_nvconfig_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1;
+	ptr_struct->cs_token_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->fw_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_mlpn_enhanced_database_ini_print(const struct connectib_mlpn_enhanced_database_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_component_authentication_configuration_print(const struct connectib_component_authentication_configuration *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mlpn_enhanced_database_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_component_authentication_configuration ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "as_bits:\n");
-	connectib_mlnx_enhanced_equal_info_ini_print(&(ptr_struct->as_bits), file, indent_level + 1);
+	fprintf(file, "auth_type            : " UH_FMT "\n", ptr_struct->auth_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "frc_en               : " UH_FMT "\n", ptr_struct->frc_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mlnx_nvconfig_en     : " UH_FMT "\n", ptr_struct->mlnx_nvconfig_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vendor_nvconfig_en   : " UH_FMT "\n", ptr_struct->vendor_nvconfig_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cs_token_en          : " UH_FMT "\n", ptr_struct->cs_token_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_en                : " UH_FMT "\n", ptr_struct->fw_en);
 
 }
 
-int connectib_mlpn_enhanced_database_ini_size(void){
+int connectib_component_authentication_configuration_size(void)
+{
 	 return 4;
 }
 
-void connectib_mlpn_enhanced_database_ini_dump(const struct connectib_mlpn_enhanced_database_ini *ptr_struct, FILE* file) {
-	connectib_mlpn_enhanced_database_ini_print(ptr_struct, file, 0);
+void connectib_component_authentication_configuration_dump(const struct connectib_component_authentication_configuration *ptr_struct, FILE* file)
+{
+	connectib_component_authentication_configuration_print(ptr_struct, file, 0);
 }
 
-void connectib_mlpn_database_all_protocol_ini_pack(const struct connectib_mlpn_database_all_protocol_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_data_pointer_pack(const struct connectib_nv_data_pointer *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_mlpn_database_all_protocol_bits_ini_pack(&(ptr_struct->as_bits), ptr_buff + offset/8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->offset_in_64_bytes);
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->size_in_64_bytes);
 
 }
 
-void connectib_mlpn_database_all_protocol_ini_unpack(struct connectib_mlpn_database_all_protocol_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_data_pointer_unpack(struct connectib_nv_data_pointer *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_mlpn_database_all_protocol_bits_ini_unpack(&(ptr_struct->as_bits), ptr_buff + offset/8);
+	offset = 16;
+	ptr_struct->offset_in_64_bytes = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 6;
+	ptr_struct->size_in_64_bytes = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
 }
 
-void connectib_mlpn_database_all_protocol_ini_print(const struct connectib_mlpn_database_all_protocol_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_data_pointer_print(const struct connectib_nv_data_pointer *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mlpn_database_all_protocol_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_data_pointer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "as_bits:\n");
-	connectib_mlpn_database_all_protocol_bits_ini_print(&(ptr_struct->as_bits), file, indent_level + 1);
+	fprintf(file, "offset_in_64_bytes   : " UH_FMT "\n", ptr_struct->offset_in_64_bytes);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size_in_64_bytes     : " UH_FMT "\n", ptr_struct->size_in_64_bytes);
 
 }
 
-int connectib_mlpn_database_all_protocol_ini_size(void){
+int connectib_nv_data_pointer_size(void)
+{
 	 return 4;
 }
 
-void connectib_mlpn_database_all_protocol_ini_dump(const struct connectib_mlpn_database_all_protocol_ini *ptr_struct, FILE* file) {
-	connectib_mlpn_database_all_protocol_ini_print(ptr_struct, file, 0);
+void connectib_nv_data_pointer_dump(const struct connectib_nv_data_pointer *ptr_struct, FILE* file)
+{
+	connectib_nv_data_pointer_print(ptr_struct, file, 0);
 }
 
-void connectib_tx_rx_logic_serdes_mapping_node_ini_pack(const struct connectib_tx_rx_logic_serdes_mapping_node_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_jump_addresses_pack(const struct connectib_jump_addresses *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->logic_to_serdes[i]);
-	}
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->plastic);
 
 }
 
-void connectib_tx_rx_logic_serdes_mapping_node_ini_unpack(struct connectib_tx_rx_logic_serdes_mapping_node_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_jump_addresses_unpack(struct connectib_jump_addresses *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	ptr_struct->logic_to_serdes[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 8;
+	ptr_struct->plastic = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
 }
 
-void connectib_tx_rx_logic_serdes_mapping_node_ini_print(const struct connectib_tx_rx_logic_serdes_mapping_node_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_jump_addresses_print(const struct connectib_jump_addresses *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_tx_rx_logic_serdes_mapping_node_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_jump_addresses ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "logic_to_serdes_%03d : "U32H_FMT"\n", i, ptr_struct->logic_to_serdes[i]);
-	}
+	fprintf(file, "plastic              : " UH_FMT "\n", ptr_struct->plastic);
 
 }
 
-int connectib_tx_rx_logic_serdes_mapping_node_ini_size(void){
-	 return 32;
+int connectib_jump_addresses_size(void)
+{
+	 return 28;
 }
 
-void connectib_tx_rx_logic_serdes_mapping_node_ini_dump(const struct connectib_tx_rx_logic_serdes_mapping_node_ini *ptr_struct, FILE* file) {
-	connectib_tx_rx_logic_serdes_mapping_node_ini_print(ptr_struct, file, 0);
+void connectib_jump_addresses_dump(const struct connectib_jump_addresses *ptr_struct, FILE* file)
+{
+	connectib_jump_addresses_print(ptr_struct, file, 0);
 }
 
-void connectib_serdes_conf_ini_pack(const struct connectib_serdes_conf_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_rx_adaptation_cfg_pack(const struct connectib_pcie_rx_adaptation_cfg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_autoneg_sets_ini_pack(&(ptr_struct->nego), ptr_buff + offset/8);
-
-	offset=3072;
-	connectib_serdes_aba_sets_ini_pack(&(ptr_struct->aba), ptr_buff + offset/8);
-
-	offset=6144;
-	connectib_serdes_force_sets_ini_pack(&(ptr_struct->force), ptr_buff + offset/8);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->actual_ffe_tap_config_num);
 
-	offset=7104;
-	connectib_serdes_active_sets_ini_pack(&(ptr_struct->active), ptr_buff + offset/8);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ffe_tap_value_lifting_en);
 
-	offset=7488;
-	connectib_serdes_preset_sets_ini_pack(&(ptr_struct->preset_tx_fdr), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->redo_calibration);
 
-	offset=8000;
-	connectib_serdes_preset_sets_ini_pack(&(ptr_struct->preset_tx_qdr), ptr_buff + offset/8);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(32, 64, i, 544, 1);
+	connectib_ffe_tap_set_pack(&(ptr_struct->ffe_tap_config[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_serdes_conf_ini_unpack(struct connectib_serdes_conf_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_rx_adaptation_cfg_unpack(struct connectib_pcie_rx_adaptation_cfg *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_autoneg_sets_ini_unpack(&(ptr_struct->nego), ptr_buff + offset/8);
-
-	offset=3072;
-	connectib_serdes_aba_sets_ini_unpack(&(ptr_struct->aba), ptr_buff + offset/8);
-
-	offset=6144;
-	connectib_serdes_force_sets_ini_unpack(&(ptr_struct->force), ptr_buff + offset/8);
+	offset = 28;
+	ptr_struct->actual_ffe_tap_config_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=7104;
-	connectib_serdes_active_sets_ini_unpack(&(ptr_struct->active), ptr_buff + offset/8);
+	offset = 27;
+	ptr_struct->ffe_tap_value_lifting_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=7488;
-	connectib_serdes_preset_sets_ini_unpack(&(ptr_struct->preset_tx_fdr), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->redo_calibration = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=8000;
-	connectib_serdes_preset_sets_ini_unpack(&(ptr_struct->preset_tx_qdr), ptr_buff + offset/8);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(32, 64, i, 544, 1);
+	connectib_ffe_tap_set_unpack(&(ptr_struct->ffe_tap_config[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_serdes_conf_ini_print(const struct connectib_serdes_conf_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_rx_adaptation_cfg_print(const struct connectib_pcie_rx_adaptation_cfg *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_serdes_conf_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_rx_adaptation_cfg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nego:\n");
-	connectib_serdes_autoneg_sets_ini_print(&(ptr_struct->nego), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aba:\n");
-	connectib_serdes_aba_sets_ini_print(&(ptr_struct->aba), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force:\n");
-	connectib_serdes_force_sets_ini_print(&(ptr_struct->force), file, indent_level + 1);
+	fprintf(file, "actual_ffe_tap_config_num : " UH_FMT "\n", ptr_struct->actual_ffe_tap_config_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "active:\n");
-	connectib_serdes_active_sets_ini_print(&(ptr_struct->active), file, indent_level + 1);
+	fprintf(file, "ffe_tap_value_lifting_en : " UH_FMT "\n", ptr_struct->ffe_tap_value_lifting_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "preset_tx_fdr:\n");
-	connectib_serdes_preset_sets_ini_print(&(ptr_struct->preset_tx_fdr), file, indent_level + 1);
+	fprintf(file, "redo_calibration     : " UH_FMT "\n", ptr_struct->redo_calibration);
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "preset_tx_qdr:\n");
-	connectib_serdes_preset_sets_ini_print(&(ptr_struct->preset_tx_qdr), file, indent_level + 1);
+	fprintf(file, "ffe_tap_config_%03d:\n", i);
+	connectib_ffe_tap_set_print(&(ptr_struct->ffe_tap_config[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_serdes_conf_ini_size(void){
-	 return 1088;
+int connectib_pcie_rx_adaptation_cfg_size(void)
+{
+	 return 68;
 }
 
-void connectib_serdes_conf_ini_dump(const struct connectib_serdes_conf_ini *ptr_struct, FILE* file) {
-	connectib_serdes_conf_ini_print(ptr_struct, file, 0);
+void connectib_pcie_rx_adaptation_cfg_dump(const struct connectib_pcie_rx_adaptation_cfg *ptr_struct, FILE* file)
+{
+	connectib_pcie_rx_adaptation_cfg_print(ptr_struct, file, 0);
 }
 
-void connectib_rx_adapt_ini_pack(const struct connectib_rx_adapt_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_tx_adaptation_cfg_pack(const struct connectib_pcie_tx_adaptation_cfg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->max_num_ffe_search);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->num_of_ffe_taps);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->num_of_ffe_hw_steps);
-
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_hw_ffe_before_open_eye);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->skip_ffe_srch);
-
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->skip_rx_srch);
-
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->offset_eye_opener_range);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mixer_offset_grade_margin);
-
-	offset=60;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->jump_size_ffe_level1);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->jump_size_ffe_level2);
-
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->jump_size_ffe_level3);
-
-	offset=47;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->delta_from_edges_phase);
-
-	offset=41;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->delta_from_edges_offst);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->offset_penalty_en);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->offset_penalty_weight);
-
-	offset=95;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->center_mix90phase);
-
-	offset=94;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_calib_in_QDR_rev0);
-
-	offset=93;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->center_mixer_offset);
-
-	offset=92;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grade_mixer_margin_en);
-
-	offset=87;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_open_machine_measure_time);
-
-	offset=82;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_open_machine_stab_time);
-
-	offset=74;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->best_grade_th);
-
-	offset=69;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_open_machine_stab_time_extended);
-
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eye_phase_diff_min);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_adaptation_config_num);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eye_offset_diff_min);
+	for (i = 0; i < 3; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 128, 1);
+	connectib_GEN3_TRANSMITTER_SETTING_pack(&(ptr_struct->tx_adaptation_ts_param[i]), ptr_buff + offset/8);
+	}
 
-	offset=111;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->min_eye_en);
+}
 
-	offset=110;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grade_eye_from_center);
+void connectib_pcie_tx_adaptation_cfg_unpack(struct connectib_pcie_tx_adaptation_cfg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->offset_zero_grade_threshold);
+	offset = 28;
+	ptr_struct->tx_adaptation_config_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=99;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_open_machine_measure_time_in_stab_extend);
+	for (i = 0; i < 3; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 128, 1);
+	connectib_GEN3_TRANSMITTER_SETTING_unpack(&(ptr_struct->tx_adaptation_ts_param[i]), ptr_buff + offset/8);
+	}
 
-	offset=152;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->offset_max_grade);
+}
 
-	offset=147;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->phase_limit);
+void connectib_pcie_tx_adaptation_cfg_print(const struct connectib_pcie_tx_adaptation_cfg *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pcie_tx_adaptation_cfg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rx_adaptation_reattempts);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_adaptation_config_num : " UH_FMT "\n", ptr_struct->tx_adaptation_config_num);
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->phase_weight);
+	for (i = 0; i < 3; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tx_adaptation_ts_param_%03d:\n", i);
+	connectib_GEN3_TRANSMITTER_SETTING_print(&(ptr_struct->tx_adaptation_ts_param[i]), file, indent_level + 1);
+	}
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->offset_weight);
+}
 
-	offset=184;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rx_taps_norm_val);
+int connectib_pcie_tx_adaptation_cfg_size(void)
+{
+	 return 16;
+}
 
+void connectib_pcie_tx_adaptation_cfg_dump(const struct connectib_pcie_tx_adaptation_cfg *ptr_struct, FILE* file)
+{
+	connectib_pcie_tx_adaptation_cfg_print(ptr_struct, file, 0);
 }
 
-void connectib_rx_adapt_ini_unpack(struct connectib_rx_adapt_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_debug_cap_pack(const struct connectib_pcie_debug_cap *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->max_num_ffe_search = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=23;
-	ptr_struct->num_of_ffe_taps = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=17;
-	ptr_struct->num_of_ffe_hw_steps = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=13;
-	ptr_struct->num_hw_ffe_before_open_eye = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=12;
-	ptr_struct->skip_ffe_srch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=11;
-	ptr_struct->skip_rx_srch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=4;
-	ptr_struct->offset_eye_opener_range = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 13, (u_int32_t)ptr_struct->internal_cause_mask);
 
-	offset=0;
-	ptr_struct->mixer_offset_grade_margin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->width_debug_en);
 
-	offset=60;
-	ptr_struct->jump_size_ffe_level1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->speed_debug_en);
 
-	offset=56;
-	ptr_struct->jump_size_ffe_level2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->internal_cause_en);
 
-	offset=52;
-	ptr_struct->jump_size_ffe_level3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=47;
-	ptr_struct->delta_from_edges_phase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+void connectib_pcie_debug_cap_unpack(struct connectib_pcie_debug_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=41;
-	ptr_struct->delta_from_edges_offst = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 19;
+	ptr_struct->internal_cause_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 13);
 
-	offset=40;
-	ptr_struct->offset_penalty_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 2;
+	ptr_struct->width_debug_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->offset_penalty_weight = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 1;
+	ptr_struct->speed_debug_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=95;
-	ptr_struct->center_mix90phase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->internal_cause_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=94;
-	ptr_struct->disable_calib_in_QDR_rev0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=93;
-	ptr_struct->center_mixer_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_pcie_debug_cap_print(const struct connectib_pcie_debug_cap *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_pcie_debug_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=92;
-	ptr_struct->grade_mixer_margin_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "internal_cause_mask  : " UH_FMT "\n", ptr_struct->internal_cause_mask);
 
-	offset=87;
-	ptr_struct->eye_open_machine_measure_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "width_debug_en       : " UH_FMT "\n", ptr_struct->width_debug_en);
 
-	offset=82;
-	ptr_struct->eye_open_machine_stab_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "speed_debug_en       : " UH_FMT "\n", ptr_struct->speed_debug_en);
 
-	offset=74;
-	ptr_struct->best_grade_th = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "internal_cause_en    : " UH_FMT "\n", ptr_struct->internal_cause_en);
 
-	offset=69;
-	ptr_struct->eye_open_machine_stab_time_extended = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+}
 
-	offset=120;
-	ptr_struct->eye_phase_diff_min = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+int connectib_pcie_debug_cap_size(void)
+{
+	 return 4;
+}
 
-	offset=112;
-	ptr_struct->eye_offset_diff_min = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_pcie_debug_cap_dump(const struct connectib_pcie_debug_cap *ptr_struct, FILE* file)
+{
+	connectib_pcie_debug_cap_print(ptr_struct, file, 0);
+}
 
-	offset=111;
-	ptr_struct->min_eye_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_pcie_equalization_and_eye_pack(const struct connectib_pcie_equalization_and_eye *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=110;
-	ptr_struct->grade_eye_from_center = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->local_fs);
 
-	offset=104;
-	ptr_struct->offset_zero_grade_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->local_lf);
 
-	offset=99;
-	ptr_struct->eye_open_machine_measure_time_in_stab_extend = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->preset);
 
-	offset=152;
-	ptr_struct->offset_max_grade = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_preset);
 
-	offset=147;
-	ptr_struct->phase_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->phase0_timeout);
 
-	offset=144;
-	ptr_struct->rx_adaptation_reattempts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->phase2_timeout);
 
-	offset=136;
-	ptr_struct->phase_weight = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_x1_eql_for_compliance);
 
-	offset=128;
-	ptr_struct->offset_weight = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 11; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 416, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gen3_preset[i]);
+	}
 
-	offset=184;
-	ptr_struct->rx_taps_norm_val = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 411;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_center_mixer_offset);
 
-}
+	offset = 410;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eye_center_mix90_en);
 
-void connectib_rx_adapt_ini_print(const struct connectib_rx_adapt_ini *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_rx_adapt_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 409;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eye_center_offset_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_num_ffe_search   : "UH_FMT"\n", ptr_struct->max_num_ffe_search);
+	offset = 408;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first_offset_phase_second);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_ffe_taps      : "UH_FMT"\n", ptr_struct->num_of_ffe_taps);
+	offset = 400;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->phase_err_wait_time);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_ffe_hw_steps  : "UH_FMT"\n", ptr_struct->num_of_ffe_hw_steps);
+	offset = 396;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phase_stabilize_time);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_hw_ffe_before_open_eye : "UH_FMT"\n", ptr_struct->num_hw_ffe_before_open_eye);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "skip_ffe_srch        : "UH_FMT"\n", ptr_struct->skip_ffe_srch);
+void connectib_pcie_equalization_and_eye_unpack(struct connectib_pcie_equalization_and_eye *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "skip_rx_srch         : "UH_FMT"\n", ptr_struct->skip_rx_srch);
+	offset = 26;
+	ptr_struct->local_fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset_eye_opener_range : "UH_FMT"\n", ptr_struct->offset_eye_opener_range);
+	offset = 19;
+	ptr_struct->local_lf = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mixer_offset_grade_margin : "UH_FMT"\n", ptr_struct->mixer_offset_grade_margin);
+	offset = 12;
+	ptr_struct->preset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "jump_size_ffe_level1 : "UH_FMT"\n", ptr_struct->jump_size_ffe_level1);
+	offset = 11;
+	ptr_struct->force_preset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "jump_size_ffe_level2 : "UH_FMT"\n", ptr_struct->jump_size_ffe_level2);
+	offset = 6;
+	ptr_struct->phase0_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "jump_size_ffe_level3 : "UH_FMT"\n", ptr_struct->jump_size_ffe_level3);
+	offset = 1;
+	ptr_struct->phase2_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "delta_from_edges_phase : "UH_FMT"\n", ptr_struct->delta_from_edges_phase);
+	offset = 0;
+	ptr_struct->fast_x1_eql_for_compliance = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "delta_from_edges_offst : "UH_FMT"\n", ptr_struct->delta_from_edges_offst);
+	for (i = 0; i < 11; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 416, 1);
+	ptr_struct->gen3_preset[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset_penalty_en    : "UH_FMT"\n", ptr_struct->offset_penalty_en);
+	offset = 411;
+	ptr_struct->eye_center_mixer_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset_penalty_weight : "UH_FMT"\n", ptr_struct->offset_penalty_weight);
+	offset = 410;
+	ptr_struct->eye_center_mix90_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "center_mix90phase    : "UH_FMT"\n", ptr_struct->center_mix90phase);
+	offset = 409;
+	ptr_struct->eye_center_offset_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "disable_calib_in_QDR_rev0 : "UH_FMT"\n", ptr_struct->disable_calib_in_QDR_rev0);
+	offset = 408;
+	ptr_struct->first_offset_phase_second = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "center_mixer_offset  : "UH_FMT"\n", ptr_struct->center_mixer_offset);
+	offset = 400;
+	ptr_struct->phase_err_wait_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grade_mixer_margin_en : "UH_FMT"\n", ptr_struct->grade_mixer_margin_en);
+	offset = 396;
+	ptr_struct->phase_stabilize_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_open_machine_measure_time : "UH_FMT"\n", ptr_struct->eye_open_machine_measure_time);
+}
 
+void connectib_pcie_equalization_and_eye_print(const struct connectib_pcie_equalization_and_eye *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_open_machine_stab_time : "UH_FMT"\n", ptr_struct->eye_open_machine_stab_time);
+	fprintf(file, "======== connectib_pcie_equalization_and_eye ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "best_grade_th        : "UH_FMT"\n", ptr_struct->best_grade_th);
+	fprintf(file, "local_fs             : " UH_FMT "\n", ptr_struct->local_fs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_open_machine_stab_time_extended : "UH_FMT"\n", ptr_struct->eye_open_machine_stab_time_extended);
+	fprintf(file, "local_lf             : " UH_FMT "\n", ptr_struct->local_lf);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_phase_diff_min   : "UH_FMT"\n", ptr_struct->eye_phase_diff_min);
+	fprintf(file, "preset               : " UH_FMT "\n", ptr_struct->preset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_offset_diff_min  : "UH_FMT"\n", ptr_struct->eye_offset_diff_min);
+	fprintf(file, "force_preset         : " UH_FMT "\n", ptr_struct->force_preset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "min_eye_en           : "UH_FMT"\n", ptr_struct->min_eye_en);
+	fprintf(file, "phase0_timeout       : " UH_FMT "\n", ptr_struct->phase0_timeout);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grade_eye_from_center : "UH_FMT"\n", ptr_struct->grade_eye_from_center);
+	fprintf(file, "phase2_timeout       : " UH_FMT "\n", ptr_struct->phase2_timeout);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset_zero_grade_threshold : "UH_FMT"\n", ptr_struct->offset_zero_grade_threshold);
+	fprintf(file, "fast_x1_eql_for_compliance : " UH_FMT "\n", ptr_struct->fast_x1_eql_for_compliance);
 
+	for (i = 0; i < 11; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_open_machine_measure_time_in_stab_extend : "UH_FMT"\n", ptr_struct->eye_open_machine_measure_time_in_stab_extend);
+	fprintf(file, "gen3_preset_%03d     : " U32H_FMT "\n", i, ptr_struct->gen3_preset[i]);
+	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset_max_grade     : "UH_FMT"\n", ptr_struct->offset_max_grade);
+	fprintf(file, "eye_center_mixer_offset : " UH_FMT "\n", ptr_struct->eye_center_mixer_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phase_limit          : "UH_FMT"\n", ptr_struct->phase_limit);
+	fprintf(file, "eye_center_mix90_en  : " UH_FMT "\n", ptr_struct->eye_center_mix90_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_adaptation_reattempts : "UH_FMT"\n", ptr_struct->rx_adaptation_reattempts);
+	fprintf(file, "eye_center_offset_en : " UH_FMT "\n", ptr_struct->eye_center_offset_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phase_weight         : "UH_FMT"\n", ptr_struct->phase_weight);
+	fprintf(file, "first_offset_phase_second : " UH_FMT "\n", ptr_struct->first_offset_phase_second);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset_weight        : "UH_FMT"\n", ptr_struct->offset_weight);
+	fprintf(file, "phase_err_wait_time  : " UH_FMT "\n", ptr_struct->phase_err_wait_time);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_taps_norm_val     : "UH_FMT"\n", ptr_struct->rx_taps_norm_val);
+	fprintf(file, "phase_stabilize_time : " UH_FMT "\n", ptr_struct->phase_stabilize_time);
 
 }
 
-int connectib_rx_adapt_ini_size(void){
-	 return 24;
+int connectib_pcie_equalization_and_eye_size(void)
+{
+	 return 52;
 }
 
-void connectib_rx_adapt_ini_dump(const struct connectib_rx_adapt_ini *ptr_struct, FILE* file) {
-	connectib_rx_adapt_ini_print(ptr_struct, file, 0);
+void connectib_pcie_equalization_and_eye_dump(const struct connectib_pcie_equalization_and_eye *ptr_struct, FILE* file)
+{
+	connectib_pcie_equalization_and_eye_print(ptr_struct, file, 0);
 }
 
-void connectib_ib_ini_ini_pack(const struct connectib_ib_ini_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_serdes_cfg_pack(const struct connectib_pcie_serdes_cfg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->llr_wait_time);
-
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spec1_3_ignore_peer_tx_req);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qdr_tx_aggressor_en);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->equal_req_en);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ts3_fcu);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->sdr_preemp);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_hbr);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sdr_preemp_pre);
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_sct);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sdr_preemp_post);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_tp);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sdr_preemp_main);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_mpr);
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ddr_6_db_preemp);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ts3_ft);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_6_db_preemp_pre);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->min_ib_grade);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_6_db_preemp_post);
 
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_polarity_port0);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_6_db_preemp_main);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_polarity_port1);
+	offset = 93;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ddr_3_dot_5_db_preemp);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->Mloop_en_mask);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_3_dot_5_db_preemp_pre);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 768, 1);
-	connectib_ib_ini_per_lcl_ini_pack(&(ptr_struct->lcl[i]), ptr_buff + offset/8);
-	}
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_3_dot_5_db_preemp_post);
 
-	offset=121;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->retry_counter_threshold);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_3_dot_5_db_preemp_main);
 
-	offset=113;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->time_2_clear_err_after_linkup);
+	offset = 96;
+	connectib_GEN3_TRANSMITTER_SETTING_pack(&(ptr_struct->gen3_def_tx_preset), ptr_buff + offset/8);
 
-	offset=128;
-	connectib_spec1_3_preset_ini_pack(&(ptr_struct->spec1_3_preset), ptr_buff + offset/8);
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->slicer_ind_en);
 
-	offset=767;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_llr_on_long_optic);
+	offset = 148;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slicer1_enable);
 
-	offset=760;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->llr_max_cable_length);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slicer2_enable);
 
-	offset=759;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->terminate_pkt_timeout);
+	offset = 185;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->signal_detect_threshold);
 
-	offset=758;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_rx_check_en);
+	offset = 184;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signal_detect_en);
 
-	offset=757;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_fec_on_long_optic);
+	offset = 180;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ob_bias);
 
-	offset=750;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->fec_min_cable_length);
+	offset = 192;
+	connectib_ffe_tap_set_pack(&(ptr_struct->default_ffe_tap_set), ptr_buff + offset/8);
 
 }
 
-void connectib_ib_ini_ini_unpack(struct connectib_ib_ini_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_serdes_cfg_unpack(struct connectib_pcie_serdes_cfg *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->llr_wait_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=25;
-	ptr_struct->spec1_3_ignore_peer_tx_req = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=24;
-	ptr_struct->qdr_tx_aggressor_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=23;
-	ptr_struct->equal_req_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=21;
-	ptr_struct->ts3_fcu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 29;
+	ptr_struct->sdr_preemp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=20;
-	ptr_struct->ts3_hbr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->sdr_preemp_pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=19;
-	ptr_struct->ts3_sct = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->sdr_preemp_post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=18;
-	ptr_struct->ts3_tp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->sdr_preemp_main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=17;
-	ptr_struct->ts3_mpr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 61;
+	ptr_struct->ddr_6_db_preemp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=16;
-	ptr_struct->ts3_ft = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->ddr_6_db_preemp_pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=11;
-	ptr_struct->min_ib_grade = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 40;
+	ptr_struct->ddr_6_db_preemp_post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=7;
-	ptr_struct->tx_polarity_port0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->ddr_6_db_preemp_main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=3;
-	ptr_struct->tx_polarity_port1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 93;
+	ptr_struct->ddr_3_dot_5_db_preemp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=1;
-	ptr_struct->Mloop_en_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 80;
+	ptr_struct->ddr_3_dot_5_db_preemp_pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 768, 1);
-	connectib_ib_ini_per_lcl_ini_unpack(&(ptr_struct->lcl[i]), ptr_buff + offset/8);
-	}
+	offset = 72;
+	ptr_struct->ddr_3_dot_5_db_preemp_post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=121;
-	ptr_struct->retry_counter_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 64;
+	ptr_struct->ddr_3_dot_5_db_preemp_main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=113;
-	ptr_struct->time_2_clear_err_after_linkup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 96;
+	connectib_GEN3_TRANSMITTER_SETTING_unpack(&(ptr_struct->gen3_def_tx_preset), ptr_buff + offset/8);
 
-	offset=128;
-	connectib_spec1_3_preset_ini_unpack(&(ptr_struct->spec1_3_preset), ptr_buff + offset/8);
+	offset = 152;
+	ptr_struct->slicer_ind_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=767;
-	ptr_struct->disable_llr_on_long_optic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 148;
+	ptr_struct->slicer1_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=760;
-	ptr_struct->llr_max_cable_length = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 144;
+	ptr_struct->slicer2_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=759;
-	ptr_struct->terminate_pkt_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 185;
+	ptr_struct->signal_detect_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=758;
-	ptr_struct->llr_rx_check_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 184;
+	ptr_struct->signal_detect_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=757;
-	ptr_struct->enable_fec_on_long_optic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 180;
+	ptr_struct->ob_bias = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=750;
-	ptr_struct->fec_min_cable_length = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 192;
+	connectib_ffe_tap_set_unpack(&(ptr_struct->default_ffe_tap_set), ptr_buff + offset/8);
 
 }
 
-void connectib_ib_ini_ini_print(const struct connectib_ib_ini_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_serdes_cfg_print(const struct connectib_pcie_serdes_cfg *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ib_ini_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_serdes_cfg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_wait_time        : "UH_FMT"\n", ptr_struct->llr_wait_time);
+	fprintf(file, "sdr_preemp           : " UH_FMT "\n", ptr_struct->sdr_preemp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spec1_3_ignore_peer_tx_req : "UH_FMT"\n", ptr_struct->spec1_3_ignore_peer_tx_req);
+	fprintf(file, "sdr_preemp_pre       : " UH_FMT "\n", ptr_struct->sdr_preemp_pre);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qdr_tx_aggressor_en  : "UH_FMT"\n", ptr_struct->qdr_tx_aggressor_en);
+	fprintf(file, "sdr_preemp_post      : " UH_FMT "\n", ptr_struct->sdr_preemp_post);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "equal_req_en         : "UH_FMT"\n", ptr_struct->equal_req_en);
+	fprintf(file, "sdr_preemp_main      : " UH_FMT "\n", ptr_struct->sdr_preemp_main);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts3_fcu              : "UH_FMT"\n", ptr_struct->ts3_fcu);
+	fprintf(file, "ddr_6_db_preemp      : " UH_FMT "\n", ptr_struct->ddr_6_db_preemp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts3_hbr              : "UH_FMT"\n", ptr_struct->ts3_hbr);
+	fprintf(file, "ddr_6_db_preemp_pre  : " UH_FMT "\n", ptr_struct->ddr_6_db_preemp_pre);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts3_sct              : "UH_FMT"\n", ptr_struct->ts3_sct);
+	fprintf(file, "ddr_6_db_preemp_post : " UH_FMT "\n", ptr_struct->ddr_6_db_preemp_post);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts3_tp               : "UH_FMT"\n", ptr_struct->ts3_tp);
+	fprintf(file, "ddr_6_db_preemp_main : " UH_FMT "\n", ptr_struct->ddr_6_db_preemp_main);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts3_mpr              : "UH_FMT"\n", ptr_struct->ts3_mpr);
+	fprintf(file, "ddr_3_dot_5_db_preemp : " UH_FMT "\n", ptr_struct->ddr_3_dot_5_db_preemp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ts3_ft               : "UH_FMT"\n", ptr_struct->ts3_ft);
+	fprintf(file, "ddr_3_dot_5_db_preemp_pre : " UH_FMT "\n", ptr_struct->ddr_3_dot_5_db_preemp_pre);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "min_ib_grade         : "UH_FMT"\n", ptr_struct->min_ib_grade);
+	fprintf(file, "ddr_3_dot_5_db_preemp_post : " UH_FMT "\n", ptr_struct->ddr_3_dot_5_db_preemp_post);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_polarity_port0    : "UH_FMT"\n", ptr_struct->tx_polarity_port0);
+	fprintf(file, "ddr_3_dot_5_db_preemp_main : " UH_FMT "\n", ptr_struct->ddr_3_dot_5_db_preemp_main);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_polarity_port1    : "UH_FMT"\n", ptr_struct->tx_polarity_port1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Mloop_en_mask        : "UH_FMT"\n", ptr_struct->Mloop_en_mask);
-
-	for (i=0; i < 2; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lcl_%03d:\n", i);
-	connectib_ib_ini_per_lcl_ini_print(&(ptr_struct->lcl[i]), file, indent_level + 1);
-	}
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "retry_counter_threshold : "UH_FMT"\n", ptr_struct->retry_counter_threshold);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "time_2_clear_err_after_linkup : "UH_FMT"\n", ptr_struct->time_2_clear_err_after_linkup);
+	fprintf(file, "gen3_def_tx_preset:\n");
+	connectib_GEN3_TRANSMITTER_SETTING_print(&(ptr_struct->gen3_def_tx_preset), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spec1_3_preset:\n");
-	connectib_spec1_3_preset_ini_print(&(ptr_struct->spec1_3_preset), file, indent_level + 1);
+	fprintf(file, "slicer_ind_en        : " UH_FMT "\n", ptr_struct->slicer_ind_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "disable_llr_on_long_optic : "UH_FMT"\n", ptr_struct->disable_llr_on_long_optic);
+	fprintf(file, "slicer1_enable       : " UH_FMT "\n", ptr_struct->slicer1_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_max_cable_length : "UH_FMT"\n", ptr_struct->llr_max_cable_length);
+	fprintf(file, "slicer2_enable       : " UH_FMT "\n", ptr_struct->slicer2_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "terminate_pkt_timeout : "UH_FMT"\n", ptr_struct->terminate_pkt_timeout);
+	fprintf(file, "signal_detect_threshold : " UH_FMT "\n", ptr_struct->signal_detect_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_rx_check_en      : "UH_FMT"\n", ptr_struct->llr_rx_check_en);
+	fprintf(file, "signal_detect_en     : " UH_FMT "\n", ptr_struct->signal_detect_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enable_fec_on_long_optic : "UH_FMT"\n", ptr_struct->enable_fec_on_long_optic);
+	fprintf(file, "ob_bias              : " UH_FMT "\n", ptr_struct->ob_bias);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fec_min_cable_length : "UH_FMT"\n", ptr_struct->fec_min_cable_length);
+	fprintf(file, "default_ffe_tap_set:\n");
+	connectib_ffe_tap_set_print(&(ptr_struct->default_ffe_tap_set), file, indent_level + 1);
 
 }
 
-int connectib_ib_ini_ini_size(void){
-	 return 96;
+int connectib_pcie_serdes_cfg_size(void)
+{
+	 return 32;
 }
 
-void connectib_ib_ini_ini_dump(const struct connectib_ib_ini_ini *ptr_struct, FILE* file) {
-	connectib_ib_ini_ini_print(ptr_struct, file, 0);
+void connectib_pcie_serdes_cfg_dump(const struct connectib_pcie_serdes_cfg *ptr_struct, FILE* file)
+{
+	connectib_pcie_serdes_cfg_print(ptr_struct, file, 0);
 }
 
-void connectib_PORT_PHY_ini_pack(const struct connectib_PORT_PHY_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_gpio_configurations_pack(const struct connectib_gpio_configurations *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_param_mask_ini_pack(&(ptr_struct->serdes_param_mask), ptr_buff + offset/8);
+	for (i = 0; i < 48; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 384, 1);
+	connectib_gpio_config_pack(&(ptr_struct->gpio[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_PORT_PHY_ini_unpack(struct connectib_PORT_PHY_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_gpio_configurations_unpack(struct connectib_gpio_configurations *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_serdes_param_mask_ini_unpack(&(ptr_struct->serdes_param_mask), ptr_buff + offset/8);
+	for (i = 0; i < 48; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 384, 1);
+	connectib_gpio_config_unpack(&(ptr_struct->gpio[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_PORT_PHY_ini_print(const struct connectib_PORT_PHY_ini *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_PORT_PHY_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
+void connectib_gpio_configurations_print(const struct connectib_gpio_configurations *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "serdes_param_mask:\n");
-	connectib_serdes_param_mask_ini_print(&(ptr_struct->serdes_param_mask), file, indent_level + 1);
-
-}
-
-int connectib_PORT_PHY_ini_size(void){
-	 return 16;
-}
-
-void connectib_PORT_PHY_ini_dump(const struct connectib_PORT_PHY_ini *ptr_struct, FILE* file) {
-	connectib_PORT_PHY_ini_print(ptr_struct, file, 0);
-}
-
-void connectib_nv_config_tpt_pack(const struct connectib_nv_config_tpt *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	connectib_nv_tlv_data_tpt_settings_pack(&(ptr_struct->settings), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_nv_tlv_data_tpt_capabilities_pack(&(ptr_struct->capabilities), ptr_buff + offset/8);
-
-}
-
-void connectib_nv_config_tpt_unpack(struct connectib_nv_config_tpt *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+	fprintf(file, "======== connectib_gpio_configurations ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	connectib_nv_tlv_data_tpt_settings_unpack(&(ptr_struct->settings), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_nv_tlv_data_tpt_capabilities_unpack(&(ptr_struct->capabilities), ptr_buff + offset/8);
-
-}
-
-void connectib_nv_config_tpt_print(const struct connectib_nv_config_tpt *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_config_tpt ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 48; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "settings:\n");
-	connectib_nv_tlv_data_tpt_settings_print(&(ptr_struct->settings), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "capabilities:\n");
-	connectib_nv_tlv_data_tpt_capabilities_print(&(ptr_struct->capabilities), file, indent_level + 1);
+	fprintf(file, "gpio_%03d:\n", i);
+	connectib_gpio_config_print(&(ptr_struct->gpio[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_nv_config_tpt_size(void){
-	 return 8;
+int connectib_gpio_configurations_size(void)
+{
+	 return 48;
 }
 
-void connectib_nv_config_tpt_dump(const struct connectib_nv_config_tpt *ptr_struct, FILE* file) {
-	connectib_nv_config_tpt_print(ptr_struct, file, 0);
+void connectib_gpio_configurations_dump(const struct connectib_gpio_configurations *ptr_struct, FILE* file)
+{
+	connectib_gpio_configurations_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_config_pci_pack(const struct connectib_nv_config_pci *ptr_struct, u_int8_t* ptr_buff){
+void connectib_gpio_functions_pack(const struct connectib_gpio_functions *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_nv_tlv_data_pci_settings_pack(&(ptr_struct->settings), ptr_buff + offset/8);
-
-	offset=96;
-	connectib_nv_tlv_data_pci_capabilities_pack(&(ptr_struct->capabilities), ptr_buff + offset/8);
+	offset = 24;
+	connectib_gpio_function_pack(&(ptr_struct->physical_led_p1), ptr_buff + offset/8);
 
-}
+	offset = 16;
+	connectib_gpio_function_pack(&(ptr_struct->physical_led_p2), ptr_buff + offset/8);
 
-void connectib_nv_config_pci_unpack(struct connectib_nv_config_pci *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 8;
+	connectib_gpio_function_pack(&(ptr_struct->logical_led_p1), ptr_buff + offset/8);
 
-	offset=0;
-	connectib_nv_tlv_data_pci_settings_unpack(&(ptr_struct->settings), ptr_buff + offset/8);
+	offset = 0;
+	connectib_gpio_function_pack(&(ptr_struct->logical_led_p2), ptr_buff + offset/8);
 
-	offset=96;
-	connectib_nv_tlv_data_pci_capabilities_unpack(&(ptr_struct->capabilities), ptr_buff + offset/8);
+	offset = 56;
+	connectib_gpio_function_pack(&(ptr_struct->gp_lv), ptr_buff + offset/8);
 
-}
+	offset = 48;
+	connectib_gpio_function_pack(&(ptr_struct->int_p1_l), ptr_buff + offset/8);
 
-void connectib_nv_config_pci_print(const struct connectib_nv_config_pci *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_config_pci ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 40;
+	connectib_gpio_function_pack(&(ptr_struct->int_p2_l), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "settings:\n");
-	connectib_nv_tlv_data_pci_settings_print(&(ptr_struct->settings), file, indent_level + 1);
+	offset = 32;
+	connectib_gpio_function_pack(&(ptr_struct->modprs_p1_l), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "capabilities:\n");
-	connectib_nv_tlv_data_pci_capabilities_print(&(ptr_struct->capabilities), file, indent_level + 1);
+	offset = 88;
+	connectib_gpio_function_pack(&(ptr_struct->modprs_p2_l), ptr_buff + offset/8);
 
-}
+	offset = 80;
+	connectib_gpio_function_pack(&(ptr_struct->modsel_p1_l), ptr_buff + offset/8);
 
-int connectib_nv_config_pci_size(void){
-	 return 32;
-}
+	offset = 72;
+	connectib_gpio_function_pack(&(ptr_struct->modsel_p2_l), ptr_buff + offset/8);
 
-void connectib_nv_config_pci_dump(const struct connectib_nv_config_pci *ptr_struct, FILE* file) {
-	connectib_nv_config_pci_print(ptr_struct, file, 0);
-}
+	offset = 64;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_arb_in), ptr_buff + offset/8);
 
-void connectib_advanced_error_reporting_pack(const struct connectib_advanced_error_reporting *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 120;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_arb_out), ptr_buff + offset/8);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
+	offset = 112;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_crs_dv), ptr_buff + offset/8);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+	offset = 104;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_rxd0), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
+	offset = 96;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_rxd1), ptr_buff + offset/8);
 
-	offset=32;
-	connectib_uncorrectable_error_status_pack(&(ptr_struct->uncorrectable_error_status), ptr_buff + offset/8);
+	offset = 152;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_txd0), ptr_buff + offset/8);
 
-	offset=64;
-	connectib_uncorrectable_error_mask_pack(&(ptr_struct->uncorrectable_error_mask), ptr_buff + offset/8);
+	offset = 144;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_txd1), ptr_buff + offset/8);
 
-	offset=96;
-	connectib_uncorrectable_error_severity_pack(&(ptr_struct->uncorrectable_error_severity), ptr_buff + offset/8);
+	offset = 136;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_ref_clk), ptr_buff + offset/8);
 
-	offset=128;
-	connectib_correctable_error_status_pack(&(ptr_struct->correctable_error_status), ptr_buff + offset/8);
+	offset = 128;
+	connectib_gpio_function_pack(&(ptr_struct->ncsi_tx_en), ptr_buff + offset/8);
 
-	offset=160;
-	connectib_correctable_error_mask_pack(&(ptr_struct->correctable_error_mask), ptr_buff + offset/8);
+	offset = 184;
+	connectib_gpio_function_pack(&(ptr_struct->oc_int_l), ptr_buff + offset/8);
 
-	offset=192;
-	connectib_advanced_error_cap_ctl_pack(&(ptr_struct->advanced_error_cap_ctl), ptr_buff + offset/8);
+	offset = 176;
+	connectib_gpio_function_pack(&(ptr_struct->ovt_wrng), ptr_buff + offset/8);
 
-	offset=224;
-	connectib_header_log_pack(&(ptr_struct->header_log), ptr_buff + offset/8);
+	offset = 168;
+	connectib_gpio_function_pack(&(ptr_struct->ovt_shtdn), ptr_buff + offset/8);
 
-}
+	offset = 160;
+	connectib_gpio_function_pack(&(ptr_struct->pe_rst_l), ptr_buff + offset/8);
 
-void connectib_advanced_error_reporting_unpack(struct connectib_advanced_error_reporting *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 216;
+	connectib_gpio_function_pack(&(ptr_struct->gpio_func_reserved), ptr_buff + offset/8);
 
-	offset=16;
-	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 208;
+	connectib_gpio_function_pack(&(ptr_struct->reset_p1_l), ptr_buff + offset/8);
 
-	offset=12;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 200;
+	connectib_gpio_function_pack(&(ptr_struct->reset_p2_l), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 192;
+	connectib_gpio_function_pack(&(ptr_struct->spi_clk), ptr_buff + offset/8);
 
-	offset=32;
-	connectib_uncorrectable_error_status_unpack(&(ptr_struct->uncorrectable_error_status), ptr_buff + offset/8);
+	offset = 248;
+	connectib_gpio_function_pack(&(ptr_struct->spi_cs0_l), ptr_buff + offset/8);
 
-	offset=64;
-	connectib_uncorrectable_error_mask_unpack(&(ptr_struct->uncorrectable_error_mask), ptr_buff + offset/8);
+	offset = 240;
+	connectib_gpio_function_pack(&(ptr_struct->spi_cs1_l), ptr_buff + offset/8);
 
-	offset=96;
-	connectib_uncorrectable_error_severity_unpack(&(ptr_struct->uncorrectable_error_severity), ptr_buff + offset/8);
+	offset = 232;
+	connectib_gpio_function_pack(&(ptr_struct->spi_io0), ptr_buff + offset/8);
 
-	offset=128;
-	connectib_correctable_error_status_unpack(&(ptr_struct->correctable_error_status), ptr_buff + offset/8);
+	offset = 224;
+	connectib_gpio_function_pack(&(ptr_struct->spi_io1), ptr_buff + offset/8);
 
-	offset=160;
-	connectib_correctable_error_mask_unpack(&(ptr_struct->correctable_error_mask), ptr_buff + offset/8);
+	offset = 280;
+	connectib_gpio_function_pack(&(ptr_struct->spi_io2), ptr_buff + offset/8);
 
-	offset=192;
-	connectib_advanced_error_cap_ctl_unpack(&(ptr_struct->advanced_error_cap_ctl), ptr_buff + offset/8);
+	offset = 272;
+	connectib_gpio_function_pack(&(ptr_struct->spi_io3), ptr_buff + offset/8);
 
-	offset=224;
-	connectib_header_log_unpack(&(ptr_struct->header_log), ptr_buff + offset/8);
+	offset = 264;
+	connectib_gpio_function_pack(&(ptr_struct->i2c_scl1), ptr_buff + offset/8);
 
-}
+	offset = 256;
+	connectib_gpio_function_pack(&(ptr_struct->i2c_scl2), ptr_buff + offset/8);
 
-void connectib_advanced_error_reporting_print(const struct connectib_advanced_error_reporting *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_advanced_error_reporting ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 312;
+	connectib_gpio_function_pack(&(ptr_struct->i2c_scl3), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_id               : "UH_FMT"\n", ptr_struct->cap_id);
+	offset = 304;
+	connectib_gpio_function_pack(&(ptr_struct->i2c_sda1), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	offset = 296;
+	connectib_gpio_function_pack(&(ptr_struct->i2c_sda2), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
+	offset = 288;
+	connectib_gpio_function_pack(&(ptr_struct->i2c_sda3), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uncorrectable_error_status:\n");
-	connectib_uncorrectable_error_status_print(&(ptr_struct->uncorrectable_error_status), file, indent_level + 1);
+	offset = 344;
+	connectib_gpio_function_pack(&(ptr_struct->i2c_int_l), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uncorrectable_error_mask:\n");
-	connectib_uncorrectable_error_mask_print(&(ptr_struct->uncorrectable_error_mask), file, indent_level + 1);
+	offset = 336;
+	connectib_gpio_function_pack(&(ptr_struct->i2c_rst_l), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uncorrectable_error_severity:\n");
-	connectib_uncorrectable_error_severity_print(&(ptr_struct->uncorrectable_error_severity), file, indent_level + 1);
+	offset = 328;
+	connectib_gpio_function_pack(&(ptr_struct->vdd_mod), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "correctable_error_status:\n");
-	connectib_correctable_error_status_print(&(ptr_struct->correctable_error_status), file, indent_level + 1);
+	offset = 320;
+	connectib_gpio_function_pack(&(ptr_struct->wake_l), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "correctable_error_mask:\n");
-	connectib_correctable_error_mask_print(&(ptr_struct->correctable_error_mask), file, indent_level + 1);
+	offset = 376;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_mezz_fault_l), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "advanced_error_cap_ctl:\n");
-	connectib_advanced_error_cap_ctl_print(&(ptr_struct->advanced_error_cap_ctl), file, indent_level + 1);
+	offset = 368;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_ite_all_pgood), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "header_log:\n");
-	connectib_header_log_print(&(ptr_struct->header_log), file, indent_level + 1);
+	offset = 360;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_t_control_l), ptr_buff + offset/8);
 
-}
+	offset = 352;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_t_warning_l), ptr_buff + offset/8);
 
-int connectib_advanced_error_reporting_size(void){
-	 return 56;
-}
+	offset = 408;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_t_critical_l), ptr_buff + offset/8);
 
-void connectib_advanced_error_reporting_dump(const struct connectib_advanced_error_reporting *ptr_struct, FILE* file) {
-	connectib_advanced_error_reporting_print(ptr_struct, file, 0);
-}
+	offset = 400;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_cib_slot_id_0), ptr_buff + offset/8);
 
-void connectib_dev_serial_num_cap_pack(const struct connectib_dev_serial_num_cap *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 392;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_cib_slot_id_1), ptr_buff + offset/8);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
+	offset = 384;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_vpd_update_l), ptr_buff + offset/8);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+	offset = 440;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_vpd_cache_comp), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
+	offset = 432;
+	connectib_gpio_function_pack(&(ptr_struct->ibm_vpd_ctrl), ptr_buff + offset/8);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->serial_number_31_0);
+	offset = 424;
+	connectib_gpio_function_pack(&(ptr_struct->gpio_port_swap), ptr_buff + offset/8);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->serial_number_63_32);
+	offset = 416;
+	connectib_gpio_function_pack(&(ptr_struct->gpio_func_reserved_1), ptr_buff + offset/8);
 
 }
 
-void connectib_dev_serial_num_cap_unpack(struct connectib_dev_serial_num_cap *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_gpio_functions_unpack(struct connectib_gpio_functions *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=12;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=0;
-	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
-
-	offset=32;
-	ptr_struct->serial_number_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->serial_number_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-}
-
-void connectib_dev_serial_num_cap_print(const struct connectib_dev_serial_num_cap *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dev_serial_num_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 24;
+	connectib_gpio_function_unpack(&(ptr_struct->physical_led_p1), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_id               : "UH_FMT"\n", ptr_struct->cap_id);
+	offset = 16;
+	connectib_gpio_function_unpack(&(ptr_struct->physical_led_p2), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	offset = 8;
+	connectib_gpio_function_unpack(&(ptr_struct->logical_led_p1), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
+	offset = 0;
+	connectib_gpio_function_unpack(&(ptr_struct->logical_led_p2), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "serial_number_31_0   : "U32H_FMT"\n", ptr_struct->serial_number_31_0);
+	offset = 56;
+	connectib_gpio_function_unpack(&(ptr_struct->gp_lv), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "serial_number_63_32  : "U32H_FMT"\n", ptr_struct->serial_number_63_32);
+	offset = 48;
+	connectib_gpio_function_unpack(&(ptr_struct->int_p1_l), ptr_buff + offset/8);
 
-}
+	offset = 40;
+	connectib_gpio_function_unpack(&(ptr_struct->int_p2_l), ptr_buff + offset/8);
 
-int connectib_dev_serial_num_cap_size(void){
-	 return 12;
-}
+	offset = 32;
+	connectib_gpio_function_unpack(&(ptr_struct->modprs_p1_l), ptr_buff + offset/8);
 
-void connectib_dev_serial_num_cap_dump(const struct connectib_dev_serial_num_cap *ptr_struct, FILE* file) {
-	connectib_dev_serial_num_cap_print(ptr_struct, file, 0);
-}
+	offset = 88;
+	connectib_gpio_function_unpack(&(ptr_struct->modprs_p2_l), ptr_buff + offset/8);
 
-void connectib_sriov_cap_pack(const struct connectib_sriov_cap *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 80;
+	connectib_gpio_function_unpack(&(ptr_struct->modsel_p1_l), ptr_buff + offset/8);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
+	offset = 72;
+	connectib_gpio_function_unpack(&(ptr_struct->modsel_p2_l), ptr_buff + offset/8);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+	offset = 64;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_arb_in), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
+	offset = 120;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_arb_out), ptr_buff + offset/8);
 
-	offset=32;
-	connectib_sriov_capabilities_pack(&(ptr_struct->capabilities), ptr_buff + offset/8);
+	offset = 112;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_crs_dv), ptr_buff + offset/8);
 
-	offset=80;
-	connectib_sriov_control_pack(&(ptr_struct->ctrl), ptr_buff + offset/8);
+	offset = 104;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_rxd0), ptr_buff + offset/8);
 
-	offset=64;
-	connectib_sriov_status_pack(&(ptr_struct->status), ptr_buff + offset/8);
+	offset = 96;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_rxd1), ptr_buff + offset/8);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->initial_vfs);
+	offset = 152;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_txd0), ptr_buff + offset/8);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->total_vfs);
+	offset = 144;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_txd1), ptr_buff + offset/8);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_vfs);
+	offset = 136;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_ref_clk), ptr_buff + offset/8);
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->func_dependency_link);
+	offset = 128;
+	connectib_gpio_function_unpack(&(ptr_struct->ncsi_tx_en), ptr_buff + offset/8);
 
-	offset=176;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->first_vf_offset);
+	offset = 184;
+	connectib_gpio_function_unpack(&(ptr_struct->oc_int_l), ptr_buff + offset/8);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vf_stride);
+	offset = 176;
+	connectib_gpio_function_unpack(&(ptr_struct->ovt_wrng), ptr_buff + offset/8);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vf_device_id);
+	offset = 168;
+	connectib_gpio_function_unpack(&(ptr_struct->ovt_shtdn), ptr_buff + offset/8);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->supported_page_sizes);
+	offset = 160;
+	connectib_gpio_function_unpack(&(ptr_struct->pe_rst_l), ptr_buff + offset/8);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->system_page_size);
+	offset = 216;
+	connectib_gpio_function_unpack(&(ptr_struct->gpio_func_reserved), ptr_buff + offset/8);
 
-	offset=288;
-	connectib_bar_low_pack(&(ptr_struct->vf_bar0), ptr_buff + offset/8);
+	offset = 208;
+	connectib_gpio_function_unpack(&(ptr_struct->reset_p1_l), ptr_buff + offset/8);
 
-	offset=320;
-	connectib_bar_high_pack(&(ptr_struct->vf_bar1), ptr_buff + offset/8);
+	offset = 200;
+	connectib_gpio_function_unpack(&(ptr_struct->reset_p2_l), ptr_buff + offset/8);
 
-	offset=352;
-	connectib_bar_low_pack(&(ptr_struct->vf_bar2), ptr_buff + offset/8);
+	offset = 192;
+	connectib_gpio_function_unpack(&(ptr_struct->spi_clk), ptr_buff + offset/8);
 
-	offset=384;
-	connectib_bar_high_pack(&(ptr_struct->vf_bar3), ptr_buff + offset/8);
+	offset = 248;
+	connectib_gpio_function_unpack(&(ptr_struct->spi_cs0_l), ptr_buff + offset/8);
 
-	offset=416;
-	connectib_bar_low_pack(&(ptr_struct->vf_bar4), ptr_buff + offset/8);
+	offset = 240;
+	connectib_gpio_function_unpack(&(ptr_struct->spi_cs1_l), ptr_buff + offset/8);
 
-	offset=448;
-	connectib_bar_high_pack(&(ptr_struct->vf_bar5), ptr_buff + offset/8);
+	offset = 232;
+	connectib_gpio_function_unpack(&(ptr_struct->spi_io0), ptr_buff + offset/8);
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->vf_migstate_arrayofst);
+	offset = 224;
+	connectib_gpio_function_unpack(&(ptr_struct->spi_io1), ptr_buff + offset/8);
 
-}
+	offset = 280;
+	connectib_gpio_function_unpack(&(ptr_struct->spi_io2), ptr_buff + offset/8);
 
-void connectib_sriov_cap_unpack(struct connectib_sriov_cap *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 272;
+	connectib_gpio_function_unpack(&(ptr_struct->spi_io3), ptr_buff + offset/8);
 
-	offset=16;
-	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 264;
+	connectib_gpio_function_unpack(&(ptr_struct->i2c_scl1), ptr_buff + offset/8);
 
-	offset=12;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	connectib_gpio_function_unpack(&(ptr_struct->i2c_scl2), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 312;
+	connectib_gpio_function_unpack(&(ptr_struct->i2c_scl3), ptr_buff + offset/8);
 
-	offset=32;
-	connectib_sriov_capabilities_unpack(&(ptr_struct->capabilities), ptr_buff + offset/8);
+	offset = 304;
+	connectib_gpio_function_unpack(&(ptr_struct->i2c_sda1), ptr_buff + offset/8);
 
-	offset=80;
-	connectib_sriov_control_unpack(&(ptr_struct->ctrl), ptr_buff + offset/8);
+	offset = 296;
+	connectib_gpio_function_unpack(&(ptr_struct->i2c_sda2), ptr_buff + offset/8);
 
-	offset=64;
-	connectib_sriov_status_unpack(&(ptr_struct->status), ptr_buff + offset/8);
+	offset = 288;
+	connectib_gpio_function_unpack(&(ptr_struct->i2c_sda3), ptr_buff + offset/8);
 
-	offset=112;
-	ptr_struct->initial_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 344;
+	connectib_gpio_function_unpack(&(ptr_struct->i2c_int_l), ptr_buff + offset/8);
 
-	offset=96;
-	ptr_struct->total_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 336;
+	connectib_gpio_function_unpack(&(ptr_struct->i2c_rst_l), ptr_buff + offset/8);
 
-	offset=144;
-	ptr_struct->num_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 328;
+	connectib_gpio_function_unpack(&(ptr_struct->vdd_mod), ptr_buff + offset/8);
 
-	offset=136;
-	ptr_struct->func_dependency_link = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 320;
+	connectib_gpio_function_unpack(&(ptr_struct->wake_l), ptr_buff + offset/8);
 
-	offset=176;
-	ptr_struct->first_vf_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 376;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_mezz_fault_l), ptr_buff + offset/8);
 
-	offset=160;
-	ptr_struct->vf_stride = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 368;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_ite_all_pgood), ptr_buff + offset/8);
 
-	offset=192;
-	ptr_struct->vf_device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 360;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_t_control_l), ptr_buff + offset/8);
 
-	offset=224;
-	ptr_struct->supported_page_sizes = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 352;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_t_warning_l), ptr_buff + offset/8);
 
-	offset=256;
-	ptr_struct->system_page_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 408;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_t_critical_l), ptr_buff + offset/8);
 
-	offset=288;
-	connectib_bar_low_unpack(&(ptr_struct->vf_bar0), ptr_buff + offset/8);
+	offset = 400;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_cib_slot_id_0), ptr_buff + offset/8);
 
-	offset=320;
-	connectib_bar_high_unpack(&(ptr_struct->vf_bar1), ptr_buff + offset/8);
+	offset = 392;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_cib_slot_id_1), ptr_buff + offset/8);
 
-	offset=352;
-	connectib_bar_low_unpack(&(ptr_struct->vf_bar2), ptr_buff + offset/8);
+	offset = 384;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_vpd_update_l), ptr_buff + offset/8);
 
-	offset=384;
-	connectib_bar_high_unpack(&(ptr_struct->vf_bar3), ptr_buff + offset/8);
+	offset = 440;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_vpd_cache_comp), ptr_buff + offset/8);
 
-	offset=416;
-	connectib_bar_low_unpack(&(ptr_struct->vf_bar4), ptr_buff + offset/8);
+	offset = 432;
+	connectib_gpio_function_unpack(&(ptr_struct->ibm_vpd_ctrl), ptr_buff + offset/8);
 
-	offset=448;
-	connectib_bar_high_unpack(&(ptr_struct->vf_bar5), ptr_buff + offset/8);
+	offset = 424;
+	connectib_gpio_function_unpack(&(ptr_struct->gpio_port_swap), ptr_buff + offset/8);
 
-	offset=480;
-	ptr_struct->vf_migstate_arrayofst = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 416;
+	connectib_gpio_function_unpack(&(ptr_struct->gpio_func_reserved_1), ptr_buff + offset/8);
 
 }
 
-void connectib_sriov_cap_print(const struct connectib_sriov_cap *ptr_struct, FILE* file, int indent_level){
+void connectib_gpio_functions_print(const struct connectib_gpio_functions *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sriov_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_gpio_functions ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_id               : "UH_FMT"\n", ptr_struct->cap_id);
+	fprintf(file, "physical_led_p1:\n");
+	connectib_gpio_function_print(&(ptr_struct->physical_led_p1), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	fprintf(file, "physical_led_p2:\n");
+	connectib_gpio_function_print(&(ptr_struct->physical_led_p2), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
+	fprintf(file, "logical_led_p1:\n");
+	connectib_gpio_function_print(&(ptr_struct->logical_led_p1), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "capabilities:\n");
-	connectib_sriov_capabilities_print(&(ptr_struct->capabilities), file, indent_level + 1);
+	fprintf(file, "logical_led_p2:\n");
+	connectib_gpio_function_print(&(ptr_struct->logical_led_p2), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ctrl:\n");
-	connectib_sriov_control_print(&(ptr_struct->ctrl), file, indent_level + 1);
+	fprintf(file, "gp_lv:\n");
+	connectib_gpio_function_print(&(ptr_struct->gp_lv), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status:\n");
-	connectib_sriov_status_print(&(ptr_struct->status), file, indent_level + 1);
+	fprintf(file, "int_p1_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->int_p1_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "initial_vfs          : "UH_FMT"\n", ptr_struct->initial_vfs);
+	fprintf(file, "int_p2_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->int_p2_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "total_vfs            : "UH_FMT"\n", ptr_struct->total_vfs);
+	fprintf(file, "modprs_p1_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->modprs_p1_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_vfs              : "UH_FMT"\n", ptr_struct->num_vfs);
+	fprintf(file, "modprs_p2_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->modprs_p2_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "func_dependency_link : "UH_FMT"\n", ptr_struct->func_dependency_link);
+	fprintf(file, "modsel_p1_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->modsel_p1_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_vf_offset      : "UH_FMT"\n", ptr_struct->first_vf_offset);
+	fprintf(file, "modsel_p2_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->modsel_p2_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_stride            : "UH_FMT"\n", ptr_struct->vf_stride);
+	fprintf(file, "ncsi_arb_in:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_arb_in), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_device_id         : "UH_FMT"\n", ptr_struct->vf_device_id);
+	fprintf(file, "ncsi_arb_out:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_arb_out), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "supported_page_sizes : "U32H_FMT"\n", ptr_struct->supported_page_sizes);
+	fprintf(file, "ncsi_crs_dv:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_crs_dv), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "system_page_size     : "U32H_FMT"\n", ptr_struct->system_page_size);
+	fprintf(file, "ncsi_rxd0:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_rxd0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_bar0:\n");
-	connectib_bar_low_print(&(ptr_struct->vf_bar0), file, indent_level + 1);
+	fprintf(file, "ncsi_rxd1:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_rxd1), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_bar1:\n");
-	connectib_bar_high_print(&(ptr_struct->vf_bar1), file, indent_level + 1);
+	fprintf(file, "ncsi_txd0:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_txd0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_bar2:\n");
-	connectib_bar_low_print(&(ptr_struct->vf_bar2), file, indent_level + 1);
+	fprintf(file, "ncsi_txd1:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_txd1), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_bar3:\n");
-	connectib_bar_high_print(&(ptr_struct->vf_bar3), file, indent_level + 1);
+	fprintf(file, "ncsi_ref_clk:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_ref_clk), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_bar4:\n");
-	connectib_bar_low_print(&(ptr_struct->vf_bar4), file, indent_level + 1);
+	fprintf(file, "ncsi_tx_en:\n");
+	connectib_gpio_function_print(&(ptr_struct->ncsi_tx_en), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_bar5:\n");
-	connectib_bar_high_print(&(ptr_struct->vf_bar5), file, indent_level + 1);
+	fprintf(file, "oc_int_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->oc_int_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_migstate_arrayofst : "U32H_FMT"\n", ptr_struct->vf_migstate_arrayofst);
-
-}
-
-int connectib_sriov_cap_size(void){
-	 return 64;
-}
-
-void connectib_sriov_cap_dump(const struct connectib_sriov_cap *ptr_struct, FILE* file) {
-	connectib_sriov_cap_print(ptr_struct, file, 0);
-}
-
-void connectib_ari_cap_pack(const struct connectib_ari_cap *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
-
-	offset=48;
-	connectib_ari_capabilities_pack(&(ptr_struct->ari_capabilities), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_ari_control_pack(&(ptr_struct->ari_control), ptr_buff + offset/8);
-
-}
-
-void connectib_ari_cap_unpack(struct connectib_ari_cap *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=16;
-	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=12;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=0;
-	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
-
-	offset=48;
-	connectib_ari_capabilities_unpack(&(ptr_struct->ari_capabilities), ptr_buff + offset/8);
+	fprintf(file, "ovt_wrng:\n");
+	connectib_gpio_function_print(&(ptr_struct->ovt_wrng), file, indent_level + 1);
 
-	offset=32;
-	connectib_ari_control_unpack(&(ptr_struct->ari_control), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ovt_shtdn:\n");
+	connectib_gpio_function_print(&(ptr_struct->ovt_shtdn), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pe_rst_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->pe_rst_l), file, indent_level + 1);
 
-void connectib_ari_cap_print(const struct connectib_ari_cap *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ari_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "gpio_func_reserved:\n");
+	connectib_gpio_function_print(&(ptr_struct->gpio_func_reserved), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_id               : "UH_FMT"\n", ptr_struct->cap_id);
+	fprintf(file, "reset_p1_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->reset_p1_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	fprintf(file, "reset_p2_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->reset_p2_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
+	fprintf(file, "spi_clk:\n");
+	connectib_gpio_function_print(&(ptr_struct->spi_clk), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari_capabilities:\n");
-	connectib_ari_capabilities_print(&(ptr_struct->ari_capabilities), file, indent_level + 1);
+	fprintf(file, "spi_cs0_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->spi_cs0_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari_control:\n");
-	connectib_ari_control_print(&(ptr_struct->ari_control), file, indent_level + 1);
+	fprintf(file, "spi_cs1_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->spi_cs1_l), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "spi_io0:\n");
+	connectib_gpio_function_print(&(ptr_struct->spi_io0), file, indent_level + 1);
 
-int connectib_ari_cap_size(void){
-	 return 8;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "spi_io1:\n");
+	connectib_gpio_function_print(&(ptr_struct->spi_io1), file, indent_level + 1);
 
-void connectib_ari_cap_dump(const struct connectib_ari_cap *ptr_struct, FILE* file) {
-	connectib_ari_cap_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "spi_io2:\n");
+	connectib_gpio_function_print(&(ptr_struct->spi_io2), file, indent_level + 1);
 
-void connectib_secondary_pciex_ext_cap_pack(const struct connectib_secondary_pciex_ext_cap *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "spi_io3:\n");
+	connectib_gpio_function_print(&(ptr_struct->spi_io3), file, indent_level + 1);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_id);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_scl1:\n");
+	connectib_gpio_function_print(&(ptr_struct->i2c_scl1), file, indent_level + 1);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_scl2:\n");
+	connectib_gpio_function_print(&(ptr_struct->i2c_scl2), file, indent_level + 1);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->nxt_ptr);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_scl3:\n");
+	connectib_gpio_function_print(&(ptr_struct->i2c_scl3), file, indent_level + 1);
 
-	offset=32;
-	connectib_pciex_link_ctl3_pack(&(ptr_struct->pciex_link_ctl3), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_sda1:\n");
+	connectib_gpio_function_print(&(ptr_struct->i2c_sda1), file, indent_level + 1);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lane_err_bits);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_sda2:\n");
+	connectib_gpio_function_print(&(ptr_struct->i2c_sda2), file, indent_level + 1);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(96, 32, i, 352, 1);
-	connectib_lane_eql_ctl_pack(&(ptr_struct->lane_eql_ctl[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_sda3:\n");
+	connectib_gpio_function_print(&(ptr_struct->i2c_sda3), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_int_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->i2c_int_l), file, indent_level + 1);
 
-void connectib_secondary_pciex_ext_cap_unpack(struct connectib_secondary_pciex_ext_cap *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_rst_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->i2c_rst_l), file, indent_level + 1);
 
-	offset=16;
-	ptr_struct->cap_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vdd_mod:\n");
+	connectib_gpio_function_print(&(ptr_struct->vdd_mod), file, indent_level + 1);
 
-	offset=12;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "wake_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->wake_l), file, indent_level + 1);
 
-	offset=0;
-	ptr_struct->nxt_ptr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibm_mezz_fault_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_mezz_fault_l), file, indent_level + 1);
 
-	offset=32;
-	connectib_pciex_link_ctl3_unpack(&(ptr_struct->pciex_link_ctl3), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibm_ite_all_pgood:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_ite_all_pgood), file, indent_level + 1);
 
-	offset=80;
-	ptr_struct->lane_err_bits = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibm_t_control_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_t_control_l), file, indent_level + 1);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(96, 32, i, 352, 1);
-	connectib_lane_eql_ctl_unpack(&(ptr_struct->lane_eql_ctl[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibm_t_warning_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_t_warning_l), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibm_t_critical_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_t_critical_l), file, indent_level + 1);
 
-void connectib_secondary_pciex_ext_cap_print(const struct connectib_secondary_pciex_ext_cap *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_secondary_pciex_ext_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "ibm_cib_slot_id_0:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_cib_slot_id_0), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_id               : "UH_FMT"\n", ptr_struct->cap_id);
+	fprintf(file, "ibm_cib_slot_id_1:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_cib_slot_id_1), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	fprintf(file, "ibm_vpd_update_l:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_vpd_update_l), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
+	fprintf(file, "ibm_vpd_cache_comp:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_vpd_cache_comp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pciex_link_ctl3:\n");
-	connectib_pciex_link_ctl3_print(&(ptr_struct->pciex_link_ctl3), file, indent_level + 1);
+	fprintf(file, "ibm_vpd_ctrl:\n");
+	connectib_gpio_function_print(&(ptr_struct->ibm_vpd_ctrl), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lane_err_bits        : "UH_FMT"\n", ptr_struct->lane_err_bits);
+	fprintf(file, "gpio_port_swap:\n");
+	connectib_gpio_function_print(&(ptr_struct->gpio_port_swap), file, indent_level + 1);
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lane_eql_ctl_%03d:\n", i);
-	connectib_lane_eql_ctl_print(&(ptr_struct->lane_eql_ctl[i]), file, indent_level + 1);
-	}
+	fprintf(file, "gpio_func_reserved_1:\n");
+	connectib_gpio_function_print(&(ptr_struct->gpio_func_reserved_1), file, indent_level + 1);
 
 }
 
-int connectib_secondary_pciex_ext_cap_size(void){
-	 return 44;
+int connectib_gpio_functions_size(void)
+{
+	 return 84;
 }
 
-void connectib_secondary_pciex_ext_cap_dump(const struct connectib_secondary_pciex_ext_cap *ptr_struct, FILE* file) {
-	connectib_secondary_pciex_ext_cap_print(ptr_struct, file, 0);
+void connectib_gpio_functions_dump(const struct connectib_gpio_functions *ptr_struct, FILE* file)
+{
+	connectib_gpio_functions_print(ptr_struct, file, 0);
 }
 
-void connectib_msix_cap_pack(const struct connectib_msix_cap *ptr_struct, u_int8_t* ptr_buff){
+void connectib_i2c_device_entry_pack(const struct connectib_i2c_device_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->msix_cap_id);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nxt_ptr);
-
-	offset=0;
-	connectib_message_control_pack(&(ptr_struct->message_control), ptr_buff + offset/8);
-
-	offset=61;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->Table_BIR);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->Table_Offset);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->slave_addr);
 
-	offset=93;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->PBA_BIR);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->bus_id);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->PBA_Offset);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->addr_size);
 
 }
 
-void connectib_msix_cap_unpack(struct connectib_msix_cap *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_i2c_device_entry_unpack(struct connectib_i2c_device_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->msix_cap_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->nxt_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	connectib_message_control_unpack(&(ptr_struct->message_control), ptr_buff + offset/8);
-
-	offset=61;
-	ptr_struct->Table_BIR = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=32;
-	ptr_struct->Table_Offset = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
+	offset = 25;
+	ptr_struct->slave_addr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=93;
-	ptr_struct->PBA_BIR = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 22;
+	ptr_struct->bus_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=64;
-	ptr_struct->PBA_Offset = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
+	offset = 13;
+	ptr_struct->addr_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
 }
 
-void connectib_msix_cap_print(const struct connectib_msix_cap *ptr_struct, FILE* file, int indent_level){
+void connectib_i2c_device_entry_print(const struct connectib_i2c_device_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_msix_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_i2c_device_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix_cap_id          : "UH_FMT"\n", ptr_struct->msix_cap_id);
+	fprintf(file, "slave_addr           : " UH_FMT "\n", ptr_struct->slave_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
+	fprintf(file, "bus_id               : " UH_FMT "\n", ptr_struct->bus_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "message_control:\n");
-	connectib_message_control_print(&(ptr_struct->message_control), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Table_BIR            : "UH_FMT"\n", ptr_struct->Table_BIR);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Table_Offset         : "UH_FMT"\n", ptr_struct->Table_Offset);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "PBA_BIR              : "UH_FMT"\n", ptr_struct->PBA_BIR);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "PBA_Offset           : "UH_FMT"\n", ptr_struct->PBA_Offset);
+	fprintf(file, "addr_size            : " UH_FMT "\n", ptr_struct->addr_size);
 
 }
 
-int connectib_msix_cap_size(void){
-	 return 12;
+int connectib_i2c_device_entry_size(void)
+{
+	 return 4;
 }
 
-void connectib_msix_cap_dump(const struct connectib_msix_cap *ptr_struct, FILE* file) {
-	connectib_msix_cap_print(ptr_struct, file, 0);
+void connectib_i2c_device_entry_dump(const struct connectib_i2c_device_entry *ptr_struct, FILE* file)
+{
+	connectib_i2c_device_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_pciex_cap_block_pack(const struct connectib_pciex_cap_block *ptr_struct, u_int8_t* ptr_buff){
+void connectib_module_config_st_pack(const struct connectib_module_config_st *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pciex_cap_id);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nxt_ptr);
-
-	offset=0;
-	connectib_pciex_cap_pack(&(ptr_struct->pciex_cap), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_device_caps_pack(&(ptr_struct->device_caps), ptr_buff + offset/8);
-
-	offset=80;
-	connectib_device_ctl_pack(&(ptr_struct->device_ctl), ptr_buff + offset/8);
-
-	offset=64;
-	connectib_device_stat_pack(&(ptr_struct->device_stat), ptr_buff + offset/8);
-
-	offset=96;
-	connectib_link_caps_pack(&(ptr_struct->link_caps), ptr_buff + offset/8);
-
-	offset=144;
-	connectib_link_ctl_pack(&(ptr_struct->link_ctl), ptr_buff + offset/8);
-
-	offset=128;
-	connectib_link_stat_pack(&(ptr_struct->link_stat), ptr_buff + offset/8);
-
-	offset=288;
-	connectib_device_caps2_pack(&(ptr_struct->device_caps2), ptr_buff + offset/8);
-
-	offset=336;
-	connectib_device_ctl2_pack(&(ptr_struct->device_ctl2), ptr_buff + offset/8);
-
-	offset=320;
-	connectib_device_stat2_pack(&(ptr_struct->device_stat2), ptr_buff + offset/8);
-
-	offset=352;
-	connectib_link_caps2_pack(&(ptr_struct->link_caps2), ptr_buff + offset/8);
-
-	offset=400;
-	connectib_link_ctl2_pack(&(ptr_struct->link_ctl2), ptr_buff + offset/8);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->module_power_level_supported);
 
-	offset=384;
-	connectib_link_stat2_pack(&(ptr_struct->link_stat2), ptr_buff + offset/8);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->module_mlnx_sub_power_supported);
 
 }
 
-void connectib_pciex_cap_block_unpack(struct connectib_pciex_cap_block *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_module_config_st_unpack(struct connectib_module_config_st *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->pciex_cap_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->nxt_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	connectib_pciex_cap_unpack(&(ptr_struct->pciex_cap), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_device_caps_unpack(&(ptr_struct->device_caps), ptr_buff + offset/8);
-
-	offset=80;
-	connectib_device_ctl_unpack(&(ptr_struct->device_ctl), ptr_buff + offset/8);
-
-	offset=64;
-	connectib_device_stat_unpack(&(ptr_struct->device_stat), ptr_buff + offset/8);
-
-	offset=96;
-	connectib_link_caps_unpack(&(ptr_struct->link_caps), ptr_buff + offset/8);
-
-	offset=144;
-	connectib_link_ctl_unpack(&(ptr_struct->link_ctl), ptr_buff + offset/8);
-
-	offset=128;
-	connectib_link_stat_unpack(&(ptr_struct->link_stat), ptr_buff + offset/8);
-
-	offset=288;
-	connectib_device_caps2_unpack(&(ptr_struct->device_caps2), ptr_buff + offset/8);
-
-	offset=336;
-	connectib_device_ctl2_unpack(&(ptr_struct->device_ctl2), ptr_buff + offset/8);
-
-	offset=320;
-	connectib_device_stat2_unpack(&(ptr_struct->device_stat2), ptr_buff + offset/8);
-
-	offset=352;
-	connectib_link_caps2_unpack(&(ptr_struct->link_caps2), ptr_buff + offset/8);
-
-	offset=400;
-	connectib_link_ctl2_unpack(&(ptr_struct->link_ctl2), ptr_buff + offset/8);
+	offset = 30;
+	ptr_struct->module_power_level_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=384;
-	connectib_link_stat2_unpack(&(ptr_struct->link_stat2), ptr_buff + offset/8);
+	offset = 24;
+	ptr_struct->module_mlnx_sub_power_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
 }
 
-void connectib_pciex_cap_block_print(const struct connectib_pciex_cap_block *ptr_struct, FILE* file, int indent_level){
+void connectib_module_config_st_print(const struct connectib_module_config_st *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pciex_cap_block ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_module_config_st ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pciex_cap_id         : "UH_FMT"\n", ptr_struct->pciex_cap_id);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pciex_cap:\n");
-	connectib_pciex_cap_print(&(ptr_struct->pciex_cap), file, indent_level + 1);
+	fprintf(file, "module_power_level_supported : " UH_FMT "\n", ptr_struct->module_power_level_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_caps:\n");
-	connectib_device_caps_print(&(ptr_struct->device_caps), file, indent_level + 1);
+	fprintf(file, "module_mlnx_sub_power_supported : " UH_FMT "\n", ptr_struct->module_mlnx_sub_power_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_ctl:\n");
-	connectib_device_ctl_print(&(ptr_struct->device_ctl), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_stat:\n");
-	connectib_device_stat_print(&(ptr_struct->device_stat), file, indent_level + 1);
+int connectib_module_config_st_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_caps:\n");
-	connectib_link_caps_print(&(ptr_struct->link_caps), file, indent_level + 1);
+void connectib_module_config_st_dump(const struct connectib_module_config_st *ptr_struct, FILE* file)
+{
+	connectib_module_config_st_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_ctl:\n");
-	connectib_link_ctl_print(&(ptr_struct->link_ctl), file, indent_level + 1);
+void connectib_iopx_power_pack(const struct connectib_iopx_power *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_stat:\n");
-	connectib_link_stat_print(&(ptr_struct->link_stat), file, indent_level + 1);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ref_clk_right_left_);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_caps2:\n");
-	connectib_device_caps2_print(&(ptr_struct->device_caps2), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_ctl2:\n");
-	connectib_device_ctl2_print(&(ptr_struct->device_ctl2), file, indent_level + 1);
+void connectib_iopx_power_unpack(struct connectib_iopx_power *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_stat2:\n");
-	connectib_device_stat2_print(&(ptr_struct->device_stat2), file, indent_level + 1);
+	offset = 31;
+	ptr_struct->ref_clk_right_left_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_caps2:\n");
-	connectib_link_caps2_print(&(ptr_struct->link_caps2), file, indent_level + 1);
+}
 
+void connectib_iopx_power_print(const struct connectib_iopx_power *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_ctl2:\n");
-	connectib_link_ctl2_print(&(ptr_struct->link_ctl2), file, indent_level + 1);
+	fprintf(file, "======== connectib_iopx_power ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_stat2:\n");
-	connectib_link_stat2_print(&(ptr_struct->link_stat2), file, indent_level + 1);
+	fprintf(file, "ref_clk_right_left_  : " UH_FMT "\n", ptr_struct->ref_clk_right_left_);
 
 }
 
-int connectib_pciex_cap_block_size(void){
-	 return 60;
+int connectib_iopx_power_size(void)
+{
+	 return 4;
 }
 
-void connectib_pciex_cap_block_dump(const struct connectib_pciex_cap_block *ptr_struct, FILE* file) {
-	connectib_pciex_cap_block_print(ptr_struct, file, 0);
+void connectib_iopx_power_dump(const struct connectib_iopx_power *ptr_struct, FILE* file)
+{
+	connectib_iopx_power_print(ptr_struct, file, 0);
 }
 
-void connectib_vpd_cap_pack(const struct connectib_vpd_cap *ptr_struct, u_int8_t* ptr_buff){
+void connectib_iopl_power_pack(const struct connectib_iopl_power *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vpd_cap_id);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nxt_ptr);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->vpd_address);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ref_clk_right_left_);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->F);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dynamic_pll_manage_en);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->vpd_data);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dynamic_serdes_manage_en);
 
 }
 
-void connectib_vpd_cap_unpack(struct connectib_vpd_cap *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_iopl_power_unpack(struct connectib_iopl_power *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->vpd_cap_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->nxt_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=1;
-	ptr_struct->vpd_address = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
+	offset = 31;
+	ptr_struct->ref_clk_right_left_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->F = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 30;
+	ptr_struct->dynamic_pll_manage_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->vpd_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 29;
+	ptr_struct->dynamic_serdes_manage_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_vpd_cap_print(const struct connectib_vpd_cap *ptr_struct, FILE* file, int indent_level){
+void connectib_iopl_power_print(const struct connectib_iopl_power *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_vpd_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_iopl_power ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_cap_id           : "UH_FMT"\n", ptr_struct->vpd_cap_id);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_address          : "UH_FMT"\n", ptr_struct->vpd_address);
+	fprintf(file, "ref_clk_right_left_  : " UH_FMT "\n", ptr_struct->ref_clk_right_left_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "F                    : "UH_FMT"\n", ptr_struct->F);
+	fprintf(file, "dynamic_pll_manage_en : " UH_FMT "\n", ptr_struct->dynamic_pll_manage_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_data             : "U32H_FMT"\n", ptr_struct->vpd_data);
+	fprintf(file, "dynamic_serdes_manage_en : " UH_FMT "\n", ptr_struct->dynamic_serdes_manage_en);
 
 }
 
-int connectib_vpd_cap_size(void){
-	 return 8;
+int connectib_iopl_power_size(void)
+{
+	 return 4;
 }
 
-void connectib_vpd_cap_dump(const struct connectib_vpd_cap *ptr_struct, FILE* file) {
-	connectib_vpd_cap_print(ptr_struct, file, 0);
+void connectib_iopl_power_dump(const struct connectib_iopl_power *ptr_struct, FILE* file)
+{
+	connectib_iopl_power_print(ptr_struct, file, 0);
 }
 
-void connectib_pci_power_management_cap_pack(const struct connectib_pci_power_management_cap *ptr_struct, u_int8_t* ptr_buff){
+void connectib_port_mlpn_db_pack(const struct connectib_port_mlpn_db *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cap_id);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nxt_ptr);
-
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->version);
+	offset = 0;
+	connectib_mlpn_database_all_protocol_ini_pack(&(ptr_struct->mlpn_supported), ptr_buff + offset/8);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pme_clock);
+	offset = 32;
+	connectib_mlpn_database_all_protocol_ini_pack(&(ptr_struct->mlpn_request), ptr_buff + offset/8);
 
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_specific);
+	offset = 64;
+	connectib_mlpn_enhanced_database_ini_pack(&(ptr_struct->mlpn_enhanced_database), ptr_buff + offset/8);
 
-	offset=9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aux_current);
+}
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->d1_support);
+void connectib_port_mlpn_db_unpack(struct connectib_port_mlpn_db *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->d2_support);
+	offset = 0;
+	connectib_mlpn_database_all_protocol_ini_unpack(&(ptr_struct->mlpn_supported), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->pme_support);
+	offset = 32;
+	connectib_mlpn_database_all_protocol_ini_unpack(&(ptr_struct->mlpn_request), ptr_buff + offset/8);
 
-	offset=62;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->power_state);
+	offset = 64;
+	connectib_mlpn_enhanced_database_ini_unpack(&(ptr_struct->mlpn_enhanced_database), ptr_buff + offset/8);
 
-	offset=60;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_soft_reset);
+}
 
-	offset=55;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pme_enable);
+void connectib_port_mlpn_db_print(const struct connectib_port_mlpn_db *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_port_mlpn_db ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=51;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data_select);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mlpn_supported:\n");
+	connectib_mlpn_database_all_protocol_ini_print(&(ptr_struct->mlpn_supported), file, indent_level + 1);
 
-	offset=49;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->data_scale);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mlpn_request:\n");
+	connectib_mlpn_database_all_protocol_ini_print(&(ptr_struct->mlpn_request), file, indent_level + 1);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pme_status);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mlpn_enhanced_database:\n");
+	connectib_mlpn_enhanced_database_ini_print(&(ptr_struct->mlpn_enhanced_database), file, indent_level + 1);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pmcsr_bse);
+}
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->data);
+int connectib_port_mlpn_db_size(void)
+{
+	 return 16;
+}
 
+void connectib_port_mlpn_db_dump(const struct connectib_port_mlpn_db *ptr_struct, FILE* file)
+{
+	connectib_port_mlpn_db_print(ptr_struct, file, 0);
 }
 
-void connectib_pci_power_management_cap_unpack(struct connectib_pci_power_management_cap *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pll_params_pack(const struct connectib_pll_params *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->cap_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->nxt_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=13;
-	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=12;
-	ptr_struct->pme_clock = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=10;
-	ptr_struct->device_specific = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=9;
-	ptr_struct->aux_current = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->d1_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=5;
-	ptr_struct->d2_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pll_fctrl_th);
 
-	offset=0;
-	ptr_struct->pme_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_phy_varactor_calibration);
 
-	offset=62;
-	ptr_struct->power_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 288, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pll_fctrl_var[i]);
+	}
 
-	offset=60;
-	ptr_struct->no_soft_reset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(160, 32, i, 288, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pll_fctrl_val[i]);
+	}
 
-	offset=55;
-	ptr_struct->pme_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=51;
-	ptr_struct->data_select = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_pll_params_unpack(struct connectib_pll_params *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=49;
-	ptr_struct->data_scale = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 16;
+	ptr_struct->pll_fctrl_th = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=48;
-	ptr_struct->pme_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->enable_phy_varactor_calibration = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=40;
-	ptr_struct->pmcsr_bse = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 288, 1);
+	ptr_struct->pll_fctrl_var[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=32;
-	ptr_struct->data = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(160, 32, i, 288, 1);
+	ptr_struct->pll_fctrl_val[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_pci_power_management_cap_print(const struct connectib_pci_power_management_cap *ptr_struct, FILE* file, int indent_level){
+void connectib_pll_params_print(const struct connectib_pll_params *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pci_power_management_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pll_params ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_id               : "UH_FMT"\n", ptr_struct->cap_id);
+	fprintf(file, "pll_fctrl_th         : " UH_FMT "\n", ptr_struct->pll_fctrl_th);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nxt_ptr              : "UH_FMT"\n", ptr_struct->nxt_ptr);
+	fprintf(file, "enable_phy_varactor_calibration : " UH_FMT "\n", ptr_struct->enable_phy_varactor_calibration);
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	fprintf(file, "pll_fctrl_var_%03d   : " U32H_FMT "\n", i, ptr_struct->pll_fctrl_var[i]);
+	}
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pme_clock            : "UH_FMT"\n", ptr_struct->pme_clock);
+	fprintf(file, "pll_fctrl_val_%03d   : " U32H_FMT "\n", i, ptr_struct->pll_fctrl_val[i]);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_specific      : "UH_FMT"\n", ptr_struct->device_specific);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aux_current          : "UH_FMT"\n", ptr_struct->aux_current);
+int connectib_pll_params_size(void)
+{
+	 return 36;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "d1_support           : "UH_FMT"\n", ptr_struct->d1_support);
+void connectib_pll_params_dump(const struct connectib_pll_params *ptr_struct, FILE* file)
+{
+	connectib_pll_params_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "d2_support           : "UH_FMT"\n", ptr_struct->d2_support);
+void connectib_logic_serdes_mapping_node_ini_pack(const struct connectib_logic_serdes_mapping_node_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pme_support          : "UH_FMT"\n", ptr_struct->pme_support);
+	offset = 0;
+	connectib_tx_rx_logic_serdes_mapping_node_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "power_state          : "UH_FMT"\n", ptr_struct->power_state);
+	offset = 256;
+	connectib_tx_rx_logic_serdes_mapping_node_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_soft_reset        : "UH_FMT"\n", ptr_struct->no_soft_reset);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pme_enable           : "UH_FMT"\n", ptr_struct->pme_enable);
+void connectib_logic_serdes_mapping_node_ini_unpack(struct connectib_logic_serdes_mapping_node_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_select          : "UH_FMT"\n", ptr_struct->data_select);
+	offset = 0;
+	connectib_tx_rx_logic_serdes_mapping_node_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_scale           : "UH_FMT"\n", ptr_struct->data_scale);
+	offset = 256;
+	connectib_tx_rx_logic_serdes_mapping_node_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
+
+}
 
+void connectib_logic_serdes_mapping_node_ini_print(const struct connectib_logic_serdes_mapping_node_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pme_status           : "UH_FMT"\n", ptr_struct->pme_status);
+	fprintf(file, "======== connectib_logic_serdes_mapping_node_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pmcsr_bse            : "UH_FMT"\n", ptr_struct->pmcsr_bse);
+	fprintf(file, "tx:\n");
+	connectib_tx_rx_logic_serdes_mapping_node_ini_print(&(ptr_struct->tx), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data                 : "UH_FMT"\n", ptr_struct->data);
+	fprintf(file, "rx:\n");
+	connectib_tx_rx_logic_serdes_mapping_node_ini_print(&(ptr_struct->rx), file, indent_level + 1);
 
 }
 
-int connectib_pci_power_management_cap_size(void){
-	 return 8;
+int connectib_logic_serdes_mapping_node_ini_size(void)
+{
+	 return 64;
 }
 
-void connectib_pci_power_management_cap_dump(const struct connectib_pci_power_management_cap *ptr_struct, FILE* file) {
-	connectib_pci_power_management_cap_print(ptr_struct, file, 0);
+void connectib_logic_serdes_mapping_node_ini_dump(const struct connectib_logic_serdes_mapping_node_ini *ptr_struct, FILE* file)
+{
+	connectib_logic_serdes_mapping_node_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_pci_cfg_hdr_pack(const struct connectib_pci_cfg_hdr *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phy_hw_main_config_ip_pack(const struct connectib_phy_hw_main_config_ip *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vendor_id);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_id);
-
-	offset=48;
-	connectib_cmd_reg1_pack(&(ptr_struct->cmd), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_stat_reg1_pack(&(ptr_struct->status), ptr_buff + offset/8);
-
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rev_id);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->class_code);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 128, i, 11776, 1);
+	connectib_PORT_PHY_ini_pack(&(ptr_struct->port[i]), ptr_buff + offset/8);
+	}
 
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cache_line);
+	offset = 256;
+	connectib_ib_ini_ini_pack(&(ptr_struct->ib), ptr_buff + offset/8);
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->latency);
+	offset = 1024;
+	connectib_rx_adapt_ini_pack(&(ptr_struct->rx_adapt_ini), ptr_buff + offset/8);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hdr_type);
+	offset = 1280;
+	connectib_serdes_conf_ini_pack(&(ptr_struct->serdes_conf), ptr_buff + offset/8);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->bist);
+}
 
-	offset=128;
-	connectib_bar_low_pack(&(ptr_struct->reg4), ptr_buff + offset/8);
+void connectib_phy_hw_main_config_ip_unpack(struct connectib_phy_hw_main_config_ip *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=160;
-	connectib_bar_high_pack(&(ptr_struct->reg5), ptr_buff + offset/8);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 128, i, 11776, 1);
+	connectib_PORT_PHY_ini_unpack(&(ptr_struct->port[i]), ptr_buff + offset/8);
+	}
 
-	offset=192;
-	connectib_bar_low_pack(&(ptr_struct->reg6), ptr_buff + offset/8);
+	offset = 256;
+	connectib_ib_ini_ini_unpack(&(ptr_struct->ib), ptr_buff + offset/8);
 
-	offset=224;
-	connectib_bar_high_pack(&(ptr_struct->reg7), ptr_buff + offset/8);
+	offset = 1024;
+	connectib_rx_adapt_ini_unpack(&(ptr_struct->rx_adapt_ini), ptr_buff + offset/8);
 
-	offset=256;
-	connectib_bar_low_pack(&(ptr_struct->reg8), ptr_buff + offset/8);
+	offset = 1280;
+	connectib_serdes_conf_ini_unpack(&(ptr_struct->serdes_conf), ptr_buff + offset/8);
 
-	offset=288;
-	connectib_bar_high_pack(&(ptr_struct->reg9), ptr_buff + offset/8);
+}
 
-	offset=368;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sub_vendor_id);
+void connectib_phy_hw_main_config_ip_print(const struct connectib_phy_hw_main_config_ip *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_phy_hw_main_config_ip ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=352;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->subsystem_id);
+	for (i = 0; i < 2; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_%03d:\n", i);
+	connectib_PORT_PHY_ini_print(&(ptr_struct->port[i]), file, indent_level + 1);
+	}
 
-	offset=384;
-	connectib_exp_rom_pack(&(ptr_struct->reg12), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib:\n");
+	connectib_ib_ini_ini_print(&(ptr_struct->ib), file, indent_level + 1);
 
-	offset=440;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cap_ptr);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_adapt_ini:\n");
+	connectib_rx_adapt_ini_print(&(ptr_struct->rx_adapt_ini), file, indent_level + 1);
 
-	offset=504;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->interrupt_line);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "serdes_conf:\n");
+	connectib_serdes_conf_ini_print(&(ptr_struct->serdes_conf), file, indent_level + 1);
 
-	offset=496;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->interrupt_pin);
+}
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->min_gnt_max_lat);
+int connectib_phy_hw_main_config_ip_size(void)
+{
+	 return 1472;
+}
 
+void connectib_phy_hw_main_config_ip_dump(const struct connectib_phy_hw_main_config_ip *ptr_struct, FILE* file)
+{
+	connectib_phy_hw_main_config_ip_print(ptr_struct, file, 0);
 }
 
-void connectib_pci_cfg_hdr_unpack(struct connectib_pci_cfg_hdr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_config_boot_port_settings_pack(const struct connectib_nv_config_boot_port_settings *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=48;
-	connectib_cmd_reg1_unpack(&(ptr_struct->cmd), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_stat_reg1_unpack(&(ptr_struct->status), ptr_buff + offset/8);
-
-	offset=88;
-	ptr_struct->rev_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	connectib_nv_tlv_data_vpi_settings_pack(&(ptr_struct->vpi), ptr_buff + offset/8);
 
-	offset=64;
-	ptr_struct->class_code = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+}
 
-	offset=120;
-	ptr_struct->cache_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_nv_config_boot_port_settings_unpack(struct connectib_nv_config_boot_port_settings *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=112;
-	ptr_struct->latency = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	connectib_nv_tlv_data_vpi_settings_unpack(&(ptr_struct->vpi), ptr_buff + offset/8);
 
-	offset=104;
-	ptr_struct->hdr_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=96;
-	ptr_struct->bist = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_nv_config_boot_port_settings_print(const struct connectib_nv_config_boot_port_settings *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_nv_config_boot_port_settings ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=128;
-	connectib_bar_low_unpack(&(ptr_struct->reg4), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vpi:\n");
+	connectib_nv_tlv_data_vpi_settings_print(&(ptr_struct->vpi), file, indent_level + 1);
 
-	offset=160;
-	connectib_bar_high_unpack(&(ptr_struct->reg5), ptr_buff + offset/8);
+}
 
-	offset=192;
-	connectib_bar_low_unpack(&(ptr_struct->reg6), ptr_buff + offset/8);
+int connectib_nv_config_boot_port_settings_size(void)
+{
+	 return 4;
+}
 
-	offset=224;
-	connectib_bar_high_unpack(&(ptr_struct->reg7), ptr_buff + offset/8);
+void connectib_nv_config_boot_port_settings_dump(const struct connectib_nv_config_boot_port_settings *ptr_struct, FILE* file)
+{
+	connectib_nv_config_boot_port_settings_print(ptr_struct, file, 0);
+}
 
-	offset=256;
-	connectib_bar_low_unpack(&(ptr_struct->reg8), ptr_buff + offset/8);
+void connectib_nv_config_boot_global_pack(const struct connectib_nv_config_boot_global *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=288;
-	connectib_bar_high_unpack(&(ptr_struct->reg9), ptr_buff + offset/8);
+	offset = 0;
+	connectib_nv_config_pci_pack(&(ptr_struct->pci), ptr_buff + offset/8);
 
-	offset=368;
-	ptr_struct->sub_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 256;
+	connectib_nv_config_tpt_pack(&(ptr_struct->tpt), ptr_buff + offset/8);
 
-	offset=352;
-	ptr_struct->subsystem_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 352;
+	connectib_nv_config_kdnet_data_pack(&(ptr_struct->kdnet_data), ptr_buff + offset/8);
 
-	offset=384;
-	connectib_exp_rom_unpack(&(ptr_struct->reg12), ptr_buff + offset/8);
+}
 
-	offset=440;
-	ptr_struct->cap_ptr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_nv_config_boot_global_unpack(struct connectib_nv_config_boot_global *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=504;
-	ptr_struct->interrupt_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	connectib_nv_config_pci_unpack(&(ptr_struct->pci), ptr_buff + offset/8);
 
-	offset=496;
-	ptr_struct->interrupt_pin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 256;
+	connectib_nv_config_tpt_unpack(&(ptr_struct->tpt), ptr_buff + offset/8);
 
-	offset=480;
-	ptr_struct->min_gnt_max_lat = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 352;
+	connectib_nv_config_kdnet_data_unpack(&(ptr_struct->kdnet_data), ptr_buff + offset/8);
 
 }
 
-void connectib_pci_cfg_hdr_print(const struct connectib_pci_cfg_hdr *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_config_boot_global_print(const struct connectib_nv_config_boot_global *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pci_cfg_hdr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_config_boot_global ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vendor_id            : "UH_FMT"\n", ptr_struct->vendor_id);
+	fprintf(file, "pci:\n");
+	connectib_nv_config_pci_print(&(ptr_struct->pci), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_id            : "UH_FMT"\n", ptr_struct->device_id);
+	fprintf(file, "tpt:\n");
+	connectib_nv_config_tpt_print(&(ptr_struct->tpt), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cmd:\n");
-	connectib_cmd_reg1_print(&(ptr_struct->cmd), file, indent_level + 1);
+	fprintf(file, "kdnet_data:\n");
+	connectib_nv_config_kdnet_data_print(&(ptr_struct->kdnet_data), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status:\n");
-	connectib_stat_reg1_print(&(ptr_struct->status), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rev_id               : "UH_FMT"\n", ptr_struct->rev_id);
+int connectib_nv_config_boot_global_size(void)
+{
+	 return 48;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_code           : "UH_FMT"\n", ptr_struct->class_code);
+void connectib_nv_config_boot_global_dump(const struct connectib_nv_config_boot_global *ptr_struct, FILE* file)
+{
+	connectib_nv_config_boot_global_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cache_line           : "UH_FMT"\n", ptr_struct->cache_line);
+void connectib_pciex_ext_cfg_space_pack(const struct connectib_pciex_ext_cfg_space *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "latency              : "UH_FMT"\n", ptr_struct->latency);
+	offset = 0;
+	connectib_secondary_pciex_ext_cap_pack(&(ptr_struct->secondary_pciex_ext_cap), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hdr_type             : "UH_FMT"\n", ptr_struct->hdr_type);
+	offset = 352;
+	connectib_ari_cap_pack(&(ptr_struct->ari), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bist                 : "UH_FMT"\n", ptr_struct->bist);
+	offset = 416;
+	connectib_sriov_cap_pack(&(ptr_struct->sriov), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg4:\n");
-	connectib_bar_low_print(&(ptr_struct->reg4), file, indent_level + 1);
+	offset = 928;
+	connectib_dev_serial_num_cap_pack(&(ptr_struct->device_serial_number), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg5:\n");
-	connectib_bar_high_print(&(ptr_struct->reg5), file, indent_level + 1);
+	offset = 1024;
+	connectib_advanced_error_reporting_pack(&(ptr_struct->advanced_error_reporting), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg6:\n");
-	connectib_bar_low_print(&(ptr_struct->reg6), file, indent_level + 1);
+	offset = 1536;
+	connectib_acs_ext_cap_pack(&(ptr_struct->acs), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg7:\n");
-	connectib_bar_high_print(&(ptr_struct->reg7), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg8:\n");
-	connectib_bar_low_print(&(ptr_struct->reg8), file, indent_level + 1);
+void connectib_pciex_ext_cfg_space_unpack(struct connectib_pciex_ext_cfg_space *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg9:\n");
-	connectib_bar_high_print(&(ptr_struct->reg9), file, indent_level + 1);
+	offset = 0;
+	connectib_secondary_pciex_ext_cap_unpack(&(ptr_struct->secondary_pciex_ext_cap), ptr_buff + offset/8);
+
+	offset = 352;
+	connectib_ari_cap_unpack(&(ptr_struct->ari), ptr_buff + offset/8);
+
+	offset = 416;
+	connectib_sriov_cap_unpack(&(ptr_struct->sriov), ptr_buff + offset/8);
+
+	offset = 928;
+	connectib_dev_serial_num_cap_unpack(&(ptr_struct->device_serial_number), ptr_buff + offset/8);
 
+	offset = 1024;
+	connectib_advanced_error_reporting_unpack(&(ptr_struct->advanced_error_reporting), ptr_buff + offset/8);
+
+	offset = 1536;
+	connectib_acs_ext_cap_unpack(&(ptr_struct->acs), ptr_buff + offset/8);
+
+}
+
+void connectib_pciex_ext_cfg_space_print(const struct connectib_pciex_ext_cfg_space *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sub_vendor_id        : "UH_FMT"\n", ptr_struct->sub_vendor_id);
+	fprintf(file, "======== connectib_pciex_ext_cfg_space ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "subsystem_id         : "UH_FMT"\n", ptr_struct->subsystem_id);
+	fprintf(file, "secondary_pciex_ext_cap:\n");
+	connectib_secondary_pciex_ext_cap_print(&(ptr_struct->secondary_pciex_ext_cap), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg12:\n");
-	connectib_exp_rom_print(&(ptr_struct->reg12), file, indent_level + 1);
+	fprintf(file, "ari:\n");
+	connectib_ari_cap_print(&(ptr_struct->ari), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_ptr              : "UH_FMT"\n", ptr_struct->cap_ptr);
+	fprintf(file, "sriov:\n");
+	connectib_sriov_cap_print(&(ptr_struct->sriov), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "interrupt_line       : "UH_FMT"\n", ptr_struct->interrupt_line);
+	fprintf(file, "device_serial_number:\n");
+	connectib_dev_serial_num_cap_print(&(ptr_struct->device_serial_number), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "interrupt_pin        : "UH_FMT"\n", ptr_struct->interrupt_pin);
+	fprintf(file, "advanced_error_reporting:\n");
+	connectib_advanced_error_reporting_print(&(ptr_struct->advanced_error_reporting), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "min_gnt_max_lat      : "UH_FMT"\n", ptr_struct->min_gnt_max_lat);
+	fprintf(file, "acs:\n");
+	connectib_acs_ext_cap_print(&(ptr_struct->acs), file, indent_level + 1);
 
 }
 
-int connectib_pci_cfg_hdr_size(void){
-	 return 64;
+int connectib_pciex_ext_cfg_space_size(void)
+{
+	 return 256;
 }
 
-void connectib_pci_cfg_hdr_dump(const struct connectib_pci_cfg_hdr *ptr_struct, FILE* file) {
-	connectib_pci_cfg_hdr_print(ptr_struct, file, 0);
+void connectib_pciex_ext_cfg_space_dump(const struct connectib_pciex_ext_cfg_space *ptr_struct, FILE* file)
+{
+	connectib_pciex_ext_cfg_space_print(ptr_struct, file, 0);
 }
 
-void connectib_port_settings_pack(const struct connectib_port_settings *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pci_cfg_space_pack(const struct connectib_pci_cfg_space *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_nv_tlv_data_vpi_settings_pack(&(ptr_struct->vpi), ptr_buff + offset/8);
+	offset = 0;
+	connectib_pci_cfg_type0_header_pack(&(ptr_struct->cfg_hdr), ptr_buff + offset/8);
 
-}
+	offset = 512;
+	connectib_pci_power_management_cap_pack(&(ptr_struct->power_management), ptr_buff + offset/8);
 
-void connectib_port_settings_unpack(struct connectib_port_settings *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 576;
+	connectib_vpd_cap_pack(&(ptr_struct->vpd), ptr_buff + offset/8);
 
-	offset=0;
-	connectib_nv_tlv_data_vpi_settings_unpack(&(ptr_struct->vpi), ptr_buff + offset/8);
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->image_status);
 
-}
+	offset = 704;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cr_addr);
 
-void connectib_port_settings_print(const struct connectib_port_settings *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_port_settings ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cr_data);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpi:\n");
-	connectib_nv_tlv_data_vpi_settings_print(&(ptr_struct->vpi), file, indent_level + 1);
+	offset = 768;
+	connectib_pciex_cap_block_pack(&(ptr_struct->pciex_cap_block), ptr_buff + offset/8);
 
-}
+	offset = 1248;
+	connectib_msix_cap_pack(&(ptr_struct->msix), ptr_buff + offset/8);
 
-int connectib_port_settings_size(void){
-	 return 4;
-}
+	offset = 1344;
+	connectib_pci_cfg_type1_header_pack(&(ptr_struct->type1_cfg_hdr), ptr_buff + offset/8);
 
-void connectib_port_settings_dump(const struct connectib_port_settings *ptr_struct, FILE* file) {
-	connectib_port_settings_print(ptr_struct, file, 0);
 }
 
-void connectib_phy_lcl_ini_pack(const struct connectib_phy_lcl_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pci_cfg_space_unpack(struct connectib_pci_cfg_space *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->PlaceHolder);
+	offset = 0;
+	connectib_pci_cfg_type0_header_unpack(&(ptr_struct->cfg_hdr), ptr_buff + offset/8);
 
-}
+	offset = 512;
+	connectib_pci_power_management_cap_unpack(&(ptr_struct->power_management), ptr_buff + offset/8);
 
-void connectib_phy_lcl_ini_unpack(struct connectib_phy_lcl_ini *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 576;
+	connectib_vpd_cap_unpack(&(ptr_struct->vpd), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->PlaceHolder = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 640;
+	ptr_struct->image_status = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 704;
+	ptr_struct->cr_addr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 736;
+	ptr_struct->cr_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 768;
+	connectib_pciex_cap_block_unpack(&(ptr_struct->pciex_cap_block), ptr_buff + offset/8);
+
+	offset = 1248;
+	connectib_msix_cap_unpack(&(ptr_struct->msix), ptr_buff + offset/8);
+
+	offset = 1344;
+	connectib_pci_cfg_type1_header_unpack(&(ptr_struct->type1_cfg_hdr), ptr_buff + offset/8);
 
 }
 
-void connectib_phy_lcl_ini_print(const struct connectib_phy_lcl_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_pci_cfg_space_print(const struct connectib_pci_cfg_space *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_phy_lcl_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pci_cfg_space ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "PlaceHolder          : "U32H_FMT"\n", ptr_struct->PlaceHolder);
-
-}
+	fprintf(file, "cfg_hdr:\n");
+	connectib_pci_cfg_type0_header_print(&(ptr_struct->cfg_hdr), file, indent_level + 1);
 
-int connectib_phy_lcl_ini_size(void){
-	 return 4;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "power_management:\n");
+	connectib_pci_power_management_cap_print(&(ptr_struct->power_management), file, indent_level + 1);
 
-void connectib_phy_lcl_ini_dump(const struct connectib_phy_lcl_ini *ptr_struct, FILE* file) {
-	connectib_phy_lcl_ini_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vpd:\n");
+	connectib_vpd_cap_print(&(ptr_struct->vpd), file, indent_level + 1);
 
-void connectib_port_cap_mask1_pack(const union connectib_port_cap_mask1 *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_dword_val_pack(&(ptr_struct->dword), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "image_status         : " U32H_FMT "\n", ptr_struct->image_status);
 
-void connectib_port_cap_mask1_unpack(union connectib_port_cap_mask1 *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_dword_val_unpack(&(ptr_struct->dword), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cr_addr              : " U32H_FMT "\n", ptr_struct->cr_addr);
 
-void connectib_port_cap_mask1_print(const union connectib_port_cap_mask1 *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_port_cap_mask1 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "cr_data              : " U32H_FMT "\n", ptr_struct->cr_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fields:\n");
-	connectib_port_cap_mask1_fields_print(&(ptr_struct->fields), file, indent_level + 1);
+	fprintf(file, "pciex_cap_block:\n");
+	connectib_pciex_cap_block_print(&(ptr_struct->pciex_cap_block), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword:\n");
-	connectib_dword_val_print(&(ptr_struct->dword), file, indent_level + 1);
+	fprintf(file, "msix:\n");
+	connectib_msix_cap_print(&(ptr_struct->msix), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type1_cfg_hdr:\n");
+	connectib_pci_cfg_type1_header_print(&(ptr_struct->type1_cfg_hdr), file, indent_level + 1);
 
 }
 
-int connectib_port_cap_mask1_size(void){
-	 return 4;
+int connectib_pci_cfg_space_size(void)
+{
+	 return 256;
 }
 
-void connectib_port_cap_mask1_dump(const union connectib_port_cap_mask1 *ptr_struct, FILE* file) {
-	connectib_port_cap_mask1_print(ptr_struct, file, 0);
+void connectib_pci_cfg_space_dump(const struct connectib_pci_cfg_space *ptr_struct, FILE* file)
+{
+	connectib_pci_cfg_space_print(ptr_struct, file, 0);
 }
 
-void connectib_reset_version_pack(const struct connectib_reset_version *ptr_struct, u_int8_t* ptr_buff){
+void connectib_logger_init_info_pack(const struct connectib_logger_init_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->cfg_request_mask);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->minor);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->splix_mask);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->major);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->writes_amount);
 
 }
 
-void connectib_reset_version_unpack(struct connectib_reset_version *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_logger_init_info_unpack(struct connectib_logger_init_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 17;
+	ptr_struct->cfg_request_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
 
-	offset=16;
-	ptr_struct->minor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 7;
+	ptr_struct->splix_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=0;
-	ptr_struct->major = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 1;
+	ptr_struct->writes_amount = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
 }
 
-void connectib_reset_version_print(const struct connectib_reset_version *ptr_struct, FILE* file, int indent_level){
+void connectib_logger_init_info_print(const struct connectib_logger_init_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reset_version ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_logger_init_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "cfg_request_mask     : " UH_FMT "\n", ptr_struct->cfg_request_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor                : "UH_FMT"\n", ptr_struct->minor);
+	fprintf(file, "splix_mask           : " UH_FMT "\n", ptr_struct->splix_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major                : "UH_FMT"\n", ptr_struct->major);
+	fprintf(file, "writes_amount        : " UH_FMT "\n", ptr_struct->writes_amount);
 
 }
 
-int connectib_reset_version_size(void){
+int connectib_logger_init_info_size(void)
+{
 	 return 4;
 }
 
-void connectib_reset_version_dump(const struct connectib_reset_version *ptr_struct, FILE* file) {
-	connectib_reset_version_print(ptr_struct, file, 0);
+void connectib_logger_init_info_dump(const struct connectib_logger_init_info *ptr_struct, FILE* file)
+{
+	connectib_logger_init_info_print(ptr_struct, file, 0);
+}
+
+void connectib_fw_block_behavior_pack(const union connectib_fw_block_behavior *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_fw_block_behavior_fields_pack(&(ptr_struct->fields), ptr_buff);
+}
+
+void connectib_fw_block_behavior_unpack(union connectib_fw_block_behavior *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_fw_block_behavior_fields_unpack(&(ptr_struct->fields), ptr_buff);
+}
+
+void connectib_fw_block_behavior_print(const union connectib_fw_block_behavior *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_fw_block_behavior ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dw:\n");
+	connectib_fw_block_behavior_dw_print(&(ptr_struct->dw), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fields:\n");
+	connectib_fw_block_behavior_fields_print(&(ptr_struct->fields), file, indent_level + 1);
+
+}
+
+int connectib_fw_block_behavior_size(void)
+{
+	 return 4;
+}
+
+void connectib_fw_block_behavior_dump(const union connectib_fw_block_behavior *ptr_struct, FILE* file)
+{
+	connectib_fw_block_behavior_print(ptr_struct, file, 0);
 }
 
-void connectib_mac_address_layout_pack(const struct connectib_mac_address_layout *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_main_fw_data_pack(const struct connectib_nv_config_main_fw_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->mac_addr_47_32);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 2048, i, 6144, 1);
+	connectib_port_settings_pack(&(ptr_struct->port[i]), ptr_buff + offset/8);
+	}
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mac_addr_31_0);
+	offset = 4096;
+	connectib_nv_config_global_main_pack(&(ptr_struct->global), ptr_buff + offset/8);
+
+	offset = 5120;
+	connectib_nv_config_host_func_main_pack(&(ptr_struct->host_func_pf_order), ptr_buff + offset/8);
 
 }
 
-void connectib_mac_address_layout_unpack(struct connectib_mac_address_layout *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_config_main_fw_data_unpack(struct connectib_nv_config_main_fw_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->mac_addr_47_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 2048, i, 6144, 1);
+	connectib_port_settings_unpack(&(ptr_struct->port[i]), ptr_buff + offset/8);
+	}
 
-	offset=32;
-	ptr_struct->mac_addr_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 4096;
+	connectib_nv_config_global_main_unpack(&(ptr_struct->global), ptr_buff + offset/8);
+
+	offset = 5120;
+	connectib_nv_config_host_func_main_unpack(&(ptr_struct->host_func_pf_order), ptr_buff + offset/8);
 
 }
 
-void connectib_mac_address_layout_print(const struct connectib_mac_address_layout *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_config_main_fw_data_print(const struct connectib_nv_config_main_fw_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_mac_address_layout ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_config_main_fw_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 2; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_%03d:\n", i);
+	connectib_port_settings_print(&(ptr_struct->port[i]), file, indent_level + 1);
+	}
+
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mac_addr_47_32       : "UH_FMT"\n", ptr_struct->mac_addr_47_32);
+	fprintf(file, "global:\n");
+	connectib_nv_config_global_main_print(&(ptr_struct->global), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mac_addr_31_0        : "U32H_FMT"\n", ptr_struct->mac_addr_31_0);
+	fprintf(file, "host_func_pf_order:\n");
+	connectib_nv_config_host_func_main_print(&(ptr_struct->host_func_pf_order), file, indent_level + 1);
 
 }
 
-int connectib_mac_address_layout_size(void){
-	 return 8;
+int connectib_nv_config_main_fw_data_size(void)
+{
+	 return 768;
 }
 
-void connectib_mac_address_layout_dump(const struct connectib_mac_address_layout *ptr_struct, FILE* file) {
-	connectib_mac_address_layout_print(ptr_struct, file, 0);
+void connectib_nv_config_main_fw_data_dump(const struct connectib_nv_config_main_fw_data *ptr_struct, FILE* file)
+{
+	connectib_nv_config_main_fw_data_print(ptr_struct, file, 0);
 }
 
-void connectib_resource_type_entry_pack(const struct connectib_resource_type_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phy_fw_main_config_ip_pack(const struct connectib_phy_fw_main_config_ip *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->type);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->locked);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->PlaceHolder);
 
 }
 
-void connectib_resource_type_entry_unpack(struct connectib_resource_type_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_phy_fw_main_config_ip_unpack(struct connectib_phy_fw_main_config_ip *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->type = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=0;
-	ptr_struct->locked = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->PlaceHolder = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_resource_type_entry_print(const struct connectib_resource_type_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_phy_fw_main_config_ip_print(const struct connectib_phy_fw_main_config_ip *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_resource_type_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_phy_fw_main_config_ip ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "UH_FMT"\n", ptr_struct->type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "locked               : "UH_FMT"\n", ptr_struct->locked);
+	fprintf(file, "PlaceHolder          : " U32H_FMT "\n", ptr_struct->PlaceHolder);
 
 }
 
-int connectib_resource_type_entry_size(void){
-	 return 4;
+int connectib_phy_fw_main_config_ip_size(void)
+{
+	 return 384;
 }
 
-void connectib_resource_type_entry_dump(const struct connectib_resource_type_entry *ptr_struct, FILE* file) {
-	connectib_resource_type_entry_print(ptr_struct, file, 0);
+void connectib_phy_fw_main_config_ip_dump(const struct connectib_phy_fw_main_config_ip *ptr_struct, FILE* file)
+{
+	connectib_phy_fw_main_config_ip_print(ptr_struct, file, 0);
 }
 
-void connectib_index_and_length_pack(const struct connectib_index_and_length *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phy_fw_main_config_golan_pack(const struct connectib_phy_fw_main_config_golan *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->index);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->length);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1856, 1);
+	connectib_phy_lcl_ini_pack(&(ptr_struct->lcl[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_index_and_length_unpack(struct connectib_index_and_length *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_phy_fw_main_config_golan_unpack(struct connectib_phy_fw_main_config_golan *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->index = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
-
-	offset=64;
-	ptr_struct->length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1856, 1);
+	connectib_phy_lcl_ini_unpack(&(ptr_struct->lcl[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_index_and_length_print(const struct connectib_index_and_length *ptr_struct, FILE* file, int indent_level){
+void connectib_phy_fw_main_config_golan_print(const struct connectib_phy_fw_main_config_golan *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_index_and_length ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_phy_fw_main_config_golan ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "index                : "U64H_FMT"\n", ptr_struct->index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "length               : "U32H_FMT"\n", ptr_struct->length);
+	fprintf(file, "lcl_%03d:\n", i);
+	connectib_phy_lcl_ini_print(&(ptr_struct->lcl[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_index_and_length_size(void){
-	 return 16;
+int connectib_phy_fw_main_config_golan_size(void)
+{
+	 return 232;
 }
 
-void connectib_index_and_length_dump(const struct connectib_index_and_length *ptr_struct, FILE* file) {
-	connectib_index_and_length_print(ptr_struct, file, 0);
+void connectib_phy_fw_main_config_golan_dump(const struct connectib_phy_fw_main_config_golan *ptr_struct, FILE* file)
+{
+	connectib_phy_fw_main_config_golan_print(ptr_struct, file, 0);
 }
 
-void connectib_dest_format_struct_pack(const struct connectib_dest_format_struct *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wol_cap_host_port_pack(const struct connectib_wol_cap_host_port *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->destination_id);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->destination_type);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->magic_packet);
 
 }
 
-void connectib_dest_format_struct_unpack(struct connectib_dest_format_struct *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wol_cap_host_port_unpack(struct connectib_wol_cap_host_port *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->destination_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=0;
-	ptr_struct->destination_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 24;
+	ptr_struct->magic_packet = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_dest_format_struct_print(const struct connectib_dest_format_struct *ptr_struct, FILE* file, int indent_level){
+void connectib_wol_cap_host_port_print(const struct connectib_wol_cap_host_port *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dest_format_struct ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wol_cap_host_port ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "destination_id       : "UH_FMT"\n", ptr_struct->destination_id);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "destination_type     : %s ("UH_FMT")\n", (ptr_struct->destination_type == 1 ? ("FLOW_TABLE_") : ((ptr_struct->destination_type == 2 ? ("TIR") : ("unknown")))), ptr_struct->destination_type);
+	fprintf(file, "magic_packet         : " UH_FMT "\n", ptr_struct->magic_packet);
 
 }
 
-int connectib_dest_format_struct_size(void){
-	 return 8;
+int connectib_wol_cap_host_port_size(void)
+{
+	 return 4;
 }
 
-void connectib_dest_format_struct_dump(const struct connectib_dest_format_struct *ptr_struct, FILE* file) {
-	connectib_dest_format_struct_print(ptr_struct, file, 0);
+void connectib_wol_cap_host_port_dump(const struct connectib_wol_cap_host_port *ptr_struct, FILE* file)
+{
+	connectib_wol_cap_host_port_print(ptr_struct, file, 0);
 }
 
-void connectib_flow_table_entry_match_set_lyr_2_4_pack(const struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ibm_thermal_config_pack(const struct connectib_ibm_thermal_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->smac_47_16);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ethertype);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->smac_15_0);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dmac_47_16);
-
-	offset=116;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->first_vid);
-
-	offset=115;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first_cfi);
-
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->first_prio);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dmac_15_0);
-
-	offset=151;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->tcp_flags);
-
-	offset=146;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frag);
-
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vlan_tag);
-
-	offset=142;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ip_ecn);
-
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->ip_dscp);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ip_protocol);
-
-	offset=176;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->tcp_dport);
-
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->tcp_sport);
-
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->udp_dport);
-
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->udp_sport);
-
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->src_ip_127_96);
-
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->src_ip_95_64);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->src_ip_63_32);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->thermal_threshold_tcontrol);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->src_ip_31_0);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->thermal_threshold_tcontrol_low);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dst_ip_127_96);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->thermal_threshold_twarning);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dst_ip_95_64);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->thermal_threshold_twarning_low);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dst_ip_63_32);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->thermal_threshold_tcritical);
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dst_ip_31_0);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->thermal_threshold_tcritical_low);
 
 }
 
-void connectib_flow_table_entry_match_set_lyr_2_4_unpack(struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ibm_thermal_config_unpack(struct connectib_ibm_thermal_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->smac_47_16 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=48;
-	ptr_struct->ethertype = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=32;
-	ptr_struct->smac_15_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=64;
-	ptr_struct->dmac_47_16 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=116;
-	ptr_struct->first_vid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
-
-	offset=115;
-	ptr_struct->first_cfi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=112;
-	ptr_struct->first_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=96;
-	ptr_struct->dmac_15_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=151;
-	ptr_struct->tcp_flags = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
-
-	offset=146;
-	ptr_struct->frag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=144;
-	ptr_struct->vlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=142;
-	ptr_struct->ip_ecn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=136;
-	ptr_struct->ip_dscp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=128;
-	ptr_struct->ip_protocol = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=176;
-	ptr_struct->tcp_dport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=160;
-	ptr_struct->tcp_sport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=240;
-	ptr_struct->udp_dport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=224;
-	ptr_struct->udp_sport = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=256;
-	ptr_struct->src_ip_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=288;
-	ptr_struct->src_ip_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 31;
+	ptr_struct->enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=320;
-	ptr_struct->src_ip_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->thermal_threshold_tcontrol = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
-	ptr_struct->src_ip_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	ptr_struct->thermal_threshold_tcontrol_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
-	ptr_struct->dst_ip_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	ptr_struct->thermal_threshold_twarning = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=416;
-	ptr_struct->dst_ip_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	ptr_struct->thermal_threshold_twarning_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=448;
-	ptr_struct->dst_ip_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	ptr_struct->thermal_threshold_tcritical = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=480;
-	ptr_struct->dst_ip_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	ptr_struct->thermal_threshold_tcritical_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_flow_table_entry_match_set_lyr_2_4_print(const struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, FILE* file, int indent_level){
+void connectib_ibm_thermal_config_print(const struct connectib_ibm_thermal_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_flow_table_entry_match_set_lyr_2_4 ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ibm_thermal_config ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "smac_47_16           : "U32H_FMT"\n", ptr_struct->smac_47_16);
+	fprintf(file, "enable               : " UH_FMT "\n", ptr_struct->enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ethertype            : "UH_FMT"\n", ptr_struct->ethertype);
+	fprintf(file, "thermal_threshold_tcontrol : " U32H_FMT "\n", ptr_struct->thermal_threshold_tcontrol);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "smac_15_0            : "UH_FMT"\n", ptr_struct->smac_15_0);
+	fprintf(file, "thermal_threshold_tcontrol_low : " U32H_FMT "\n", ptr_struct->thermal_threshold_tcontrol_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dmac_47_16           : "U32H_FMT"\n", ptr_struct->dmac_47_16);
+	fprintf(file, "thermal_threshold_twarning : " U32H_FMT "\n", ptr_struct->thermal_threshold_twarning);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_vid            : "UH_FMT"\n", ptr_struct->first_vid);
+	fprintf(file, "thermal_threshold_twarning_low : " U32H_FMT "\n", ptr_struct->thermal_threshold_twarning_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_cfi            : "UH_FMT"\n", ptr_struct->first_cfi);
+	fprintf(file, "thermal_threshold_tcritical : " U32H_FMT "\n", ptr_struct->thermal_threshold_tcritical);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_prio           : "UH_FMT"\n", ptr_struct->first_prio);
+	fprintf(file, "thermal_threshold_tcritical_low : " U32H_FMT "\n", ptr_struct->thermal_threshold_tcritical_low);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dmac_15_0            : "UH_FMT"\n", ptr_struct->dmac_15_0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcp_flags            : "UH_FMT"\n", ptr_struct->tcp_flags);
+int connectib_ibm_thermal_config_size(void)
+{
+	 return 28;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "frag                 : "UH_FMT"\n", ptr_struct->frag);
+void connectib_ibm_thermal_config_dump(const struct connectib_ibm_thermal_config *ptr_struct, FILE* file)
+{
+	connectib_ibm_thermal_config_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vlan_tag             : "UH_FMT"\n", ptr_struct->vlan_tag);
+void connectib_ocsd_config_pack(const struct connectib_ocsd_config *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ip_ecn               : "UH_FMT"\n", ptr_struct->ip_ecn);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ip_dscp              : "UH_FMT"\n", ptr_struct->ip_dscp);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->internal_caution_threshold);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ip_protocol          : "UH_FMT"\n", ptr_struct->ip_protocol);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extrenal_caution_threshold);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcp_dport            : "UH_FMT"\n", ptr_struct->tcp_dport);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->internal_max_cont_threshold);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tcp_sport            : "UH_FMT"\n", ptr_struct->tcp_sport);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->external_max_cont_threshold);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "udp_dport            : "UH_FMT"\n", ptr_struct->udp_dport);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "udp_sport            : "UH_FMT"\n", ptr_struct->udp_sport);
+void connectib_ocsd_config_unpack(struct connectib_ocsd_config *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "src_ip_127_96        : "U32H_FMT"\n", ptr_struct->src_ip_127_96);
+	offset = 31;
+	ptr_struct->enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "src_ip_95_64         : "U32H_FMT"\n", ptr_struct->src_ip_95_64);
+	offset = 32;
+	ptr_struct->internal_caution_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->extrenal_caution_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->internal_max_cont_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->external_max_cont_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
 
+void connectib_ocsd_config_print(const struct connectib_ocsd_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "src_ip_63_32         : "U32H_FMT"\n", ptr_struct->src_ip_63_32);
+	fprintf(file, "======== connectib_ocsd_config ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "src_ip_31_0          : "U32H_FMT"\n", ptr_struct->src_ip_31_0);
+	fprintf(file, "enable               : " UH_FMT "\n", ptr_struct->enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dst_ip_127_96        : "U32H_FMT"\n", ptr_struct->dst_ip_127_96);
+	fprintf(file, "internal_caution_threshold : " U32H_FMT "\n", ptr_struct->internal_caution_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dst_ip_95_64         : "U32H_FMT"\n", ptr_struct->dst_ip_95_64);
+	fprintf(file, "extrenal_caution_threshold : " U32H_FMT "\n", ptr_struct->extrenal_caution_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dst_ip_63_32         : "U32H_FMT"\n", ptr_struct->dst_ip_63_32);
+	fprintf(file, "internal_max_cont_threshold : " U32H_FMT "\n", ptr_struct->internal_max_cont_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dst_ip_31_0          : "U32H_FMT"\n", ptr_struct->dst_ip_31_0);
+	fprintf(file, "external_max_cont_threshold : " U32H_FMT "\n", ptr_struct->external_max_cont_threshold);
 
 }
 
-int connectib_flow_table_entry_match_set_lyr_2_4_size(void){
-	 return 64;
+int connectib_ocsd_config_size(void)
+{
+	 return 20;
 }
 
-void connectib_flow_table_entry_match_set_lyr_2_4_dump(const struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, FILE* file) {
-	connectib_flow_table_entry_match_set_lyr_2_4_print(ptr_struct, file, 0);
+void connectib_ocsd_config_dump(const struct connectib_ocsd_config *ptr_struct, FILE* file)
+{
+	connectib_ocsd_config_print(ptr_struct, file, 0);
 }
 
-void connectib_flow_table_entry_match_set_misc_pack(const struct connectib_flow_table_entry_match_set_misc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_vport0_ini_pack(const struct connectib_fw_vport0_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->source_port);
-
-	offset=84;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->inner_second_vid);
-
-	offset=83;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->inner_second_cfi);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->inner_second_prio);
-
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->outer_second_vid);
-
-	offset=67;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->outer_second_cfi);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->outer_second_prio);
-
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gre_protocol);
-
-	offset=97;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->inner_second_vlan_tag);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->outer_second_vlan_tag);
-
-	offset=152;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->gre_key_l);
-
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->gre_key_h);
-
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->vxlan_vni);
-
-	offset=236;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->outer_ipv6_flow_label);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->partition_cap);
 
-	offset=268;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->inner_ipv6_flow_label);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_guid_cap);
 
 }
 
-void connectib_flow_table_entry_match_set_misc_unpack(struct connectib_flow_table_entry_match_set_misc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_vport0_ini_unpack(struct connectib_fw_vport0_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=48;
-	ptr_struct->source_port = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=84;
-	ptr_struct->inner_second_vid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
-
-	offset=83;
-	ptr_struct->inner_second_cfi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=80;
-	ptr_struct->inner_second_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=68;
-	ptr_struct->outer_second_vid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
-
-	offset=67;
-	ptr_struct->outer_second_cfi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=64;
-	ptr_struct->outer_second_prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=112;
-	ptr_struct->gre_protocol = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=97;
-	ptr_struct->inner_second_vlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=96;
-	ptr_struct->outer_second_vlan_tag = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=152;
-	ptr_struct->gre_key_l = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=128;
-	ptr_struct->gre_key_h = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=160;
-	ptr_struct->vxlan_vni = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=236;
-	ptr_struct->outer_ipv6_flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+	offset = 16;
+	ptr_struct->partition_cap = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=268;
-	ptr_struct->inner_ipv6_flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
+	offset = 0;
+	ptr_struct->log_guid_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_flow_table_entry_match_set_misc_print(const struct connectib_flow_table_entry_match_set_misc *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_vport0_ini_print(const struct connectib_fw_vport0_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_flow_table_entry_match_set_misc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_vport0_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "source_port          : "UH_FMT"\n", ptr_struct->source_port);
+	fprintf(file, "partition_cap        : " UH_FMT "\n", ptr_struct->partition_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inner_second_vid     : "UH_FMT"\n", ptr_struct->inner_second_vid);
+	fprintf(file, "log_guid_cap         : " UH_FMT "\n", ptr_struct->log_guid_cap);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inner_second_cfi     : "UH_FMT"\n", ptr_struct->inner_second_cfi);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inner_second_prio    : "UH_FMT"\n", ptr_struct->inner_second_prio);
+int connectib_fw_vport0_ini_size(void)
+{
+	 return 4;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "outer_second_vid     : "UH_FMT"\n", ptr_struct->outer_second_vid);
+void connectib_fw_vport0_ini_dump(const struct connectib_fw_vport0_ini *ptr_struct, FILE* file)
+{
+	connectib_fw_vport0_ini_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "outer_second_cfi     : "UH_FMT"\n", ptr_struct->outer_second_cfi);
+void connectib_extended_port_info_ini_pack(const struct connectib_extended_port_info_ini *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "outer_second_prio    : "UH_FMT"\n", ptr_struct->outer_second_prio);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_speed_supported);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gre_protocol         : "UH_FMT"\n", ptr_struct->gre_protocol);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_speed_enabled);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inner_second_vlan_tag : "UH_FMT"\n", ptr_struct->inner_second_vlan_tag);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_64_byte_cell_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "outer_second_vlan_tag : "UH_FMT"\n", ptr_struct->outer_second_vlan_tag);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_128_byte_cell_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gre_key_l            : "UH_FMT"\n", ptr_struct->gre_key_l);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_up_after_boot);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gre_key_h            : "UH_FMT"\n", ptr_struct->gre_key_h);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vxlan_vni            : "UH_FMT"\n", ptr_struct->vxlan_vni);
+void connectib_extended_port_info_ini_unpack(struct connectib_extended_port_info_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "outer_ipv6_flow_label : "UH_FMT"\n", ptr_struct->outer_ipv6_flow_label);
+	offset = 24;
+	ptr_struct->link_speed_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inner_ipv6_flow_label : "UH_FMT"\n", ptr_struct->inner_ipv6_flow_label);
+	offset = 16;
+	ptr_struct->link_speed_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-}
+	offset = 15;
+	ptr_struct->llr_64_byte_cell_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-int connectib_flow_table_entry_match_set_misc_size(void){
-	 return 64;
-}
+	offset = 14;
+	ptr_struct->llr_128_byte_cell_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_flow_table_entry_match_set_misc_dump(const struct connectib_flow_table_entry_match_set_misc *ptr_struct, FILE* file) {
-	connectib_flow_table_entry_match_set_misc_print(ptr_struct, file, 0);
-}
+	offset = 13;
+	ptr_struct->link_up_after_boot = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_pack(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_gr [...]
-{
-	connectib_ib_port_counters_pack(&(ptr_struct->ib_port_counters), ptr_buff);
 }
 
-void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_unpack(union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_da [...]
+void connectib_extended_port_info_ini_print(const struct connectib_extended_port_info_ini *ptr_struct, FILE* file, int indent_level)
 {
-	connectib_ib_port_counters_unpack(&(ptr_struct->ib_port_counters), ptr_buff);
-}
-
-void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_print(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_g [...]
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_extended_port_info_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_802_3_cntrs_grp_data_layout:\n");
-	connectib_eth_802_3_cntrs_grp_data_layout_print(&(ptr_struct->eth_802_3_cntrs_grp_data_layout), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_2863_cntrs_grp_data_layout:\n");
-	connectib_eth_2863_cntrs_grp_data_layout_print(&(ptr_struct->eth_2863_cntrs_grp_data_layout), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_2819_cntrs_grp_data_layout:\n");
-	connectib_eth_2819_cntrs_grp_data_layout_print(&(ptr_struct->eth_2819_cntrs_grp_data_layout), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_3635_cntrs_grp_data_layout:\n");
-	connectib_eth_3635_cntrs_grp_data_layout_print(&(ptr_struct->eth_3635_cntrs_grp_data_layout), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_extended_cntrs_grp_data_layout:\n");
-	connectib_eth_extended_cntrs_grp_data_layout_print(&(ptr_struct->eth_extended_cntrs_grp_data_layout), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_per_prio_grp_data_layout:\n");
-	connectib_eth_per_prio_grp_data_layout_print(&(ptr_struct->eth_per_prio_grp_data_layout), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_per_traffic_grp_data_layout:\n");
-	connectib_eth_per_traffic_grp_data_layout_print(&(ptr_struct->eth_per_traffic_grp_data_layout), file, indent_level + 1);
+	fprintf(file, "link_speed_supported : " UH_FMT "\n", ptr_struct->link_speed_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phys_layer_cntrs:\n");
-	connectib_phys_layer_cntrs_print(&(ptr_struct->phys_layer_cntrs), file, indent_level + 1);
+	fprintf(file, "link_speed_enabled   : " UH_FMT "\n", ptr_struct->link_speed_enabled);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "discard:\n");
-	connectib_discard_cntrs_grp_data_print(&(ptr_struct->discard), file, indent_level + 1);
+	fprintf(file, "llr_64_byte_cell_size : " UH_FMT "\n", ptr_struct->llr_64_byte_cell_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_counters:\n");
-	connectib_llr_counters_print(&(ptr_struct->llr_counters), file, indent_level + 1);
+	fprintf(file, "llr_128_byte_cell_size : " UH_FMT "\n", ptr_struct->llr_128_byte_cell_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_port_counters:\n");
-	connectib_ib_port_counters_print(&(ptr_struct->ib_port_counters), file, indent_level + 1);
+	fprintf(file, "link_up_after_boot   : " UH_FMT "\n", ptr_struct->link_up_after_boot);
 
 }
 
-int connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_size(void){
-	 return 248;
+int connectib_extended_port_info_ini_size(void)
+{
+	 return 4;
 }
 
-void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_dump(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_gr [...]
-	connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_print(ptr_struct, file, 0);
+void connectib_extended_port_info_ini_dump(const struct connectib_extended_port_info_ini *ptr_struct, FILE* file)
+{
+	connectib_extended_port_info_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_vport_ctx_pack(const struct connectib_fw_vport_ctx *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ib_port_info_ini_pack(const struct connectib_ib_port_info_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->esw_state);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_mask2);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->nic_state);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->diag_code);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->connected_2_steering);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->link_roundtrip_lat);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->event_mask);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_credit_hint);
 
-}
+	offset = 96;
+	connectib_port_cap_mask1_pack(&(ptr_struct->cap_mask), ptr_buff + offset/8);
 
-void connectib_fw_vport_ctx_unpack(struct connectib_fw_vport_ctx *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_width_sup);
 
-	offset=14;
-	ptr_struct->esw_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_width_ena);
 
-	offset=11;
-	ptr_struct->nic_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 140;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_speed_ena);
 
-	offset=8;
-	ptr_struct->connected_2_steering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->down_def_state);
 
-	offset=0;
-	ptr_struct->event_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 132;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_speed_sup);
 
-}
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->init_type);
 
-void connectib_fw_vport_ctx_print(const struct connectib_fw_vport_ctx *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_vport_ctx ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 184;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vl_arb_high_cap);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "esw_state            : "UH_FMT"\n", ptr_struct->esw_state);
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vl_high_limit);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nic_state            : "UH_FMT"\n", ptr_struct->nic_state);
+	offset = 164;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vl_arb_low_cap);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected_2_steering : "UH_FMT"\n", ptr_struct->connected_2_steering);
+	offset = 160;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->operational_vl);
+
+	offset = 220;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->neighbor_mtu);
+
+	offset = 216;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mtu_cap);
+
+	offset = 214;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->mc_pkey_trap_suppress_en);
+
+	offset = 206;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->guid_cap);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "event_mask           : "UH_FMT"\n", ptr_struct->event_mask);
+	offset = 201;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->resp_time_value);
 
-}
+	offset = 196;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->link_speed_ext_ena);
 
-int connectib_fw_vport_ctx_size(void){
-	 return 2;
-}
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_speed_ext_sup);
 
-void connectib_fw_vport_ctx_dump(const struct connectib_fw_vport_ctx *ptr_struct, FILE* file) {
-	connectib_fw_vport_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_vf_pages_list_pack(const struct connectib_vf_pages_list *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ib_port_info_ini_unpack(struct connectib_ib_port_info_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 512, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->pages[i]);
-	}
+	offset = 16;
+	ptr_struct->cap_mask2 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-}
+	offset = 0;
+	ptr_struct->diag_code = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_vf_pages_list_unpack(struct connectib_vf_pages_list *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 40;
+	ptr_struct->link_roundtrip_lat = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 512, 1);
-	ptr_struct->pages[i] = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
-	}
+	offset = 80;
+	ptr_struct->max_credit_hint = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-}
+	offset = 96;
+	connectib_port_cap_mask1_unpack(&(ptr_struct->cap_mask), ptr_buff + offset/8);
 
-void connectib_vf_pages_list_print(const struct connectib_vf_pages_list *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_vf_pages_list ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 152;
+	ptr_struct->link_width_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 8; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pages_%03d           : "U64H_FMT"\n", i, ptr_struct->pages[i]);
-	}
+	offset = 144;
+	ptr_struct->link_width_ena = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-}
+	offset = 140;
+	ptr_struct->link_speed_ena = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-int connectib_vf_pages_list_size(void){
-	 return 64;
-}
+	offset = 136;
+	ptr_struct->down_def_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-void connectib_vf_pages_list_dump(const struct connectib_vf_pages_list *ptr_struct, FILE* file) {
-	connectib_vf_pages_list_print(ptr_struct, file, 0);
-}
+	offset = 132;
+	ptr_struct->link_speed_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-void connectib_icm_page_manager_pack(const struct connectib_icm_page_manager *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 128;
+	ptr_struct->init_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->page_list);
+	offset = 184;
+	ptr_struct->vl_arb_high_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->free_count);
+	offset = 176;
+	ptr_struct->vl_high_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->used_count);
+	offset = 164;
+	ptr_struct->vl_arb_low_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->page_list_length);
+	offset = 160;
+	ptr_struct->operational_vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=191;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lock);
+	offset = 220;
+	ptr_struct->neighbor_mtu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=190;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->event_pending);
+	offset = 216;
+	ptr_struct->mtu_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=189;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->driver_refused);
+	offset = 214;
+	ptr_struct->mc_pkey_trap_suppress_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=187;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->state);
+	offset = 206;
+	ptr_struct->guid_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=186;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+	offset = 201;
+	ptr_struct->resp_time_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_vf_pages);
+	offset = 196;
+	ptr_struct->link_speed_ext_ena = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vf_page_ix);
+	offset = 192;
+	ptr_struct->link_speed_ext_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icm_page_manager_unpack(struct connectib_icm_page_manager *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_ib_port_info_ini_print(const struct connectib_ib_port_info_ini *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_ib_port_info_ini ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	ptr_struct->page_list = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
-
-	offset=64;
-	ptr_struct->free_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	(void)file;
+	(void)indent_level;
 
-	offset=96;
-	ptr_struct->used_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_mask2            : " UH_FMT "\n", ptr_struct->cap_mask2);
 
-	offset=128;
-	ptr_struct->page_list_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "diag_code            : " UH_FMT "\n", ptr_struct->diag_code);
 
-	offset=191;
-	ptr_struct->lock = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_roundtrip_lat   : " UH_FMT "\n", ptr_struct->link_roundtrip_lat);
 
-	offset=190;
-	ptr_struct->event_pending = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_credit_hint      : " UH_FMT "\n", ptr_struct->max_credit_hint);
 
-	offset=189;
-	ptr_struct->driver_refused = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_mask:\n");
+	connectib_port_cap_mask1_print(&(ptr_struct->cap_mask), file, indent_level + 1);
 
-	offset=187;
-	ptr_struct->state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_width_sup       : " UH_FMT "\n", ptr_struct->link_width_sup);
 
-	offset=186;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_width_ena       : " UH_FMT "\n", ptr_struct->link_width_ena);
 
-	offset=168;
-	ptr_struct->num_vf_pages = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_speed_ena       : " UH_FMT "\n", ptr_struct->link_speed_ena);
 
-	offset=160;
-	ptr_struct->vf_page_ix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "down_def_state       : " UH_FMT "\n", ptr_struct->down_def_state);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "link_speed_sup       : " UH_FMT "\n", ptr_struct->link_speed_sup);
 
-void connectib_icm_page_manager_print(const struct connectib_icm_page_manager *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icm_page_manager ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "init_type            : " UH_FMT "\n", ptr_struct->init_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "page_list            : "U64H_FMT"\n", ptr_struct->page_list);
+	fprintf(file, "vl_arb_high_cap      : " UH_FMT "\n", ptr_struct->vl_arb_high_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "free_count           : "U32H_FMT"\n", ptr_struct->free_count);
+	fprintf(file, "vl_high_limit        : " UH_FMT "\n", ptr_struct->vl_high_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "used_count           : "U32H_FMT"\n", ptr_struct->used_count);
+	fprintf(file, "vl_arb_low_cap       : " UH_FMT "\n", ptr_struct->vl_arb_low_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "page_list_length     : "U32H_FMT"\n", ptr_struct->page_list_length);
+	fprintf(file, "operational_vl       : " UH_FMT "\n", ptr_struct->operational_vl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lock                 : "UH_FMT"\n", ptr_struct->lock);
+	fprintf(file, "neighbor_mtu         : " UH_FMT "\n", ptr_struct->neighbor_mtu);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "event_pending        : "UH_FMT"\n", ptr_struct->event_pending);
+	fprintf(file, "mtu_cap              : " UH_FMT "\n", ptr_struct->mtu_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "driver_refused       : "UH_FMT"\n", ptr_struct->driver_refused);
+	fprintf(file, "mc_pkey_trap_suppress_en : " UH_FMT "\n", ptr_struct->mc_pkey_trap_suppress_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "state                : "UH_FMT"\n", ptr_struct->state);
+	fprintf(file, "guid_cap             : " UH_FMT "\n", ptr_struct->guid_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "resp_time_value      : " UH_FMT "\n", ptr_struct->resp_time_value);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_vf_pages         : "UH_FMT"\n", ptr_struct->num_vf_pages);
+	fprintf(file, "link_speed_ext_ena   : " UH_FMT "\n", ptr_struct->link_speed_ext_ena);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_page_ix           : "UH_FMT"\n", ptr_struct->vf_page_ix);
+	fprintf(file, "link_speed_ext_sup   : " UH_FMT "\n", ptr_struct->link_speed_ext_sup);
 
 }
 
-int connectib_icm_page_manager_size(void){
-	 return 24;
+int connectib_ib_port_info_ini_size(void)
+{
+	 return 28;
 }
 
-void connectib_icm_page_manager_dump(const struct connectib_icm_page_manager *ptr_struct, FILE* file) {
-	connectib_icm_page_manager_print(ptr_struct, file, 0);
+void connectib_ib_port_info_ini_dump(const struct connectib_ib_port_info_ini *ptr_struct, FILE* file)
+{
+	connectib_ib_port_info_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_hca_params_pack(const struct connectib_hca_params *ptr_struct, u_int8_t* ptr_buff){
+void connectib_node_info_ini_pack(const struct connectib_node_info_ini *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->partition_cap);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->node_type);
 
-	offset=67;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_max_qp);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_version);
 
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->phy_port_owner);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->base_version);
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eswitch_owner);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->system_image_guid_hi);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dct);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->system_image_guid_lo);
 
-	offset=114;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_max_ra_res_qp);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->node_guid_hi);
 
-	offset=98;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_max_ra_req_qp);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->node_guid_lo);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_ports);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_guid_hi);
 
-	offset=176;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->log_uar_page_sz);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_guid_lo);
 
-	offset=170;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log_gid_table_size);
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_id);
+
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->partition_cap);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->revision);
 
-	offset=213;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->log_max_mac_uc_lst_sz);
+	offset = 296;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->vendor_id);
+
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port_num);
 
 }
 
-void connectib_hca_params_unpack(struct connectib_hca_params *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_node_info_ini_unpack(struct connectib_node_info_ini *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=80;
-	ptr_struct->partition_cap = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 16;
+	ptr_struct->node_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=67;
-	ptr_struct->log_max_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 8;
+	ptr_struct->class_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=66;
-	ptr_struct->phy_port_owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->base_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=65;
-	ptr_struct->eswitch_owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->system_image_guid_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->dct = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->system_image_guid_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=114;
-	ptr_struct->log_max_ra_res_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 96;
+	ptr_struct->node_guid_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=98;
-	ptr_struct->log_max_ra_req_qp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 128;
+	ptr_struct->node_guid_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=144;
-	ptr_struct->num_ports = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 160;
+	ptr_struct->port_guid_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=176;
-	ptr_struct->log_uar_page_sz = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 192;
+	ptr_struct->port_guid_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=170;
-	ptr_struct->log_gid_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 240;
+	ptr_struct->device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=213;
-	ptr_struct->log_max_mac_uc_lst_sz = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 224;
+	ptr_struct->partition_cap = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 256;
+	ptr_struct->revision = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 296;
+	ptr_struct->vendor_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 288;
+	ptr_struct->local_port_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_hca_params_print(const struct connectib_hca_params *ptr_struct, FILE* file, int indent_level){
+void connectib_node_info_ini_print(const struct connectib_node_info_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hca_params ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_node_info_ini ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "partition_cap        : "UH_FMT"\n", ptr_struct->partition_cap);
+	fprintf(file, "node_type            : " UH_FMT "\n", ptr_struct->node_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "class_version        : " UH_FMT "\n", ptr_struct->class_version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "base_version         : " UH_FMT "\n", ptr_struct->base_version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "system_image_guid_hi : " U32H_FMT "\n", ptr_struct->system_image_guid_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_qp           : "UH_FMT"\n", ptr_struct->log_max_qp);
+	fprintf(file, "system_image_guid_lo : " U32H_FMT "\n", ptr_struct->system_image_guid_lo);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy_port_owner       : "UH_FMT"\n", ptr_struct->phy_port_owner);
+	fprintf(file, "node_guid_hi         : " U32H_FMT "\n", ptr_struct->node_guid_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eswitch_owner        : "UH_FMT"\n", ptr_struct->eswitch_owner);
+	fprintf(file, "node_guid_lo         : " U32H_FMT "\n", ptr_struct->node_guid_lo);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct                  : "UH_FMT"\n", ptr_struct->dct);
+	fprintf(file, "port_guid_hi         : " U32H_FMT "\n", ptr_struct->port_guid_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_ra_res_qp    : "UH_FMT"\n", ptr_struct->log_max_ra_res_qp);
+	fprintf(file, "port_guid_lo         : " U32H_FMT "\n", ptr_struct->port_guid_lo);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_ra_req_qp    : "UH_FMT"\n", ptr_struct->log_max_ra_req_qp);
+	fprintf(file, "device_id            : " UH_FMT "\n", ptr_struct->device_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_ports            : "UH_FMT"\n", ptr_struct->num_ports);
+	fprintf(file, "partition_cap        : " UH_FMT "\n", ptr_struct->partition_cap);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_uar_page_sz      : "UH_FMT"\n", ptr_struct->log_uar_page_sz);
+	fprintf(file, "revision             : " U32H_FMT "\n", ptr_struct->revision);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_gid_table_size   : "UH_FMT"\n", ptr_struct->log_gid_table_size);
+	fprintf(file, "vendor_id            : " UH_FMT "\n", ptr_struct->vendor_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_mac_uc_lst_sz : "UH_FMT"\n", ptr_struct->log_max_mac_uc_lst_sz);
+	fprintf(file, "local_port_num       : " UH_FMT "\n", ptr_struct->local_port_num);
 
 }
 
-int connectib_hca_params_size(void){
-	 return 32;
+int connectib_node_info_ini_size(void)
+{
+	 return 64;
 }
 
-void connectib_hca_params_dump(const struct connectib_hca_params *ptr_struct, FILE* file) {
-	connectib_hca_params_print(ptr_struct, file, 0);
+void connectib_node_info_ini_dump(const struct connectib_node_info_ini *ptr_struct, FILE* file)
+{
+	connectib_node_info_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_dummy_addresses_one_cache_line_pack(const struct connectib_dummy_addresses_one_cache_line *ptr_struct, u_int8_t* ptr_buff){
+void connectib_led_port_blink_pattern_pack(const struct connectib_led_port_blink_pattern *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 512, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ix[i]);
-	}
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->phy_pattern);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->log_pattern);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->length);
 
 }
 
-void connectib_dummy_addresses_one_cache_line_unpack(struct connectib_dummy_addresses_one_cache_line *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_led_port_blink_pattern_unpack(struct connectib_led_port_blink_pattern *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 512, 1);
-	ptr_struct->ix[i] = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
-	}
+	offset = 16;
+	ptr_struct->phy_pattern = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->log_pattern = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 56;
+	ptr_struct->length = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_dummy_addresses_one_cache_line_print(const struct connectib_dummy_addresses_one_cache_line *ptr_struct, FILE* file, int indent_level){
+void connectib_led_port_blink_pattern_print(const struct connectib_led_port_blink_pattern *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dummy_addresses_one_cache_line ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_led_port_blink_pattern ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ix_%03d              : "U64H_FMT"\n", i, ptr_struct->ix[i]);
-	}
+	fprintf(file, "phy_pattern          : " UH_FMT "\n", ptr_struct->phy_pattern);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_pattern          : " UH_FMT "\n", ptr_struct->log_pattern);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "length               : " UH_FMT "\n", ptr_struct->length);
 
 }
 
-int connectib_dummy_addresses_one_cache_line_size(void){
-	 return 64;
+int connectib_led_port_blink_pattern_size(void)
+{
+	 return 8;
 }
 
-void connectib_dummy_addresses_one_cache_line_dump(const struct connectib_dummy_addresses_one_cache_line *ptr_struct, FILE* file) {
-	connectib_dummy_addresses_one_cache_line_print(ptr_struct, file, 0);
+void connectib_led_port_blink_pattern_dump(const struct connectib_led_port_blink_pattern *ptr_struct, FILE* file)
+{
+	connectib_led_port_blink_pattern_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_ctx_pack(const struct connectib_cmdif_ctx *ptr_struct, u_int8_t* ptr_buff){
+void connectib_uid_entry_pack(const struct connectib_uid_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->done_missions);
-
-	offset=39;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 25, (u_int32_t)ptr_struct->res_num);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cmd_valid);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->opcode);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->op_mod);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->allocated_pages);
-
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->needed_pages);
-
-	offset=160;
-	connectib_flush_type_pack(&(ptr_struct->flush_type), ptr_buff + offset/8);
-
-	offset=200;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->flush_qpn);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_allocated);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flush_synd);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->step);
 
-	offset=256;
-	connectib_cmdif_ctx_special_pack(&(ptr_struct->s), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->uid);
 
 }
 
-void connectib_cmdif_ctx_unpack(struct connectib_cmdif_ctx *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_uid_entry_unpack(struct connectib_uid_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->done_missions = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=39;
-	ptr_struct->res_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 25);
-
-	offset=32;
-	ptr_struct->cmd_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=80;
-	ptr_struct->opcode = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=64;
-	ptr_struct->op_mod = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=96;
-	ptr_struct->allocated_pages = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=128;
-	ptr_struct->needed_pages = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=160;
-	connectib_flush_type_unpack(&(ptr_struct->flush_type), ptr_buff + offset/8);
-
-	offset=200;
-	ptr_struct->flush_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 24;
+	ptr_struct->num_allocated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=192;
-	ptr_struct->flush_synd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	ptr_struct->step = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=256;
-	connectib_cmdif_ctx_special_unpack(&(ptr_struct->s), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->uid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_cmdif_ctx_print(const struct connectib_cmdif_ctx *ptr_struct, FILE* file, int indent_level){
+void connectib_uid_entry_print(const struct connectib_uid_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_ctx ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_uid_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "done_missions        : "U32H_FMT"\n", ptr_struct->done_missions);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "res_num              : "UH_FMT"\n", ptr_struct->res_num);
+	fprintf(file, "num_allocated        : " UH_FMT "\n", ptr_struct->num_allocated);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cmd_valid            : "UH_FMT"\n", ptr_struct->cmd_valid);
+	fprintf(file, "step                 : " UH_FMT "\n", ptr_struct->step);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : "UH_FMT"\n", ptr_struct->opcode);
+	fprintf(file, "uid                  : " U64H_FMT "\n", ptr_struct->uid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "op_mod               : "UH_FMT"\n", ptr_struct->op_mod);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "allocated_pages      : "U32H_FMT"\n", ptr_struct->allocated_pages);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "needed_pages         : "U32H_FMT"\n", ptr_struct->needed_pages);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_type:\n");
-	connectib_flush_type_print(&(ptr_struct->flush_type), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_qpn            : "UH_FMT"\n", ptr_struct->flush_qpn);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flush_synd           : "UH_FMT"\n", ptr_struct->flush_synd);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "s:\n");
-	connectib_cmdif_ctx_special_print(&(ptr_struct->s), file, indent_level + 1);
-
-}
-
-int connectib_cmdif_ctx_size(void){
-	 return 64;
-}
-
-void connectib_cmdif_ctx_dump(const struct connectib_cmdif_ctx *ptr_struct, FILE* file) {
-	connectib_cmdif_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_eqe_data_pack(const union connectib_sw_eqe_data *ptr_struct, u_int8_t* ptr_buff)
+int connectib_uid_entry_size(void)
 {
-	connectib_sw_eqe_flat_data_pack(&(ptr_struct->flat_data), ptr_buff);
+	 return 16;
 }
 
-void connectib_sw_eqe_data_unpack(union connectib_sw_eqe_data *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_uid_entry_dump(const struct connectib_uid_entry *ptr_struct, FILE* file)
 {
-	connectib_sw_eqe_flat_data_unpack(&(ptr_struct->flat_data), ptr_buff);
-}
-
-void connectib_sw_eqe_data_print(const union connectib_sw_eqe_data *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sw_eqe_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cq_data:\n");
-	connectib_sw_eqe_cq_data_print(&(ptr_struct->cq_data), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "error_data:\n");
-	connectib_sw_eqe_error_data_print(&(ptr_struct->error_data), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_data:\n");
-	connectib_sw_eqe_qp_data_print(&(ptr_struct->qp_data), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_change:\n");
-	connectib_port_state_change_event_print(&(ptr_struct->port_change), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "page_request:\n");
-	connectib_page_request_event_print(&(ptr_struct->page_request), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_page_fault:\n");
-	connectib_wqe_page_fault_event_print(&(ptr_struct->wqe_page_fault), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdma_page_fault:\n");
-	connectib_rdma_page_fault_event_print(&(ptr_struct->rdma_page_fault), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "db_bf_congestion_event:\n");
-	connectib_db_bf_congestion_event_print(&(ptr_struct->db_bf_congestion_event), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flat_data:\n");
-	connectib_sw_eqe_flat_data_print(&(ptr_struct->flat_data), file, indent_level + 1);
-
-}
-
-int connectib_sw_eqe_data_size(void){
-	 return 28;
-}
-
-void connectib_sw_eqe_data_dump(const union connectib_sw_eqe_data *ptr_struct, FILE* file) {
-	connectib_sw_eqe_data_print(ptr_struct, file, 0);
+	connectib_uid_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_reg_access_reg_tlv_pack(const struct connectib_reg_access_reg_tlv *ptr_struct, u_int8_t* ptr_buff){
+void connectib_module_version_pack(const struct connectib_module_version *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_reg_access_tlv_pack(&(ptr_struct->hdr), ptr_buff + offset/8);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->branch);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->minor);
 
-	offset=32;
-	connectib_reg_access_reg_tlv_data_pack(&(ptr_struct->reg_tlv_data), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->major);
 
 }
 
-void connectib_reg_access_reg_tlv_unpack(struct connectib_reg_access_reg_tlv *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_module_version_unpack(struct connectib_module_version *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_reg_access_tlv_unpack(&(ptr_struct->hdr), ptr_buff + offset/8);
+	offset = 24;
+	ptr_struct->branch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	connectib_reg_access_reg_tlv_data_unpack(&(ptr_struct->reg_tlv_data), ptr_buff + offset/8);
+	offset = 12;
+	ptr_struct->minor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 0;
+	ptr_struct->major = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
 }
 
-void connectib_reg_access_reg_tlv_print(const struct connectib_reg_access_reg_tlv *ptr_struct, FILE* file, int indent_level){
+void connectib_module_version_print(const struct connectib_module_version *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reg_access_reg_tlv ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_module_version ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hdr:\n");
-	connectib_reg_access_tlv_print(&(ptr_struct->hdr), file, indent_level + 1);
+	fprintf(file, "branch               : " UH_FMT "\n", ptr_struct->branch);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg_tlv_data:\n");
-	connectib_reg_access_reg_tlv_data_print(&(ptr_struct->reg_tlv_data), file, indent_level + 1);
+	fprintf(file, "minor                : " UH_FMT "\n", ptr_struct->minor);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "major                : " UH_FMT "\n", ptr_struct->major);
 
 }
 
-int connectib_reg_access_reg_tlv_size(void){
-	 return 48;
+int connectib_module_version_size(void)
+{
+	 return 4;
 }
 
-void connectib_reg_access_reg_tlv_dump(const struct connectib_reg_access_reg_tlv *ptr_struct, FILE* file) {
-	connectib_reg_access_reg_tlv_print(ptr_struct, file, 0);
+void connectib_module_version_dump(const struct connectib_module_version *ptr_struct, FILE* file)
+{
+	connectib_module_version_print(ptr_struct, file, 0);
 }
 
-void connectib_reg_access_oper_tlv_pack(const struct connectib_reg_access_oper_tlv *ptr_struct, u_int8_t* ptr_buff){
+void connectib_reset_level_info_pack(const struct connectib_reset_level_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->Status);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dr);
-
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->len);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->type);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
+	offset = 0;
+	connectib_reset_version_pack(&(ptr_struct->ver), ptr_buff + offset/8);
 
-	offset=49;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->Method);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ini_sig);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->r);
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reset_type);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->register_id);
+	offset = 87;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ini_sig_v);
 
-	offset=64;
-	connectib_IB_TID_pack(&(ptr_struct->TID), ptr_buff + offset/8);
+	offset = 86;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ini_sig_ignore);
 
 }
 
-void connectib_reg_access_oper_tlv_unpack(struct connectib_reg_access_oper_tlv *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_reset_level_info_unpack(struct connectib_reset_level_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=17;
-	ptr_struct->Status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
-
-	offset=16;
-	ptr_struct->dr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=5;
-	ptr_struct->len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
-
-	offset=0;
-	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=56;
-	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	connectib_reset_version_unpack(&(ptr_struct->ver), ptr_buff + offset/8);
 
-	offset=49;
-	ptr_struct->Method = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 32;
+	ptr_struct->ini_sig = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=48;
-	ptr_struct->r = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 88;
+	ptr_struct->reset_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	ptr_struct->register_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 87;
+	ptr_struct->ini_sig_v = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	connectib_IB_TID_unpack(&(ptr_struct->TID), ptr_buff + offset/8);
+	offset = 86;
+	ptr_struct->ini_sig_ignore = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_reg_access_oper_tlv_print(const struct connectib_reg_access_oper_tlv *ptr_struct, FILE* file, int indent_level){
+void connectib_reset_level_info_print(const struct connectib_reset_level_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reg_access_oper_tlv ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_reset_level_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Status               : "UH_FMT"\n", ptr_struct->Status);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dr                   : "UH_FMT"\n", ptr_struct->dr);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "len                  : "UH_FMT"\n", ptr_struct->len);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "UH_FMT"\n", ptr_struct->type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_               : "UH_FMT"\n", ptr_struct->class_);
+	fprintf(file, "ver:\n");
+	connectib_reset_version_print(&(ptr_struct->ver), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Method               : "UH_FMT"\n", ptr_struct->Method);
+	fprintf(file, "ini_sig              : " U32H_FMT "\n", ptr_struct->ini_sig);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "r                    : "UH_FMT"\n", ptr_struct->r);
+	fprintf(file, "reset_type           : " UH_FMT "\n", ptr_struct->reset_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "register_id          : "UH_FMT"\n", ptr_struct->register_id);
+	fprintf(file, "ini_sig_v            : " UH_FMT "\n", ptr_struct->ini_sig_v);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "TID:\n");
-	connectib_IB_TID_print(&(ptr_struct->TID), file, indent_level + 1);
+	fprintf(file, "ini_sig_ignore       : " UH_FMT "\n", ptr_struct->ini_sig_ignore);
 
 }
 
-int connectib_reg_access_oper_tlv_size(void){
+int connectib_reset_level_info_size(void)
+{
 	 return 16;
 }
 
-void connectib_reg_access_oper_tlv_dump(const struct connectib_reg_access_oper_tlv *ptr_struct, FILE* file) {
-	connectib_reg_access_oper_tlv_print(ptr_struct, file, 0);
+void connectib_reset_level_info_dump(const struct connectib_reset_level_info *ptr_struct, FILE* file)
+{
+	connectib_reset_level_info_print(ptr_struct, file, 0);
 }
 
-void connectib_output_inline_standart_pack(const struct connectib_output_inline_standart *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sysport_packet_data_pack(const struct connectib_sysport_packet_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->auto_1);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->status);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->syndrome);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ix);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->auto_2);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->auto_3);
+	for (i = 0; i < 183; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 5856, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
+	}
 
 }
 
-void connectib_output_inline_standart_unpack(struct connectib_output_inline_standart *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sysport_packet_data_unpack(struct connectib_sysport_packet_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->auto_1 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=0;
-	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=32;
-	ptr_struct->syndrome = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=72;
-	ptr_struct->ix = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=64;
-	ptr_struct->auto_2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=96;
-	ptr_struct->auto_3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 183; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 5856, 1);
+	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_output_inline_standart_print(const struct connectib_output_inline_standart *ptr_struct, FILE* file, int indent_level){
+void connectib_sysport_packet_data_print(const struct connectib_sysport_packet_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_output_inline_standart ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_sysport_packet_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 183; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "auto_1               : "UH_FMT"\n", ptr_struct->auto_1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status               : "UH_FMT"\n", ptr_struct->status);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "syndrome             : "U32H_FMT"\n", ptr_struct->syndrome);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ix                   : "UH_FMT"\n", ptr_struct->ix);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "auto_2               : "UH_FMT"\n", ptr_struct->auto_2);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "auto_3               : "U32H_FMT"\n", ptr_struct->auto_3);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
+	}
 
 }
 
-int connectib_output_inline_standart_size(void){
-	 return 16;
+int connectib_sysport_packet_data_size(void)
+{
+	 return 732;
 }
 
-void connectib_output_inline_standart_dump(const struct connectib_output_inline_standart *ptr_struct, FILE* file) {
-	connectib_output_inline_standart_print(ptr_struct, file, 0);
+void connectib_sysport_packet_data_dump(const struct connectib_sysport_packet_data *ptr_struct, FILE* file)
+{
+	connectib_sysport_packet_data_print(ptr_struct, file, 0);
 }
 
-void connectib_input_inline_standart_pack(const struct connectib_input_inline_standart *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sysport_packet_properties_pack(const struct connectib_sysport_packet_properties *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->reserved_0);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gvmi);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->opcode);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->portid);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->opcode_mod);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->reserved_1);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->prio);
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ix);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->func_loopback);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reserved_2);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->force_loopback);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->reserved_3);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sx_sniffer);
+
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->packet_is_roce);
 
 }
 
-void connectib_input_inline_standart_unpack(struct connectib_input_inline_standart *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sysport_packet_properties_unpack(struct connectib_sysport_packet_properties *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->reserved_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->gvmi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->opcode = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	ptr_struct->portid = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=48;
-	ptr_struct->opcode_mod = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 64;
+	ptr_struct->vl = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->reserved_1 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 96;
+	ptr_struct->prio = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
-	ptr_struct->ix = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 128;
+	ptr_struct->func_loopback = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->reserved_2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 160;
+	ptr_struct->force_loopback = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	ptr_struct->reserved_3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	ptr_struct->sx_sniffer = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 224;
+	ptr_struct->packet_is_roce = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_input_inline_standart_print(const struct connectib_input_inline_standart *ptr_struct, FILE* file, int indent_level){
+void connectib_sysport_packet_properties_print(const struct connectib_sysport_packet_properties *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_input_inline_standart ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_sysport_packet_properties ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved_0           : "UH_FMT"\n", ptr_struct->reserved_0);
+	fprintf(file, "gvmi                 : " U32H_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "portid               : " U32H_FMT "\n", ptr_struct->portid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl                   : " U32H_FMT "\n", ptr_struct->vl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prio                 : " U32H_FMT "\n", ptr_struct->prio);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "func_loopback        : " U32H_FMT "\n", ptr_struct->func_loopback);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "force_loopback       : " U32H_FMT "\n", ptr_struct->force_loopback);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_sniffer           : " U32H_FMT "\n", ptr_struct->sx_sniffer);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : "UH_FMT"\n", ptr_struct->opcode);
+	fprintf(file, "packet_is_roce       : " U32H_FMT "\n", ptr_struct->packet_is_roce);
+
+}
+
+int connectib_sysport_packet_properties_size(void)
+{
+	 return 32;
+}
+
+void connectib_sysport_packet_properties_dump(const struct connectib_sysport_packet_properties *ptr_struct, FILE* file)
+{
+	connectib_sysport_packet_properties_print(ptr_struct, file, 0);
+}
+
+void connectib_rw_gvmi_fw_ctx_sub_structs_pack(const union connectib_rw_gvmi_fw_ctx_sub_structs *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_dcr_odp_events_pack(&(ptr_struct->dcr_odp_event), ptr_buff);
+}
+
+void connectib_rw_gvmi_fw_ctx_sub_structs_unpack(union connectib_rw_gvmi_fw_ctx_sub_structs *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_dcr_odp_events_unpack(&(ptr_struct->dcr_odp_event), ptr_buff);
+}
 
+void connectib_rw_gvmi_fw_ctx_sub_structs_print(const union connectib_rw_gvmi_fw_ctx_sub_structs *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode_mod           : "UH_FMT"\n", ptr_struct->opcode_mod);
+	fprintf(file, "======== connectib_rw_gvmi_fw_ctx_sub_structs ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved_1           : "UH_FMT"\n", ptr_struct->reserved_1);
+	fprintf(file, "dcr_odp_event:\n");
+	connectib_dcr_odp_events_print(&(ptr_struct->dcr_odp_event), file, indent_level + 1);
+
+}
+
+int connectib_rw_gvmi_fw_ctx_sub_structs_size(void)
+{
+	 return 64;
+}
+
+void connectib_rw_gvmi_fw_ctx_sub_structs_dump(const union connectib_rw_gvmi_fw_ctx_sub_structs *ptr_struct, FILE* file)
+{
+	connectib_rw_gvmi_fw_ctx_sub_structs_print(ptr_struct, file, 0);
+}
+
+void connectib_disable_mask_pack(const union connectib_disable_mask *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_disable_mask_value_pack(&(ptr_struct->value), ptr_buff);
+}
+
+void connectib_disable_mask_unpack(union connectib_disable_mask *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_disable_mask_value_unpack(&(ptr_struct->value), ptr_buff);
+}
 
+void connectib_disable_mask_print(const union connectib_disable_mask *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ix                   : "UH_FMT"\n", ptr_struct->ix);
+	fprintf(file, "======== connectib_disable_mask ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved_2           : "UH_FMT"\n", ptr_struct->reserved_2);
+	fprintf(file, "bits:\n");
+	connectib_disable_mask_bits_print(&(ptr_struct->bits), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved_3           : "U32H_FMT"\n", ptr_struct->reserved_3);
+	fprintf(file, "value:\n");
+	connectib_disable_mask_value_print(&(ptr_struct->value), file, indent_level + 1);
 
 }
 
-int connectib_input_inline_standart_size(void){
-	 return 16;
+int connectib_disable_mask_size(void)
+{
+	 return 4;
 }
 
-void connectib_input_inline_standart_dump(const struct connectib_input_inline_standart *ptr_struct, FILE* file) {
-	connectib_input_inline_standart_print(ptr_struct, file, 0);
+void connectib_disable_mask_dump(const union connectib_disable_mask *ptr_struct, FILE* file)
+{
+	connectib_disable_mask_print(ptr_struct, file, 0);
 }
 
-void connectib_g_rse_decoders_as_dwords_pack(const struct connectib_g_rse_decoders_as_dwords *ptr_struct, u_int8_t* ptr_buff){
+void connectib_drivers_mask_arr_pack(const struct connectib_drivers_mask_arr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2048, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dword[i]);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 64, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mask[i]);
 	}
 
 }
 
-void connectib_g_rse_decoders_as_dwords_unpack(struct connectib_g_rse_decoders_as_dwords *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_drivers_mask_arr_unpack(struct connectib_drivers_mask_arr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2048, 1);
-	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 64, 1);
+	ptr_struct->mask[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
 }
 
-void connectib_g_rse_decoders_as_dwords_print(const struct connectib_g_rse_decoders_as_dwords *ptr_struct, FILE* file, int indent_level){
+void connectib_drivers_mask_arr_print(const struct connectib_drivers_mask_arr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_g_rse_decoders_as_dwords ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_drivers_mask_arr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 64; i++) {
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword_%03d           : "U32H_FMT"\n", i, ptr_struct->dword[i]);
+	fprintf(file, "mask_%03d            : " U32H_FMT "\n", i, ptr_struct->mask[i]);
 	}
 
 }
 
-int connectib_g_rse_decoders_as_dwords_size(void){
-	 return 256;
+int connectib_drivers_mask_arr_size(void)
+{
+	 return 8;
 }
 
-void connectib_g_rse_decoders_as_dwords_dump(const struct connectib_g_rse_decoders_as_dwords *ptr_struct, FILE* file) {
-	connectib_g_rse_decoders_as_dwords_print(ptr_struct, file, 0);
+void connectib_drivers_mask_arr_dump(const struct connectib_drivers_mask_arr *ptr_struct, FILE* file)
+{
+	connectib_drivers_mask_arr_print(ptr_struct, file, 0);
 }
 
-void connectib_rxs_rxt_desc_decoder_pack(const struct connectib_rxs_rxt_desc_decoder *ptr_struct, u_int8_t* ptr_buff){
+void connectib_vport_info_pack(const struct connectib_vport_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=50;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 14, (u_int32_t)ptr_struct->payload_end_offset);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->port_guid);
 
-	offset=49;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mask_px_icmc_tpt_vld);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->node_guid);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->need_invalidation);
+	offset = 128;
+	connectib_mac_address_layout_pack(&(ptr_struct->permanent_address), ptr_buff + offset/8);
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_rdb_size);
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_mask);
 
-	offset=41;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->max_rdma_atomic);
+	offset = 196;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->allowed_uc_list_size);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->scatter_grh);
+	offset = 195;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_roce_disable_shadow);
 
-	offset=37;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->packet_type);
+	offset = 194;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_roce_disable);
 
-	offset=36;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->can_use_reserved_lkey);
+	offset = 193;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->esw_ctx_dirty);
 
-	offset=35;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_dcr_gvmi_for_rdb);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->roce_en);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->p_key_violations);
 
-	offset=66;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 14, (u_int32_t)ptr_struct->packet_len);
+	offset = 224;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->q_key_violations);
 
-	offset=65;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->free_line);
+	offset = 276;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->allowed_mc_list_size);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->header_capture);
+	offset = 275;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->event_on_uc_address_change);
 
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
+	offset = 274;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->event_on_mc_address_change);
 
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rdb_write_pointer);
+	offset = 273;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->event_on_vlan_change);
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->psn);
+	offset = 272;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->event_on_promisc_change);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->payload_offset);
+	offset = 260;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->allowed_vlan_list_size);
 
-	offset=168;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pd);
+	offset = 259;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->arm_change_event);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->grh_offset);
+	offset = 258;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->promisc_all);
+
+	offset = 257;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->promisc_mc);
+
+	offset = 256;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->promisc_uc);
+
+	offset = 297;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_mc_local_lb);
+
+	offset = 296;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_uc_local_lb);
+
+	offset = 293;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->min_wqe_inline_mode);
+
+	offset = 292;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->uc_list_offset_selector);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rkey);
+	offset = 291;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mc_list_offset_selector);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dma_length);
+	offset = 290;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vlan_list_offset_selector);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->va_63_32);
+	offset = 289;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mtu_vld);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->va_31_0);
+	offset = 288;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->event_on_mtu_change);
+
+	offset = 336;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->mtu);
+
+	offset = 320;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->flow_counter_head);
+
+	offset = 352;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->esw_egress_info), ptr_buff + offset/8);
+
+	offset = 384;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->esw_ingress_info), ptr_buff + offset/8);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extension_event_mask);
 
 }
 
-void connectib_rxs_rxt_desc_decoder_unpack(struct connectib_rxs_rxt_desc_decoder *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_vport_info_unpack(struct connectib_vport_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=50;
-	ptr_struct->payload_end_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 14);
+	offset = 0;
+	ptr_struct->port_guid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=49;
-	ptr_struct->mask_px_icmc_tpt_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->node_guid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=48;
-	ptr_struct->need_invalidation = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	connectib_mac_address_layout_unpack(&(ptr_struct->permanent_address), ptr_buff + offset/8);
 
-	offset=44;
-	ptr_struct->extended_rdb_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 208;
+	ptr_struct->cap_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=41;
-	ptr_struct->max_rdma_atomic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 196;
+	ptr_struct->allowed_uc_list_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=40;
-	ptr_struct->scatter_grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 195;
+	ptr_struct->force_roce_disable_shadow = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=37;
-	ptr_struct->packet_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 194;
+	ptr_struct->force_roce_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=36;
-	ptr_struct->can_use_reserved_lkey = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 193;
+	ptr_struct->esw_ctx_dirty = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=35;
-	ptr_struct->use_dcr_gvmi_for_rdb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	ptr_struct->roce_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 240;
+	ptr_struct->p_key_violations = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=66;
-	ptr_struct->packet_len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 14);
+	offset = 224;
+	ptr_struct->q_key_violations = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=65;
-	ptr_struct->free_line = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 276;
+	ptr_struct->allowed_mc_list_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=64;
-	ptr_struct->header_capture = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 275;
+	ptr_struct->event_on_uc_address_change = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=104;
-	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 274;
+	ptr_struct->event_on_mc_address_change = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->rdb_write_pointer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 273;
+	ptr_struct->event_on_vlan_change = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=136;
-	ptr_struct->psn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 272;
+	ptr_struct->event_on_promisc_change = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	ptr_struct->payload_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 260;
+	ptr_struct->allowed_vlan_list_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=168;
-	ptr_struct->pd = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 259;
+	ptr_struct->arm_change_event = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	ptr_struct->grh_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 258;
+	ptr_struct->promisc_all = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->rkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 257;
+	ptr_struct->promisc_mc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=224;
-	ptr_struct->dma_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	ptr_struct->promisc_uc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->va_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 297;
+	ptr_struct->disable_mc_local_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	ptr_struct->va_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 296;
+	ptr_struct->disable_uc_local_lb = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 293;
+	ptr_struct->min_wqe_inline_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 292;
+	ptr_struct->uc_list_offset_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 291;
+	ptr_struct->mc_list_offset_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 290;
+	ptr_struct->vlan_list_offset_selector = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 289;
+	ptr_struct->mtu_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 288;
+	ptr_struct->event_on_mtu_change = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 336;
+	ptr_struct->mtu = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 320;
+	ptr_struct->flow_counter_head = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 352;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->esw_egress_info), ptr_buff + offset/8);
+
+	offset = 384;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->esw_ingress_info), ptr_buff + offset/8);
+
+	offset = 416;
+	ptr_struct->extension_event_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_rxs_rxt_desc_decoder_print(const struct connectib_rxs_rxt_desc_decoder *ptr_struct, FILE* file, int indent_level){
+void connectib_vport_info_print(const struct connectib_vport_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_rxs_rxt_desc_decoder ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_vport_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "payload_end_offset   : "UH_FMT"\n", ptr_struct->payload_end_offset);
+	fprintf(file, "port_guid            : " U64H_FMT "\n", ptr_struct->port_guid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mask_px_icmc_tpt_vld : "UH_FMT"\n", ptr_struct->mask_px_icmc_tpt_vld);
+	fprintf(file, "node_guid            : " U64H_FMT "\n", ptr_struct->node_guid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "need_invalidation    : "UH_FMT"\n", ptr_struct->need_invalidation);
+	fprintf(file, "permanent_address:\n");
+	connectib_mac_address_layout_print(&(ptr_struct->permanent_address), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_rdb_size    : "UH_FMT"\n", ptr_struct->extended_rdb_size);
+	fprintf(file, "cap_mask             : " UH_FMT "\n", ptr_struct->cap_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_rdma_atomic      : "UH_FMT"\n", ptr_struct->max_rdma_atomic);
+	fprintf(file, "allowed_uc_list_size : " UH_FMT "\n", ptr_struct->allowed_uc_list_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "scatter_grh          : "UH_FMT"\n", ptr_struct->scatter_grh);
+	fprintf(file, "force_roce_disable_shadow : " UH_FMT "\n", ptr_struct->force_roce_disable_shadow);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "packet_type          : "UH_FMT"\n", ptr_struct->packet_type);
+	fprintf(file, "force_roce_disable   : " UH_FMT "\n", ptr_struct->force_roce_disable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "can_use_reserved_lkey : "UH_FMT"\n", ptr_struct->can_use_reserved_lkey);
+	fprintf(file, "esw_ctx_dirty        : " UH_FMT "\n", ptr_struct->esw_ctx_dirty);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "use_dcr_gvmi_for_rdb : "UH_FMT"\n", ptr_struct->use_dcr_gvmi_for_rdb);
+	fprintf(file, "roce_en              : " UH_FMT "\n", ptr_struct->roce_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "p_key_violations     : " UH_FMT "\n", ptr_struct->p_key_violations);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "packet_len           : "UH_FMT"\n", ptr_struct->packet_len);
+	fprintf(file, "q_key_violations     : " UH_FMT "\n", ptr_struct->q_key_violations);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "free_line            : "UH_FMT"\n", ptr_struct->free_line);
+	fprintf(file, "allowed_mc_list_size : " UH_FMT "\n", ptr_struct->allowed_mc_list_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "header_capture       : "UH_FMT"\n", ptr_struct->header_capture);
+	fprintf(file, "event_on_uc_address_change : " UH_FMT "\n", ptr_struct->event_on_uc_address_change);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "event_on_mc_address_change : " UH_FMT "\n", ptr_struct->event_on_mc_address_change);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb_write_pointer    : "UH_FMT"\n", ptr_struct->rdb_write_pointer);
+	fprintf(file, "event_on_vlan_change : " UH_FMT "\n", ptr_struct->event_on_vlan_change);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "psn                  : "UH_FMT"\n", ptr_struct->psn);
+	fprintf(file, "event_on_promisc_change : " UH_FMT "\n", ptr_struct->event_on_promisc_change);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "payload_offset       : "UH_FMT"\n", ptr_struct->payload_offset);
+	fprintf(file, "allowed_vlan_list_size : " UH_FMT "\n", ptr_struct->allowed_vlan_list_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pd                   : "UH_FMT"\n", ptr_struct->pd);
+	fprintf(file, "arm_change_event     : " UH_FMT "\n", ptr_struct->arm_change_event);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_offset           : "UH_FMT"\n", ptr_struct->grh_offset);
+	fprintf(file, "promisc_all          : " UH_FMT "\n", ptr_struct->promisc_all);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rkey                 : "U32H_FMT"\n", ptr_struct->rkey);
+	fprintf(file, "promisc_mc           : " UH_FMT "\n", ptr_struct->promisc_mc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dma_length           : "U32H_FMT"\n", ptr_struct->dma_length);
+	fprintf(file, "promisc_uc           : " UH_FMT "\n", ptr_struct->promisc_uc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "va_63_32             : "U32H_FMT"\n", ptr_struct->va_63_32);
+	fprintf(file, "disable_mc_local_lb  : " UH_FMT "\n", ptr_struct->disable_mc_local_lb);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "va_31_0              : "U32H_FMT"\n", ptr_struct->va_31_0);
-
-}
+	fprintf(file, "disable_uc_local_lb  : " UH_FMT "\n", ptr_struct->disable_uc_local_lb);
 
-int connectib_rxs_rxt_desc_decoder_size(void){
-	 return 64;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "min_wqe_inline_mode  : " UH_FMT "\n", ptr_struct->min_wqe_inline_mode);
 
-void connectib_rxs_rxt_desc_decoder_dump(const struct connectib_rxs_rxt_desc_decoder *ptr_struct, FILE* file) {
-	connectib_rxs_rxt_desc_decoder_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uc_list_offset_selector : " UH_FMT "\n", ptr_struct->uc_list_offset_selector);
 
-void connectib_rxt_checks_packet_descriptor_decoder_pack(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mc_list_offset_selector : " UH_FMT "\n", ptr_struct->mc_list_offset_selector);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->timestamp_version);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vlan_list_offset_selector : " UH_FMT "\n", ptr_struct->vlan_list_offset_selector);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_loopback);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtu_vld              : " UH_FMT "\n", ptr_struct->mtu_vld);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->functional_loopback);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "event_on_mtu_change  : " UH_FMT "\n", ptr_struct->event_on_mtu_change);
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->inner_crc_ok);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mtu                  : " UH_FMT "\n", ptr_struct->mtu);
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mad_baseversion_error);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_counter_head    : " UH_FMT "\n", ptr_struct->flow_counter_head);
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mad_classversion_error);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "esw_egress_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->esw_egress_info), file, indent_level + 1);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mad_send2host);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "esw_ingress_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->esw_ingress_info), file, indent_level + 1);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->outer_crc_ok);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "extension_event_mask : " U32H_FMT "\n", ptr_struct->extension_event_mask);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_error);
+}
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_sniffer);
+int connectib_vport_info_size(void)
+{
+	 return 64;
+}
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->timestamp_vld);
+void connectib_vport_info_dump(const struct connectib_vport_info *ptr_struct, FILE* file)
+{
+	connectib_vport_info_print(ptr_struct, file, 0);
+}
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->payload_offset);
+void connectib_vport_shadow_pack(const struct connectib_vport_shadow *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw0_vld);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->port_guid);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw1_vld);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->node_guid);
 
-	offset=36;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw2_vld);
+	offset = 128;
+	connectib_mac_address_layout_pack(&(ptr_struct->permanent_address), ptr_buff + offset/8);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->custom_dw3_vld);
+}
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->custom_dw3);
+void connectib_vport_shadow_unpack(struct connectib_vport_shadow *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->custom_dw2);
+	offset = 0;
+	ptr_struct->port_guid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->custom_dw1);
+	offset = 64;
+	ptr_struct->node_guid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->custom_dw0);
+	offset = 128;
+	connectib_mac_address_layout_unpack(&(ptr_struct->permanent_address), ptr_buff + offset/8);
 
-	offset=215;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->source_xqpn_40_32);
+}
 
-	offset=214;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dummy_packet);
+void connectib_vport_shadow_print(const struct connectib_vport_shadow *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_vport_shadow ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=208;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->mad_qp1_class);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_guid            : " U64H_FMT "\n", ptr_struct->port_guid);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->packet_end_offset);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "node_guid            : " U64H_FMT "\n", ptr_struct->node_guid);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->source_xqpn_31_0);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "permanent_address:\n");
+	connectib_mac_address_layout_print(&(ptr_struct->permanent_address), file, indent_level + 1);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->timestamp_63_32);
+}
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->timestamp_31_0);
+int connectib_vport_shadow_size(void)
+{
+	 return 32;
+}
 
+void connectib_vport_shadow_dump(const struct connectib_vport_shadow *ptr_struct, FILE* file)
+{
+	connectib_vport_shadow_print(ptr_struct, file, 0);
 }
 
-void connectib_rxt_checks_packet_descriptor_decoder_unpack(struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ocbb_pci_data_pack(const struct connectib_ocbb_pci_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->timestamp_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=29;
-	ptr_struct->force_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=28;
-	ptr_struct->functional_loopback = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=27;
-	ptr_struct->inner_crc_ok = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=26;
-	ptr_struct->mad_baseversion_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pci_vendor_id);
 
-	offset=25;
-	ptr_struct->mad_classversion_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pci_device_id);
 
-	offset=24;
-	ptr_struct->mad_send2host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pci_subsys_vendor_id);
 
-	offset=23;
-	ptr_struct->outer_crc_ok = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pci_subsys_device_id);
 
-	offset=22;
-	ptr_struct->port_error = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_of_pcie_func_per_port);
 
-	offset=21;
-	ptr_struct->sx_sniffer = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pci_bus_number);
 
-	offset=20;
-	ptr_struct->timestamp_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->pci_class);
 
-	offset=48;
-	ptr_struct->payload_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pci_bus_rx_utilization);
 
-	offset=44;
-	ptr_struct->custom_dw0_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pci_bus_tx_utilization);
 
-	offset=40;
-	ptr_struct->custom_dw1_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pci_function_num);
 
-	offset=36;
-	ptr_struct->custom_dw2_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pci_errors_cap_id);
 
-	offset=32;
-	ptr_struct->custom_dw3_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pci_errors_uncor_stat);
 
-	offset=64;
-	ptr_struct->custom_dw3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pci_errors_uncor_mask);
 
-	offset=96;
-	ptr_struct->custom_dw2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pci_errors_corr_stat);
 
-	offset=128;
-	ptr_struct->custom_dw1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pci_errors_corr_mask);
 
-	offset=160;
-	ptr_struct->custom_dw0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pci_errors_cap_and_ctrl);
 
-	offset=215;
-	ptr_struct->source_xqpn_40_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+}
 
-	offset=214;
-	ptr_struct->dummy_packet = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_ocbb_pci_data_unpack(struct connectib_ocbb_pci_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=208;
-	ptr_struct->mad_qp1_class = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 16;
+	ptr_struct->pci_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=192;
-	ptr_struct->packet_end_offset = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->pci_device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=224;
-	ptr_struct->source_xqpn_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 48;
+	ptr_struct->pci_subsys_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=256;
-	ptr_struct->timestamp_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->pci_subsys_device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=288;
-	ptr_struct->timestamp_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 80;
+	ptr_struct->num_of_pcie_func_per_port = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-}
+	offset = 64;
+	ptr_struct->pci_bus_number = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_rxt_checks_packet_descriptor_decoder_print(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_rxt_checks_packet_descriptor_decoder ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 104;
+	ptr_struct->pci_class = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_version    : "UH_FMT"\n", ptr_struct->timestamp_version);
+	offset = 152;
+	ptr_struct->pci_bus_rx_utilization = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_loopback       : "UH_FMT"\n", ptr_struct->force_loopback);
+	offset = 144;
+	ptr_struct->pci_bus_tx_utilization = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "functional_loopback  : "UH_FMT"\n", ptr_struct->functional_loopback);
+	offset = 136;
+	ptr_struct->pci_function_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inner_crc_ok         : "UH_FMT"\n", ptr_struct->inner_crc_ok);
+	offset = 160;
+	ptr_struct->pci_errors_cap_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mad_baseversion_error : "UH_FMT"\n", ptr_struct->mad_baseversion_error);
+	offset = 192;
+	ptr_struct->pci_errors_uncor_stat = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mad_classversion_error : "UH_FMT"\n", ptr_struct->mad_classversion_error);
+	offset = 224;
+	ptr_struct->pci_errors_uncor_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mad_send2host        : "UH_FMT"\n", ptr_struct->mad_send2host);
+	offset = 256;
+	ptr_struct->pci_errors_corr_stat = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "outer_crc_ok         : "UH_FMT"\n", ptr_struct->outer_crc_ok);
+	offset = 288;
+	ptr_struct->pci_errors_corr_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_error           : "UH_FMT"\n", ptr_struct->port_error);
+	offset = 320;
+	ptr_struct->pci_errors_cap_and_ctrl = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_sniffer           : "UH_FMT"\n", ptr_struct->sx_sniffer);
+}
 
+void connectib_ocbb_pci_data_print(const struct connectib_ocbb_pci_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_vld        : "UH_FMT"\n", ptr_struct->timestamp_vld);
+	fprintf(file, "======== connectib_ocbb_pci_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "payload_offset       : "UH_FMT"\n", ptr_struct->payload_offset);
+	fprintf(file, "pci_vendor_id        : " UH_FMT "\n", ptr_struct->pci_vendor_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "custom_dw0_vld       : "UH_FMT"\n", ptr_struct->custom_dw0_vld);
+	fprintf(file, "pci_device_id        : " UH_FMT "\n", ptr_struct->pci_device_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "custom_dw1_vld       : "UH_FMT"\n", ptr_struct->custom_dw1_vld);
+	fprintf(file, "pci_subsys_vendor_id : " UH_FMT "\n", ptr_struct->pci_subsys_vendor_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "custom_dw2_vld       : "UH_FMT"\n", ptr_struct->custom_dw2_vld);
+	fprintf(file, "pci_subsys_device_id : " UH_FMT "\n", ptr_struct->pci_subsys_device_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "custom_dw3_vld       : "UH_FMT"\n", ptr_struct->custom_dw3_vld);
+	fprintf(file, "num_of_pcie_func_per_port : " UH_FMT "\n", ptr_struct->num_of_pcie_func_per_port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "custom_dw3           : "U32H_FMT"\n", ptr_struct->custom_dw3);
+	fprintf(file, "pci_bus_number       : " UH_FMT "\n", ptr_struct->pci_bus_number);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "custom_dw2           : "U32H_FMT"\n", ptr_struct->custom_dw2);
+	fprintf(file, "pci_class            : " UH_FMT "\n", ptr_struct->pci_class);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "custom_dw1           : "U32H_FMT"\n", ptr_struct->custom_dw1);
+	fprintf(file, "pci_bus_rx_utilization : " UH_FMT "\n", ptr_struct->pci_bus_rx_utilization);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "custom_dw0           : "U32H_FMT"\n", ptr_struct->custom_dw0);
+	fprintf(file, "pci_bus_tx_utilization : " UH_FMT "\n", ptr_struct->pci_bus_tx_utilization);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "source_xqpn_40_32    : "UH_FMT"\n", ptr_struct->source_xqpn_40_32);
+	fprintf(file, "pci_function_num     : " UH_FMT "\n", ptr_struct->pci_function_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dummy_packet         : "UH_FMT"\n", ptr_struct->dummy_packet);
+	fprintf(file, "pci_errors_cap_id    : " U32H_FMT "\n", ptr_struct->pci_errors_cap_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mad_qp1_class        : "UH_FMT"\n", ptr_struct->mad_qp1_class);
+	fprintf(file, "pci_errors_uncor_stat : " U32H_FMT "\n", ptr_struct->pci_errors_uncor_stat);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "packet_end_offset    : "UH_FMT"\n", ptr_struct->packet_end_offset);
+	fprintf(file, "pci_errors_uncor_mask : " U32H_FMT "\n", ptr_struct->pci_errors_uncor_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "source_xqpn_31_0     : "U32H_FMT"\n", ptr_struct->source_xqpn_31_0);
+	fprintf(file, "pci_errors_corr_stat : " U32H_FMT "\n", ptr_struct->pci_errors_corr_stat);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_63_32      : "U32H_FMT"\n", ptr_struct->timestamp_63_32);
+	fprintf(file, "pci_errors_corr_mask : " U32H_FMT "\n", ptr_struct->pci_errors_corr_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_31_0       : "U32H_FMT"\n", ptr_struct->timestamp_31_0);
+	fprintf(file, "pci_errors_cap_and_ctrl : " U32H_FMT "\n", ptr_struct->pci_errors_cap_and_ctrl);
 
 }
 
-int connectib_rxt_checks_packet_descriptor_decoder_size(void){
-	 return 64;
+int connectib_ocbb_pci_data_size(void)
+{
+	 return 44;
 }
 
-void connectib_rxt_checks_packet_descriptor_decoder_dump(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, FILE* file) {
-	connectib_rxt_checks_packet_descriptor_decoder_print(ptr_struct, file, 0);
+void connectib_ocbb_pci_data_dump(const struct connectib_ocbb_pci_data *ptr_struct, FILE* file)
+{
+	connectib_ocbb_pci_data_print(ptr_struct, file, 0);
 }
 
-void connectib_rxt_context_fetch_qp_desc_decoder_pack(const struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ocbb_fields_pack(const struct connectib_ocbb_fields *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qpc_ts_3_3);
+	offset = 0;
+	connectib_fw_banner_pack(&(ptr_struct->fw_banner_str), ptr_buff + offset/8);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_number);
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->hca_cap_num_ports);
 
-	offset=51;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 13, (u_int32_t)ptr_struct->srq_number_23_11);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sriov_en);
 
-	offset=35;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_num_vmq_per_port);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->qpc_ts_2_0);
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_num_vmq_per_pf);
 
-	offset=84;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->pkey_index);
+	offset = 176;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lowest_port_recv);
 
-	offset=76;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_index);
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(248, 8, i, 4096, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lldp_rx_get_chassis_id_tlv[i]);
+	}
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->srq_vld);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(344, 8, i, 4096, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lldp_rx_get_port_id_tlv[i]);
+	}
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->srq_number_10_0);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(440, 8, i, 4096, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->core_utilization[i]);
+	}
 
-}
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(472, 8, i, 4096, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->device_bios_version[i]);
+	}
 
-void connectib_rxt_context_fetch_qp_desc_decoder_unpack(struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(568, 8, i, 4096, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->device_hw_version[i]);
+	}
 
-	offset=31;
-	ptr_struct->qpc_ts_3_3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 664;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_type);
 
-	offset=30;
-	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 656;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flow_control_indicator);
 
-	offset=51;
-	ptr_struct->srq_number_23_11 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 13);
+	offset = 648;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->flex_ten_mode_en);
 
-	offset=35;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 672;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_speed);
 
-	offset=32;
-	ptr_struct->qpc_ts_2_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 728;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_phy_link_status);
 
-	offset=84;
-	ptr_struct->pkey_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 736;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_speed_supported);
 
-	offset=76;
-	ptr_struct->my_gid_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 792;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->function_type);
 
-	offset=75;
-	ptr_struct->srq_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 816;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->mtu_size);
 
-	offset=64;
-	ptr_struct->srq_number_10_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
+	offset = 800;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->feature_flags);
 
-}
+	offset = 848;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_offload_size);
 
-void connectib_rxt_context_fetch_qp_desc_decoder_print(const struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_rxt_context_fetch_qp_desc_decoder ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 832;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lso_min_seg_count);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpc_ts_3_3           : "UH_FMT"\n", ptr_struct->qpc_ts_3_3);
+	offset = 888;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->promiscuous_mode);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	offset = 864;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->tx_descr_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_number_23_11     : "UH_FMT"\n", ptr_struct->srq_number_23_11);
+	offset = 912;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rx_descr_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	offset = 896;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->iov_offload);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpc_ts_2_0           : "UH_FMT"\n", ptr_struct->qpc_ts_2_0);
+	offset = 944;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_of_netq);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey_index           : "UH_FMT"\n", ptr_struct->pkey_index);
+	offset = 960;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcp_prio_map_table);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_index         : "UH_FMT"\n", ptr_struct->my_gid_index);
+	offset = 1016;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->max_num_pci_vfs_per_pfs);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_vld              : "UH_FMT"\n", ptr_struct->srq_vld);
+	offset = 1008;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->os_driver_state);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_number_10_0      : "UH_FMT"\n", ptr_struct->srq_number_10_0);
+	offset = 1024;
+	connectib_ocbb_fields_from_vpd_pack(&(ptr_struct->vpd_data), ptr_buff + offset/8);
 
-}
+	offset = 1592;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->device_power_reset_state);
 
-int connectib_rxt_context_fetch_qp_desc_decoder_size(void){
-	 return 16;
-}
+	offset = 1568;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_num_of_vfs);
 
-void connectib_rxt_context_fetch_qp_desc_decoder_dump(const struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, FILE* file) {
-	connectib_rxt_context_fetch_qp_desc_decoder_print(ptr_struct, file, 0);
-}
+	offset = 2048;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_discards);
 
-void connectib_rxt_checks_steering_results_decoder_pack(const struct connectib_rxt_checks_steering_results_decoder *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 2080;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rx_errors);
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_packet_counters_trigger);
+	offset = 2112;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_errors);
 
-	offset=55;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->xqpn_40_32);
+	offset = 2144;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_discards);
 
-	offset=54;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pport_counters_trigger_vld);
+	offset = 2176;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->rx_frames_received);
 
-	offset=53;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qpn_direct_access);
+	offset = 2240;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->rx_bytes_received);
 
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vport_counters_trigger_vld);
+	offset = 2304;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->tx_frames_sent);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vport_byte_counters_trigger);
+	offset = 2368;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->tx_bytes_sent);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_byte_counters_trigger);
+	offset = 2432;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->pfc_frames_sent);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pport_packet_counters_trigger);
+	offset = 2496;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->pfc_frames_received);
+
+	offset = 2560;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->prog_max_addr_1);
+
+	offset = 2624;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->prog_max_addr_2);
+
+	offset = 2704;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_mtu);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->xqpn_31_0);
+	offset = 2688;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_num_of_pci_func_per_port);
 
 }
 
-void connectib_rxt_checks_steering_results_decoder_unpack(struct connectib_rxt_checks_steering_results_decoder *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ocbb_fields_unpack(struct connectib_ocbb_fields *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->vport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_fw_banner_unpack(&(ptr_struct->fw_banner_str), ptr_buff + offset/8);
 
-	offset=55;
-	ptr_struct->xqpn_40_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+	offset = 112;
+	ptr_struct->hca_cap_num_ports = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=54;
-	ptr_struct->pport_counters_trigger_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 104;
+	ptr_struct->sriov_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=53;
-	ptr_struct->qpn_direct_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 144;
+	ptr_struct->max_num_vmq_per_port = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=52;
-	ptr_struct->vport_counters_trigger_vld = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	ptr_struct->max_num_vmq_per_pf = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=48;
-	ptr_struct->vport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 176;
+	ptr_struct->lowest_port_recv = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=40;
-	ptr_struct->pport_byte_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(248, 8, i, 4096, 1);
+	ptr_struct->lldp_rx_get_chassis_id_tlv[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
 
-	offset=32;
-	ptr_struct->pport_packet_counters_trigger = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(344, 8, i, 4096, 1);
+	ptr_struct->lldp_rx_get_port_id_tlv[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
 
-	offset=64;
-	ptr_struct->xqpn_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(440, 8, i, 4096, 1);
+	ptr_struct->core_utilization[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
 
-}
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(472, 8, i, 4096, 1);
+	ptr_struct->device_bios_version[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
 
-void connectib_rxt_checks_steering_results_decoder_print(const struct connectib_rxt_checks_steering_results_decoder *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_rxt_checks_steering_results_decoder ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(568, 8, i, 4096, 1);
+	ptr_struct->device_hw_version[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_packet_counters_trigger : "UH_FMT"\n", ptr_struct->vport_packet_counters_trigger);
+	offset = 664;
+	ptr_struct->port_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "xqpn_40_32           : "UH_FMT"\n", ptr_struct->xqpn_40_32);
+	offset = 656;
+	ptr_struct->flow_control_indicator = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pport_counters_trigger_vld : "UH_FMT"\n", ptr_struct->pport_counters_trigger_vld);
+	offset = 648;
+	ptr_struct->flex_ten_mode_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn_direct_access    : "UH_FMT"\n", ptr_struct->qpn_direct_access);
+	offset = 672;
+	ptr_struct->port_speed = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_counters_trigger_vld : "UH_FMT"\n", ptr_struct->vport_counters_trigger_vld);
+	offset = 728;
+	ptr_struct->port_phy_link_status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_byte_counters_trigger : "UH_FMT"\n", ptr_struct->vport_byte_counters_trigger);
+	offset = 736;
+	ptr_struct->max_speed_supported = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pport_byte_counters_trigger : "UH_FMT"\n", ptr_struct->pport_byte_counters_trigger);
+	offset = 792;
+	ptr_struct->function_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pport_packet_counters_trigger : "UH_FMT"\n", ptr_struct->pport_packet_counters_trigger);
+	offset = 816;
+	ptr_struct->mtu_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "xqpn_31_0            : "U32H_FMT"\n", ptr_struct->xqpn_31_0);
+	offset = 800;
+	ptr_struct->feature_flags = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-}
+	offset = 848;
+	ptr_struct->max_offload_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-int connectib_rxt_checks_steering_results_decoder_size(void){
-	 return 16;
-}
+	offset = 832;
+	ptr_struct->lso_min_seg_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_rxt_checks_steering_results_decoder_dump(const struct connectib_rxt_checks_steering_results_decoder *ptr_struct, FILE* file) {
-	connectib_rxt_checks_steering_results_decoder_print(ptr_struct, file, 0);
-}
+	offset = 888;
+	ptr_struct->promiscuous_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-void connectib_ctx_as_dwords_pack(const struct connectib_ctx_as_dwords *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 864;
+	ptr_struct->tx_descr_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dwords[i]);
-	}
+	offset = 912;
+	ptr_struct->rx_descr_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-}
+	offset = 896;
+	ptr_struct->iov_offload = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-void connectib_ctx_as_dwords_unpack(struct connectib_ctx_as_dwords *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 944;
+	ptr_struct->num_of_netq = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	ptr_struct->dwords[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 960;
+	ptr_struct->pcp_prio_map_table = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 1016;
+	ptr_struct->max_num_pci_vfs_per_pfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-void connectib_ctx_as_dwords_print(const struct connectib_ctx_as_dwords *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ctx_as_dwords ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 1008;
+	ptr_struct->os_driver_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 16; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dwords_%03d          : "U32H_FMT"\n", i, ptr_struct->dwords[i]);
-	}
+	offset = 1024;
+	connectib_ocbb_fields_from_vpd_unpack(&(ptr_struct->vpd_data), ptr_buff + offset/8);
 
-}
+	offset = 1592;
+	ptr_struct->device_power_reset_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-int connectib_ctx_as_dwords_size(void){
-	 return 64;
-}
+	offset = 1568;
+	ptr_struct->max_num_of_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_ctx_as_dwords_dump(const struct connectib_ctx_as_dwords *ptr_struct, FILE* file) {
-	connectib_ctx_as_dwords_print(ptr_struct, file, 0);
-}
+	offset = 2048;
+	ptr_struct->rx_discards = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_fw_resource_context_pack(const union connectib_fw_resource_context *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_dc_control_packet_desc_pack(&(ptr_struct->dc_control_packet_desc), ptr_buff);
-}
+	offset = 2080;
+	ptr_struct->rx_errors = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 2112;
+	ptr_struct->tx_errors = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 2144;
+	ptr_struct->tx_discards = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 2176;
+	ptr_struct->rx_frames_received = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 2240;
+	ptr_struct->rx_bytes_received = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 2304;
+	ptr_struct->tx_frames_sent = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 2368;
+	ptr_struct->tx_bytes_sent = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 2432;
+	ptr_struct->pfc_frames_sent = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 2496;
+	ptr_struct->pfc_frames_received = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 2560;
+	ptr_struct->prog_max_addr_1 = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 2624;
+	ptr_struct->prog_max_addr_2 = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 2704;
+	ptr_struct->max_mtu = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 2688;
+	ptr_struct->max_num_of_pci_func_per_port = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_fw_resource_context_unpack(union connectib_fw_resource_context *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_dc_control_packet_desc_unpack(&(ptr_struct->dc_control_packet_desc), ptr_buff);
 }
 
-void connectib_fw_resource_context_print(const union connectib_fw_resource_context *ptr_struct, FILE* file, int indent_level){
+void connectib_ocbb_fields_print(const struct connectib_ocbb_fields *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_resource_context ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ocbb_fields ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_eqc:\n");
-	connectib_fw_eqc_print(&(ptr_struct->fw_eqc), file, indent_level + 1);
+	fprintf(file, "fw_banner_str:\n");
+	connectib_fw_banner_print(&(ptr_struct->fw_banner_str), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_alt_path:\n");
-	connectib_fw_alt_path_print(&(ptr_struct->fw_alt_path), file, indent_level + 1);
+	fprintf(file, "hca_cap_num_ports    : " UH_FMT "\n", ptr_struct->hca_cap_num_ports);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_basic:\n");
-	connectib_fw_basic_res_ctx_print(&(ptr_struct->fw_basic), file, indent_level + 1);
+	fprintf(file, "sriov_en             : " UH_FMT "\n", ptr_struct->sriov_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_cre:\n");
-	connectib_fw_cre_print(&(ptr_struct->fw_cre), file, indent_level + 1);
+	fprintf(file, "max_num_vmq_per_port : " UH_FMT "\n", ptr_struct->max_num_vmq_per_port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_mkc:\n");
-	connectib_fw_mkc_print(&(ptr_struct->fw_mkc), file, indent_level + 1);
+	fprintf(file, "max_num_vmq_per_pf   : " UH_FMT "\n", ptr_struct->max_num_vmq_per_pf);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_psv:\n");
-	connectib_fw_psv_print(&(ptr_struct->fw_psv), file, indent_level + 1);
+	fprintf(file, "lowest_port_recv     : " UH_FMT "\n", ptr_struct->lowest_port_recv);
 
+	for (i = 0; i < 12; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_cqc:\n");
-	connectib_fw_cqc_print(&(ptr_struct->fw_cqc), file, indent_level + 1);
+	fprintf(file, "lldp_rx_get_chassis_id_tlv_%03d : " UH_FMT "\n", i, ptr_struct->lldp_rx_get_chassis_id_tlv[i]);
+	}
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_rqt:\n");
-	connectib_fw_rqt_print(&(ptr_struct->fw_rqt), file, indent_level + 1);
+	fprintf(file, "lldp_rx_get_port_id_tlv_%03d : " UH_FMT "\n", i, ptr_struct->lldp_rx_get_port_id_tlv[i]);
+	}
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "list_element:\n");
-	connectib_list_element_print(&(ptr_struct->list_element), file, indent_level + 1);
+	fprintf(file, "core_utilization_%03d : " UH_FMT "\n", i, ptr_struct->core_utilization[i]);
+	}
 
+	for (i = 0; i < 12; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dmfs_resources:\n");
-	connectib_dmfs_resources_print(&(ptr_struct->dmfs_resources), file, indent_level + 1);
+	fprintf(file, "device_bios_version_%03d : " UH_FMT "\n", i, ptr_struct->device_bios_version[i]);
+	}
 
+	for (i = 0; i < 12; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_control_packet_desc:\n");
-	connectib_dc_control_packet_desc_print(&(ptr_struct->dc_control_packet_desc), file, indent_level + 1);
+	fprintf(file, "device_hw_version_%03d : " UH_FMT "\n", i, ptr_struct->device_hw_version[i]);
+	}
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_type            : " UH_FMT "\n", ptr_struct->port_type);
 
-int connectib_fw_resource_context_size(void){
-	 return 64;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_control_indicator : " UH_FMT "\n", ptr_struct->flow_control_indicator);
 
-void connectib_fw_resource_context_dump(const union connectib_fw_resource_context *ptr_struct, FILE* file) {
-	connectib_fw_resource_context_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flex_ten_mode_en     : " UH_FMT "\n", ptr_struct->flex_ten_mode_en);
 
-void connectib_hw_hca_contexts_pack(const union connectib_hw_hca_contexts *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_hw_qp_counter_pack(&(ptr_struct->qp_counter), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_speed           : " U32H_FMT "\n", ptr_struct->port_speed);
 
-void connectib_hw_hca_contexts_unpack(union connectib_hw_hca_contexts *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_hw_qp_counter_unpack(&(ptr_struct->qp_counter), ptr_buff);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_phy_link_status : " UH_FMT "\n", ptr_struct->port_phy_link_status);
 
-void connectib_hw_hca_contexts_print(const union connectib_hw_hca_contexts *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_hw_hca_contexts ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "max_speed_supported  : " U32H_FMT "\n", ptr_struct->max_speed_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cqc:\n");
-	connectib_hw_cqc_print(&(ptr_struct->cqc), file, indent_level + 1);
+	fprintf(file, "function_type        : " UH_FMT "\n", ptr_struct->function_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mkc:\n");
-	connectib_hw_mkc_print(&(ptr_struct->mkc), file, indent_level + 1);
+	fprintf(file, "mtu_size             : " UH_FMT "\n", ptr_struct->mtu_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "toc:\n");
-	connectib_hw_toc_print(&(ptr_struct->toc), file, indent_level + 1);
+	fprintf(file, "feature_flags        : " UH_FMT "\n", ptr_struct->feature_flags);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq:\n");
-	connectib_hw_srq_print(&(ptr_struct->srq), file, indent_level + 1);
+	fprintf(file, "max_offload_size     : " UH_FMT "\n", ptr_struct->max_offload_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dct:\n");
-	connectib_hw_dct_print(&(ptr_struct->dct), file, indent_level + 1);
+	fprintf(file, "lso_min_seg_count    : " UH_FMT "\n", ptr_struct->lso_min_seg_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "c_qpc:\n");
-	connectib_hw_c_qpc_print(&(ptr_struct->c_qpc), file, indent_level + 1);
+	fprintf(file, "promiscuous_mode     : " UH_FMT "\n", ptr_struct->promiscuous_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "s_qpc:\n");
-	connectib_hw_s_qpc_print(&(ptr_struct->s_qpc), file, indent_level + 1);
+	fprintf(file, "tx_descr_size        : " UH_FMT "\n", ptr_struct->tx_descr_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "r_qpc:\n");
-	connectib_hw_r_qpc_print(&(ptr_struct->r_qpc), file, indent_level + 1);
+	fprintf(file, "rx_descr_size        : " UH_FMT "\n", ptr_struct->rx_descr_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_info:\n");
-	connectib_hw_port_info_print(&(ptr_struct->port_info), file, indent_level + 1);
+	fprintf(file, "iov_offload          : " UH_FMT "\n", ptr_struct->iov_offload);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bsf_entry:\n");
-	connectib_hw_bsf_entry_print(&(ptr_struct->bsf_entry), file, indent_level + 1);
+	fprintf(file, "num_of_netq          : " UH_FMT "\n", ptr_struct->num_of_netq);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "base_psv:\n");
-	connectib_hw_base_psv_print(&(ptr_struct->base_psv), file, indent_level + 1);
+	fprintf(file, "pcp_prio_map_table   : " U32H_FMT "\n", ptr_struct->pcp_prio_map_table);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trastb:\n");
-	connectib_hw_trastb_print(&(ptr_struct->trastb), file, indent_level + 1);
+	fprintf(file, "max_num_pci_vfs_per_pfs : " UH_FMT "\n", ptr_struct->max_num_pci_vfs_per_pfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trasta:\n");
-	connectib_hw_trasta_print(&(ptr_struct->trasta), file, indent_level + 1);
+	fprintf(file, "os_driver_state      : " UH_FMT "\n", ptr_struct->os_driver_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sq_pointers:\n");
-	connectib_hw_sq_pointers_print(&(ptr_struct->sq_pointers), file, indent_level + 1);
+	fprintf(file, "vpd_data:\n");
+	connectib_ocbb_fields_from_vpd_print(&(ptr_struct->vpd_data), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi_tokens:\n");
-	connectib_hw_gvmi_tokens_print(&(ptr_struct->gvmi_tokens), file, indent_level + 1);
+	fprintf(file, "device_power_reset_state : " UH_FMT "\n", ptr_struct->device_power_reset_state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sq_tokens:\n");
-	connectib_hw_sq_tokens_print(&(ptr_struct->sq_tokens), file, indent_level + 1);
+	fprintf(file, "max_num_of_vfs       : " UH_FMT "\n", ptr_struct->max_num_of_vfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "klm_entry:\n");
-	connectib_hw_klm_entry_print(&(ptr_struct->klm_entry), file, indent_level + 1);
+	fprintf(file, "rx_discards          : " U32H_FMT "\n", ptr_struct->rx_discards);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sxdc:\n");
-	connectib_hw_sxdc_print(&(ptr_struct->sxdc), file, indent_level + 1);
+	fprintf(file, "rx_errors            : " U32H_FMT "\n", ptr_struct->rx_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pipa:\n");
-	connectib_hw_pipa_print(&(ptr_struct->pipa), file, indent_level + 1);
+	fprintf(file, "tx_errors            : " U32H_FMT "\n", ptr_struct->tx_errors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sq_qp_list:\n");
-	connectib_hw_sq_qp_list_print(&(ptr_struct->sq_qp_list), file, indent_level + 1);
+	fprintf(file, "tx_discards          : " U32H_FMT "\n", ptr_struct->tx_discards);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timer:\n");
-	connectib_hw_timer_32_print(&(ptr_struct->timer), file, indent_level + 1);
+	fprintf(file, "rx_frames_received   : " U64H_FMT "\n", ptr_struct->rx_frames_received);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pkey:\n");
-	connectib_hw_pkey_print(&(ptr_struct->pkey), file, indent_level + 1);
+	fprintf(file, "rx_bytes_received    : " U64H_FMT "\n", ptr_struct->rx_bytes_received);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_ste:\n");
-	connectib_hw_ste_print(&(ptr_struct->hw_ste), file, indent_level + 1);
+	fprintf(file, "tx_frames_sent       : " U64H_FMT "\n", ptr_struct->tx_frames_sent);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_entry_icmc:\n");
-	connectib_steering_entry_icmc_print(&(ptr_struct->steering_entry_icmc), file, indent_level + 1);
+	fprintf(file, "tx_bytes_sent        : " U64H_FMT "\n", ptr_struct->tx_bytes_sent);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtt:\n");
-	connectib_icm_mtt_print(&(ptr_struct->mtt), file, indent_level + 1);
+	fprintf(file, "pfc_frames_sent      : " U64H_FMT "\n", ptr_struct->pfc_frames_sent);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rdb:\n");
-	connectib_hw_rdb_print(&(ptr_struct->rdb), file, indent_level + 1);
+	fprintf(file, "pfc_frames_received  : " U64H_FMT "\n", ptr_struct->pfc_frames_received);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix:\n");
-	connectib_hw_msix_print(&(ptr_struct->msix), file, indent_level + 1);
+	fprintf(file, "prog_max_addr_1      : " U64H_FMT "\n", ptr_struct->prog_max_addr_1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prog_max_addr_2      : " U64H_FMT "\n", ptr_struct->prog_max_addr_2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_mtu              : " UH_FMT "\n", ptr_struct->max_mtu);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp_counter:\n");
-	connectib_hw_qp_counter_print(&(ptr_struct->qp_counter), file, indent_level + 1);
+	fprintf(file, "max_num_of_pci_func_per_port : " UH_FMT "\n", ptr_struct->max_num_of_pci_func_per_port);
 
 }
 
-int connectib_hw_hca_contexts_size(void){
-	 return 64;
+int connectib_ocbb_fields_size(void)
+{
+	 return 512;
 }
 
-void connectib_hw_hca_contexts_dump(const union connectib_hw_hca_contexts *ptr_struct, FILE* file) {
-	connectib_hw_hca_contexts_print(ptr_struct, file, 0);
+void connectib_ocbb_fields_dump(const struct connectib_ocbb_fields *ptr_struct, FILE* file)
+{
+	connectib_ocbb_fields_print(ptr_struct, file, 0);
 }
 
-void connectib_field_boundary_pack(const struct connectib_field_boundary *ptr_struct, u_int8_t* ptr_buff){
+void connectib_module_db_pre_define_st_pack(const struct connectib_module_db_pre_define_st *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->field_boundary);
-
 }
 
-void connectib_field_boundary_unpack(struct connectib_field_boundary *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_module_db_pre_define_st_unpack(struct connectib_module_db_pre_define_st *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->field_boundary = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
 }
 
-void connectib_field_boundary_print(const struct connectib_field_boundary *ptr_struct, FILE* file, int indent_level){
+void connectib_module_db_pre_define_st_print(const struct connectib_module_db_pre_define_st *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_field_boundary ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_module_db_pre_define_st ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_boundary       : "U32H_FMT"\n", ptr_struct->field_boundary);
-
 }
 
-int connectib_field_boundary_size(void){
-	 return 4;
+int connectib_module_db_pre_define_st_size(void)
+{
+	 return 56;
 }
 
-void connectib_field_boundary_dump(const struct connectib_field_boundary *ptr_struct, FILE* file) {
-	connectib_field_boundary_print(ptr_struct, file, 0);
+void connectib_module_db_pre_define_st_dump(const struct connectib_module_db_pre_define_st *ptr_struct, FILE* file)
+{
+	connectib_module_db_pre_define_st_print(ptr_struct, file, 0);
 }
 
-void connectib_add_data_pack(const struct connectib_add_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_driver_version_pack(const struct connectib_fw_driver_version *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->add_data);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
+	}
 
 }
 
-void connectib_add_data_unpack(struct connectib_add_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_driver_version_unpack(struct connectib_fw_driver_version *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->add_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_add_data_print(const struct connectib_add_data *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_driver_version_print(const struct connectib_fw_driver_version *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_add_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_driver_version ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data             : "U32H_FMT"\n", ptr_struct->add_data);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
+	}
 
 }
 
-int connectib_add_data_size(void){
-	 return 4;
+int connectib_fw_driver_version_size(void)
+{
+	 return 64;
 }
 
-void connectib_add_data_dump(const struct connectib_add_data *ptr_struct, FILE* file) {
-	connectib_add_data_print(ptr_struct, file, 0);
+void connectib_fw_driver_version_dump(const struct connectib_fw_driver_version *ptr_struct, FILE* file)
+{
+	connectib_fw_driver_version_print(ptr_struct, file, 0);
 }
 
-void connectib_compare_mask_data_pack(const struct connectib_compare_mask_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_iterator_result_pack(const struct connectib_iterator_result *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->compare_mask_data);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->port_0_1);
+
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
+
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pp);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->req_res_);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_fw_sq);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sqn);
 
 }
 
-void connectib_compare_mask_data_unpack(struct connectib_compare_mask_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_iterator_result_unpack(struct connectib_iterator_result *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->compare_mask_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-}
+	offset = 14;
+	ptr_struct->port_0_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-void connectib_compare_mask_data_print(const struct connectib_compare_mask_data *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_compare_mask_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 10;
+	ptr_struct->vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_mask_data    : "U32H_FMT"\n", ptr_struct->compare_mask_data);
+	offset = 6;
+	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-}
+	offset = 2;
+	ptr_struct->pp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-int connectib_compare_mask_data_size(void){
-	 return 4;
-}
+	offset = 1;
+	ptr_struct->req_res_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->is_fw_sq = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->sqn = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-void connectib_compare_mask_data_dump(const struct connectib_compare_mask_data *ptr_struct, FILE* file) {
-	connectib_compare_mask_data_print(ptr_struct, file, 0);
 }
 
-void connectib_swap_mask_data_pack(const struct connectib_swap_mask_data *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_iterator_result_print(const struct connectib_iterator_result *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_iterator_result ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->swap_mask_data);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_0_1             : " UH_FMT "\n", ptr_struct->port_0_1);
 
-void connectib_swap_mask_data_unpack(struct connectib_swap_mask_data *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl                   : " UH_FMT "\n", ptr_struct->vl);
 
-	offset=0;
-	ptr_struct->swap_mask_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sl                   : " UH_FMT "\n", ptr_struct->sl);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pp                   : " UH_FMT "\n", ptr_struct->pp);
 
-void connectib_swap_mask_data_print(const struct connectib_swap_mask_data *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_swap_mask_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "req_res_             : " UH_FMT "\n", ptr_struct->req_res_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_mask_data       : "U32H_FMT"\n", ptr_struct->swap_mask_data);
+	fprintf(file, "is_fw_sq             : " UH_FMT "\n", ptr_struct->is_fw_sq);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sqn                  : " U32H_FMT "\n", ptr_struct->sqn);
 
 }
 
-int connectib_swap_mask_data_size(void){
-	 return 4;
+int connectib_iterator_result_size(void)
+{
+	 return 8;
 }
 
-void connectib_swap_mask_data_dump(const struct connectib_swap_mask_data *ptr_struct, FILE* file) {
-	connectib_swap_mask_data_print(ptr_struct, file, 0);
+void connectib_iterator_result_dump(const struct connectib_iterator_result *ptr_struct, FILE* file)
+{
+	connectib_iterator_result_print(ptr_struct, file, 0);
 }
 
-void connectib_compare_data_pack(const struct connectib_compare_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_general_fault_injector_pair_pack(const struct connectib_general_fault_injector_pair *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->compare_data);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->freq);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->duration);
 
 }
 
-void connectib_compare_data_unpack(struct connectib_compare_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_general_fault_injector_pair_unpack(struct connectib_general_fault_injector_pair *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->compare_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->freq = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->duration = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_compare_data_print(const struct connectib_compare_data *ptr_struct, FILE* file, int indent_level){
+void connectib_general_fault_injector_pair_print(const struct connectib_general_fault_injector_pair *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_compare_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_general_fault_injector_pair ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data         : "U32H_FMT"\n", ptr_struct->compare_data);
+	fprintf(file, "freq                 : " UH_FMT "\n", ptr_struct->freq);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "duration             : " UH_FMT "\n", ptr_struct->duration);
 
 }
 
-int connectib_compare_data_size(void){
+int connectib_general_fault_injector_pair_size(void)
+{
 	 return 4;
 }
 
-void connectib_compare_data_dump(const struct connectib_compare_data *ptr_struct, FILE* file) {
-	connectib_compare_data_print(ptr_struct, file, 0);
+void connectib_general_fault_injector_pair_dump(const struct connectib_general_fault_injector_pair *ptr_struct, FILE* file)
+{
+	connectib_general_fault_injector_pair_print(ptr_struct, file, 0);
 }
 
-void connectib_swap_data_pack(const struct connectib_swap_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dmfs_gvmi_ctx_pack(const struct connectib_dmfs_gvmi_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->swap_data);
+	offset = 0;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->rx_nic_info), ptr_buff + offset/8);
 
-}
+	offset = 32;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->sx_nic_info), ptr_buff + offset/8);
 
-void connectib_swap_data_unpack(struct connectib_swap_data *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 64;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->esw_fdb_info), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->swap_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 96;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->rx_sniffer_info), ptr_buff + offset/8);
 
-}
+	offset = 128;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->sx_sniffer_info), ptr_buff + offset/8);
 
-void connectib_swap_data_print(const struct connectib_swap_data *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_swap_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 160;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->rx_rdma_info), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data            : "U32H_FMT"\n", ptr_struct->swap_data);
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sx_sniffer_pf_ref_count);
 
-}
+	offset = 196;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->active_vfs_counter);
 
-int connectib_swap_data_size(void){
-	 return 4;
-}
+	offset = 195;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_gvmi_init_hca_set);
 
-void connectib_swap_data_dump(const struct connectib_swap_data *ptr_struct, FILE* file) {
-	connectib_swap_data_print(ptr_struct, file, 0);
-}
+	offset = 194;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vport_lag_enable);
 
-void connectib_nv_data_pointer_pack(const struct connectib_nv_data_pointer *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 193;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cvlan_stripping_enable);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->offset_in_64_bytes);
+	offset = 192;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->gvmi_sx_sniffer_enable);
 
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->size_in_64_bytes);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mpfs_cache_pf_mac_guid_counter);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mpfs_cache_pf_mac_vlan_counter);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ft_link_list_head);
+
+	offset = 336;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->nic_flow_counters_cntr);
+
+	offset = 328;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->load_balance_mac_ref_count);
+
+	offset = 376;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->encap_en_ref_count);
+
+	offset = 352;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ipoib_enhanced_qps_counter);
 
 }
 
-void connectib_nv_data_pointer_unpack(struct connectib_nv_data_pointer *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dmfs_gvmi_ctx_unpack(struct connectib_dmfs_gvmi_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->offset_in_64_bytes = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->rx_nic_info), ptr_buff + offset/8);
 
-	offset=6;
-	ptr_struct->size_in_64_bytes = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
+	offset = 32;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->sx_nic_info), ptr_buff + offset/8);
+
+	offset = 64;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->esw_fdb_info), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->rx_sniffer_info), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->sx_sniffer_info), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->rx_rdma_info), ptr_buff + offset/8);
+
+	offset = 208;
+	ptr_struct->sx_sniffer_pf_ref_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 196;
+	ptr_struct->active_vfs_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 195;
+	ptr_struct->is_gvmi_init_hca_set = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 194;
+	ptr_struct->vport_lag_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 193;
+	ptr_struct->cvlan_stripping_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 192;
+	ptr_struct->gvmi_sx_sniffer_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 224;
+	ptr_struct->mpfs_cache_pf_mac_guid_counter = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 256;
+	ptr_struct->mpfs_cache_pf_mac_vlan_counter = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->ft_link_list_head = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 336;
+	ptr_struct->nic_flow_counters_cntr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 328;
+	ptr_struct->load_balance_mac_ref_count = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 376;
+	ptr_struct->encap_en_ref_count = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 352;
+	ptr_struct->ipoib_enhanced_qps_counter = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
 }
 
-void connectib_nv_data_pointer_print(const struct connectib_nv_data_pointer *ptr_struct, FILE* file, int indent_level){
+void connectib_dmfs_gvmi_ctx_print(const struct connectib_dmfs_gvmi_ctx *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_data_pointer ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_dmfs_gvmi_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset_in_64_bytes   : "UH_FMT"\n", ptr_struct->offset_in_64_bytes);
+	fprintf(file, "rx_nic_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->rx_nic_info), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size_in_64_bytes     : "UH_FMT"\n", ptr_struct->size_in_64_bytes);
+	fprintf(file, "sx_nic_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->sx_nic_info), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "esw_fdb_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->esw_fdb_info), file, indent_level + 1);
 
-int connectib_nv_data_pointer_size(void){
-	 return 4;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_sniffer_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->rx_sniffer_info), file, indent_level + 1);
 
-void connectib_nv_data_pointer_dump(const struct connectib_nv_data_pointer *ptr_struct, FILE* file) {
-	connectib_nv_data_pointer_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_sniffer_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->sx_sniffer_info), file, indent_level + 1);
 
-void connectib_jump_addresses_pack(const struct connectib_jump_addresses *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rx_rdma_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->rx_rdma_info), file, indent_level + 1);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->plastic);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_sniffer_pf_ref_count : " UH_FMT "\n", ptr_struct->sx_sniffer_pf_ref_count);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "active_vfs_counter   : " UH_FMT "\n", ptr_struct->active_vfs_counter);
 
-void connectib_jump_addresses_unpack(struct connectib_jump_addresses *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "is_gvmi_init_hca_set : " UH_FMT "\n", ptr_struct->is_gvmi_init_hca_set);
 
-	offset=8;
-	ptr_struct->plastic = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_lag_enable     : " UH_FMT "\n", ptr_struct->vport_lag_enable);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cvlan_stripping_enable : " UH_FMT "\n", ptr_struct->cvlan_stripping_enable);
 
-void connectib_jump_addresses_print(const struct connectib_jump_addresses *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_jump_addresses ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "gvmi_sx_sniffer_enable : " UH_FMT "\n", ptr_struct->gvmi_sx_sniffer_enable);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mpfs_cache_pf_mac_guid_counter : " U32H_FMT "\n", ptr_struct->mpfs_cache_pf_mac_guid_counter);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "plastic              : "UH_FMT"\n", ptr_struct->plastic);
+	fprintf(file, "mpfs_cache_pf_mac_vlan_counter : " U32H_FMT "\n", ptr_struct->mpfs_cache_pf_mac_vlan_counter);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ft_link_list_head    : " U32H_FMT "\n", ptr_struct->ft_link_list_head);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nic_flow_counters_cntr : " UH_FMT "\n", ptr_struct->nic_flow_counters_cntr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "load_balance_mac_ref_count : " UH_FMT "\n", ptr_struct->load_balance_mac_ref_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "encap_en_ref_count   : " UH_FMT "\n", ptr_struct->encap_en_ref_count);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ipoib_enhanced_qps_counter : " UH_FMT "\n", ptr_struct->ipoib_enhanced_qps_counter);
 
 }
 
-int connectib_jump_addresses_size(void){
-	 return 28;
+int connectib_dmfs_gvmi_ctx_size(void)
+{
+	 return 64;
 }
 
-void connectib_jump_addresses_dump(const struct connectib_jump_addresses *ptr_struct, FILE* file) {
-	connectib_jump_addresses_print(ptr_struct, file, 0);
+void connectib_dmfs_gvmi_ctx_dump(const struct connectib_dmfs_gvmi_ctx *ptr_struct, FILE* file)
+{
+	connectib_dmfs_gvmi_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_rx_adaptation_cfg_pack(const struct connectib_pcie_rx_adaptation_cfg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dmfs_data_pack(const struct connectib_dmfs_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->actual_ffe_tap_config_num);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(1, 1, i, 256, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mpfs_cache_enable[i]);
+	}
 
-	offset=27;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ffe_tap_value_lifting_en);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->steering_loopback_mode);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->redo_calibration);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mpfs_cache_chicken);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(32, 64, i, 544, 1);
-	connectib_ffe_tap_set_pack(&(ptr_struct->ffe_tap_config[i]), ptr_buff + offset/8);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 256, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->bmc_member_count[i]);
+	}
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(48, 16, i, 256, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sx_sniffer_ref_counter[i]);
+	}
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 256, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mpfs_cache_mac_guid_addrs_counter[i]);
+	}
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 256, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mpfs_cache_mac_vlan_addrs_counter[i]);
 	}
 
 }
 
-void connectib_pcie_rx_adaptation_cfg_unpack(struct connectib_pcie_rx_adaptation_cfg *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dmfs_data_unpack(struct connectib_dmfs_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->actual_ffe_tap_config_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(1, 1, i, 256, 1);
+	ptr_struct->mpfs_cache_enable[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	}
 
-	offset=27;
-	ptr_struct->ffe_tap_value_lifting_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 29;
+	ptr_struct->steering_loopback_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->redo_calibration = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 28;
+	ptr_struct->mpfs_cache_chicken = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(32, 64, i, 544, 1);
-	connectib_ffe_tap_set_unpack(&(ptr_struct->ffe_tap_config[i]), ptr_buff + offset/8);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 256, 1);
+	ptr_struct->bmc_member_count[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(48, 16, i, 256, 1);
+	ptr_struct->sx_sniffer_ref_counter[i] = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	}
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 256, 1);
+	ptr_struct->mpfs_cache_mac_guid_addrs_counter[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 256, 1);
+	ptr_struct->mpfs_cache_mac_vlan_addrs_counter[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
 }
 
-void connectib_pcie_rx_adaptation_cfg_print(const struct connectib_pcie_rx_adaptation_cfg *ptr_struct, FILE* file, int indent_level){
+void connectib_dmfs_data_print(const struct connectib_dmfs_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pcie_rx_adaptation_cfg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_dmfs_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "actual_ffe_tap_config_num : "UH_FMT"\n", ptr_struct->actual_ffe_tap_config_num);
+	fprintf(file, "mpfs_cache_enable_%03d : " UH_FMT "\n", i, ptr_struct->mpfs_cache_enable[i]);
+	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap_value_lifting_en : "UH_FMT"\n", ptr_struct->ffe_tap_value_lifting_en);
+	fprintf(file, "steering_loopback_mode : " UH_FMT "\n", ptr_struct->steering_loopback_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "redo_calibration     : "UH_FMT"\n", ptr_struct->redo_calibration);
+	fprintf(file, "mpfs_cache_chicken   : " UH_FMT "\n", ptr_struct->mpfs_cache_chicken);
 
-	for (i=0; i < 8; i++) {
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffe_tap_config_%03d:\n", i);
-	connectib_ffe_tap_set_print(&(ptr_struct->ffe_tap_config[i]), file, indent_level + 1);
+	fprintf(file, "bmc_member_count_%03d : " UH_FMT "\n", i, ptr_struct->bmc_member_count[i]);
+	}
+
+	for (i = 0; i < 2; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_sniffer_ref_counter_%03d : " UH_FMT "\n", i, ptr_struct->sx_sniffer_ref_counter[i]);
+	}
+
+	for (i = 0; i < 2; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mpfs_cache_mac_guid_addrs_counter_%03d : " U32H_FMT "\n", i, ptr_struct->mpfs_cache_mac_guid_addrs_counter[i]);
+	}
+
+	for (i = 0; i < 2; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mpfs_cache_mac_vlan_addrs_counter_%03d : " U32H_FMT "\n", i, ptr_struct->mpfs_cache_mac_vlan_addrs_counter[i]);
 	}
 
 }
 
-int connectib_pcie_rx_adaptation_cfg_size(void){
-	 return 68;
+int connectib_dmfs_data_size(void)
+{
+	 return 32;
 }
 
-void connectib_pcie_rx_adaptation_cfg_dump(const struct connectib_pcie_rx_adaptation_cfg *ptr_struct, FILE* file) {
-	connectib_pcie_rx_adaptation_cfg_print(ptr_struct, file, 0);
+void connectib_dmfs_data_dump(const struct connectib_dmfs_data *ptr_struct, FILE* file)
+{
+	connectib_dmfs_data_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_tx_adaptation_cfg_pack(const struct connectib_pcie_tx_adaptation_cfg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_ste_resources_list_out_pack(const struct connectib_icmd_get_ste_resources_list_out *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tx_adaptation_config_num);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->resources_count);
 
-	for (i=0; i < 3; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 128, 1);
-	connectib_GEN3_TRANSMITTER_SETTING_pack(&(ptr_struct->tx_adaptation_ts_param[i]), ptr_buff + offset/8);
+	for (i = 0; i < 63; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 2048, 1);
+	connectib_resource_type_entry_pack(&(ptr_struct->resource_type[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_pcie_tx_adaptation_cfg_unpack(struct connectib_pcie_tx_adaptation_cfg *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_ste_resources_list_out_unpack(struct connectib_icmd_get_ste_resources_list_out *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->tx_adaptation_config_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->resources_count = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 3; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 128, 1);
-	connectib_GEN3_TRANSMITTER_SETTING_unpack(&(ptr_struct->tx_adaptation_ts_param[i]), ptr_buff + offset/8);
+	for (i = 0; i < 63; i++) {
+	offset = adb2c_calc_array_field_address(32, 32, i, 2048, 1);
+	connectib_resource_type_entry_unpack(&(ptr_struct->resource_type[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_pcie_tx_adaptation_cfg_print(const struct connectib_pcie_tx_adaptation_cfg *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_ste_resources_list_out_print(const struct connectib_icmd_get_ste_resources_list_out *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pcie_tx_adaptation_cfg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_ste_resources_list_out ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_adaptation_config_num : "UH_FMT"\n", ptr_struct->tx_adaptation_config_num);
+	fprintf(file, "resources_count      : " UH_FMT "\n", ptr_struct->resources_count);
 
-	for (i=0; i < 3; i++) {
+	for (i = 0; i < 63; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_adaptation_ts_param_%03d:\n", i);
-	connectib_GEN3_TRANSMITTER_SETTING_print(&(ptr_struct->tx_adaptation_ts_param[i]), file, indent_level + 1);
+	fprintf(file, "resource_type_%03d:\n", i);
+	connectib_resource_type_entry_print(&(ptr_struct->resource_type[i]), file, indent_level + 1);
 	}
 
 }
 
-int connectib_pcie_tx_adaptation_cfg_size(void){
-	 return 16;
+int connectib_icmd_get_ste_resources_list_out_size(void)
+{
+	 return 256;
 }
 
-void connectib_pcie_tx_adaptation_cfg_dump(const struct connectib_pcie_tx_adaptation_cfg *ptr_struct, FILE* file) {
-	connectib_pcie_tx_adaptation_cfg_print(ptr_struct, file, 0);
+void connectib_icmd_get_ste_resources_list_out_dump(const struct connectib_icmd_get_ste_resources_list_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ste_resources_list_out_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_debug_cap_pack(const struct connectib_pcie_debug_cap *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_ste_resources_list_in_pack(const struct connectib_icmd_get_ste_resources_list_in *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 13, (u_int32_t)ptr_struct->internal_cause_mask);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->width_debug_en);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->speed_debug_en);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->internal_cause_en);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
 }
 
-void connectib_pcie_debug_cap_unpack(struct connectib_pcie_debug_cap *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_ste_resources_list_in_unpack(struct connectib_icmd_get_ste_resources_list_in *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=19;
-	ptr_struct->internal_cause_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 13);
-
-	offset=2;
-	ptr_struct->width_debug_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->speed_debug_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->internal_cause_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_pcie_debug_cap_print(const struct connectib_pcie_debug_cap *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_ste_resources_list_in_print(const struct connectib_icmd_get_ste_resources_list_in *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pcie_debug_cap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_ste_resources_list_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "internal_cause_mask  : "UH_FMT"\n", ptr_struct->internal_cause_mask);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "width_debug_en       : "UH_FMT"\n", ptr_struct->width_debug_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "speed_debug_en       : "UH_FMT"\n", ptr_struct->speed_debug_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "internal_cause_en    : "UH_FMT"\n", ptr_struct->internal_cause_en);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 }
 
-int connectib_pcie_debug_cap_size(void){
-	 return 4;
+int connectib_icmd_get_ste_resources_list_in_size(void)
+{
+	 return 16;
 }
 
-void connectib_pcie_debug_cap_dump(const struct connectib_pcie_debug_cap *ptr_struct, FILE* file) {
-	connectib_pcie_debug_cap_print(ptr_struct, file, 0);
+void connectib_icmd_get_ste_resources_list_in_dump(const struct connectib_icmd_get_ste_resources_list_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ste_resources_list_in_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_equalization_and_eye_pack(const struct connectib_pcie_equalization_and_eye *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_ste_open_resources_out_pack(const struct connectib_icmd_get_ste_open_resources_out *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->local_fs);
-
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->local_lf);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->preset);
-
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_preset);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->phase0_timeout);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->phase2_timeout);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->more);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fast_x1_eql_for_compliance);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->output_size);
 
-	for (i=0; i < 11; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 416, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->gen3_preset[i]);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(64, 128, i, 6144, 1);
+	connectib_index_and_length_pack(&(ptr_struct->opened_resource[i]), ptr_buff + offset/8);
 	}
 
-	offset=411;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->eye_center_mixer_offset);
-
-	offset=410;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eye_center_mix90_en);
-
-	offset=409;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eye_center_offset_en);
-
-	offset=408;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first_offset_phase_second);
-
-	offset=400;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->phase_err_wait_time);
-
-	offset=396;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->phase_stabilize_time);
-
 }
 
-void connectib_pcie_equalization_and_eye_unpack(struct connectib_pcie_equalization_and_eye *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_ste_open_resources_out_unpack(struct connectib_icmd_get_ste_open_resources_out *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	ptr_struct->local_fs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=19;
-	ptr_struct->local_lf = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=12;
-	ptr_struct->preset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=11;
-	ptr_struct->force_preset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->phase0_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=1;
-	ptr_struct->phase2_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 31;
+	ptr_struct->more = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->fast_x1_eql_for_compliance = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->output_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 11; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 416, 1);
-	ptr_struct->gen3_preset[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(64, 128, i, 6144, 1);
+	connectib_index_and_length_unpack(&(ptr_struct->opened_resource[i]), ptr_buff + offset/8);
 	}
 
-	offset=411;
-	ptr_struct->eye_center_mixer_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=410;
-	ptr_struct->eye_center_mix90_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=409;
-	ptr_struct->eye_center_offset_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=408;
-	ptr_struct->first_offset_phase_second = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=400;
-	ptr_struct->phase_err_wait_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=396;
-	ptr_struct->phase_stabilize_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
 }
 
-void connectib_pcie_equalization_and_eye_print(const struct connectib_pcie_equalization_and_eye *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_ste_open_resources_out_print(const struct connectib_icmd_get_ste_open_resources_out *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pcie_equalization_and_eye ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_ste_open_resources_out ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_fs             : "UH_FMT"\n", ptr_struct->local_fs);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_lf             : "UH_FMT"\n", ptr_struct->local_lf);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "preset               : "UH_FMT"\n", ptr_struct->preset);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_preset         : "UH_FMT"\n", ptr_struct->force_preset);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phase0_timeout       : "UH_FMT"\n", ptr_struct->phase0_timeout);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phase2_timeout       : "UH_FMT"\n", ptr_struct->phase2_timeout);
+	fprintf(file, "more                 : " UH_FMT "\n", ptr_struct->more);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fast_x1_eql_for_compliance : "UH_FMT"\n", ptr_struct->fast_x1_eql_for_compliance);
+	fprintf(file, "output_size          : " U32H_FMT "\n", ptr_struct->output_size);
 
-	for (i=0; i < 11; i++) {
+	for (i = 0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gen3_preset_%03d     : "U32H_FMT"\n", i, ptr_struct->gen3_preset[i]);
+	fprintf(file, "opened_resource_%03d:\n", i);
+	connectib_index_and_length_print(&(ptr_struct->opened_resource[i]), file, indent_level + 1);
 	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_center_mixer_offset : "UH_FMT"\n", ptr_struct->eye_center_mixer_offset);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_center_mix90_en  : "UH_FMT"\n", ptr_struct->eye_center_mix90_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eye_center_offset_en : "UH_FMT"\n", ptr_struct->eye_center_offset_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_offset_phase_second : "UH_FMT"\n", ptr_struct->first_offset_phase_second);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phase_err_wait_time  : "UH_FMT"\n", ptr_struct->phase_err_wait_time);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phase_stabilize_time : "UH_FMT"\n", ptr_struct->phase_stabilize_time);
-
 }
 
-int connectib_pcie_equalization_and_eye_size(void){
-	 return 52;
+int connectib_icmd_get_ste_open_resources_out_size(void)
+{
+	 return 768;
 }
 
-void connectib_pcie_equalization_and_eye_dump(const struct connectib_pcie_equalization_and_eye *ptr_struct, FILE* file) {
-	connectib_pcie_equalization_and_eye_print(ptr_struct, file, 0);
+void connectib_icmd_get_ste_open_resources_out_dump(const struct connectib_icmd_get_ste_open_resources_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ste_open_resources_out_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_serdes_cfg_pack(const struct connectib_pcie_serdes_cfg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_ste_open_resources_in_pack(const struct connectib_icmd_get_ste_open_resources_in *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->sdr_preemp);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sdr_preemp_pre);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sdr_preemp_post);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->sdr_preemp_main);
-
-	offset=61;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ddr_6_db_preemp);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_6_db_preemp_pre);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_6_db_preemp_post);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->icm_resource_type);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_6_db_preemp_main);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->start_index);
 
-	offset=93;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->ddr_3_dot_5_db_preemp);
+}
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_3_dot_5_db_preemp_pre);
+void connectib_icmd_get_ste_open_resources_in_unpack(struct connectib_icmd_get_ste_open_resources_in *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_3_dot_5_db_preemp_post);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ddr_3_dot_5_db_preemp_main);
+	offset = 32;
+	ptr_struct->icm_resource_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	connectib_GEN3_TRANSMITTER_SETTING_pack(&(ptr_struct->gen3_def_tx_preset), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->start_index = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=152;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->slicer_ind_en);
+}
 
-	offset=148;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slicer1_enable);
+void connectib_icmd_get_ste_open_resources_in_print(const struct connectib_icmd_get_ste_open_resources_in *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_ste_open_resources_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slicer2_enable);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
-	offset=185;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->signal_detect_threshold);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "icm_resource_type    : " U32H_FMT "\n", ptr_struct->icm_resource_type);
 
-	offset=184;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signal_detect_en);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "start_index          : " U64H_FMT "\n", ptr_struct->start_index);
 
-	offset=180;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ob_bias);
+}
 
-	offset=192;
-	connectib_ffe_tap_set_pack(&(ptr_struct->default_ffe_tap_set), ptr_buff + offset/8);
+int connectib_icmd_get_ste_open_resources_in_size(void)
+{
+	 return 16;
+}
 
+void connectib_icmd_get_ste_open_resources_in_dump(const struct connectib_icmd_get_ste_open_resources_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ste_open_resources_in_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_serdes_cfg_unpack(struct connectib_pcie_serdes_cfg *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_fte_out_pack(const struct connectib_icmd_get_fte_out *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	ptr_struct->sdr_preemp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=16;
-	ptr_struct->sdr_preemp_pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->sdr_preemp_post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	ptr_struct->sdr_preemp_main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=61;
-	ptr_struct->ddr_6_db_preemp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=48;
-	ptr_struct->ddr_6_db_preemp_pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=40;
-	ptr_struct->ddr_6_db_preemp_post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=32;
-	ptr_struct->ddr_6_db_preemp_main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=93;
-	ptr_struct->ddr_3_dot_5_db_preemp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=80;
-	ptr_struct->ddr_3_dot_5_db_preemp_pre = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=72;
-	ptr_struct->ddr_3_dot_5_db_preemp_post = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->action);
 
-	offset=64;
-	ptr_struct->ddr_3_dot_5_db_preemp_main = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	offset=96;
-	connectib_GEN3_TRANSMITTER_SETTING_unpack(&(ptr_struct->gen3_def_tx_preset), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->group_id);
 
-	offset=152;
-	ptr_struct->slicer_ind_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->flow_tag);
 
-	offset=148;
-	ptr_struct->slicer1_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->destination_list_size);
 
-	offset=144;
-	ptr_struct->slicer2_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 136;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->flow_counter_list_size);
 
-	offset=185;
-	ptr_struct->signal_detect_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 512;
+	connectib_flow_table_entry_match_set_lyr_2_4_pack(&(ptr_struct->outer_headers), ptr_buff + offset/8);
 
-	offset=184;
-	ptr_struct->signal_detect_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1024;
+	connectib_flow_table_entry_match_set_misc_pack(&(ptr_struct->misc_parameters), ptr_buff + offset/8);
 
-	offset=180;
-	ptr_struct->ob_bias = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 1536;
+	connectib_flow_table_entry_match_set_lyr_2_4_pack(&(ptr_struct->inner_headers), ptr_buff + offset/8);
 
-	offset=192;
-	connectib_ffe_tap_set_unpack(&(ptr_struct->default_ffe_tap_set), ptr_buff + offset/8);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(2048, 64, i, 6144, 1);
+	connectib_flow_list_pack(&(ptr_struct->destination[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_pcie_serdes_cfg_print(const struct connectib_pcie_serdes_cfg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pcie_serdes_cfg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+void connectib_icmd_get_fte_out_unpack(struct connectib_icmd_get_fte_out *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sdr_preemp           : "UH_FMT"\n", ptr_struct->sdr_preemp);
+	offset = 16;
+	ptr_struct->action = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sdr_preemp_pre       : "UH_FMT"\n", ptr_struct->sdr_preemp_pre);
+	offset = 0;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sdr_preemp_post      : "UH_FMT"\n", ptr_struct->sdr_preemp_post);
+	offset = 32;
+	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sdr_preemp_main      : "UH_FMT"\n", ptr_struct->sdr_preemp_main);
+	offset = 72;
+	ptr_struct->flow_tag = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ddr_6_db_preemp      : "UH_FMT"\n", ptr_struct->ddr_6_db_preemp);
+	offset = 104;
+	ptr_struct->destination_list_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ddr_6_db_preemp_pre  : "UH_FMT"\n", ptr_struct->ddr_6_db_preemp_pre);
+	offset = 136;
+	ptr_struct->flow_counter_list_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ddr_6_db_preemp_post : "UH_FMT"\n", ptr_struct->ddr_6_db_preemp_post);
+	offset = 512;
+	connectib_flow_table_entry_match_set_lyr_2_4_unpack(&(ptr_struct->outer_headers), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ddr_6_db_preemp_main : "UH_FMT"\n", ptr_struct->ddr_6_db_preemp_main);
+	offset = 1024;
+	connectib_flow_table_entry_match_set_misc_unpack(&(ptr_struct->misc_parameters), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ddr_3_dot_5_db_preemp : "UH_FMT"\n", ptr_struct->ddr_3_dot_5_db_preemp);
+	offset = 1536;
+	connectib_flow_table_entry_match_set_lyr_2_4_unpack(&(ptr_struct->inner_headers), ptr_buff + offset/8);
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(2048, 64, i, 6144, 1);
+	connectib_flow_list_unpack(&(ptr_struct->destination[i]), ptr_buff + offset/8);
+	}
+
+}
 
+void connectib_icmd_get_fte_out_print(const struct connectib_icmd_get_fte_out *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ddr_3_dot_5_db_preemp_pre : "UH_FMT"\n", ptr_struct->ddr_3_dot_5_db_preemp_pre);
+	fprintf(file, "======== connectib_icmd_get_fte_out ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ddr_3_dot_5_db_preemp_post : "UH_FMT"\n", ptr_struct->ddr_3_dot_5_db_preemp_post);
+	fprintf(file, "action               : " UH_FMT "\n", ptr_struct->action);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ddr_3_dot_5_db_preemp_main : "UH_FMT"\n", ptr_struct->ddr_3_dot_5_db_preemp_main);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gen3_def_tx_preset:\n");
-	connectib_GEN3_TRANSMITTER_SETTING_print(&(ptr_struct->gen3_def_tx_preset), file, indent_level + 1);
+	fprintf(file, "group_id             : " U32H_FMT "\n", ptr_struct->group_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slicer_ind_en        : "UH_FMT"\n", ptr_struct->slicer_ind_en);
+	fprintf(file, "flow_tag             : " UH_FMT "\n", ptr_struct->flow_tag);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slicer1_enable       : "UH_FMT"\n", ptr_struct->slicer1_enable);
+	fprintf(file, "destination_list_size : " UH_FMT "\n", ptr_struct->destination_list_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slicer2_enable       : "UH_FMT"\n", ptr_struct->slicer2_enable);
+	fprintf(file, "flow_counter_list_size : " UH_FMT "\n", ptr_struct->flow_counter_list_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signal_detect_threshold : "UH_FMT"\n", ptr_struct->signal_detect_threshold);
+	fprintf(file, "outer_headers:\n");
+	connectib_flow_table_entry_match_set_lyr_2_4_print(&(ptr_struct->outer_headers), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signal_detect_en     : "UH_FMT"\n", ptr_struct->signal_detect_en);
+	fprintf(file, "misc_parameters:\n");
+	connectib_flow_table_entry_match_set_misc_print(&(ptr_struct->misc_parameters), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ob_bias              : "UH_FMT"\n", ptr_struct->ob_bias);
+	fprintf(file, "inner_headers:\n");
+	connectib_flow_table_entry_match_set_lyr_2_4_print(&(ptr_struct->inner_headers), file, indent_level + 1);
 
+	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "default_ffe_tap_set:\n");
-	connectib_ffe_tap_set_print(&(ptr_struct->default_ffe_tap_set), file, indent_level + 1);
+	fprintf(file, "destination_%03d:\n", i);
+	connectib_flow_list_print(&(ptr_struct->destination[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_pcie_serdes_cfg_size(void){
-	 return 32;
+int connectib_icmd_get_fte_out_size(void)
+{
+	 return 768;
 }
 
-void connectib_pcie_serdes_cfg_dump(const struct connectib_pcie_serdes_cfg *ptr_struct, FILE* file) {
-	connectib_pcie_serdes_cfg_print(ptr_struct, file, 0);
+void connectib_icmd_get_fte_out_dump(const struct connectib_icmd_get_fte_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fte_out_print(ptr_struct, file, 0);
 }
 
-void connectib_gpio_configurations_pack(const struct connectib_gpio_configurations *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_fte_in_pack(const struct connectib_icmd_get_fte_in *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 48; i++) {
-	offset=adb2c_calc_array_field_address(24, 8, i, 384, 1);
-	connectib_gpio_config_pack(&(ptr_struct->gpio[i]), ptr_buff + offset/8);
-	}
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flow_index);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->requested_fte_partition);
 
 }
 
-void connectib_gpio_configurations_unpack(struct connectib_gpio_configurations *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_fte_in_unpack(struct connectib_icmd_get_fte_in *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 48; i++) {
-	offset=adb2c_calc_array_field_address(24, 8, i, 384, 1);
-	connectib_gpio_config_unpack(&(ptr_struct->gpio[i]), ptr_buff + offset/8);
-	}
+	offset = 8;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 112;
+	ptr_struct->requested_fte_partition = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_gpio_configurations_print(const struct connectib_gpio_configurations *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_fte_in_print(const struct connectib_icmd_get_fte_in *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_gpio_configurations ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_fte_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 48; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gpio_%03d:\n", i);
-	connectib_gpio_config_print(&(ptr_struct->gpio[i]), file, indent_level + 1);
-	}
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_index           : " U32H_FMT "\n", ptr_struct->flow_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "requested_fte_partition : " UH_FMT "\n", ptr_struct->requested_fte_partition);
 
 }
 
-int connectib_gpio_configurations_size(void){
-	 return 48;
+int connectib_icmd_get_fte_in_size(void)
+{
+	 return 16;
 }
 
-void connectib_gpio_configurations_dump(const struct connectib_gpio_configurations *ptr_struct, FILE* file) {
-	connectib_gpio_configurations_print(ptr_struct, file, 0);
+void connectib_icmd_get_fte_in_dump(const struct connectib_icmd_get_fte_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fte_in_print(ptr_struct, file, 0);
 }
 
-void connectib_gpio_functions_pack(const struct connectib_gpio_functions *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_fte_list_out_pack(const struct connectib_icmd_get_fte_list_out *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	connectib_gpio_function_pack(&(ptr_struct->physical_led_p1), ptr_buff + offset/8);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	offset=16;
-	connectib_gpio_function_pack(&(ptr_struct->physical_led_p2), ptr_buff + offset/8);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last);
 
-	offset=8;
-	connectib_gpio_function_pack(&(ptr_struct->logical_led_p1), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first);
 
-	offset=0;
-	connectib_gpio_function_pack(&(ptr_struct->logical_led_p2), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flow_index);
 
-	offset=56;
-	connectib_gpio_function_pack(&(ptr_struct->gp_lv), ptr_buff + offset/8);
+}
 
-	offset=48;
-	connectib_gpio_function_pack(&(ptr_struct->int_p1_l), ptr_buff + offset/8);
+void connectib_icmd_get_fte_list_out_unpack(struct connectib_icmd_get_fte_list_out *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=40;
-	connectib_gpio_function_pack(&(ptr_struct->int_p2_l), ptr_buff + offset/8);
+	offset = 3;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	connectib_gpio_function_pack(&(ptr_struct->modprs_p1_l), ptr_buff + offset/8);
+	offset = 1;
+	ptr_struct->last = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=88;
-	connectib_gpio_function_pack(&(ptr_struct->modprs_p2_l), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->first = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	connectib_gpio_function_pack(&(ptr_struct->modsel_p1_l), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
-	connectib_gpio_function_pack(&(ptr_struct->modsel_p2_l), ptr_buff + offset/8);
+}
 
-	offset=64;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_arb_in), ptr_buff + offset/8);
+void connectib_icmd_get_fte_list_out_print(const struct connectib_icmd_get_fte_list_out *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_fte_list_out ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=120;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_arb_out), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
-	offset=112;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_crs_dv), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last                 : " UH_FMT "\n", ptr_struct->last);
 
-	offset=104;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_rxd0), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "first                : " UH_FMT "\n", ptr_struct->first);
 
-	offset=96;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_rxd1), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_index           : " U32H_FMT "\n", ptr_struct->flow_index);
 
-	offset=152;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_txd0), ptr_buff + offset/8);
+}
 
-	offset=144;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_txd1), ptr_buff + offset/8);
+int connectib_icmd_get_fte_list_out_size(void)
+{
+	 return 16;
+}
 
-	offset=136;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_ref_clk), ptr_buff + offset/8);
+void connectib_icmd_get_fte_list_out_dump(const struct connectib_icmd_get_fte_list_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fte_list_out_print(ptr_struct, file, 0);
+}
 
-	offset=128;
-	connectib_gpio_function_pack(&(ptr_struct->ncsi_tx_en), ptr_buff + offset/8);
+void connectib_icmd_get_fte_list_in_pack(const struct connectib_icmd_get_fte_list_in *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=184;
-	connectib_gpio_function_pack(&(ptr_struct->oc_int_l), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
 
-	offset=176;
-	connectib_gpio_function_pack(&(ptr_struct->ovt_wrng), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->info);
 
-	offset=168;
-	connectib_gpio_function_pack(&(ptr_struct->ovt_shtdn), ptr_buff + offset/8);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=160;
-	connectib_gpio_function_pack(&(ptr_struct->pe_rst_l), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flow_index);
 
-	offset=216;
-	connectib_gpio_function_pack(&(ptr_struct->gpio_func_reserved), ptr_buff + offset/8);
+}
 
-	offset=208;
-	connectib_gpio_function_pack(&(ptr_struct->reset_p1_l), ptr_buff + offset/8);
+void connectib_icmd_get_fte_list_in_unpack(struct connectib_icmd_get_fte_list_in *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=200;
-	connectib_gpio_function_pack(&(ptr_struct->reset_p2_l), ptr_buff + offset/8);
+	offset = 8;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=192;
-	connectib_gpio_function_pack(&(ptr_struct->spi_clk), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->info = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=248;
-	connectib_gpio_function_pack(&(ptr_struct->spi_cs0_l), ptr_buff + offset/8);
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=240;
-	connectib_gpio_function_pack(&(ptr_struct->spi_cs1_l), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=232;
-	connectib_gpio_function_pack(&(ptr_struct->spi_io0), ptr_buff + offset/8);
+}
 
-	offset=224;
-	connectib_gpio_function_pack(&(ptr_struct->spi_io1), ptr_buff + offset/8);
+void connectib_icmd_get_fte_list_in_print(const struct connectib_icmd_get_fte_list_in *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_fte_list_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=280;
-	connectib_gpio_function_pack(&(ptr_struct->spi_io2), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
 
-	offset=272;
-	connectib_gpio_function_pack(&(ptr_struct->spi_io3), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "info                 : " UH_FMT "\n", ptr_struct->info);
 
-	offset=264;
-	connectib_gpio_function_pack(&(ptr_struct->i2c_scl1), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
-	offset=256;
-	connectib_gpio_function_pack(&(ptr_struct->i2c_scl2), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flow_index           : " U32H_FMT "\n", ptr_struct->flow_index);
 
-	offset=312;
-	connectib_gpio_function_pack(&(ptr_struct->i2c_scl3), ptr_buff + offset/8);
+}
 
-	offset=304;
-	connectib_gpio_function_pack(&(ptr_struct->i2c_sda1), ptr_buff + offset/8);
+int connectib_icmd_get_fte_list_in_size(void)
+{
+	 return 16;
+}
 
-	offset=296;
-	connectib_gpio_function_pack(&(ptr_struct->i2c_sda2), ptr_buff + offset/8);
+void connectib_icmd_get_fte_list_in_dump(const struct connectib_icmd_get_fte_list_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fte_list_in_print(ptr_struct, file, 0);
+}
 
-	offset=288;
-	connectib_gpio_function_pack(&(ptr_struct->i2c_sda3), ptr_buff + offset/8);
+void connectib_icmd_get_fg_out_pack(const struct connectib_icmd_get_fg_out *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=344;
-	connectib_gpio_function_pack(&(ptr_struct->i2c_int_l), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->start_flow_index);
 
-	offset=336;
-	connectib_gpio_function_pack(&(ptr_struct->i2c_rst_l), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->end_flow_index);
 
-	offset=328;
-	connectib_gpio_function_pack(&(ptr_struct->vdd_mod), ptr_buff + offset/8);
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->match_criteria_enable);
 
-	offset=320;
-	connectib_gpio_function_pack(&(ptr_struct->wake_l), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	offset=376;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_mezz_fault_l), ptr_buff + offset/8);
+	offset = 512;
+	connectib_flow_table_entry_match_set_lyr_2_4_pack(&(ptr_struct->outer_headers), ptr_buff + offset/8);
 
-	offset=368;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_ite_all_pgood), ptr_buff + offset/8);
+	offset = 1024;
+	connectib_flow_table_entry_match_set_misc_pack(&(ptr_struct->misc_parameters), ptr_buff + offset/8);
 
-	offset=360;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_t_control_l), ptr_buff + offset/8);
+	offset = 1536;
+	connectib_flow_table_entry_match_set_lyr_2_4_pack(&(ptr_struct->inner_headers), ptr_buff + offset/8);
 
-	offset=352;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_t_warning_l), ptr_buff + offset/8);
+}
 
-	offset=408;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_t_critical_l), ptr_buff + offset/8);
+void connectib_icmd_get_fg_out_unpack(struct connectib_icmd_get_fg_out *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=400;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_cib_slot_id_0), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->start_flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=392;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_cib_slot_id_1), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->end_flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_vpd_update_l), ptr_buff + offset/8);
+	offset = 88;
+	ptr_struct->match_criteria_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=440;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_vpd_cache_comp), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=432;
-	connectib_gpio_function_pack(&(ptr_struct->ibm_vpd_ctrl), ptr_buff + offset/8);
+	offset = 512;
+	connectib_flow_table_entry_match_set_lyr_2_4_unpack(&(ptr_struct->outer_headers), ptr_buff + offset/8);
 
-	offset=424;
-	connectib_gpio_function_pack(&(ptr_struct->gpio_port_swap), ptr_buff + offset/8);
+	offset = 1024;
+	connectib_flow_table_entry_match_set_misc_unpack(&(ptr_struct->misc_parameters), ptr_buff + offset/8);
 
-	offset=416;
-	connectib_gpio_function_pack(&(ptr_struct->gpio_func_reserved_1), ptr_buff + offset/8);
+	offset = 1536;
+	connectib_flow_table_entry_match_set_lyr_2_4_unpack(&(ptr_struct->inner_headers), ptr_buff + offset/8);
 
 }
 
-void connectib_gpio_functions_unpack(struct connectib_gpio_functions *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_icmd_get_fg_out_print(const struct connectib_icmd_get_fg_out *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_fg_out ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=24;
-	connectib_gpio_function_unpack(&(ptr_struct->physical_led_p1), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "start_flow_index     : " U32H_FMT "\n", ptr_struct->start_flow_index);
 
-	offset=16;
-	connectib_gpio_function_unpack(&(ptr_struct->physical_led_p2), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "end_flow_index       : " U32H_FMT "\n", ptr_struct->end_flow_index);
 
-	offset=8;
-	connectib_gpio_function_unpack(&(ptr_struct->logical_led_p1), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "match_criteria_enable : " UH_FMT "\n", ptr_struct->match_criteria_enable);
 
-	offset=0;
-	connectib_gpio_function_unpack(&(ptr_struct->logical_led_p2), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
-	offset=56;
-	connectib_gpio_function_unpack(&(ptr_struct->gp_lv), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "outer_headers:\n");
+	connectib_flow_table_entry_match_set_lyr_2_4_print(&(ptr_struct->outer_headers), file, indent_level + 1);
 
-	offset=48;
-	connectib_gpio_function_unpack(&(ptr_struct->int_p1_l), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "misc_parameters:\n");
+	connectib_flow_table_entry_match_set_misc_print(&(ptr_struct->misc_parameters), file, indent_level + 1);
 
-	offset=40;
-	connectib_gpio_function_unpack(&(ptr_struct->int_p2_l), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "inner_headers:\n");
+	connectib_flow_table_entry_match_set_lyr_2_4_print(&(ptr_struct->inner_headers), file, indent_level + 1);
 
-	offset=32;
-	connectib_gpio_function_unpack(&(ptr_struct->modprs_p1_l), ptr_buff + offset/8);
+}
 
-	offset=88;
-	connectib_gpio_function_unpack(&(ptr_struct->modprs_p2_l), ptr_buff + offset/8);
+int connectib_icmd_get_fg_out_size(void)
+{
+	 return 256;
+}
 
-	offset=80;
-	connectib_gpio_function_unpack(&(ptr_struct->modsel_p1_l), ptr_buff + offset/8);
+void connectib_icmd_get_fg_out_dump(const struct connectib_icmd_get_fg_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fg_out_print(ptr_struct, file, 0);
+}
 
-	offset=72;
-	connectib_gpio_function_unpack(&(ptr_struct->modsel_p2_l), ptr_buff + offset/8);
+void connectib_icmd_get_fg_in_pack(const struct connectib_icmd_get_fg_in *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=64;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_arb_in), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
 
-	offset=120;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_arb_out), ptr_buff + offset/8);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=112;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_crs_dv), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->group_id);
 
-	offset=104;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_rxd0), ptr_buff + offset/8);
+}
 
-	offset=96;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_rxd1), ptr_buff + offset/8);
+void connectib_icmd_get_fg_in_unpack(struct connectib_icmd_get_fg_in *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=152;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_txd0), ptr_buff + offset/8);
+	offset = 8;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=144;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_txd1), ptr_buff + offset/8);
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=136;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_ref_clk), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	connectib_gpio_function_unpack(&(ptr_struct->ncsi_tx_en), ptr_buff + offset/8);
+}
 
-	offset=184;
-	connectib_gpio_function_unpack(&(ptr_struct->oc_int_l), ptr_buff + offset/8);
+void connectib_icmd_get_fg_in_print(const struct connectib_icmd_get_fg_in *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_fg_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=176;
-	connectib_gpio_function_unpack(&(ptr_struct->ovt_wrng), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
 
-	offset=168;
-	connectib_gpio_function_unpack(&(ptr_struct->ovt_shtdn), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
-	offset=160;
-	connectib_gpio_function_unpack(&(ptr_struct->pe_rst_l), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "group_id             : " U32H_FMT "\n", ptr_struct->group_id);
 
-	offset=216;
-	connectib_gpio_function_unpack(&(ptr_struct->gpio_func_reserved), ptr_buff + offset/8);
+}
 
-	offset=208;
-	connectib_gpio_function_unpack(&(ptr_struct->reset_p1_l), ptr_buff + offset/8);
+int connectib_icmd_get_fg_in_size(void)
+{
+	 return 16;
+}
 
-	offset=200;
-	connectib_gpio_function_unpack(&(ptr_struct->reset_p2_l), ptr_buff + offset/8);
+void connectib_icmd_get_fg_in_dump(const struct connectib_icmd_get_fg_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fg_in_print(ptr_struct, file, 0);
+}
 
-	offset=192;
-	connectib_gpio_function_unpack(&(ptr_struct->spi_clk), ptr_buff + offset/8);
+void connectib_icmd_get_fg_list_out_pack(const struct connectib_icmd_get_fg_list_out *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=248;
-	connectib_gpio_function_unpack(&(ptr_struct->spi_cs0_l), ptr_buff + offset/8);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	offset=240;
-	connectib_gpio_function_unpack(&(ptr_struct->spi_cs1_l), ptr_buff + offset/8);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last);
 
-	offset=232;
-	connectib_gpio_function_unpack(&(ptr_struct->spi_io0), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first);
 
-	offset=224;
-	connectib_gpio_function_unpack(&(ptr_struct->spi_io1), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->group_id);
 
-	offset=280;
-	connectib_gpio_function_unpack(&(ptr_struct->spi_io2), ptr_buff + offset/8);
+}
 
-	offset=272;
-	connectib_gpio_function_unpack(&(ptr_struct->spi_io3), ptr_buff + offset/8);
+void connectib_icmd_get_fg_list_out_unpack(struct connectib_icmd_get_fg_list_out *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=264;
-	connectib_gpio_function_unpack(&(ptr_struct->i2c_scl1), ptr_buff + offset/8);
+	offset = 3;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	connectib_gpio_function_unpack(&(ptr_struct->i2c_scl2), ptr_buff + offset/8);
+	offset = 1;
+	ptr_struct->last = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=312;
-	connectib_gpio_function_unpack(&(ptr_struct->i2c_scl3), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->first = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=304;
-	connectib_gpio_function_unpack(&(ptr_struct->i2c_sda1), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=296;
-	connectib_gpio_function_unpack(&(ptr_struct->i2c_sda2), ptr_buff + offset/8);
+}
 
-	offset=288;
-	connectib_gpio_function_unpack(&(ptr_struct->i2c_sda3), ptr_buff + offset/8);
+void connectib_icmd_get_fg_list_out_print(const struct connectib_icmd_get_fg_list_out *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_fg_list_out ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=344;
-	connectib_gpio_function_unpack(&(ptr_struct->i2c_int_l), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
-	offset=336;
-	connectib_gpio_function_unpack(&(ptr_struct->i2c_rst_l), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "last                 : " UH_FMT "\n", ptr_struct->last);
 
-	offset=328;
-	connectib_gpio_function_unpack(&(ptr_struct->vdd_mod), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "first                : " UH_FMT "\n", ptr_struct->first);
 
-	offset=320;
-	connectib_gpio_function_unpack(&(ptr_struct->wake_l), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "group_id             : " U32H_FMT "\n", ptr_struct->group_id);
 
-	offset=376;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_mezz_fault_l), ptr_buff + offset/8);
+}
 
-	offset=368;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_ite_all_pgood), ptr_buff + offset/8);
+int connectib_icmd_get_fg_list_out_size(void)
+{
+	 return 16;
+}
 
-	offset=360;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_t_control_l), ptr_buff + offset/8);
+void connectib_icmd_get_fg_list_out_dump(const struct connectib_icmd_get_fg_list_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fg_list_out_print(ptr_struct, file, 0);
+}
 
-	offset=352;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_t_warning_l), ptr_buff + offset/8);
+void connectib_icmd_get_fg_list_in_pack(const struct connectib_icmd_get_fg_list_in *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=408;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_t_critical_l), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
 
-	offset=400;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_cib_slot_id_0), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->info);
 
-	offset=392;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_cib_slot_id_1), ptr_buff + offset/8);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=384;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_vpd_update_l), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->group_id);
 
-	offset=440;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_vpd_cache_comp), ptr_buff + offset/8);
+}
 
-	offset=432;
-	connectib_gpio_function_unpack(&(ptr_struct->ibm_vpd_ctrl), ptr_buff + offset/8);
+void connectib_icmd_get_fg_list_in_unpack(struct connectib_icmd_get_fg_list_in *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=424;
-	connectib_gpio_function_unpack(&(ptr_struct->gpio_port_swap), ptr_buff + offset/8);
+	offset = 8;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=416;
-	connectib_gpio_function_unpack(&(ptr_struct->gpio_func_reserved_1), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->info = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_gpio_functions_print(const struct connectib_gpio_functions *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_fg_list_in_print(const struct connectib_icmd_get_fg_list_in *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_gpio_functions ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_fg_list_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "physical_led_p1:\n");
-	connectib_gpio_function_print(&(ptr_struct->physical_led_p1), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "physical_led_p2:\n");
-	connectib_gpio_function_print(&(ptr_struct->physical_led_p2), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "logical_led_p1:\n");
-	connectib_gpio_function_print(&(ptr_struct->logical_led_p1), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "logical_led_p2:\n");
-	connectib_gpio_function_print(&(ptr_struct->logical_led_p2), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gp_lv:\n");
-	connectib_gpio_function_print(&(ptr_struct->gp_lv), file, indent_level + 1);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "int_p1_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->int_p1_l), file, indent_level + 1);
+	fprintf(file, "info                 : " UH_FMT "\n", ptr_struct->info);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "int_p2_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->int_p2_l), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "modprs_p1_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->modprs_p1_l), file, indent_level + 1);
+	fprintf(file, "group_id             : " U32H_FMT "\n", ptr_struct->group_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "modprs_p2_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->modprs_p2_l), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "modsel_p1_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->modsel_p1_l), file, indent_level + 1);
+int connectib_icmd_get_fg_list_in_size(void)
+{
+	 return 16;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "modsel_p2_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->modsel_p2_l), file, indent_level + 1);
+void connectib_icmd_get_fg_list_in_dump(const struct connectib_icmd_get_fg_list_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fg_list_in_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_arb_in:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_arb_in), file, indent_level + 1);
+void connectib_icmd_get_ft_info_out_pack(const struct connectib_icmd_get_ft_info_out *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_arb_out:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_arb_out), file, indent_level + 1);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_size);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_crs_dv:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_crs_dv), file, indent_level + 1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->level);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_rxd0:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_rxd0), file, indent_level + 1);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_rxd1:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_rxd1), file, indent_level + 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_txd0:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_txd0), file, indent_level + 1);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_miss_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_txd1:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_txd1), file, indent_level + 1);
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->table_miss_mode);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_ref_clk:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_ref_clk), file, indent_level + 1);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->encap_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ncsi_tx_en:\n");
-	connectib_gpio_function_print(&(ptr_struct->ncsi_tx_en), file, indent_level + 1);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->decap_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "oc_int_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->oc_int_l), file, indent_level + 1);
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->lag_master_next_table_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ovt_wrng:\n");
-	connectib_gpio_function_print(&(ptr_struct->ovt_wrng), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ovt_shtdn:\n");
-	connectib_gpio_function_print(&(ptr_struct->ovt_shtdn), file, indent_level + 1);
+void connectib_icmd_get_ft_info_out_unpack(struct connectib_icmd_get_ft_info_out *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pe_rst_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->pe_rst_l), file, indent_level + 1);
+	offset = 24;
+	ptr_struct->log_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gpio_func_reserved:\n");
-	connectib_gpio_function_print(&(ptr_struct->gpio_func_reserved), file, indent_level + 1);
+	offset = 16;
+	ptr_struct->level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_p1_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->reset_p1_l), file, indent_level + 1);
+	offset = 8;
+	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_p2_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->reset_p2_l), file, indent_level + 1);
+	offset = 0;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spi_clk:\n");
-	connectib_gpio_function_print(&(ptr_struct->spi_clk), file, indent_level + 1);
+	offset = 40;
+	ptr_struct->table_miss_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spi_cs0_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->spi_cs0_l), file, indent_level + 1);
+	offset = 36;
+	ptr_struct->table_miss_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spi_cs1_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->spi_cs1_l), file, indent_level + 1);
+	offset = 33;
+	ptr_struct->encap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spi_io0:\n");
-	connectib_gpio_function_print(&(ptr_struct->spi_io0), file, indent_level + 1);
+	offset = 32;
+	ptr_struct->decap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spi_io1:\n");
-	connectib_gpio_function_print(&(ptr_struct->spi_io1), file, indent_level + 1);
+	offset = 72;
+	ptr_struct->lag_master_next_table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spi_io2:\n");
-	connectib_gpio_function_print(&(ptr_struct->spi_io2), file, indent_level + 1);
+}
 
+void connectib_icmd_get_ft_info_out_print(const struct connectib_icmd_get_ft_info_out *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spi_io3:\n");
-	connectib_gpio_function_print(&(ptr_struct->spi_io3), file, indent_level + 1);
+	fprintf(file, "======== connectib_icmd_get_ft_info_out ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_scl1:\n");
-	connectib_gpio_function_print(&(ptr_struct->i2c_scl1), file, indent_level + 1);
+	fprintf(file, "log_size             : " UH_FMT "\n", ptr_struct->log_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_scl2:\n");
-	connectib_gpio_function_print(&(ptr_struct->i2c_scl2), file, indent_level + 1);
+	fprintf(file, "level                : " UH_FMT "\n", ptr_struct->level);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_scl3:\n");
-	connectib_gpio_function_print(&(ptr_struct->i2c_scl3), file, indent_level + 1);
+	fprintf(file, "table_type           : " UH_FMT "\n", ptr_struct->table_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_sda1:\n");
-	connectib_gpio_function_print(&(ptr_struct->i2c_sda1), file, indent_level + 1);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_sda2:\n");
-	connectib_gpio_function_print(&(ptr_struct->i2c_sda2), file, indent_level + 1);
+	fprintf(file, "table_miss_id        : " UH_FMT "\n", ptr_struct->table_miss_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_sda3:\n");
-	connectib_gpio_function_print(&(ptr_struct->i2c_sda3), file, indent_level + 1);
+	fprintf(file, "table_miss_mode      : " UH_FMT "\n", ptr_struct->table_miss_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_int_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->i2c_int_l), file, indent_level + 1);
+	fprintf(file, "encap_en             : " UH_FMT "\n", ptr_struct->encap_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_rst_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->i2c_rst_l), file, indent_level + 1);
+	fprintf(file, "decap_en             : " UH_FMT "\n", ptr_struct->decap_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vdd_mod:\n");
-	connectib_gpio_function_print(&(ptr_struct->vdd_mod), file, indent_level + 1);
+	fprintf(file, "lag_master_next_table_id : " UH_FMT "\n", ptr_struct->lag_master_next_table_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wake_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->wake_l), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_mezz_fault_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_mezz_fault_l), file, indent_level + 1);
+int connectib_icmd_get_ft_info_out_size(void)
+{
+	 return 16;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_ite_all_pgood:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_ite_all_pgood), file, indent_level + 1);
+void connectib_icmd_get_ft_info_out_dump(const struct connectib_icmd_get_ft_info_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ft_info_out_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_t_control_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_t_control_l), file, indent_level + 1);
+void connectib_icmd_get_ft_info_in_pack(const struct connectib_icmd_get_ft_info_in *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_t_warning_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_t_warning_l), file, indent_level + 1);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_t_critical_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_t_critical_l), file, indent_level + 1);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_cib_slot_id_0:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_cib_slot_id_0), file, indent_level + 1);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_cib_slot_id_1:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_cib_slot_id_1), file, indent_level + 1);
+void connectib_icmd_get_ft_info_in_unpack(struct connectib_icmd_get_ft_info_in *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_vpd_update_l:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_vpd_update_l), file, indent_level + 1);
+	offset = 8;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_vpd_cache_comp:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_vpd_cache_comp), file, indent_level + 1);
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
 
+void connectib_icmd_get_ft_info_in_print(const struct connectib_icmd_get_ft_info_in *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_vpd_ctrl:\n");
-	connectib_gpio_function_print(&(ptr_struct->ibm_vpd_ctrl), file, indent_level + 1);
+	fprintf(file, "======== connectib_icmd_get_ft_info_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gpio_port_swap:\n");
-	connectib_gpio_function_print(&(ptr_struct->gpio_port_swap), file, indent_level + 1);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gpio_func_reserved_1:\n");
-	connectib_gpio_function_print(&(ptr_struct->gpio_func_reserved_1), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 }
 
-int connectib_gpio_functions_size(void){
-	 return 84;
+int connectib_icmd_get_ft_info_in_size(void)
+{
+	 return 16;
 }
 
-void connectib_gpio_functions_dump(const struct connectib_gpio_functions *ptr_struct, FILE* file) {
-	connectib_gpio_functions_print(ptr_struct, file, 0);
+void connectib_icmd_get_ft_info_in_dump(const struct connectib_icmd_get_ft_info_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ft_info_in_print(ptr_struct, file, 0);
 }
 
-void connectib_i2c_device_entry_pack(const struct connectib_i2c_device_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_ft_list_out_pack(const struct connectib_icmd_get_ft_list_out *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->slave_addr);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->bus_id);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->addr_size);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first);
 
 }
 
-void connectib_i2c_device_entry_unpack(struct connectib_i2c_device_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_ft_list_out_unpack(struct connectib_icmd_get_ft_list_out *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=25;
-	ptr_struct->slave_addr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 8;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=22;
-	ptr_struct->bus_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 3;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=13;
-	ptr_struct->addr_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 1;
+	ptr_struct->last = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 0;
+	ptr_struct->first = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_i2c_device_entry_print(const struct connectib_i2c_device_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_ft_list_out_print(const struct connectib_icmd_get_ft_list_out *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_i2c_device_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_ft_list_out ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slave_addr           : "UH_FMT"\n", ptr_struct->slave_addr);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bus_id               : "UH_FMT"\n", ptr_struct->bus_id);
+	fprintf(file, "last                 : " UH_FMT "\n", ptr_struct->last);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_size            : "UH_FMT"\n", ptr_struct->addr_size);
+	fprintf(file, "first                : " UH_FMT "\n", ptr_struct->first);
 
 }
 
-int connectib_i2c_device_entry_size(void){
-	 return 4;
+int connectib_icmd_get_ft_list_out_size(void)
+{
+	 return 16;
 }
 
-void connectib_i2c_device_entry_dump(const struct connectib_i2c_device_entry *ptr_struct, FILE* file) {
-	connectib_i2c_device_entry_print(ptr_struct, file, 0);
+void connectib_icmd_get_ft_list_out_dump(const struct connectib_icmd_get_ft_list_out *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ft_list_out_print(ptr_struct, file, 0);
 }
 
-void connectib_module_config_st_pack(const struct connectib_module_config_st *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_ft_list_in_pack(const struct connectib_icmd_get_ft_list_in *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->module_power_level_supported);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->module_mlnx_sub_power_supported);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->info);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
 }
 
-void connectib_module_config_st_unpack(struct connectib_module_config_st *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_ft_list_in_unpack(struct connectib_icmd_get_ft_list_in *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
-	ptr_struct->module_power_level_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 8;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=24;
-	ptr_struct->module_mlnx_sub_power_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 0;
+	ptr_struct->info = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_module_config_st_print(const struct connectib_module_config_st *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_ft_list_in_print(const struct connectib_icmd_get_ft_list_in *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_module_config_st ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_ft_list_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "module_power_level_supported : "UH_FMT"\n", ptr_struct->module_power_level_supported);
+	fprintf(file, "table_id             : " UH_FMT "\n", ptr_struct->table_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "info                 : " UH_FMT "\n", ptr_struct->info);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "module_mlnx_sub_power_supported : "UH_FMT"\n", ptr_struct->module_mlnx_sub_power_supported);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 }
 
-int connectib_module_config_st_size(void){
-	 return 4;
+int connectib_icmd_get_ft_list_in_size(void)
+{
+	 return 16;
 }
 
-void connectib_module_config_st_dump(const struct connectib_module_config_st *ptr_struct, FILE* file) {
-	connectib_module_config_st_print(ptr_struct, file, 0);
+void connectib_icmd_get_ft_list_in_dump(const struct connectib_icmd_get_ft_list_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ft_list_in_print(ptr_struct, file, 0);
 }
 
-void connectib_iopx_power_pack(const struct connectib_iopx_power *ptr_struct, u_int8_t* ptr_buff){
+void connectib_led_control_data_pack(const struct connectib_led_control_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ref_clk_right_left_);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_led_pair_bank[i]);
+	}
 
 }
 
-void connectib_iopx_power_unpack(struct connectib_iopx_power *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_led_control_data_unpack(struct connectib_led_control_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->ref_clk_right_left_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	ptr_struct->port_led_pair_bank[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_iopx_power_print(const struct connectib_iopx_power *ptr_struct, FILE* file, int indent_level){
+void connectib_led_control_data_print(const struct connectib_led_control_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_iopx_power ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_led_control_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ref_clk_right_left_  : "UH_FMT"\n", ptr_struct->ref_clk_right_left_);
+	fprintf(file, "port_led_pair_bank_%03d : " U32H_FMT "\n", i, ptr_struct->port_led_pair_bank[i]);
+	}
 
 }
 
-int connectib_iopx_power_size(void){
-	 return 4;
+int connectib_led_control_data_size(void)
+{
+	 return 64;
 }
 
-void connectib_iopx_power_dump(const struct connectib_iopx_power *ptr_struct, FILE* file) {
-	connectib_iopx_power_print(ptr_struct, file, 0);
+void connectib_led_control_data_dump(const struct connectib_led_control_data *ptr_struct, FILE* file)
+{
+	connectib_led_control_data_print(ptr_struct, file, 0);
 }
 
-void connectib_iopl_power_pack(const struct connectib_iopl_power *ptr_struct, u_int8_t* ptr_buff){
+void connectib_steering_table_info_pack(const struct connectib_steering_table_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ref_clk_right_left_);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->base_index);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dynamic_pll_manage_en);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->default_ste_ix);
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dynamic_serdes_manage_en);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->entry_count);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->descendant_count);
+
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ste_lu_type);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log2_table_size);
+
+	offset = 108;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log2_entry_size);
+
+	offset = 104;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sent_to_gc);
+
+	offset = 103;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pipe);
+
+	offset = 100;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->resize_state);
+
+	offset = 98;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->match_mode);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_rx_);
+
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hash_fieldwise_mask);
+
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->table_id);
+
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->group_id);
+
+	offset = 336;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->bucket_count);
+
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->new_hash_meta_ix);
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->next_bucket_to_copy);
+
+	offset = 432;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->needed_pages);
+
+	offset = 416;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->allocated_pages);
 
 }
 
-void connectib_iopl_power_unpack(struct connectib_iopl_power *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_steering_table_info_unpack(struct connectib_steering_table_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->ref_clk_right_left_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->base_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=30;
-	ptr_struct->dynamic_pll_manage_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->default_ste_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=29;
-	ptr_struct->dynamic_serdes_manage_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 80;
+	ptr_struct->entry_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->descendant_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 120;
+	ptr_struct->ste_lu_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 112;
+	ptr_struct->log2_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 108;
+	ptr_struct->log2_entry_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 104;
+	ptr_struct->sent_to_gc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 103;
+	ptr_struct->pipe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 100;
+	ptr_struct->resize_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 98;
+	ptr_struct->match_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 96;
+	ptr_struct->sx_rx_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 152;
+	ptr_struct->hash_fieldwise_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 256;
+	ptr_struct->table_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 336;
+	ptr_struct->bucket_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 352;
+	ptr_struct->new_hash_meta_ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 384;
+	ptr_struct->next_bucket_to_copy = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 432;
+	ptr_struct->needed_pages = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 416;
+	ptr_struct->allocated_pages = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_iopl_power_print(const struct connectib_iopl_power *ptr_struct, FILE* file, int indent_level){
+void connectib_steering_table_info_print(const struct connectib_steering_table_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_iopl_power ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_steering_table_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ref_clk_right_left_  : "UH_FMT"\n", ptr_struct->ref_clk_right_left_);
+	fprintf(file, "base_index           : " U32H_FMT "\n", ptr_struct->base_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dynamic_pll_manage_en : "UH_FMT"\n", ptr_struct->dynamic_pll_manage_en);
+	fprintf(file, "default_ste_ix       : " U32H_FMT "\n", ptr_struct->default_ste_ix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dynamic_serdes_manage_en : "UH_FMT"\n", ptr_struct->dynamic_serdes_manage_en);
+	fprintf(file, "entry_count          : " UH_FMT "\n", ptr_struct->entry_count);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "descendant_count     : " UH_FMT "\n", ptr_struct->descendant_count);
 
-int connectib_iopl_power_size(void){
-	 return 4;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ste_lu_type          : " UH_FMT "\n", ptr_struct->ste_lu_type);
 
-void connectib_iopl_power_dump(const struct connectib_iopl_power *ptr_struct, FILE* file) {
-	connectib_iopl_power_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2_table_size      : " UH_FMT "\n", ptr_struct->log2_table_size);
 
-void connectib_port_mlpn_db_pack(const struct connectib_port_mlpn_db *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2_entry_size      : " UH_FMT "\n", ptr_struct->log2_entry_size);
 
-	offset=0;
-	connectib_mlpn_database_all_protocol_ini_pack(&(ptr_struct->mlpn_supported), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sent_to_gc           : " UH_FMT "\n", ptr_struct->sent_to_gc);
 
-	offset=32;
-	connectib_mlpn_database_all_protocol_ini_pack(&(ptr_struct->mlpn_request), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pipe                 : " UH_FMT "\n", ptr_struct->pipe);
 
-	offset=64;
-	connectib_mlpn_enhanced_database_ini_pack(&(ptr_struct->mlpn_enhanced_database), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "resize_state         : " UH_FMT "\n", ptr_struct->resize_state);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "match_mode           : " UH_FMT "\n", ptr_struct->match_mode);
 
-void connectib_port_mlpn_db_unpack(struct connectib_port_mlpn_db *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sx_rx_               : " UH_FMT "\n", ptr_struct->sx_rx_);
 
-	offset=0;
-	connectib_mlpn_database_all_protocol_ini_unpack(&(ptr_struct->mlpn_supported), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hash_fieldwise_mask  : " UH_FMT "\n", ptr_struct->hash_fieldwise_mask);
 
-	offset=32;
-	connectib_mlpn_database_all_protocol_ini_unpack(&(ptr_struct->mlpn_request), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "table_id             : " U32H_FMT "\n", ptr_struct->table_id);
 
-	offset=64;
-	connectib_mlpn_enhanced_database_ini_unpack(&(ptr_struct->mlpn_enhanced_database), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "group_id             : " U32H_FMT "\n", ptr_struct->group_id);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bucket_count         : " UH_FMT "\n", ptr_struct->bucket_count);
 
-void connectib_port_mlpn_db_print(const struct connectib_port_mlpn_db *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_port_mlpn_db ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "new_hash_meta_ix     : " U32H_FMT "\n", ptr_struct->new_hash_meta_ix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_supported:\n");
-	connectib_mlpn_database_all_protocol_ini_print(&(ptr_struct->mlpn_supported), file, indent_level + 1);
+	fprintf(file, "next_bucket_to_copy  : " U32H_FMT "\n", ptr_struct->next_bucket_to_copy);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_request:\n");
-	connectib_mlpn_database_all_protocol_ini_print(&(ptr_struct->mlpn_request), file, indent_level + 1);
+	fprintf(file, "needed_pages         : " UH_FMT "\n", ptr_struct->needed_pages);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_enhanced_database:\n");
-	connectib_mlpn_enhanced_database_ini_print(&(ptr_struct->mlpn_enhanced_database), file, indent_level + 1);
+	fprintf(file, "allocated_pages      : " UH_FMT "\n", ptr_struct->allocated_pages);
 
 }
 
-int connectib_port_mlpn_db_size(void){
-	 return 16;
+int connectib_steering_table_info_size(void)
+{
+	 return 64;
 }
 
-void connectib_port_mlpn_db_dump(const struct connectib_port_mlpn_db *ptr_struct, FILE* file) {
-	connectib_port_mlpn_db_print(ptr_struct, file, 0);
+void connectib_steering_table_info_dump(const struct connectib_steering_table_info *ptr_struct, FILE* file)
+{
+	connectib_steering_table_info_print(ptr_struct, file, 0);
 }
 
-void connectib_pll_params_pack(const struct connectib_pll_params *ptr_struct, u_int8_t* ptr_buff){
+void connectib_dcr_info_pack(const struct connectib_dcr_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pll_fctrl_th);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_dcri);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_phy_varactor_calibration);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 288, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pll_fctrl_var[i]);
-	}
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->connected);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(160, 32, i, 288, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pll_fctrl_val[i]);
-	}
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trapped);
 
 }
 
-void connectib_pll_params_unpack(struct connectib_pll_params *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_dcr_info_unpack(struct connectib_dcr_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->pll_fctrl_th = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 8;
+	ptr_struct->next_dcri = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=0;
-	ptr_struct->enable_phy_varactor_calibration = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 7;
+	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 288, 1);
-	ptr_struct->pll_fctrl_var[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 6;
+	ptr_struct->connected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(160, 32, i, 288, 1);
-	ptr_struct->pll_fctrl_val[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 5;
+	ptr_struct->trapped = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_pll_params_print(const struct connectib_pll_params *ptr_struct, FILE* file, int indent_level){
+void connectib_dcr_info_print(const struct connectib_dcr_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pll_params ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_dcr_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pll_fctrl_th         : "UH_FMT"\n", ptr_struct->pll_fctrl_th);
+	fprintf(file, "next_dcri            : " UH_FMT "\n", ptr_struct->next_dcri);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enable_phy_varactor_calibration : "UH_FMT"\n", ptr_struct->enable_phy_varactor_calibration);
+	fprintf(file, "valid                : " UH_FMT "\n", ptr_struct->valid);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pll_fctrl_var_%03d   : "U32H_FMT"\n", i, ptr_struct->pll_fctrl_var[i]);
-	}
+	fprintf(file, "connected            : " UH_FMT "\n", ptr_struct->connected);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pll_fctrl_val_%03d   : "U32H_FMT"\n", i, ptr_struct->pll_fctrl_val[i]);
-	}
+	fprintf(file, "trapped              : " UH_FMT "\n", ptr_struct->trapped);
 
 }
 
-int connectib_pll_params_size(void){
-	 return 36;
+int connectib_dcr_info_size(void)
+{
+	 return 4;
 }
 
-void connectib_pll_params_dump(const struct connectib_pll_params *ptr_struct, FILE* file) {
-	connectib_pll_params_print(ptr_struct, file, 0);
+void connectib_dcr_info_dump(const struct connectib_dcr_info *ptr_struct, FILE* file)
+{
+	connectib_dcr_info_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_ver_data_cmd_specific_pack(const union connectib_icmd_ver_data_cmd_specific *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_ver_data_one_qp_per_recovery_pack(&(ptr_struct->one_qp_per_recovery), ptr_buff);
+}
+
+void connectib_icmd_ver_data_cmd_specific_unpack(union connectib_icmd_ver_data_cmd_specific *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_ver_data_one_qp_per_recovery_unpack(&(ptr_struct->one_qp_per_recovery), ptr_buff);
+}
+
+void connectib_icmd_ver_data_cmd_specific_print(const union connectib_icmd_ver_data_cmd_specific *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_ver_data_cmd_specific ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "max_atomic:\n");
+	connectib_icmd_ver_data_max_atomic_print(&(ptr_struct->max_atomic), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "one_qp_per_recovery:\n");
+	connectib_icmd_ver_data_one_qp_per_recovery_print(&(ptr_struct->one_qp_per_recovery), file, indent_level + 1);
+
+}
+
+int connectib_icmd_ver_data_cmd_specific_size(void)
+{
+	 return 64;
 }
 
-void connectib_logic_serdes_mapping_node_ini_pack(const struct connectib_logic_serdes_mapping_node_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_ver_data_cmd_specific_dump(const union connectib_icmd_ver_data_cmd_specific *ptr_struct, FILE* file)
+{
+	connectib_icmd_ver_data_cmd_specific_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_pcie_ver_frequency_pack(const struct connectib_icmd_pcie_ver_frequency *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_tx_rx_logic_serdes_mapping_node_ini_pack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 25;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->core_f);
 
-	offset=256;
-	connectib_tx_rx_logic_serdes_mapping_node_ini_pack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->core_clocks_per_usec);
+
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->core_r);
+
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cx3_count_in_core_clocks);
+
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->usecs_in_high_tick);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vdd_mod_mapping);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flash_div);
+
+	offset = 10;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->core_od);
 
 }
 
-void connectib_logic_serdes_mapping_node_ini_unpack(struct connectib_logic_serdes_mapping_node_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_pcie_ver_frequency_unpack(struct connectib_icmd_pcie_ver_frequency *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_tx_rx_logic_serdes_mapping_node_ini_unpack(&(ptr_struct->tx), ptr_buff + offset/8);
+	offset = 25;
+	ptr_struct->core_f = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=256;
-	connectib_tx_rx_logic_serdes_mapping_node_ini_unpack(&(ptr_struct->rx), ptr_buff + offset/8);
+	offset = 24;
+	ptr_struct->core_clocks_per_usec = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 19;
+	ptr_struct->core_r = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
+	offset = 18;
+	ptr_struct->cx3_count_in_core_clocks = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 17;
+	ptr_struct->usecs_in_high_tick = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 16;
+	ptr_struct->vdd_mod_mapping = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 12;
+	ptr_struct->flash_div = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 10;
+	ptr_struct->core_od = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
 }
 
-void connectib_logic_serdes_mapping_node_ini_print(const struct connectib_logic_serdes_mapping_node_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_pcie_ver_frequency_print(const struct connectib_icmd_pcie_ver_frequency *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_logic_serdes_mapping_node_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_pcie_ver_frequency ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx:\n");
-	connectib_tx_rx_logic_serdes_mapping_node_ini_print(&(ptr_struct->tx), file, indent_level + 1);
+	fprintf(file, "core_f               : " UH_FMT "\n", ptr_struct->core_f);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx:\n");
-	connectib_tx_rx_logic_serdes_mapping_node_ini_print(&(ptr_struct->rx), file, indent_level + 1);
+	fprintf(file, "core_clocks_per_usec : " UH_FMT "\n", ptr_struct->core_clocks_per_usec);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "core_r               : " UH_FMT "\n", ptr_struct->core_r);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cx3_count_in_core_clocks : " UH_FMT "\n", ptr_struct->cx3_count_in_core_clocks);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "usecs_in_high_tick   : " UH_FMT "\n", ptr_struct->usecs_in_high_tick);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vdd_mod_mapping      : " UH_FMT "\n", ptr_struct->vdd_mod_mapping);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flash_div            : " UH_FMT "\n", ptr_struct->flash_div);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "core_od              : " UH_FMT "\n", ptr_struct->core_od);
 
 }
 
-int connectib_logic_serdes_mapping_node_ini_size(void){
-	 return 64;
+int connectib_icmd_pcie_ver_frequency_size(void)
+{
+	 return 16;
 }
 
-void connectib_logic_serdes_mapping_node_ini_dump(const struct connectib_logic_serdes_mapping_node_ini *ptr_struct, FILE* file) {
-	connectib_logic_serdes_mapping_node_ini_print(ptr_struct, file, 0);
+void connectib_icmd_pcie_ver_frequency_dump(const struct connectib_icmd_pcie_ver_frequency *ptr_struct, FILE* file)
+{
+	connectib_icmd_pcie_ver_frequency_print(ptr_struct, file, 0);
 }
 
-void connectib_phy_hw_main_config_ip_pack(const struct connectib_phy_hw_main_config_ip *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_pcie_ver_cables_pack(const struct connectib_icmd_pcie_ver_cables *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 128, i, 11776, 1);
-	connectib_PORT_PHY_ini_pack(&(ptr_struct->port[i]), ptr_buff + offset/8);
-	}
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->identifier);
 
-	offset=256;
-	connectib_ib_ini_ini_pack(&(ptr_struct->ib), ptr_buff + offset/8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->extended_identifier);
 
-	offset=1024;
-	connectib_rx_adapt_ini_pack(&(ptr_struct->rx_adapt_ini), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->device_tech);
 
-	offset=1280;
-	connectib_serdes_conf_ini_pack(&(ptr_struct->serdes_conf), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->attenuation_5g);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->vendor_oui);
+
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->m_fsm_state);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlnx_cable);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eeprom_present);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_length_supported);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eth_com_codes);
+
+	offset = 71;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->tech);
+
+	offset = 121;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ib_10ge_com_codes);
 
 }
 
-void connectib_phy_hw_main_config_ip_unpack(struct connectib_phy_hw_main_config_ip *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_pcie_ver_cables_unpack(struct connectib_icmd_pcie_ver_cables *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 128, i, 11776, 1);
-	connectib_PORT_PHY_ini_unpack(&(ptr_struct->port[i]), ptr_buff + offset/8);
-	}
+	offset = 24;
+	ptr_struct->identifier = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=256;
-	connectib_ib_ini_ini_unpack(&(ptr_struct->ib), ptr_buff + offset/8);
+	offset = 16;
+	ptr_struct->extended_identifier = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=1024;
-	connectib_rx_adapt_ini_unpack(&(ptr_struct->rx_adapt_ini), ptr_buff + offset/8);
+	offset = 8;
+	ptr_struct->device_tech = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=1280;
-	connectib_serdes_conf_ini_unpack(&(ptr_struct->serdes_conf), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->attenuation_5g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-}
+	offset = 40;
+	ptr_struct->vendor_oui = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-void connectib_phy_hw_main_config_ip_print(const struct connectib_phy_hw_main_config_ip *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_phy_hw_main_config_ip ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 34;
+	ptr_struct->m_fsm_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	for (i=0; i < 2; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_%03d:\n", i);
-	connectib_PORT_PHY_ini_print(&(ptr_struct->port[i]), file, indent_level + 1);
-	}
+	offset = 33;
+	ptr_struct->mlnx_cable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib:\n");
-	connectib_ib_ini_ini_print(&(ptr_struct->ib), file, indent_level + 1);
+	offset = 32;
+	ptr_struct->eeprom_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_adapt_ini:\n");
-	connectib_rx_adapt_ini_print(&(ptr_struct->rx_adapt_ini), file, indent_level + 1);
+	offset = 88;
+	ptr_struct->link_length_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "serdes_conf:\n");
-	connectib_serdes_conf_ini_print(&(ptr_struct->serdes_conf), file, indent_level + 1);
+	offset = 80;
+	ptr_struct->eth_com_codes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-}
+	offset = 71;
+	ptr_struct->tech = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-int connectib_phy_hw_main_config_ip_size(void){
-	 return 1472;
-}
+	offset = 121;
+	ptr_struct->ib_10ge_com_codes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-void connectib_phy_hw_main_config_ip_dump(const struct connectib_phy_hw_main_config_ip *ptr_struct, FILE* file) {
-	connectib_phy_hw_main_config_ip_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_config_boot_global_pack(const struct connectib_nv_config_boot_global *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_icmd_pcie_ver_cables_print(const struct connectib_icmd_pcie_ver_cables *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_pcie_ver_cables ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=0;
-	connectib_nv_config_pci_pack(&(ptr_struct->pci), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "identifier           : " UH_FMT "\n", ptr_struct->identifier);
 
-	offset=256;
-	connectib_nv_config_tpt_pack(&(ptr_struct->tpt), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "extended_identifier  : " UH_FMT "\n", ptr_struct->extended_identifier);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_tech          : " UH_FMT "\n", ptr_struct->device_tech);
 
-void connectib_nv_config_boot_global_unpack(struct connectib_nv_config_boot_global *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "attenuation_5g       : " UH_FMT "\n", ptr_struct->attenuation_5g);
 
-	offset=0;
-	connectib_nv_config_pci_unpack(&(ptr_struct->pci), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vendor_oui           : " UH_FMT "\n", ptr_struct->vendor_oui);
 
-	offset=256;
-	connectib_nv_config_tpt_unpack(&(ptr_struct->tpt), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "m_fsm_state          : " UH_FMT "\n", ptr_struct->m_fsm_state);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mlnx_cable           : " UH_FMT "\n", ptr_struct->mlnx_cable);
 
-void connectib_nv_config_boot_global_print(const struct connectib_nv_config_boot_global *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_config_boot_global ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "eeprom_present       : " UH_FMT "\n", ptr_struct->eeprom_present);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pci:\n");
-	connectib_nv_config_pci_print(&(ptr_struct->pci), file, indent_level + 1);
+	fprintf(file, "link_length_supported : " UH_FMT "\n", ptr_struct->link_length_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tpt:\n");
-	connectib_nv_config_tpt_print(&(ptr_struct->tpt), file, indent_level + 1);
+	fprintf(file, "eth_com_codes        : " UH_FMT "\n", ptr_struct->eth_com_codes);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tech                 : " UH_FMT "\n", ptr_struct->tech);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_10ge_com_codes    : " UH_FMT "\n", ptr_struct->ib_10ge_com_codes);
 
 }
 
-int connectib_nv_config_boot_global_size(void){
-	 return 40;
+int connectib_icmd_pcie_ver_cables_size(void)
+{
+	 return 16;
 }
 
-void connectib_nv_config_boot_global_dump(const struct connectib_nv_config_boot_global *ptr_struct, FILE* file) {
-	connectib_nv_config_boot_global_print(ptr_struct, file, 0);
+void connectib_icmd_pcie_ver_cables_dump(const struct connectib_icmd_pcie_ver_cables *ptr_struct, FILE* file)
+{
+	connectib_icmd_pcie_ver_cables_print(ptr_struct, file, 0);
 }
 
-void connectib_pciex_ext_cfg_space_pack(const struct connectib_pciex_ext_cfg_space *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_pcie_ver_device_pack(const struct connectib_icmd_pcie_ver_device *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_secondary_pciex_ext_cap_pack(&(ptr_struct->secondary_pciex_ext_cap), ptr_buff + offset/8);
-
-	offset=352;
-	connectib_ari_cap_pack(&(ptr_struct->ari), ptr_buff + offset/8);
-
-	offset=416;
-	connectib_sriov_cap_pack(&(ptr_struct->sriov), ptr_buff + offset/8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->devid);
 
-	offset=928;
-	connectib_dev_serial_num_cap_pack(&(ptr_struct->device_serial_number), ptr_buff + offset/8);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->revid);
 
-	offset=1024;
-	connectib_advanced_error_reporting_pack(&(ptr_struct->advanced_error_reporting), ptr_buff + offset/8);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->strap_eprom_present);
 
 }
 
-void connectib_pciex_ext_cfg_space_unpack(struct connectib_pciex_ext_cfg_space *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_pcie_ver_device_unpack(struct connectib_icmd_pcie_ver_device *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_secondary_pciex_ext_cap_unpack(&(ptr_struct->secondary_pciex_ext_cap), ptr_buff + offset/8);
-
-	offset=352;
-	connectib_ari_cap_unpack(&(ptr_struct->ari), ptr_buff + offset/8);
-
-	offset=416;
-	connectib_sriov_cap_unpack(&(ptr_struct->sriov), ptr_buff + offset/8);
+	offset = 16;
+	ptr_struct->devid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=928;
-	connectib_dev_serial_num_cap_unpack(&(ptr_struct->device_serial_number), ptr_buff + offset/8);
+	offset = 12;
+	ptr_struct->revid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=1024;
-	connectib_advanced_error_reporting_unpack(&(ptr_struct->advanced_error_reporting), ptr_buff + offset/8);
+	offset = 11;
+	ptr_struct->strap_eprom_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_pciex_ext_cfg_space_print(const struct connectib_pciex_ext_cfg_space *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_pcie_ver_device_print(const struct connectib_icmd_pcie_ver_device *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pciex_ext_cfg_space ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_pcie_ver_device ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "secondary_pciex_ext_cap:\n");
-	connectib_secondary_pciex_ext_cap_print(&(ptr_struct->secondary_pciex_ext_cap), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari:\n");
-	connectib_ari_cap_print(&(ptr_struct->ari), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sriov:\n");
-	connectib_sriov_cap_print(&(ptr_struct->sriov), file, indent_level + 1);
+	fprintf(file, "devid                : " UH_FMT "\n", ptr_struct->devid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_serial_number:\n");
-	connectib_dev_serial_num_cap_print(&(ptr_struct->device_serial_number), file, indent_level + 1);
+	fprintf(file, "revid                : " UH_FMT "\n", ptr_struct->revid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "advanced_error_reporting:\n");
-	connectib_advanced_error_reporting_print(&(ptr_struct->advanced_error_reporting), file, indent_level + 1);
+	fprintf(file, "strap_eprom_present  : " UH_FMT "\n", ptr_struct->strap_eprom_present);
 
 }
 
-int connectib_pciex_ext_cfg_space_size(void){
-	 return 256;
+int connectib_icmd_pcie_ver_device_size(void)
+{
+	 return 16;
 }
 
-void connectib_pciex_ext_cfg_space_dump(const struct connectib_pciex_ext_cfg_space *ptr_struct, FILE* file) {
-	connectib_pciex_ext_cfg_space_print(ptr_struct, file, 0);
+void connectib_icmd_pcie_ver_device_dump(const struct connectib_icmd_pcie_ver_device *ptr_struct, FILE* file)
+{
+	connectib_icmd_pcie_ver_device_print(ptr_struct, file, 0);
 }
 
-void connectib_pci_cfg_space_pack(const struct connectib_pci_cfg_space *ptr_struct, u_int8_t* ptr_buff){
+void connectib_code_coverage_control_pack(const struct connectib_code_coverage_control *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_pci_cfg_hdr_pack(&(ptr_struct->cfg_hdr), ptr_buff + offset/8);
-
-	offset=512;
-	connectib_pci_power_management_cap_pack(&(ptr_struct->power_management), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->window);
 
-	offset=576;
-	connectib_vpd_cap_pack(&(ptr_struct->vpd), ptr_buff + offset/8);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_window_size);
 
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->image_status);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->irisc_bitmask);
 
-	offset=704;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->cr_addr);
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bp);
 
-	offset=736;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->cr_data);
+	offset = 38;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->all_ips);
 
-	offset=768;
-	connectib_pciex_cap_block_pack(&(ptr_struct->pciex_cap_block), ptr_buff + offset/8);
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->trace_mode);
 
-	offset=1248;
-	connectib_msix_cap_pack(&(ptr_struct->msix), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable);
 
 }
 
-void connectib_pci_cfg_space_unpack(struct connectib_pci_cfg_space *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_code_coverage_control_unpack(struct connectib_code_coverage_control *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_pci_cfg_hdr_unpack(&(ptr_struct->cfg_hdr), ptr_buff + offset/8);
-
-	offset=512;
-	connectib_pci_power_management_cap_unpack(&(ptr_struct->power_management), ptr_buff + offset/8);
+	offset = 8;
+	ptr_struct->window = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=576;
-	connectib_vpd_cap_unpack(&(ptr_struct->vpd), ptr_buff + offset/8);
+	offset = 3;
+	ptr_struct->log_window_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=640;
-	ptr_struct->image_status = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 48;
+	ptr_struct->irisc_bitmask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=704;
-	ptr_struct->cr_addr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 39;
+	ptr_struct->bp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=736;
-	ptr_struct->cr_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 38;
+	ptr_struct->all_ips = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=768;
-	connectib_pciex_cap_block_unpack(&(ptr_struct->pciex_cap_block), ptr_buff + offset/8);
+	offset = 36;
+	ptr_struct->trace_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=1248;
-	connectib_msix_cap_unpack(&(ptr_struct->msix), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_pci_cfg_space_print(const struct connectib_pci_cfg_space *ptr_struct, FILE* file, int indent_level){
+void connectib_code_coverage_control_print(const struct connectib_code_coverage_control *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pci_cfg_space ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_code_coverage_control ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cfg_hdr:\n");
-	connectib_pci_cfg_hdr_print(&(ptr_struct->cfg_hdr), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "power_management:\n");
-	connectib_pci_power_management_cap_print(&(ptr_struct->power_management), file, indent_level + 1);
+	fprintf(file, "window               : " UH_FMT "\n", ptr_struct->window);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd:\n");
-	connectib_vpd_cap_print(&(ptr_struct->vpd), file, indent_level + 1);
+	fprintf(file, "log_window_size      : " UH_FMT "\n", ptr_struct->log_window_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "image_status         : "U32H_FMT"\n", ptr_struct->image_status);
+	fprintf(file, "irisc_bitmask        : " UH_FMT "\n", ptr_struct->irisc_bitmask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cr_addr              : "U32H_FMT"\n", ptr_struct->cr_addr);
+	fprintf(file, "bp                   : " UH_FMT "\n", ptr_struct->bp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cr_data              : "U32H_FMT"\n", ptr_struct->cr_data);
+	fprintf(file, "all_ips              : " UH_FMT "\n", ptr_struct->all_ips);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pciex_cap_block:\n");
-	connectib_pciex_cap_block_print(&(ptr_struct->pciex_cap_block), file, indent_level + 1);
+	fprintf(file, "trace_mode           : " UH_FMT "\n", ptr_struct->trace_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "msix:\n");
-	connectib_msix_cap_print(&(ptr_struct->msix), file, indent_level + 1);
+	fprintf(file, "enable               : " UH_FMT "\n", ptr_struct->enable);
 
 }
 
-int connectib_pci_cfg_space_size(void){
-	 return 256;
+int connectib_code_coverage_control_size(void)
+{
+	 return 8;
 }
 
-void connectib_pci_cfg_space_dump(const struct connectib_pci_cfg_space *ptr_struct, FILE* file) {
-	connectib_pci_cfg_space_print(ptr_struct, file, 0);
+void connectib_code_coverage_control_dump(const struct connectib_code_coverage_control *ptr_struct, FILE* file)
+{
+	connectib_code_coverage_control_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_config_main_fw_data_pack(const struct connectib_nv_config_main_fw_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_vport_real_state_pack(const struct connectib_vport_real_state *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	connectib_port_settings_pack(&(ptr_struct->port[i]), ptr_buff + offset/8);
+	for (i = 0; i < 256; i++) {
+	offset = adb2c_calc_array_field_address(28, 4, i, 1024, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->real_state[i]);
 	}
 
 }
 
-void connectib_nv_config_main_fw_data_unpack(struct connectib_nv_config_main_fw_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_vport_real_state_unpack(struct connectib_vport_real_state *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	connectib_port_settings_unpack(&(ptr_struct->port[i]), ptr_buff + offset/8);
+	for (i = 0; i < 256; i++) {
+	offset = adb2c_calc_array_field_address(28, 4, i, 1024, 1);
+	ptr_struct->real_state[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 	}
 
 }
 
-void connectib_nv_config_main_fw_data_print(const struct connectib_nv_config_main_fw_data *ptr_struct, FILE* file, int indent_level){
+void connectib_vport_real_state_print(const struct connectib_vport_real_state *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_config_main_fw_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_vport_real_state ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 2; i++) {
+	for (i = 0; i < 256; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_%03d:\n", i);
-	connectib_port_settings_print(&(ptr_struct->port[i]), file, indent_level + 1);
+	fprintf(file, "real_state_%03d      : " UH_FMT "\n", i, ptr_struct->real_state[i]);
 	}
 
 }
 
-int connectib_nv_config_main_fw_data_size(void){
-	 return 32;
+int connectib_vport_real_state_size(void)
+{
+	 return 128;
 }
 
-void connectib_nv_config_main_fw_data_dump(const struct connectib_nv_config_main_fw_data *ptr_struct, FILE* file) {
-	connectib_nv_config_main_fw_data_print(ptr_struct, file, 0);
+void connectib_vport_real_state_dump(const struct connectib_vport_real_state *ptr_struct, FILE* file)
+{
+	connectib_vport_real_state_print(ptr_struct, file, 0);
 }
 
-void connectib_phy_fw_main_config_ip_pack(const struct connectib_phy_fw_main_config_ip *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_esw_pack(const struct connectib_fw_esw *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->PlaceHolder);
+	for (i = 0; i < 256; i++) {
+	offset = adb2c_calc_array_field_address(16, 16, i, 4096, 1);
+	connectib_fw_vport_ctx_pack(&(ptr_struct->vport_ctx[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_phy_fw_main_config_ip_unpack(struct connectib_phy_fw_main_config_ip *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_esw_unpack(struct connectib_fw_esw *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->PlaceHolder = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 256; i++) {
+	offset = adb2c_calc_array_field_address(16, 16, i, 4096, 1);
+	connectib_fw_vport_ctx_unpack(&(ptr_struct->vport_ctx[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_phy_fw_main_config_ip_print(const struct connectib_phy_fw_main_config_ip *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_esw_print(const struct connectib_fw_esw *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_phy_fw_main_config_ip ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_esw ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 256; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "PlaceHolder          : "U32H_FMT"\n", ptr_struct->PlaceHolder);
+	fprintf(file, "vport_ctx_%03d:\n", i);
+	connectib_fw_vport_ctx_print(&(ptr_struct->vport_ctx[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_phy_fw_main_config_ip_size(void){
-	 return 384;
+int connectib_fw_esw_size(void)
+{
+	 return 512;
 }
 
-void connectib_phy_fw_main_config_ip_dump(const struct connectib_phy_fw_main_config_ip *ptr_struct, FILE* file) {
-	connectib_phy_fw_main_config_ip_print(ptr_struct, file, 0);
+void connectib_fw_esw_dump(const struct connectib_fw_esw *ptr_struct, FILE* file)
+{
+	connectib_fw_esw_print(ptr_struct, file, 0);
 }
 
-void connectib_phy_fw_main_config_golan_pack(const struct connectib_phy_fw_main_config_golan *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1856, 1);
-	connectib_phy_lcl_ini_pack(&(ptr_struct->lcl[i]), ptr_buff + offset/8);
-	}
+void connectib_gvmix_sub_structs_pack(const union connectib_gvmix_sub_structs *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_vf_pages_list_pack(&(ptr_struct->vf_pages_list), ptr_buff);
+}
 
+void connectib_gvmix_sub_structs_unpack(union connectib_gvmix_sub_structs *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_vf_pages_list_unpack(&(ptr_struct->vf_pages_list), ptr_buff);
 }
 
-void connectib_phy_fw_main_config_golan_unpack(struct connectib_phy_fw_main_config_golan *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_gvmix_sub_structs_print(const union connectib_gvmix_sub_structs *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_gvmix_sub_structs ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1856, 1);
-	connectib_phy_lcl_ini_unpack(&(ptr_struct->lcl[i]), ptr_buff + offset/8);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmdif_ctx:\n");
+	connectib_cmdif_ctx_print(&(ptr_struct->cmdif_ctx), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dummy_addresses:\n");
+	connectib_dummy_addresses_one_cache_line_print(&(ptr_struct->dummy_addresses), file, indent_level + 1);
 
-void connectib_phy_fw_main_config_golan_print(const struct connectib_phy_fw_main_config_golan *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_phy_fw_main_config_golan ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "hca_params:\n");
+	connectib_hca_params_print(&(ptr_struct->hca_params), file, indent_level + 1);
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lcl_%03d:\n", i);
-	connectib_phy_lcl_ini_print(&(ptr_struct->lcl[i]), file, indent_level + 1);
-	}
+	fprintf(file, "icm_page_manager:\n");
+	connectib_icm_page_manager_print(&(ptr_struct->icm_page_manager), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_pages_list:\n");
+	connectib_vf_pages_list_print(&(ptr_struct->vf_pages_list), file, indent_level + 1);
 
 }
 
-int connectib_phy_fw_main_config_golan_size(void){
-	 return 232;
+int connectib_gvmix_sub_structs_size(void)
+{
+	 return 64;
 }
 
-void connectib_phy_fw_main_config_golan_dump(const struct connectib_phy_fw_main_config_golan *ptr_struct, FILE* file) {
-	connectib_phy_fw_main_config_golan_print(ptr_struct, file, 0);
+void connectib_gvmix_sub_structs_dump(const union connectib_gvmix_sub_structs *ptr_struct, FILE* file)
+{
+	connectib_gvmix_sub_structs_print(ptr_struct, file, 0);
 }
 
-void connectib_ibm_thermal_config_pack(const struct connectib_ibm_thermal_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sw_eqe_pack(const struct connectib_sw_eqe *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->thermal_threshold_tcontrol);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->thermal_threshold_tcontrol_low);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->event_sub_type);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->thermal_threshold_twarning);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->event_type);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->thermal_threshold_twarning_low);
+	offset = 256;
+	connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_pack(&(ptr_struct->event_data), ptr_buff + offset/8);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->thermal_threshold_tcritical);
+	offset = 511;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->owner);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->thermal_threshold_tcritical_low);
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
 
 }
 
-void connectib_ibm_thermal_config_unpack(struct connectib_ibm_thermal_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sw_eqe_unpack(struct connectib_sw_eqe *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	ptr_struct->thermal_threshold_tcontrol = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->thermal_threshold_tcontrol_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->event_sub_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=96;
-	ptr_struct->thermal_threshold_twarning = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->event_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=128;
-	ptr_struct->thermal_threshold_twarning_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_unpack(&(ptr_struct->event_data), ptr_buff + offset/8);
 
-	offset=160;
-	ptr_struct->thermal_threshold_tcritical = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 511;
+	ptr_struct->owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->thermal_threshold_tcritical_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 496;
+	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_ibm_thermal_config_print(const struct connectib_ibm_thermal_config *ptr_struct, FILE* file, int indent_level){
+void connectib_sw_eqe_print(const struct connectib_sw_eqe *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ibm_thermal_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_sw_eqe ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enable               : "UH_FMT"\n", ptr_struct->enable);
+	fprintf(file, "event_sub_type       : " UH_FMT "\n", ptr_struct->event_sub_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "thermal_threshold_tcontrol : "U32H_FMT"\n", ptr_struct->thermal_threshold_tcontrol);
+	fprintf(file, "event_type           : " UH_FMT "\n", ptr_struct->event_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "thermal_threshold_tcontrol_low : "U32H_FMT"\n", ptr_struct->thermal_threshold_tcontrol_low);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "thermal_threshold_twarning : "U32H_FMT"\n", ptr_struct->thermal_threshold_twarning);
+	fprintf(file, "event_data:\n");
+	connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_print(&(ptr_struct->event_data), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "thermal_threshold_twarning_low : "U32H_FMT"\n", ptr_struct->thermal_threshold_twarning_low);
+	fprintf(file, "owner                : " UH_FMT "\n", ptr_struct->owner);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "thermal_threshold_tcritical : "U32H_FMT"\n", ptr_struct->thermal_threshold_tcritical);
+	fprintf(file, "signature            : " UH_FMT "\n", ptr_struct->signature);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "thermal_threshold_tcritical_low : "U32H_FMT"\n", ptr_struct->thermal_threshold_tcritical_low);
+}
 
+int connectib_sw_eqe_size(void)
+{
+	 return 64;
 }
 
-int connectib_ibm_thermal_config_size(void){
-	 return 28;
+void connectib_sw_eqe_dump(const struct connectib_sw_eqe *ptr_struct, FILE* file)
+{
+	connectib_sw_eqe_print(ptr_struct, file, 0);
 }
 
-void connectib_ibm_thermal_config_dump(const struct connectib_ibm_thermal_config *ptr_struct, FILE* file) {
-	connectib_ibm_thermal_config_print(ptr_struct, file, 0);
+void connectib_lock_tag_pack(const struct connectib_lock_tag *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->resource_id);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->resource_type);
+
 }
 
-void connectib_ocsd_config_pack(const struct connectib_ocsd_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_lock_tag_unpack(struct connectib_lock_tag *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable);
+	offset = 8;
+	ptr_struct->resource_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 0;
+	ptr_struct->resource_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_lock_tag_print(const struct connectib_lock_tag *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_lock_tag ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->internal_caution_threshold);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "resource_id          : " UH_FMT "\n", ptr_struct->resource_id);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->extrenal_caution_threshold);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "resource_type        : " UH_FMT "\n", ptr_struct->resource_type);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->internal_max_cont_threshold);
+}
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->external_max_cont_threshold);
+int connectib_lock_tag_size(void)
+{
+	 return 4;
+}
 
+void connectib_lock_tag_dump(const struct connectib_lock_tag *ptr_struct, FILE* file)
+{
+	connectib_lock_tag_print(ptr_struct, file, 0);
 }
 
-void connectib_ocsd_config_unpack(struct connectib_ocsd_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_generic_reg_access_reg_tlv_pack(const struct connectib_icmd_generic_reg_access_reg_tlv *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_reg_access_tlv_pack(&(ptr_struct->hdr), ptr_buff + offset/8);
 
-	offset=32;
-	ptr_struct->internal_caution_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	connectib_icmd_generic_reg_access_reg_tlv_data_pack(&(ptr_struct->reg_tlv_data), ptr_buff + offset/8);
 
-	offset=64;
-	ptr_struct->extrenal_caution_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
 
-	offset=96;
-	ptr_struct->internal_max_cont_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+void connectib_icmd_generic_reg_access_reg_tlv_unpack(struct connectib_icmd_generic_reg_access_reg_tlv *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=128;
-	ptr_struct->external_max_cont_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_reg_access_tlv_unpack(&(ptr_struct->hdr), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_icmd_generic_reg_access_reg_tlv_data_unpack(&(ptr_struct->reg_tlv_data), ptr_buff + offset/8);
 
 }
 
-void connectib_ocsd_config_print(const struct connectib_ocsd_config *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_generic_reg_access_reg_tlv_print(const struct connectib_icmd_generic_reg_access_reg_tlv *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ocsd_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_generic_reg_access_reg_tlv ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enable               : "UH_FMT"\n", ptr_struct->enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "internal_caution_threshold : "U32H_FMT"\n", ptr_struct->internal_caution_threshold);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extrenal_caution_threshold : "U32H_FMT"\n", ptr_struct->extrenal_caution_threshold);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "internal_max_cont_threshold : "U32H_FMT"\n", ptr_struct->internal_max_cont_threshold);
+	fprintf(file, "hdr:\n");
+	connectib_reg_access_tlv_print(&(ptr_struct->hdr), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "external_max_cont_threshold : "U32H_FMT"\n", ptr_struct->external_max_cont_threshold);
+	fprintf(file, "reg_tlv_data:\n");
+	connectib_icmd_generic_reg_access_reg_tlv_data_print(&(ptr_struct->reg_tlv_data), file, indent_level + 1);
 
 }
 
-int connectib_ocsd_config_size(void){
-	 return 20;
+int connectib_icmd_generic_reg_access_reg_tlv_size(void)
+{
+	 return 276;
 }
 
-void connectib_ocsd_config_dump(const struct connectib_ocsd_config *ptr_struct, FILE* file) {
-	connectib_ocsd_config_print(ptr_struct, file, 0);
+void connectib_icmd_generic_reg_access_reg_tlv_dump(const struct connectib_icmd_generic_reg_access_reg_tlv *ptr_struct, FILE* file)
+{
+	connectib_icmd_generic_reg_access_reg_tlv_print(ptr_struct, file, 0);
 }
 
-void connectib_extended_port_info_ini_pack(const struct connectib_extended_port_info_ini *ptr_struct, u_int8_t* ptr_buff){
+void connectib_reg_access_oper_tlv_pack(const struct connectib_reg_access_oper_tlv *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_speed_supported);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->Status);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_speed_enabled);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dr);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_64_byte_cell_size);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->len);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->llr_128_byte_cell_size);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->type);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->link_up_after_boot);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_);
+
+	offset = 49;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->Method);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->r);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->register_id);
+
+	offset = 64;
+	connectib_IB_TID_pack(&(ptr_struct->TID), ptr_buff + offset/8);
 
 }
 
-void connectib_extended_port_info_ini_unpack(struct connectib_extended_port_info_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_reg_access_oper_tlv_unpack(struct connectib_reg_access_oper_tlv *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->link_speed_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 17;
+	ptr_struct->Status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=16;
-	ptr_struct->link_speed_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	ptr_struct->dr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=15;
-	ptr_struct->llr_64_byte_cell_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->len = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=14;
-	ptr_struct->llr_128_byte_cell_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=13;
-	ptr_struct->link_up_after_boot = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 56;
+	ptr_struct->class_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 49;
+	ptr_struct->Method = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 48;
+	ptr_struct->r = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->register_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	connectib_IB_TID_unpack(&(ptr_struct->TID), ptr_buff + offset/8);
 
 }
 
-void connectib_extended_port_info_ini_print(const struct connectib_extended_port_info_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_reg_access_oper_tlv_print(const struct connectib_reg_access_oper_tlv *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_extended_port_info_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_reg_access_oper_tlv ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_speed_supported : "UH_FMT"\n", ptr_struct->link_speed_supported);
+	fprintf(file, "Status               : " UH_FMT "\n", ptr_struct->Status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dr                   : " UH_FMT "\n", ptr_struct->dr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "len                  : " UH_FMT "\n", ptr_struct->len);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "class_               : " UH_FMT "\n", ptr_struct->class_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_speed_enabled   : "UH_FMT"\n", ptr_struct->link_speed_enabled);
+	fprintf(file, "Method               : " UH_FMT "\n", ptr_struct->Method);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_64_byte_cell_size : "UH_FMT"\n", ptr_struct->llr_64_byte_cell_size);
+	fprintf(file, "r                    : " UH_FMT "\n", ptr_struct->r);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "llr_128_byte_cell_size : "UH_FMT"\n", ptr_struct->llr_128_byte_cell_size);
+	fprintf(file, "register_id          : " UH_FMT "\n", ptr_struct->register_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_up_after_boot   : "UH_FMT"\n", ptr_struct->link_up_after_boot);
+	fprintf(file, "TID:\n");
+	connectib_IB_TID_print(&(ptr_struct->TID), file, indent_level + 1);
 
 }
 
-int connectib_extended_port_info_ini_size(void){
-	 return 4;
+int connectib_reg_access_oper_tlv_size(void)
+{
+	 return 16;
 }
 
-void connectib_extended_port_info_ini_dump(const struct connectib_extended_port_info_ini *ptr_struct, FILE* file) {
-	connectib_extended_port_info_ini_print(ptr_struct, file, 0);
+void connectib_reg_access_oper_tlv_dump(const struct connectib_reg_access_oper_tlv *ptr_struct, FILE* file)
+{
+	connectib_reg_access_oper_tlv_print(ptr_struct, file, 0);
 }
 
-void connectib_ib_port_info_ini_pack(const struct connectib_ib_port_info_ini *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_icmd_kdnet_ctrl_io_pack(const union connectib_icmd_kdnet_ctrl_io *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_kdnet_ctrl_out_pack(&(ptr_struct->ctrl_out), ptr_buff);
+}
+
+void connectib_icmd_kdnet_ctrl_io_unpack(union connectib_icmd_kdnet_ctrl_io *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_kdnet_ctrl_out_unpack(&(ptr_struct->ctrl_out), ptr_buff);
+}
+
+void connectib_icmd_kdnet_ctrl_io_print(const union connectib_icmd_kdnet_ctrl_io *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_kdnet_ctrl_io ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_mask2);
+	(void)file;
+	(void)indent_level;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->diag_code);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ctrl_in:\n");
+	connectib_icmd_kdnet_ctrl_in_print(&(ptr_struct->ctrl_in), file, indent_level + 1);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->link_roundtrip_lat);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ctrl_out:\n");
+	connectib_icmd_kdnet_ctrl_out_print(&(ptr_struct->ctrl_out), file, indent_level + 1);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_credit_hint);
+}
 
-	offset=96;
-	connectib_port_cap_mask1_pack(&(ptr_struct->cap_mask), ptr_buff + offset/8);
+int connectib_icmd_kdnet_ctrl_io_size(void)
+{
+	 return 4;
+}
 
-	offset=152;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_width_sup);
+void connectib_icmd_kdnet_ctrl_io_dump(const union connectib_icmd_kdnet_ctrl_io *ptr_struct, FILE* file)
+{
+	connectib_icmd_kdnet_ctrl_io_print(ptr_struct, file, 0);
+}
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_width_ena);
+void connectib_icmd_query_cap_general_pack(const struct connectib_icmd_query_cap_general *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=140;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_speed_ena);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_ctrl_update_icmd);
 
-	offset=136;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->down_def_state);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->kdnet_ctrl);
 
-	offset=132;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_speed_sup);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mh_sync);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->init_type);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->allow_icmd_access_reg_on_all_registers);
 
-	offset=184;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vl_arb_high_cap);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_info_psid);
 
-	offset=176;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vl_high_limit);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nv_access);
 
-	offset=172;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl_cap);
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wol_p);
 
-	offset=164;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vl_arb_low_cap);
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wol_u);
 
-	offset=160;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->operational_vl);
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wol_m);
 
-	offset=220;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->neighbor_mtu);
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wol_b);
 
-	offset=216;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mtu_cap);
+	offset = 59;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wol_a);
 
-	offset=214;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->mc_pkey_trap_suppress_en);
+	offset = 58;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wol_g);
 
-	offset=206;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->guid_cap);
+	offset = 57;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wol_s);
 
-	offset=201;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->resp_time_value);
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rol_g);
 
-	offset=196;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->link_speed_ext_ena);
+	offset = 54;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rol_s);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->link_speed_ext_sup);
+	offset = 53;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpga);
 
 }
 
-void connectib_ib_port_info_ini_unpack(struct connectib_ib_port_info_ini *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_query_cap_general_unpack(struct connectib_icmd_query_cap_general *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->cap_mask2 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->diag_code = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=40;
-	ptr_struct->link_roundtrip_lat = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=80;
-	ptr_struct->max_credit_hint = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=96;
-	connectib_port_cap_mask1_unpack(&(ptr_struct->cap_mask), ptr_buff + offset/8);
-
-	offset=152;
-	ptr_struct->link_width_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=144;
-	ptr_struct->link_width_ena = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=140;
-	ptr_struct->link_speed_ena = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 5;
+	ptr_struct->fw_ctrl_update_icmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=136;
-	ptr_struct->down_def_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 4;
+	ptr_struct->kdnet_ctrl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=132;
-	ptr_struct->link_speed_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 3;
+	ptr_struct->mh_sync = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	ptr_struct->init_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 2;
+	ptr_struct->allow_icmd_access_reg_on_all_registers = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=184;
-	ptr_struct->vl_arb_high_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 1;
+	ptr_struct->fw_info_psid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=176;
-	ptr_struct->vl_high_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->nv_access = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=172;
-	ptr_struct->vl_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 63;
+	ptr_struct->wol_p = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=164;
-	ptr_struct->vl_arb_low_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 62;
+	ptr_struct->wol_u = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	ptr_struct->operational_vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 61;
+	ptr_struct->wol_m = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=220;
-	ptr_struct->neighbor_mtu = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 60;
+	ptr_struct->wol_b = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=216;
-	ptr_struct->mtu_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 59;
+	ptr_struct->wol_a = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=214;
-	ptr_struct->mc_pkey_trap_suppress_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 58;
+	ptr_struct->wol_g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=206;
-	ptr_struct->guid_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 57;
+	ptr_struct->wol_s = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=201;
-	ptr_struct->resp_time_value = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 55;
+	ptr_struct->rol_g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=196;
-	ptr_struct->link_speed_ext_ena = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 54;
+	ptr_struct->rol_s = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	ptr_struct->link_speed_ext_sup = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 53;
+	ptr_struct->fpga = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_ib_port_info_ini_print(const struct connectib_ib_port_info_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_query_cap_general_print(const struct connectib_icmd_query_cap_general *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ib_port_info_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_query_cap_general ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_mask2            : "UH_FMT"\n", ptr_struct->cap_mask2);
+	fprintf(file, "fw_ctrl_update_icmd  : " UH_FMT "\n", ptr_struct->fw_ctrl_update_icmd);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "diag_code            : "UH_FMT"\n", ptr_struct->diag_code);
+	fprintf(file, "kdnet_ctrl           : " UH_FMT "\n", ptr_struct->kdnet_ctrl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_roundtrip_lat   : "UH_FMT"\n", ptr_struct->link_roundtrip_lat);
+	fprintf(file, "mh_sync              : " UH_FMT "\n", ptr_struct->mh_sync);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_credit_hint      : "UH_FMT"\n", ptr_struct->max_credit_hint);
+	fprintf(file, "allow_icmd_access_reg_on_all_registers : " UH_FMT "\n", ptr_struct->allow_icmd_access_reg_on_all_registers);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_mask:\n");
-	connectib_port_cap_mask1_print(&(ptr_struct->cap_mask), file, indent_level + 1);
+	fprintf(file, "fw_info_psid         : " UH_FMT "\n", ptr_struct->fw_info_psid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_width_sup       : "UH_FMT"\n", ptr_struct->link_width_sup);
+	fprintf(file, "nv_access            : " UH_FMT "\n", ptr_struct->nv_access);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_width_ena       : "UH_FMT"\n", ptr_struct->link_width_ena);
+	fprintf(file, "wol_p                : " UH_FMT "\n", ptr_struct->wol_p);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_speed_ena       : "UH_FMT"\n", ptr_struct->link_speed_ena);
+	fprintf(file, "wol_u                : " UH_FMT "\n", ptr_struct->wol_u);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "down_def_state       : "UH_FMT"\n", ptr_struct->down_def_state);
+	fprintf(file, "wol_m                : " UH_FMT "\n", ptr_struct->wol_m);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_speed_sup       : "UH_FMT"\n", ptr_struct->link_speed_sup);
+	fprintf(file, "wol_b                : " UH_FMT "\n", ptr_struct->wol_b);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "init_type            : "UH_FMT"\n", ptr_struct->init_type);
+	fprintf(file, "wol_a                : " UH_FMT "\n", ptr_struct->wol_a);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl_arb_high_cap      : "UH_FMT"\n", ptr_struct->vl_arb_high_cap);
+	fprintf(file, "wol_g                : " UH_FMT "\n", ptr_struct->wol_g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl_high_limit        : "UH_FMT"\n", ptr_struct->vl_high_limit);
+	fprintf(file, "wol_s                : " UH_FMT "\n", ptr_struct->wol_s);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl_cap               : "UH_FMT"\n", ptr_struct->vl_cap);
+	fprintf(file, "rol_g                : " UH_FMT "\n", ptr_struct->rol_g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl_arb_low_cap       : "UH_FMT"\n", ptr_struct->vl_arb_low_cap);
+	fprintf(file, "rol_s                : " UH_FMT "\n", ptr_struct->rol_s);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "operational_vl       : "UH_FMT"\n", ptr_struct->operational_vl);
+	fprintf(file, "fpga                 : " UH_FMT "\n", ptr_struct->fpga);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "neighbor_mtu         : "UH_FMT"\n", ptr_struct->neighbor_mtu);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mtu_cap              : "UH_FMT"\n", ptr_struct->mtu_cap);
+int connectib_icmd_query_cap_general_size(void)
+{
+	 return 8;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mc_pkey_trap_suppress_en : "UH_FMT"\n", ptr_struct->mc_pkey_trap_suppress_en);
+void connectib_icmd_query_cap_general_dump(const struct connectib_icmd_query_cap_general *ptr_struct, FILE* file)
+{
+	connectib_icmd_query_cap_general_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_query_cap_in_pack(const struct connectib_icmd_query_cap_in *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->capability_group);
+
+}
+
+void connectib_icmd_query_cap_in_unpack(struct connectib_icmd_query_cap_in *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "guid_cap             : "UH_FMT"\n", ptr_struct->guid_cap);
+	offset = 16;
+	ptr_struct->capability_group = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "resp_time_value      : "UH_FMT"\n", ptr_struct->resp_time_value);
+}
 
+void connectib_icmd_query_cap_in_print(const struct connectib_icmd_query_cap_in *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_speed_ext_ena   : "UH_FMT"\n", ptr_struct->link_speed_ext_ena);
+	fprintf(file, "======== connectib_icmd_query_cap_in ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_speed_ext_sup   : "UH_FMT"\n", ptr_struct->link_speed_ext_sup);
+	fprintf(file, "capability_group     : " UH_FMT "\n", ptr_struct->capability_group);
 
 }
 
-int connectib_ib_port_info_ini_size(void){
-	 return 28;
+int connectib_icmd_query_cap_in_size(void)
+{
+	 return 4;
 }
 
-void connectib_ib_port_info_ini_dump(const struct connectib_ib_port_info_ini *ptr_struct, FILE* file) {
-	connectib_ib_port_info_ini_print(ptr_struct, file, 0);
+void connectib_icmd_query_cap_in_dump(const struct connectib_icmd_query_cap_in *ptr_struct, FILE* file)
+{
+	connectib_icmd_query_cap_in_print(ptr_struct, file, 0);
 }
 
-void connectib_node_info_pack(const struct connectib_node_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_cable_info_pack(const struct connectib_cable_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_of_ports);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->node_type);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->class_version);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->base_version);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->system_image_guid_hi);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->system_image_guid_lo);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->node_guid_hi);
-
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->node_guid_lo);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->address);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_guid_hi);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->page_number);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->port_guid_lo);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->device_address);
 
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_id);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->size);
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->partition_cap);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->passwd_clr);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->revision);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->passwd_v);
 
-	offset=296;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->vendor_id);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->password);
 
-	offset=288;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port_num);
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
+	}
 
 }
 
-void connectib_node_info_unpack(struct connectib_node_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_cable_info_unpack(struct connectib_cable_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->num_of_ports = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->node_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->class_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	ptr_struct->base_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=32;
-	ptr_struct->system_image_guid_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->system_image_guid_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=96;
-	ptr_struct->node_guid_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=128;
-	ptr_struct->node_guid_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->address = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=160;
-	ptr_struct->port_guid_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 8;
+	ptr_struct->page_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=192;
-	ptr_struct->port_guid_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->device_address = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=240;
-	ptr_struct->device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 48;
+	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=224;
-	ptr_struct->partition_cap = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 33;
+	ptr_struct->passwd_clr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	ptr_struct->revision = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->passwd_v = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=296;
-	ptr_struct->vendor_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 64;
+	ptr_struct->password = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=288;
-	ptr_struct->local_port_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 512, 1);
+	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_node_info_print(const struct connectib_node_info *ptr_struct, FILE* file, int indent_level){
+void connectib_cable_info_print(const struct connectib_cable_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_node_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cable_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_ports         : "UH_FMT"\n", ptr_struct->num_of_ports);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "node_type            : "UH_FMT"\n", ptr_struct->node_type);
+	fprintf(file, "page_number          : " UH_FMT "\n", ptr_struct->page_number);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "class_version        : "UH_FMT"\n", ptr_struct->class_version);
+	fprintf(file, "device_address       : " UH_FMT "\n", ptr_struct->device_address);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "base_version         : "UH_FMT"\n", ptr_struct->base_version);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "system_image_guid_hi : "U32H_FMT"\n", ptr_struct->system_image_guid_hi);
+	fprintf(file, "passwd_clr           : " UH_FMT "\n", ptr_struct->passwd_clr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "system_image_guid_lo : "U32H_FMT"\n", ptr_struct->system_image_guid_lo);
+	fprintf(file, "passwd_v             : " UH_FMT "\n", ptr_struct->passwd_v);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "node_guid_hi         : "U32H_FMT"\n", ptr_struct->node_guid_hi);
+	fprintf(file, "password             : " U32H_FMT "\n", ptr_struct->password);
 
+	for (i = 0; i < 12; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "node_guid_lo         : "U32H_FMT"\n", ptr_struct->node_guid_lo);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_guid_hi         : "U32H_FMT"\n", ptr_struct->port_guid_hi);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_guid_lo         : "U32H_FMT"\n", ptr_struct->port_guid_lo);
+int connectib_cable_info_size(void)
+{
+	 return 64;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_id            : "UH_FMT"\n", ptr_struct->device_id);
+void connectib_cable_info_dump(const struct connectib_cable_info *ptr_struct, FILE* file)
+{
+	connectib_cable_info_print(ptr_struct, file, 0);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "partition_cap        : "UH_FMT"\n", ptr_struct->partition_cap);
+void connectib_grepper_dwords_pack(const struct connectib_grepper_dwords *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "revision             : "U32H_FMT"\n", ptr_struct->revision);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dwords[i]);
+	}
+
+}
+
+void connectib_grepper_dwords_unpack(struct connectib_grepper_dwords *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	ptr_struct->dwords[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
 
+void connectib_grepper_dwords_print(const struct connectib_grepper_dwords *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vendor_id            : "UH_FMT"\n", ptr_struct->vendor_id);
+	fprintf(file, "======== connectib_grepper_dwords ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_port_num       : "UH_FMT"\n", ptr_struct->local_port_num);
+	fprintf(file, "dwords_%03d          : " U32H_FMT "\n", i, ptr_struct->dwords[i]);
+	}
 
 }
 
-int connectib_node_info_size(void){
+int connectib_grepper_dwords_size(void)
+{
 	 return 64;
 }
 
-void connectib_node_info_dump(const struct connectib_node_info *ptr_struct, FILE* file) {
-	connectib_node_info_print(ptr_struct, file, 0);
+void connectib_grepper_dwords_dump(const struct connectib_grepper_dwords *ptr_struct, FILE* file)
+{
+	connectib_grepper_dwords_print(ptr_struct, file, 0);
 }
 
-void connectib_led_port_blink_pattern_pack(const struct connectib_led_port_blink_pattern *ptr_struct, u_int8_t* ptr_buff){
+void connectib_itrace_pack(const struct connectib_itrace *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->phy_pattern);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->log_pattern);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->unit_mask);
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->length);
+	offset = 32;
+	connectib_itrace_ctrl_pack(&(ptr_struct->ctrl), ptr_buff + offset/8);
 
 }
 
-void connectib_led_port_blink_pattern_unpack(struct connectib_led_port_blink_pattern *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_itrace_unpack(struct connectib_itrace *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->phy_pattern = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->log_pattern = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->unit_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=56;
-	ptr_struct->length = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 32;
+	connectib_itrace_ctrl_unpack(&(ptr_struct->ctrl), ptr_buff + offset/8);
 
 }
 
-void connectib_led_port_blink_pattern_print(const struct connectib_led_port_blink_pattern *ptr_struct, FILE* file, int indent_level){
+void connectib_itrace_print(const struct connectib_itrace *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_led_port_blink_pattern ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_itrace ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy_pattern          : "UH_FMT"\n", ptr_struct->phy_pattern);
+	fprintf(file, "unit_mask            : " U32H_FMT "\n", ptr_struct->unit_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_pattern          : "UH_FMT"\n", ptr_struct->log_pattern);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "length               : "UH_FMT"\n", ptr_struct->length);
+	fprintf(file, "ctrl:\n");
+	connectib_itrace_ctrl_print(&(ptr_struct->ctrl), file, indent_level + 1);
 
 }
 
-int connectib_led_port_blink_pattern_size(void){
-	 return 8;
+int connectib_itrace_size(void)
+{
+	 return 16;
 }
 
-void connectib_led_port_blink_pattern_dump(const struct connectib_led_port_blink_pattern *ptr_struct, FILE* file) {
-	connectib_led_port_blink_pattern_print(ptr_struct, file, 0);
+void connectib_itrace_dump(const struct connectib_itrace *ptr_struct, FILE* file)
+{
+	connectib_itrace_print(ptr_struct, file, 0);
 }
 
-void connectib_uid_entry_pack(const struct connectib_uid_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_cc_table_entry_pack(const struct connectib_cc_table_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_allocated);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->step);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 14, (u_int32_t)ptr_struct->cct_multiplier);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->uid);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->cct_shift);
 
 }
 
-void connectib_uid_entry_unpack(struct connectib_uid_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_cc_table_entry_unpack(struct connectib_cc_table_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->num_allocated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->step = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 2;
+	ptr_struct->cct_multiplier = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 14);
 
-	offset=64;
-	ptr_struct->uid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->cct_shift = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
 }
 
-void connectib_uid_entry_print(const struct connectib_uid_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_cc_table_entry_print(const struct connectib_cc_table_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_uid_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cc_table_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_allocated        : "UH_FMT"\n", ptr_struct->num_allocated);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "step                 : "UH_FMT"\n", ptr_struct->step);
+	fprintf(file, "cct_multiplier       : " UH_FMT "\n", ptr_struct->cct_multiplier);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uid                  : "U64H_FMT"\n", ptr_struct->uid);
+	fprintf(file, "cct_shift            : " UH_FMT "\n", ptr_struct->cct_shift);
 
 }
 
-int connectib_uid_entry_size(void){
-	 return 16;
+int connectib_cc_table_entry_size(void)
+{
+	 return 2;
 }
 
-void connectib_uid_entry_dump(const struct connectib_uid_entry *ptr_struct, FILE* file) {
-	connectib_uid_entry_print(ptr_struct, file, 0);
+void connectib_cc_table_entry_dump(const struct connectib_cc_table_entry *ptr_struct, FILE* file)
+{
+	connectib_cc_table_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_module_version_pack(const struct connectib_module_version *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ca_congestion_entry_pack(const struct connectib_ca_congestion_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->branch);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->trigger_threshold);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->minor);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ccti_increase);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->major);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ccti_timer);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ccti_min);
 
 }
 
-void connectib_module_version_unpack(struct connectib_module_version *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ca_congestion_entry_unpack(struct connectib_ca_congestion_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->branch = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 24;
+	ptr_struct->trigger_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=12;
-	ptr_struct->minor = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 16;
+	ptr_struct->ccti_increase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->major = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 0;
+	ptr_struct->ccti_timer = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->ccti_min = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_module_version_print(const struct connectib_module_version *ptr_struct, FILE* file, int indent_level){
+void connectib_ca_congestion_entry_print(const struct connectib_ca_congestion_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_module_version ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ca_congestion_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "branch               : "UH_FMT"\n", ptr_struct->branch);
+	fprintf(file, "trigger_threshold    : " UH_FMT "\n", ptr_struct->trigger_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor                : "UH_FMT"\n", ptr_struct->minor);
+	fprintf(file, "ccti_increase        : " UH_FMT "\n", ptr_struct->ccti_increase);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major                : "UH_FMT"\n", ptr_struct->major);
+	fprintf(file, "ccti_timer           : " UH_FMT "\n", ptr_struct->ccti_timer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ccti_min             : " UH_FMT "\n", ptr_struct->ccti_min);
 
 }
 
-int connectib_module_version_size(void){
-	 return 4;
+int connectib_ca_congestion_entry_size(void)
+{
+	 return 8;
 }
 
-void connectib_module_version_dump(const struct connectib_module_version *ptr_struct, FILE* file) {
-	connectib_module_version_print(ptr_struct, file, 0);
+void connectib_ca_congestion_entry_dump(const struct connectib_ca_congestion_entry *ptr_struct, FILE* file)
+{
+	connectib_ca_congestion_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_reset_level_info_pack(const struct connectib_reset_level_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_congestion_log_event_entry_pack(const struct connectib_congestion_log_event_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_reset_version_pack(&(ptr_struct->ver), ptr_buff + offset/8);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->service_type);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ini_sig);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
 
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reset_type);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->local_qpn);
 
-	offset=87;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ini_sig_v);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->remote_qpn);
 
-	offset=86;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ini_sig_ignore);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->remote_lid);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->timestamp);
 
 }
 
-void connectib_reset_level_info_unpack(struct connectib_reset_level_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_congestion_log_event_entry_unpack(struct connectib_congestion_log_event_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_reset_version_unpack(&(ptr_struct->ver), ptr_buff + offset/8);
+	offset = 28;
+	ptr_struct->service_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->ini_sig = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=88;
-	ptr_struct->reset_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->local_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=87;
-	ptr_struct->ini_sig_v = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->remote_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=86;
-	ptr_struct->ini_sig_ignore = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 80;
+	ptr_struct->remote_lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 96;
+	ptr_struct->timestamp = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_reset_level_info_print(const struct connectib_reset_level_info *ptr_struct, FILE* file, int indent_level){
+void connectib_congestion_log_event_entry_print(const struct connectib_congestion_log_event_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reset_level_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_congestion_log_event_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ver:\n");
-	connectib_reset_version_print(&(ptr_struct->ver), file, indent_level + 1);
+	fprintf(file, "service_type         : " UH_FMT "\n", ptr_struct->service_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sl                   : " UH_FMT "\n", ptr_struct->sl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ini_sig              : "U32H_FMT"\n", ptr_struct->ini_sig);
+	fprintf(file, "local_qpn            : " UH_FMT "\n", ptr_struct->local_qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_type           : "UH_FMT"\n", ptr_struct->reset_type);
+	fprintf(file, "remote_qpn           : " UH_FMT "\n", ptr_struct->remote_qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ini_sig_v            : "UH_FMT"\n", ptr_struct->ini_sig_v);
+	fprintf(file, "remote_lid           : " UH_FMT "\n", ptr_struct->remote_lid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ini_sig_ignore       : "UH_FMT"\n", ptr_struct->ini_sig_ignore);
+	fprintf(file, "timestamp            : " U32H_FMT "\n", ptr_struct->timestamp);
 
 }
 
-int connectib_reset_level_info_size(void){
+int connectib_congestion_log_event_entry_size(void)
+{
 	 return 16;
 }
 
-void connectib_reset_level_info_dump(const struct connectib_reset_level_info *ptr_struct, FILE* file) {
-	connectib_reset_level_info_print(ptr_struct, file, 0);
+void connectib_congestion_log_event_entry_dump(const struct connectib_congestion_log_event_entry *ptr_struct, FILE* file)
+{
+	connectib_congestion_log_event_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_vport_info_pack(const struct connectib_vport_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_special_qps_pack(const struct connectib_special_qps *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->port_guid);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->qp0);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->node_guid);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->qp1);
 
-	offset=128;
-	connectib_mac_address_layout_pack(&(ptr_struct->permanent_address), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->raw);
 
-	offset=208;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cap_mask);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ipv6);
 
-	offset=196;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->allowed_list_size);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reserved);
 
-	offset=192;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->roce_en);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ptp1588);
 
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->p_key_violations);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sync_umr);
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->q_key_violations);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cnak);
 
 }
 
-void connectib_vport_info_unpack(struct connectib_vport_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_special_qps_unpack(struct connectib_special_qps *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->port_guid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->qp0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	ptr_struct->node_guid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 32;
+	ptr_struct->qp1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
-	connectib_mac_address_layout_unpack(&(ptr_struct->permanent_address), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->raw = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=208;
-	ptr_struct->cap_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 96;
+	ptr_struct->ipv6 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=196;
-	ptr_struct->allowed_list_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+	offset = 128;
+	ptr_struct->reserved = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
-	ptr_struct->roce_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	ptr_struct->ptp1588 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=240;
-	ptr_struct->p_key_violations = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 192;
+	ptr_struct->sync_umr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=224;
-	ptr_struct->q_key_violations = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 224;
+	ptr_struct->cnak = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_vport_info_print(const struct connectib_vport_info *ptr_struct, FILE* file, int indent_level){
+void connectib_special_qps_print(const struct connectib_special_qps *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_vport_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_special_qps ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_guid            : "U64H_FMT"\n", ptr_struct->port_guid);
+	fprintf(file, "qp0                  : " U32H_FMT "\n", ptr_struct->qp0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "node_guid            : "U64H_FMT"\n", ptr_struct->node_guid);
+	fprintf(file, "qp1                  : " U32H_FMT "\n", ptr_struct->qp1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "permanent_address:\n");
-	connectib_mac_address_layout_print(&(ptr_struct->permanent_address), file, indent_level + 1);
+	fprintf(file, "raw                  : " U32H_FMT "\n", ptr_struct->raw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cap_mask             : "UH_FMT"\n", ptr_struct->cap_mask);
+	fprintf(file, "ipv6                 : " U32H_FMT "\n", ptr_struct->ipv6);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "allowed_list_size    : "UH_FMT"\n", ptr_struct->allowed_list_size);
+	fprintf(file, "reserved             : " U32H_FMT "\n", ptr_struct->reserved);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "roce_en              : "UH_FMT"\n", ptr_struct->roce_en);
+	fprintf(file, "ptp1588              : " U32H_FMT "\n", ptr_struct->ptp1588);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "p_key_violations     : "UH_FMT"\n", ptr_struct->p_key_violations);
+	fprintf(file, "sync_umr             : " U32H_FMT "\n", ptr_struct->sync_umr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "q_key_violations     : "UH_FMT"\n", ptr_struct->q_key_violations);
+	fprintf(file, "cnak                 : " U32H_FMT "\n", ptr_struct->cnak);
 
 }
 
-int connectib_vport_info_size(void){
+int connectib_special_qps_size(void)
+{
 	 return 32;
 }
 
-void connectib_vport_info_dump(const struct connectib_vport_info *ptr_struct, FILE* file) {
-	connectib_vport_info_print(ptr_struct, file, 0);
+void connectib_special_qps_dump(const struct connectib_special_qps *ptr_struct, FILE* file)
+{
+	connectib_special_qps_print(ptr_struct, file, 0);
 }
 
-void connectib_vport_shadow_pack(const struct connectib_vport_shadow *ptr_struct, u_int8_t* ptr_buff){
+void connectib_cmdif_hdr_pack(const struct connectib_cmdif_hdr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->port_guid);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->reserved0);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->node_guid);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->type);
 
-	offset=128;
-	connectib_mac_address_layout_pack(&(ptr_struct->permanent_address), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->input_length);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ibox_pointer);
+
+	offset = 128;
+	connectib_input_inline_standart_pack(&(ptr_struct->input_inline), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_output_inline_standart_pack(&(ptr_struct->output_inline), ptr_buff + offset/8);
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->obox_pointer);
+
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->output_length);
+
+	offset = 511;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ownership);
+
+	offset = 504;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->status);
+
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reserved1);
+
+	offset = 488;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
+
+	offset = 480;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->token);
 
 }
 
-void connectib_vport_shadow_unpack(struct connectib_vport_shadow *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_cmdif_hdr_unpack(struct connectib_cmdif_hdr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->port_guid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 8;
+	ptr_struct->reserved0 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=64;
-	ptr_struct->node_guid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=128;
-	connectib_mac_address_layout_unpack(&(ptr_struct->permanent_address), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->input_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->ibox_pointer = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 128;
+	connectib_input_inline_standart_unpack(&(ptr_struct->input_inline), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_output_inline_standart_unpack(&(ptr_struct->output_inline), ptr_buff + offset/8);
+
+	offset = 384;
+	ptr_struct->obox_pointer = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+	offset = 448;
+	ptr_struct->output_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 511;
+	ptr_struct->ownership = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 504;
+	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 496;
+	ptr_struct->reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 488;
+	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 480;
+	ptr_struct->token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_vport_shadow_print(const struct connectib_vport_shadow *ptr_struct, FILE* file, int indent_level){
+void connectib_cmdif_hdr_print(const struct connectib_cmdif_hdr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_vport_shadow ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_cmdif_hdr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_guid            : "U64H_FMT"\n", ptr_struct->port_guid);
+	fprintf(file, "reserved0            : " UH_FMT "\n", ptr_struct->reserved0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "node_guid            : "U64H_FMT"\n", ptr_struct->node_guid);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "permanent_address:\n");
-	connectib_mac_address_layout_print(&(ptr_struct->permanent_address), file, indent_level + 1);
+	fprintf(file, "input_length         : " U32H_FMT "\n", ptr_struct->input_length);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ibox_pointer         : " U64H_FMT "\n", ptr_struct->ibox_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "input_inline:\n");
+	connectib_input_inline_standart_print(&(ptr_struct->input_inline), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "output_inline:\n");
+	connectib_output_inline_standart_print(&(ptr_struct->output_inline), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "obox_pointer         : " U64H_FMT "\n", ptr_struct->obox_pointer);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "output_length        : " U32H_FMT "\n", ptr_struct->output_length);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ownership            : " UH_FMT "\n", ptr_struct->ownership);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "status               : " UH_FMT "\n", ptr_struct->status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved1            : " UH_FMT "\n", ptr_struct->reserved1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature            : " UH_FMT "\n", ptr_struct->signature);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "token                : " UH_FMT "\n", ptr_struct->token);
 
 }
 
-int connectib_vport_shadow_size(void){
-	 return 32;
+int connectib_cmdif_hdr_size(void)
+{
+	 return 64;
 }
 
-void connectib_vport_shadow_dump(const struct connectib_vport_shadow *ptr_struct, FILE* file) {
-	connectib_vport_shadow_print(ptr_struct, file, 0);
+void connectib_cmdif_hdr_dump(const struct connectib_cmdif_hdr *ptr_struct, FILE* file)
+{
+	connectib_cmdif_hdr_print(ptr_struct, file, 0);
 }
 
-void connectib_general_fault_injector_pair_pack(const struct connectib_general_fault_injector_pair *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_header_capture_checks_pack(const struct connectib_icmd_header_capture_checks *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->freq);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->word[i]);
+	}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->duration);
+}
+
+void connectib_icmd_header_capture_checks_unpack(struct connectib_icmd_header_capture_checks *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	ptr_struct->word[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void connectib_icmd_header_capture_checks_print(const struct connectib_icmd_header_capture_checks *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_header_capture_checks ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 16; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "word_%03d            : " U32H_FMT "\n", i, ptr_struct->word[i]);
+	}
+
+}
+
+int connectib_icmd_header_capture_checks_size(void)
+{
+	 return 64;
+}
 
+void connectib_icmd_header_capture_checks_dump(const struct connectib_icmd_header_capture_checks *ptr_struct, FILE* file)
+{
+	connectib_icmd_header_capture_checks_print(ptr_struct, file, 0);
 }
 
-void connectib_general_fault_injector_pair_unpack(struct connectib_general_fault_injector_pair *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_header_capture_headers_pack(const struct connectib_icmd_header_capture_headers *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->freq = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->word[i]);
+	}
 
-	offset=0;
-	ptr_struct->duration = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+}
+
+void connectib_icmd_header_capture_headers_unpack(struct connectib_icmd_header_capture_headers *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	ptr_struct->word[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_general_fault_injector_pair_print(const struct connectib_general_fault_injector_pair *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_header_capture_headers_print(const struct connectib_icmd_header_capture_headers *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_general_fault_injector_pair ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_header_capture_headers ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 32; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "word_%03d            : " U32H_FMT "\n", i, ptr_struct->word[i]);
+	}
+
+}
+
+int connectib_icmd_header_capture_headers_size(void)
+{
+	 return 128;
+}
+
+void connectib_icmd_header_capture_headers_dump(const struct connectib_icmd_header_capture_headers *ptr_struct, FILE* file)
+{
+	connectib_icmd_header_capture_headers_print(ptr_struct, file, 0);
+}
+
+void connectib_g_rse_hw_decoders_pack(const union connectib_g_rse_hw_decoders *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_g_rse_decoders_as_dwords_pack(&(ptr_struct->raw_dwords), ptr_buff);
+}
+
+void connectib_g_rse_hw_decoders_unpack(union connectib_g_rse_hw_decoders *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_g_rse_decoders_as_dwords_unpack(&(ptr_struct->raw_dwords), ptr_buff);
+}
+
+void connectib_g_rse_hw_decoders_print(const union connectib_g_rse_hw_decoders *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_g_rse_hw_decoders ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rxt_checks_packet_descriptor_decoder:\n");
+	connectib_rxt_checks_packet_descriptor_decoder_print(&(ptr_struct->rxt_checks_packet_descriptor_decoder), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rxt_steering_context_decoder:\n");
+	connectib_rxt_steering_context_decoder_print(&(ptr_struct->rxt_steering_context_decoder), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rxt_checks_steering_results_decoder:\n");
+	connectib_rxt_checks_steering_results_decoder_print(&(ptr_struct->rxt_checks_steering_results_decoder), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rxt_context_fetch_qp_desc_decoder:\n");
+	connectib_rxt_context_fetch_qp_desc_decoder_print(&(ptr_struct->rxt_context_fetch_qp_desc_decoder), file, indent_level + 1);
+
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "freq                 : "UH_FMT"\n", ptr_struct->freq);
+	fprintf(file, "rxs_rxt_desc_decoder:\n");
+	connectib_rxs_rxt_desc_decoder_print(&(ptr_struct->rxs_rxt_desc_decoder), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "duration             : "UH_FMT"\n", ptr_struct->duration);
+	fprintf(file, "raw_dwords:\n");
+	connectib_g_rse_decoders_as_dwords_print(&(ptr_struct->raw_dwords), file, indent_level + 1);
 
 }
 
-int connectib_general_fault_injector_pair_size(void){
-	 return 4;
+int connectib_g_rse_hw_decoders_size(void)
+{
+	 return 256;
 }
 
-void connectib_general_fault_injector_pair_dump(const struct connectib_general_fault_injector_pair *ptr_struct, FILE* file) {
-	connectib_general_fault_injector_pair_print(ptr_struct, file, 0);
+void connectib_g_rse_hw_decoders_dump(const union connectib_g_rse_hw_decoders *ptr_struct, FILE* file)
+{
+	connectib_g_rse_hw_decoders_print(ptr_struct, file, 0);
 }
 
-void connectib_pvlc_reg_pack(const struct connectib_pvlc_reg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_FW_VERSION_pack(const struct connectib_FW_VERSION *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MAJOR);
 
-	offset=60;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl_hw_cap);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->SUBMINOR);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MINOR);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Hour);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Minutes);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Seconds);
+
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Day);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Month);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->Year);
+
+}
+
+void connectib_FW_VERSION_unpack(struct connectib_FW_VERSION *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->MAJOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 48;
+	ptr_struct->SUBMINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->MINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 80;
+	ptr_struct->Hour = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 72;
+	ptr_struct->Minutes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->Seconds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 120;
+	ptr_struct->Day = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=92;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl_admin);
+	offset = 112;
+	ptr_struct->Month = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=124;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl_operational);
+	offset = 96;
+	ptr_struct->Year = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_pvlc_reg_unpack(struct connectib_pvlc_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_FW_VERSION_print(const struct connectib_FW_VERSION *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_FW_VERSION ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=8;
-	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	(void)file;
+	(void)indent_level;
 
-	offset=60;
-	ptr_struct->vl_hw_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "MAJOR                : " UH_FMT "\n", ptr_struct->MAJOR);
 
-	offset=92;
-	ptr_struct->vl_admin = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "SUBMINOR             : " UH_FMT "\n", ptr_struct->SUBMINOR);
 
-	offset=124;
-	ptr_struct->vl_operational = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "MINOR                : " UH_FMT "\n", ptr_struct->MINOR);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "Hour                 : " UH_FMT "\n", ptr_struct->Hour);
 
-void connectib_pvlc_reg_print(const struct connectib_pvlc_reg *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pvlc_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "Minutes              : " UH_FMT "\n", ptr_struct->Minutes);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_port           : "UH_FMT"\n", ptr_struct->local_port);
+	fprintf(file, "Seconds              : " UH_FMT "\n", ptr_struct->Seconds);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl_hw_cap            : "UH_FMT"\n", ptr_struct->vl_hw_cap);
+	fprintf(file, "Day                  : " UH_FMT "\n", ptr_struct->Day);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl_admin             : "UH_FMT"\n", ptr_struct->vl_admin);
+	fprintf(file, "Month                : " UH_FMT "\n", ptr_struct->Month);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl_operational       : "UH_FMT"\n", ptr_struct->vl_operational);
+	fprintf(file, "Year                 : " UH_FMT "\n", ptr_struct->Year);
 
 }
 
-int connectib_pvlc_reg_size(void){
+int connectib_FW_VERSION_size(void)
+{
 	 return 16;
 }
 
-void connectib_pvlc_reg_dump(const struct connectib_pvlc_reg *ptr_struct, FILE* file) {
-	connectib_pvlc_reg_print(ptr_struct, file, 0);
+void connectib_FW_VERSION_dump(const struct connectib_FW_VERSION *ptr_struct, FILE* file)
+{
+	connectib_FW_VERSION_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ste_resources_list_out_pack(const struct connectib_icmd_get_ste_resources_list_out *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->resources_count);
-
-	for (i=0; i < 63; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 2048, 1);
-	connectib_resource_type_entry_pack(&(ptr_struct->resource_type[i]), ptr_buff + offset/8);
-	}
-
+void connectib_golan_hw_fw_ctx_pack(const union connectib_golan_hw_fw_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_ctx_as_dwords_pack(&(ptr_struct->as_dwords), ptr_buff);
 }
 
-void connectib_icmd_get_ste_resources_list_out_unpack(struct connectib_icmd_get_ste_resources_list_out *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=24;
-	ptr_struct->resources_count = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	for (i=0; i < 63; i++) {
-	offset=adb2c_calc_array_field_address(32, 32, i, 2048, 1);
-	connectib_resource_type_entry_unpack(&(ptr_struct->resource_type[i]), ptr_buff + offset/8);
-	}
-
+void connectib_golan_hw_fw_ctx_unpack(union connectib_golan_hw_fw_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_ctx_as_dwords_unpack(&(ptr_struct->as_dwords), ptr_buff);
 }
 
-void connectib_icmd_get_ste_resources_list_out_print(const struct connectib_icmd_get_ste_resources_list_out *ptr_struct, FILE* file, int indent_level){
+void connectib_golan_hw_fw_ctx_print(const union connectib_golan_hw_fw_ctx *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ste_resources_list_out ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_golan_hw_fw_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "resources_count      : "UH_FMT"\n", ptr_struct->resources_count);
+	fprintf(file, "hw_ctx:\n");
+	connectib_hw_hca_contexts_print(&(ptr_struct->hw_ctx), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fw_ctx:\n");
+	connectib_fw_resource_context_print(&(ptr_struct->fw_ctx), file, indent_level + 1);
 
-	for (i=0; i < 63; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "resource_type_%03d:\n", i);
-	connectib_resource_type_entry_print(&(ptr_struct->resource_type[i]), file, indent_level + 1);
-	}
+	fprintf(file, "as_dwords:\n");
+	connectib_ctx_as_dwords_print(&(ptr_struct->as_dwords), file, indent_level + 1);
 
 }
 
-int connectib_icmd_get_ste_resources_list_out_size(void){
-	 return 256;
+int connectib_golan_hw_fw_ctx_size(void)
+{
+	 return 64;
 }
 
-void connectib_icmd_get_ste_resources_list_out_dump(const struct connectib_icmd_get_ste_resources_list_out *ptr_struct, FILE* file) {
-	connectib_icmd_get_ste_resources_list_out_print(ptr_struct, file, 0);
+void connectib_golan_hw_fw_ctx_dump(const union connectib_golan_hw_fw_ctx *ptr_struct, FILE* file)
+{
+	connectib_golan_hw_fw_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ste_resources_list_in_pack(const struct connectib_icmd_get_ste_resources_list_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_128byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_128byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2048, 1);
+	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(1024, 32, i, 2048, 1);
+	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_ste_resources_list_in_unpack(struct connectib_icmd_get_ste_resources_list_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_128byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_128byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2048, 1);
+	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
+
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(1024, 32, i, 2048, 1);
+	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_ste_resources_list_in_print(const struct connectib_icmd_get_ste_resources_list_in *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_fetch_add_128byte_print(const struct connectib_wqe_extended_atomic_fetch_add_128byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ste_resources_list_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_128byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 32; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "add_data_%03d:\n", i);
+	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
+	}
+
+	for (i = 0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "field_boundary_%03d:\n", i);
+	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_get_ste_resources_list_in_size(void){
-	 return 16;
+int connectib_wqe_extended_atomic_fetch_add_128byte_size(void)
+{
+	 return 256;
 }
 
-void connectib_icmd_get_ste_resources_list_in_dump(const struct connectib_icmd_get_ste_resources_list_in *ptr_struct, FILE* file) {
-	connectib_icmd_get_ste_resources_list_in_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_fetch_add_128byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_128byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_fetch_add_128byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ste_open_resources_out_pack(const struct connectib_icmd_get_ste_open_resources_out *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_64byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_64byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->more);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->output_size);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(64, 128, i, 6144, 1);
-	connectib_index_and_length_pack(&(ptr_struct->opened_resource[i]), ptr_buff + offset/8);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(512, 32, i, 1024, 1);
+	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_get_ste_open_resources_out_unpack(struct connectib_icmd_get_ste_open_resources_out *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_64byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_64byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->more = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	ptr_struct->output_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(64, 128, i, 6144, 1);
-	connectib_index_and_length_unpack(&(ptr_struct->opened_resource[i]), ptr_buff + offset/8);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(512, 32, i, 1024, 1);
+	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_get_ste_open_resources_out_print(const struct connectib_icmd_get_ste_open_resources_out *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_fetch_add_64byte_print(const struct connectib_wqe_extended_atomic_fetch_add_64byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ste_open_resources_out ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_64byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "more                 : "UH_FMT"\n", ptr_struct->more);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "output_size          : "U32H_FMT"\n", ptr_struct->output_size);
+	fprintf(file, "add_data_%03d:\n", i);
+	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
+	}
 
-	for (i=0; i < 32; i++) {
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opened_resource_%03d:\n", i);
-	connectib_index_and_length_print(&(ptr_struct->opened_resource[i]), file, indent_level + 1);
+	fprintf(file, "field_boundary_%03d:\n", i);
+	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
 	}
 
 }
 
-int connectib_icmd_get_ste_open_resources_out_size(void){
-	 return 768;
+int connectib_wqe_extended_atomic_fetch_add_64byte_size(void)
+{
+	 return 128;
 }
 
-void connectib_icmd_get_ste_open_resources_out_dump(const struct connectib_icmd_get_ste_open_resources_out *ptr_struct, FILE* file) {
-	connectib_icmd_get_ste_open_resources_out_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_fetch_add_64byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_64byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_fetch_add_64byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ste_open_resources_in_pack(const struct connectib_icmd_get_ste_open_resources_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_32byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_32byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->icm_resource_type);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->start_index);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 512, 1);
+	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_ste_open_resources_in_unpack(struct connectib_icmd_get_ste_open_resources_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_32byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_32byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=32;
-	ptr_struct->icm_resource_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=64;
-	ptr_struct->start_index = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 512, 1);
+	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_ste_open_resources_in_print(const struct connectib_icmd_get_ste_open_resources_in *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_fetch_add_32byte_print(const struct connectib_wqe_extended_atomic_fetch_add_32byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ste_open_resources_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_32byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icm_resource_type    : "U32H_FMT"\n", ptr_struct->icm_resource_type);
+	fprintf(file, "add_data_%03d:\n", i);
+	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "start_index          : "U64H_FMT"\n", ptr_struct->start_index);
+	fprintf(file, "field_boundary_%03d:\n", i);
+	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_get_ste_open_resources_in_size(void){
-	 return 16;
+int connectib_wqe_extended_atomic_fetch_add_32byte_size(void)
+{
+	 return 64;
 }
 
-void connectib_icmd_get_ste_open_resources_in_dump(const struct connectib_icmd_get_ste_open_resources_in *ptr_struct, FILE* file) {
-	connectib_icmd_get_ste_open_resources_in_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_fetch_add_32byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_32byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_fetch_add_32byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fte_out_pack(const struct connectib_icmd_get_fte_out *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_16byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_16byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->action);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->group_id);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->flow_tag);
-
-	offset=104;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->destination_list_size);
-
-	offset=512;
-	connectib_flow_table_entry_match_set_lyr_2_4_pack(&(ptr_struct->outer_headers), ptr_buff + offset/8);
-
-	offset=1024;
-	connectib_flow_table_entry_match_set_misc_pack(&(ptr_struct->misc_parameters), ptr_buff + offset/8);
-
-	offset=1536;
-	connectib_flow_table_entry_match_set_lyr_2_4_pack(&(ptr_struct->inner_headers), ptr_buff + offset/8);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(2048, 64, i, 6144, 1);
-	connectib_dest_format_struct_pack(&(ptr_struct->destination[i]), ptr_buff + offset/8);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 256, 1);
+	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_get_fte_out_unpack(struct connectib_icmd_get_fte_out *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_16byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_16byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->action = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=72;
-	ptr_struct->flow_tag = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=104;
-	ptr_struct->destination_list_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=512;
-	connectib_flow_table_entry_match_set_lyr_2_4_unpack(&(ptr_struct->outer_headers), ptr_buff + offset/8);
-
-	offset=1024;
-	connectib_flow_table_entry_match_set_misc_unpack(&(ptr_struct->misc_parameters), ptr_buff + offset/8);
-
-	offset=1536;
-	connectib_flow_table_entry_match_set_lyr_2_4_unpack(&(ptr_struct->inner_headers), ptr_buff + offset/8);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(2048, 64, i, 6144, 1);
-	connectib_dest_format_struct_unpack(&(ptr_struct->destination[i]), ptr_buff + offset/8);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 256, 1);
+	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_get_fte_out_print(const struct connectib_icmd_get_fte_out *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_fetch_add_16byte_print(const struct connectib_wqe_extended_atomic_fetch_add_16byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fte_out ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_16byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "action               : "UH_FMT"\n", ptr_struct->action);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "group_id             : "U32H_FMT"\n", ptr_struct->group_id);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_tag             : "UH_FMT"\n", ptr_struct->flow_tag);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "destination_list_size : "UH_FMT"\n", ptr_struct->destination_list_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "outer_headers:\n");
-	connectib_flow_table_entry_match_set_lyr_2_4_print(&(ptr_struct->outer_headers), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "misc_parameters:\n");
-	connectib_flow_table_entry_match_set_misc_print(&(ptr_struct->misc_parameters), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inner_headers:\n");
-	connectib_flow_table_entry_match_set_lyr_2_4_print(&(ptr_struct->inner_headers), file, indent_level + 1);
+	fprintf(file, "add_data_%03d:\n", i);
+	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
+	}
 
-	for (i=0; i < 64; i++) {
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "destination_%03d:\n", i);
-	connectib_dest_format_struct_print(&(ptr_struct->destination[i]), file, indent_level + 1);
+	fprintf(file, "field_boundary_%03d:\n", i);
+	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
 	}
 
 }
 
-int connectib_icmd_get_fte_out_size(void){
-	 return 768;
+int connectib_wqe_extended_atomic_fetch_add_16byte_size(void)
+{
+	 return 32;
 }
 
-void connectib_icmd_get_fte_out_dump(const struct connectib_icmd_get_fte_out *ptr_struct, FILE* file) {
-	connectib_icmd_get_fte_out_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_fetch_add_16byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_16byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_fetch_add_16byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fte_in_pack(const struct connectib_icmd_get_fte_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_8byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_8byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
-
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->flow_index);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->requested_fte_partition);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 128, 1);
+	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fte_in_unpack(struct connectib_icmd_get_fte_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_8byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_8byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=48;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=64;
-	ptr_struct->flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=112;
-	ptr_struct->requested_fte_partition = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 128, 1);
+	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fte_in_print(const struct connectib_icmd_get_fte_in *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_fetch_add_8byte_print(const struct connectib_wqe_extended_atomic_fetch_add_8byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fte_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_8byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_id             : "UH_FMT"\n", ptr_struct->table_id);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_index           : "U32H_FMT"\n", ptr_struct->flow_index);
+	fprintf(file, "add_data_%03d:\n", i);
+	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "requested_fte_partition : "UH_FMT"\n", ptr_struct->requested_fte_partition);
+	fprintf(file, "field_boundary_%03d:\n", i);
+	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_get_fte_in_size(void){
+int connectib_wqe_extended_atomic_fetch_add_8byte_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_get_fte_in_dump(const struct connectib_icmd_get_fte_in *ptr_struct, FILE* file) {
-	connectib_icmd_get_fte_in_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_fetch_add_8byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_8byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_fetch_add_8byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fte_list_out_pack(const struct connectib_icmd_get_fte_list_out *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_4byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_4byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->add_data);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->flow_index);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->field_boundary);
 
 }
 
-void connectib_icmd_get_fte_list_out_unpack(struct connectib_icmd_get_fte_list_out *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_fetch_add_4byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_4byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=3;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->last = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->first = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->add_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->field_boundary = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_get_fte_list_out_print(const struct connectib_icmd_get_fte_list_out *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_fetch_add_4byte_print(const struct connectib_wqe_extended_atomic_fetch_add_4byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fte_list_out ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_4byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last                 : "UH_FMT"\n", ptr_struct->last);
+	fprintf(file, "add_data             : " U32H_FMT "\n", ptr_struct->add_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first                : "UH_FMT"\n", ptr_struct->first);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_index           : "U32H_FMT"\n", ptr_struct->flow_index);
+	fprintf(file, "field_boundary       : " U32H_FMT "\n", ptr_struct->field_boundary);
 
 }
 
-int connectib_icmd_get_fte_list_out_size(void){
+int connectib_wqe_extended_atomic_fetch_add_4byte_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_get_fte_list_out_dump(const struct connectib_icmd_get_fte_list_out *ptr_struct, FILE* file) {
-	connectib_icmd_get_fte_list_out_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_fetch_add_4byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_4byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_fetch_add_4byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fte_list_in_pack(const struct connectib_icmd_get_fte_list_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_128byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_128byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 4096, 1);
+	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->info);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(1024, 32, i, 4096, 1);
+	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(2048, 32, i, 4096, 1);
+	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->flow_index);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(3072, 32, i, 4096, 1);
+	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fte_list_in_unpack(struct connectib_icmd_get_fte_list_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_128byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_128byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 4096, 1);
+	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=0;
-	ptr_struct->info = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(1024, 32, i, 4096, 1);
+	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=48;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(2048, 32, i, 4096, 1);
+	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=64;
-	ptr_struct->flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(3072, 32, i, 4096, 1);
+	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fte_list_in_print(const struct connectib_icmd_get_fte_list_in *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_cmp_swap_128byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_128byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fte_list_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_128byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_id             : "UH_FMT"\n", ptr_struct->table_id);
+	fprintf(file, "swap_data_%03d:\n", i);
+	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "info                 : "UH_FMT"\n", ptr_struct->info);
+	fprintf(file, "compare_data_%03d:\n", i);
+	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "swap_mask_data_%03d:\n", i);
+	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_index           : "U32H_FMT"\n", ptr_struct->flow_index);
+	fprintf(file, "compare_mask_data_%03d:\n", i);
+	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_get_fte_list_in_size(void){
-	 return 16;
+int connectib_wqe_extended_atomic_cmp_swap_128byte_size(void)
+{
+	 return 512;
 }
 
-void connectib_icmd_get_fte_list_in_dump(const struct connectib_icmd_get_fte_list_in *ptr_struct, FILE* file) {
-	connectib_icmd_get_fte_list_in_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_cmp_swap_128byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_128byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_cmp_swap_128byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fg_out_pack(const struct connectib_icmd_get_fg_out *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_64byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_64byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->start_flow_index);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->end_flow_index);
-
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->match_criteria_enable);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2048, 1);
+	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=512;
-	connectib_flow_table_entry_match_set_lyr_2_4_pack(&(ptr_struct->outer_headers), ptr_buff + offset/8);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(512, 32, i, 2048, 1);
+	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=1024;
-	connectib_flow_table_entry_match_set_misc_pack(&(ptr_struct->misc_parameters), ptr_buff + offset/8);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(1024, 32, i, 2048, 1);
+	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=1536;
-	connectib_flow_table_entry_match_set_lyr_2_4_pack(&(ptr_struct->inner_headers), ptr_buff + offset/8);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(1536, 32, i, 2048, 1);
+	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fg_out_unpack(struct connectib_icmd_get_fg_out *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_64byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_64byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->start_flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->end_flow_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=88;
-	ptr_struct->match_criteria_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=64;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2048, 1);
+	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=512;
-	connectib_flow_table_entry_match_set_lyr_2_4_unpack(&(ptr_struct->outer_headers), ptr_buff + offset/8);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(512, 32, i, 2048, 1);
+	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=1024;
-	connectib_flow_table_entry_match_set_misc_unpack(&(ptr_struct->misc_parameters), ptr_buff + offset/8);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(1024, 32, i, 2048, 1);
+	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=1536;
-	connectib_flow_table_entry_match_set_lyr_2_4_unpack(&(ptr_struct->inner_headers), ptr_buff + offset/8);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(1536, 32, i, 2048, 1);
+	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fg_out_print(const struct connectib_icmd_get_fg_out *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_cmp_swap_64byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_64byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fg_out ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_64byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "start_flow_index     : "U32H_FMT"\n", ptr_struct->start_flow_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "end_flow_index       : "U32H_FMT"\n", ptr_struct->end_flow_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "match_criteria_enable : "UH_FMT"\n", ptr_struct->match_criteria_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "swap_data_%03d:\n", i);
+	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "outer_headers:\n");
-	connectib_flow_table_entry_match_set_lyr_2_4_print(&(ptr_struct->outer_headers), file, indent_level + 1);
+	fprintf(file, "compare_data_%03d:\n", i);
+	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "misc_parameters:\n");
-	connectib_flow_table_entry_match_set_misc_print(&(ptr_struct->misc_parameters), file, indent_level + 1);
+	fprintf(file, "swap_mask_data_%03d:\n", i);
+	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inner_headers:\n");
-	connectib_flow_table_entry_match_set_lyr_2_4_print(&(ptr_struct->inner_headers), file, indent_level + 1);
+	fprintf(file, "compare_mask_data_%03d:\n", i);
+	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_get_fg_out_size(void){
+int connectib_wqe_extended_atomic_cmp_swap_64byte_size(void)
+{
 	 return 256;
 }
 
-void connectib_icmd_get_fg_out_dump(const struct connectib_icmd_get_fg_out *ptr_struct, FILE* file) {
-	connectib_icmd_get_fg_out_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_cmp_swap_64byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_64byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_cmp_swap_64byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fg_in_pack(const struct connectib_icmd_get_fg_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_32byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_32byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 1024, 1);
+	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(512, 32, i, 1024, 1);
+	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->group_id);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(768, 32, i, 1024, 1);
+	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fg_in_unpack(struct connectib_icmd_get_fg_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_32byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_32byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 1024, 1);
+	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=48;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 1024, 1);
+	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=64;
-	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(512, 32, i, 1024, 1);
+	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(768, 32, i, 1024, 1);
+	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fg_in_print(const struct connectib_icmd_get_fg_in *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_cmp_swap_32byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_32byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fg_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_32byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 8; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "swap_data_%03d:\n", i);
+	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
+	}
+
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_id             : "UH_FMT"\n", ptr_struct->table_id);
+	fprintf(file, "compare_data_%03d:\n", i);
+	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "swap_mask_data_%03d:\n", i);
+	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "group_id             : "U32H_FMT"\n", ptr_struct->group_id);
+	fprintf(file, "compare_mask_data_%03d:\n", i);
+	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_get_fg_in_size(void){
-	 return 16;
+int connectib_wqe_extended_atomic_cmp_swap_32byte_size(void)
+{
+	 return 128;
 }
 
-void connectib_icmd_get_fg_in_dump(const struct connectib_icmd_get_fg_in *ptr_struct, FILE* file) {
-	connectib_icmd_get_fg_in_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_cmp_swap_32byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_32byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_cmp_swap_32byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fg_list_out_pack(const struct connectib_icmd_get_fg_list_out *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_16byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_16byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 512, 1);
+	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 512, 1);
+	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->group_id);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(384, 32, i, 512, 1);
+	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fg_list_out_unpack(struct connectib_icmd_get_fg_list_out *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_16byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_16byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=3;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=1;
-	ptr_struct->last = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 512, 1);
+	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=0;
-	ptr_struct->first = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 512, 1);
+	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=32;
-	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(384, 32, i, 512, 1);
+	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fg_list_out_print(const struct connectib_icmd_get_fg_list_out *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_cmp_swap_16byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_16byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fg_list_out ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_16byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "swap_data_%03d:\n", i);
+	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last                 : "UH_FMT"\n", ptr_struct->last);
+	fprintf(file, "compare_data_%03d:\n", i);
+	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first                : "UH_FMT"\n", ptr_struct->first);
+	fprintf(file, "swap_mask_data_%03d:\n", i);
+	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "group_id             : "U32H_FMT"\n", ptr_struct->group_id);
+	fprintf(file, "compare_mask_data_%03d:\n", i);
+	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_get_fg_list_out_size(void){
-	 return 16;
+int connectib_wqe_extended_atomic_cmp_swap_16byte_size(void)
+{
+	 return 64;
 }
 
-void connectib_icmd_get_fg_list_out_dump(const struct connectib_icmd_get_fg_list_out *ptr_struct, FILE* file) {
-	connectib_icmd_get_fg_list_out_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_cmp_swap_16byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_16byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_cmp_swap_16byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fg_list_in_pack(const struct connectib_icmd_get_fg_list_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_8byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_8byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->info);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 256, 1);
+	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 256, 1);
+	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->group_id);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(192, 32, i, 256, 1);
+	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fg_list_in_unpack(struct connectib_icmd_get_fg_list_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_8byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_8byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 256, 1);
+	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=0;
-	ptr_struct->info = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(64, 32, i, 256, 1);
+	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=48;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 256, 1);
+	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
+	}
 
-	offset=64;
-	ptr_struct->group_id = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(192, 32, i, 256, 1);
+	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_get_fg_list_in_print(const struct connectib_icmd_get_fg_list_in *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_cmp_swap_8byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_8byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fg_list_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_8byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_id             : "UH_FMT"\n", ptr_struct->table_id);
+	fprintf(file, "swap_data_%03d:\n", i);
+	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "info                 : "UH_FMT"\n", ptr_struct->info);
+	fprintf(file, "compare_data_%03d:\n", i);
+	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "swap_mask_data_%03d:\n", i);
+	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
+	}
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "group_id             : "U32H_FMT"\n", ptr_struct->group_id);
+	fprintf(file, "compare_mask_data_%03d:\n", i);
+	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_get_fg_list_in_size(void){
-	 return 16;
+int connectib_wqe_extended_atomic_cmp_swap_8byte_size(void)
+{
+	 return 32;
 }
 
-void connectib_icmd_get_fg_list_in_dump(const struct connectib_icmd_get_fg_list_in *ptr_struct, FILE* file) {
-	connectib_icmd_get_fg_list_in_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_cmp_swap_8byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_8byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_cmp_swap_8byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ft_info_out_pack(const struct connectib_icmd_get_ft_info_out *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_4byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_size);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swap_data);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->level);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->compare_data);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->table_type);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swap_mask_data);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->compare_mask_data);
 
 }
 
-void connectib_icmd_get_ft_info_out_unpack(struct connectib_icmd_get_ft_info_out *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_extended_atomic_cmp_swap_4byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->log_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->swap_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=16;
-	ptr_struct->level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 32;
+	ptr_struct->compare_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=8;
-	ptr_struct->table_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 64;
+	ptr_struct->swap_mask_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->compare_mask_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_get_ft_info_out_print(const struct connectib_icmd_get_ft_info_out *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_cmp_swap_4byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ft_info_out ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_4byte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_size             : "UH_FMT"\n", ptr_struct->log_size);
+	fprintf(file, "swap_data            : " U32H_FMT "\n", ptr_struct->swap_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "level                : "UH_FMT"\n", ptr_struct->level);
+	fprintf(file, "compare_data         : " U32H_FMT "\n", ptr_struct->compare_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_type           : "UH_FMT"\n", ptr_struct->table_type);
+	fprintf(file, "swap_mask_data       : " U32H_FMT "\n", ptr_struct->swap_mask_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "compare_mask_data    : " U32H_FMT "\n", ptr_struct->compare_mask_data);
 
 }
 
-int connectib_icmd_get_ft_info_out_size(void){
+int connectib_wqe_extended_atomic_cmp_swap_4byte_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_get_ft_info_out_dump(const struct connectib_icmd_get_ft_info_out *ptr_struct, FILE* file) {
-	connectib_icmd_get_ft_info_out_print(ptr_struct, file, 0);
+void connectib_wqe_extended_atomic_cmp_swap_4byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, FILE* file)
+{
+	connectib_wqe_extended_atomic_cmp_swap_4byte_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ft_info_in_pack(const struct connectib_icmd_get_ft_info_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_file_public_keys_pack(const struct connectib_file_public_keys *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+	offset = 0;
+	connectib_component_authentication_configuration_pack(&(ptr_struct->component_authentication_configuration), ptr_buff + offset/8);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->keypair_exp);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 2304, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->keypair_uuid[i]);
+	}
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 2304, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->key[i]);
+	}
 
 }
 
-void connectib_icmd_get_ft_info_in_unpack(struct connectib_icmd_get_ft_info_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_file_public_keys_unpack(struct connectib_file_public_keys *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	connectib_component_authentication_configuration_unpack(&(ptr_struct->component_authentication_configuration), ptr_buff + offset/8);
 
-	offset=48;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 96;
+	ptr_struct->keypair_exp = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 2304, 1);
+	ptr_struct->keypair_uuid[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 2304, 1);
+	ptr_struct->key[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_icmd_get_ft_info_in_print(const struct connectib_icmd_get_ft_info_in *ptr_struct, FILE* file, int indent_level){
+void connectib_file_public_keys_print(const struct connectib_file_public_keys *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ft_info_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_file_public_keys ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_id             : "UH_FMT"\n", ptr_struct->table_id);
+	fprintf(file, "component_authentication_configuration:\n");
+	connectib_component_authentication_configuration_print(&(ptr_struct->component_authentication_configuration), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "keypair_exp          : " U32H_FMT "\n", ptr_struct->keypair_exp);
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "keypair_uuid_%03d    : " U32H_FMT "\n", i, ptr_struct->keypair_uuid[i]);
+	}
+
+	for (i = 0; i < 64; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "key_%03d             : " U32H_FMT "\n", i, ptr_struct->key[i]);
+	}
 
 }
 
-int connectib_icmd_get_ft_info_in_size(void){
-	 return 16;
+int connectib_file_public_keys_size(void)
+{
+	 return 288;
 }
 
-void connectib_icmd_get_ft_info_in_dump(const struct connectib_icmd_get_ft_info_in *ptr_struct, FILE* file) {
-	connectib_icmd_get_ft_info_in_print(ptr_struct, file, 0);
+void connectib_file_public_keys_dump(const struct connectib_file_public_keys *ptr_struct, FILE* file)
+{
+	connectib_file_public_keys_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ft_list_out_pack(const struct connectib_icmd_get_ft_list_out *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_header_pack(const struct connectib_nv_config_header *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature);
 
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->version_minor);
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->last);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->version_major);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->first);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_of_init_cfg_hdr);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_swaps);
+
+	for (i = 0; i < 6; i++) {
+	offset = adb2c_calc_array_field_address(96, 32, i, 512, 1);
+	connectib_nv_data_pointer_pack(&(ptr_struct->list_pointers[i]), ptr_buff + offset/8);
+	}
+
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->crc16);
 
 }
 
-void connectib_icmd_get_ft_list_out_unpack(struct connectib_icmd_get_ft_list_out *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_config_header_unpack(struct connectib_nv_config_header *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	ptr_struct->signature = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=3;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 56;
+	ptr_struct->version_minor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=1;
-	ptr_struct->last = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 48;
+	ptr_struct->version_major = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->first = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->num_of_init_cfg_hdr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->num_of_swaps = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 6; i++) {
+	offset = adb2c_calc_array_field_address(96, 32, i, 512, 1);
+	connectib_nv_data_pointer_unpack(&(ptr_struct->list_pointers[i]), ptr_buff + offset/8);
+	}
+
+	offset = 496;
+	ptr_struct->crc16 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_icmd_get_ft_list_out_print(const struct connectib_icmd_get_ft_list_out *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_config_header_print(const struct connectib_nv_config_header *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ft_list_out ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_config_header ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_id             : "UH_FMT"\n", ptr_struct->table_id);
+	fprintf(file, "signature            : " U32H_FMT "\n", ptr_struct->signature);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "version_minor        : " UH_FMT "\n", ptr_struct->version_minor);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "version_major        : " UH_FMT "\n", ptr_struct->version_major);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
+	fprintf(file, "num_of_init_cfg_hdr  : " UH_FMT "\n", ptr_struct->num_of_init_cfg_hdr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last                 : "UH_FMT"\n", ptr_struct->last);
+	fprintf(file, "num_of_swaps         : " U32H_FMT "\n", ptr_struct->num_of_swaps);
 
+	for (i = 0; i < 6; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first                : "UH_FMT"\n", ptr_struct->first);
+	fprintf(file, "list_pointers_%03d:\n", i);
+	connectib_nv_data_pointer_print(&(ptr_struct->list_pointers[i]), file, indent_level + 1);
+	}
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "crc16                : " UH_FMT "\n", ptr_struct->crc16);
 
 }
 
-int connectib_icmd_get_ft_list_out_size(void){
-	 return 16;
+int connectib_nv_config_header_size(void)
+{
+	 return 64;
 }
 
-void connectib_icmd_get_ft_list_out_dump(const struct connectib_icmd_get_ft_list_out *ptr_struct, FILE* file) {
-	connectib_icmd_get_ft_list_out_print(ptr_struct, file, 0);
+void connectib_nv_config_header_dump(const struct connectib_nv_config_header *ptr_struct, FILE* file)
+{
+	connectib_nv_config_header_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ft_list_in_pack(const struct connectib_icmd_get_ft_list_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_image_pack(const struct connectib_fw_image *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->table_id);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->itoc_ptr);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->info);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_palladium);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	offset = 32;
+	connectib_jump_addresses_pack(&(ptr_struct->jump_addresses), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_get_ft_list_in_unpack(struct connectib_icmd_get_ft_list_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_image_unpack(struct connectib_fw_image *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->table_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 8;
+	ptr_struct->itoc_ptr = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=0;
-	ptr_struct->info = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 7;
+	ptr_struct->is_palladium = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=48;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	connectib_jump_addresses_unpack(&(ptr_struct->jump_addresses), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_get_ft_list_in_print(const struct connectib_icmd_get_ft_list_in *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_image_print(const struct connectib_fw_image *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ft_list_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_fw_image ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_id             : "UH_FMT"\n", ptr_struct->table_id);
+	fprintf(file, "itoc_ptr             : " UH_FMT "\n", ptr_struct->itoc_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "info                 : "UH_FMT"\n", ptr_struct->info);
+	fprintf(file, "is_palladium         : " UH_FMT "\n", ptr_struct->is_palladium);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "jump_addresses:\n");
+	connectib_jump_addresses_print(&(ptr_struct->jump_addresses), file, indent_level + 1);
 
 }
 
-int connectib_icmd_get_ft_list_in_size(void){
-	 return 16;
+int connectib_fw_image_size(void)
+{
+	 return 32;
 }
 
-void connectib_icmd_get_ft_list_in_dump(const struct connectib_icmd_get_ft_list_in *ptr_struct, FILE* file) {
-	connectib_icmd_get_ft_list_in_print(ptr_struct, file, 0);
+void connectib_fw_image_dump(const struct connectib_fw_image *ptr_struct, FILE* file)
+{
+	connectib_fw_image_print(ptr_struct, file, 0);
 }
 
-void connectib_ppcnt_reg_pack(const struct connectib_ppcnt_reg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_cfg_golan_pack(const struct connectib_pcie_cfg_golan *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=26;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->grp);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pnat);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->swid);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_max_speed_supported);
 
-	offset=59;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->prio_tc);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->pcie_max_width_supported);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->clr);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->drop_loopback_slave_en);
 
-	offset=64;
-	connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_pack(&(ptr_struct->counter_set), ptr_buff + offset/8);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_automatic_reversal);
 
-}
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->upconfigure_capable);
 
-void connectib_ppcnt_reg_unpack(struct connectib_ppcnt_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->px_tx_reversal);
 
-	offset=26;
-	ptr_struct->grp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->polling_compliance_en);
 
-	offset=16;
-	ptr_struct->pnat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pcie_center_phase_optimization_en);
 
-	offset=8;
-	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->handle_bar_miss_error_by_cr_handler_en);
 
-	offset=0;
-	ptr_struct->swid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dc_ballance_en);
 
-	offset=59;
-	ptr_struct->prio_tc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_detect_en);
 
-	offset=32;
-	ptr_struct->clr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 3;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->receiver_detect_time);
 
-	offset=64;
-	connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_unpack(&(ptr_struct->counter_set), ptr_buff + offset/8);
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->slot_clock_cfg);
 
-}
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dynamic_pll_manage_en);
 
-void connectib_ppcnt_reg_print(const struct connectib_ppcnt_reg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ppcnt_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->static_width_reduction_en);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grp                  : "UH_FMT"\n", ptr_struct->grp);
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->do_mixer0_calibration_optimized);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pnat                 : "UH_FMT"\n", ptr_struct->pnat);
+	offset = 57;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->do_mixer0_calibration_delta);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_port           : "UH_FMT"\n", ptr_struct->local_port);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->first_iteration_calibration_mask);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swid                 : "UH_FMT"\n", ptr_struct->swid);
+	offset = 64;
+	connectib_pcie_serdes_cfg_pack(&(ptr_struct->serdes_cfg), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prio_tc              : "UH_FMT"\n", ptr_struct->prio_tc);
+	offset = 320;
+	connectib_pcie_equalization_and_eye_pack(&(ptr_struct->pcie_equalization_and_eye), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "clr                  : "UH_FMT"\n", ptr_struct->clr);
+	offset = 736;
+	connectib_pcie_debug_cap_pack(&(ptr_struct->pcie_debug_cap), ptr_buff + offset/8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "counter_set:\n");
-	connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_print(&(ptr_struct->counter_set), file, indent_level + 1);
+	offset = 768;
+	connectib_pcie_tx_adaptation_cfg_pack(&(ptr_struct->tx_adaptation_cfg), ptr_buff + offset/8);
 
-}
+	offset = 896;
+	connectib_pcie_rx_adaptation_cfg_pack(&(ptr_struct->rx_adaptation_cfg), ptr_buff + offset/8);
 
-int connectib_ppcnt_reg_size(void){
-	 return 256;
-}
+	offset = 1456;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pcie_tx_polarity);
 
-void connectib_ppcnt_reg_dump(const struct connectib_ppcnt_reg *ptr_struct, FILE* file) {
-	connectib_ppcnt_reg_print(ptr_struct, file, 0);
 }
 
-void connectib_ptys_reg_pack(const struct connectib_ptys_reg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_cfg_golan_unpack(struct connectib_pcie_cfg_golan *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=29;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->proto_mask);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->eth_proto_capability);
+	offset = 28;
+	ptr_struct->pcie_max_speed_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=144;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_proto_capability);
+	offset = 23;
+	ptr_struct->pcie_max_width_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=128;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_link_width_capability);
+	offset = 22;
+	ptr_struct->drop_loopback_slave_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->eth_proto_admin);
+	offset = 21;
+	ptr_struct->disable_automatic_reversal = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=240;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_proto_admin);
+	offset = 19;
+	ptr_struct->upconfigure_capable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=224;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_link_width_admin);
+	offset = 18;
+	ptr_struct->px_tx_reversal = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->eth_proto_oper);
+	offset = 17;
+	ptr_struct->polling_compliance_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=336;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_proto_oper);
+	offset = 16;
+	ptr_struct->pcie_center_phase_optimization_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=320;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ib_link_width_oper);
+	offset = 14;
+	ptr_struct->handle_bar_miss_error_by_cr_handler_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->eth_proto_lp_advertise);
+	offset = 13;
+	ptr_struct->dc_ballance_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 12;
+	ptr_struct->receiver_detect_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_ptys_reg_unpack(struct connectib_ptys_reg *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 3;
+	ptr_struct->receiver_detect_time = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-	offset=29;
-	ptr_struct->proto_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 2;
+	ptr_struct->slot_clock_cfg = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=8;
-	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 1;
+	ptr_struct->dynamic_pll_manage_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->eth_proto_capability = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->static_width_reduction_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=144;
-	ptr_struct->ib_proto_capability = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 63;
+	ptr_struct->do_mixer0_calibration_optimized = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	ptr_struct->ib_link_width_capability = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 57;
+	ptr_struct->do_mixer0_calibration_delta = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
 
-	offset=192;
-	ptr_struct->eth_proto_admin = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->first_iteration_calibration_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=240;
-	ptr_struct->ib_proto_admin = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 64;
+	connectib_pcie_serdes_cfg_unpack(&(ptr_struct->serdes_cfg), ptr_buff + offset/8);
 
-	offset=224;
-	ptr_struct->ib_link_width_admin = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 320;
+	connectib_pcie_equalization_and_eye_unpack(&(ptr_struct->pcie_equalization_and_eye), ptr_buff + offset/8);
 
-	offset=288;
-	ptr_struct->eth_proto_oper = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 736;
+	connectib_pcie_debug_cap_unpack(&(ptr_struct->pcie_debug_cap), ptr_buff + offset/8);
 
-	offset=336;
-	ptr_struct->ib_proto_oper = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 768;
+	connectib_pcie_tx_adaptation_cfg_unpack(&(ptr_struct->tx_adaptation_cfg), ptr_buff + offset/8);
 
-	offset=320;
-	ptr_struct->ib_link_width_oper = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 896;
+	connectib_pcie_rx_adaptation_cfg_unpack(&(ptr_struct->rx_adaptation_cfg), ptr_buff + offset/8);
 
-	offset=384;
-	ptr_struct->eth_proto_lp_advertise = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 1456;
+	ptr_struct->pcie_tx_polarity = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_ptys_reg_print(const struct connectib_ptys_reg *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_cfg_golan_print(const struct connectib_pcie_cfg_golan *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ptys_reg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_cfg_golan ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "proto_mask           : "UH_FMT"\n", ptr_struct->proto_mask);
+	fprintf(file, "pcie_max_speed_supported : " UH_FMT "\n", ptr_struct->pcie_max_speed_supported);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcie_max_width_supported : " UH_FMT "\n", ptr_struct->pcie_max_width_supported);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "drop_loopback_slave_en : " UH_FMT "\n", ptr_struct->drop_loopback_slave_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "disable_automatic_reversal : " UH_FMT "\n", ptr_struct->disable_automatic_reversal);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "upconfigure_capable  : " UH_FMT "\n", ptr_struct->upconfigure_capable);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "px_tx_reversal       : " UH_FMT "\n", ptr_struct->px_tx_reversal);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "polling_compliance_en : " UH_FMT "\n", ptr_struct->polling_compliance_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcie_center_phase_optimization_en : " UH_FMT "\n", ptr_struct->pcie_center_phase_optimization_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "handle_bar_miss_error_by_cr_handler_en : " UH_FMT "\n", ptr_struct->handle_bar_miss_error_by_cr_handler_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dc_ballance_en       : " UH_FMT "\n", ptr_struct->dc_ballance_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "receiver_detect_en   : " UH_FMT "\n", ptr_struct->receiver_detect_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "receiver_detect_time : " UH_FMT "\n", ptr_struct->receiver_detect_time);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "slot_clock_cfg       : " UH_FMT "\n", ptr_struct->slot_clock_cfg);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_port           : "UH_FMT"\n", ptr_struct->local_port);
+	fprintf(file, "dynamic_pll_manage_en : " UH_FMT "\n", ptr_struct->dynamic_pll_manage_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_proto_capability : "U32H_FMT"\n", ptr_struct->eth_proto_capability);
+	fprintf(file, "static_width_reduction_en : " UH_FMT "\n", ptr_struct->static_width_reduction_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_proto_capability  : "UH_FMT"\n", ptr_struct->ib_proto_capability);
+	fprintf(file, "do_mixer0_calibration_optimized : " UH_FMT "\n", ptr_struct->do_mixer0_calibration_optimized);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_link_width_capability : "UH_FMT"\n", ptr_struct->ib_link_width_capability);
+	fprintf(file, "do_mixer0_calibration_delta : " UH_FMT "\n", ptr_struct->do_mixer0_calibration_delta);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_proto_admin      : "U32H_FMT"\n", ptr_struct->eth_proto_admin);
+	fprintf(file, "first_iteration_calibration_mask : " UH_FMT "\n", ptr_struct->first_iteration_calibration_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_proto_admin       : "UH_FMT"\n", ptr_struct->ib_proto_admin);
+	fprintf(file, "serdes_cfg:\n");
+	connectib_pcie_serdes_cfg_print(&(ptr_struct->serdes_cfg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_link_width_admin  : "UH_FMT"\n", ptr_struct->ib_link_width_admin);
+	fprintf(file, "pcie_equalization_and_eye:\n");
+	connectib_pcie_equalization_and_eye_print(&(ptr_struct->pcie_equalization_and_eye), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_proto_oper       : "U32H_FMT"\n", ptr_struct->eth_proto_oper);
+	fprintf(file, "pcie_debug_cap:\n");
+	connectib_pcie_debug_cap_print(&(ptr_struct->pcie_debug_cap), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_proto_oper        : "UH_FMT"\n", ptr_struct->ib_proto_oper);
+	fprintf(file, "tx_adaptation_cfg:\n");
+	connectib_pcie_tx_adaptation_cfg_print(&(ptr_struct->tx_adaptation_cfg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_link_width_oper   : "UH_FMT"\n", ptr_struct->ib_link_width_oper);
+	fprintf(file, "rx_adaptation_cfg:\n");
+	connectib_pcie_rx_adaptation_cfg_print(&(ptr_struct->rx_adaptation_cfg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_proto_lp_advertise : "U32H_FMT"\n", ptr_struct->eth_proto_lp_advertise);
+	fprintf(file, "pcie_tx_polarity     : " UH_FMT "\n", ptr_struct->pcie_tx_polarity);
 
 }
 
-int connectib_ptys_reg_size(void){
-	 return 64;
+int connectib_pcie_cfg_golan_size(void)
+{
+	 return 192;
 }
 
-void connectib_ptys_reg_dump(const struct connectib_ptys_reg *ptr_struct, FILE* file) {
-	connectib_ptys_reg_print(ptr_struct, file, 0);
+void connectib_pcie_cfg_golan_dump(const struct connectib_pcie_cfg_golan *ptr_struct, FILE* file)
+{
+	connectib_pcie_cfg_golan_print(ptr_struct, file, 0);
 }
 
-void connectib_steering_table_info_pack(const struct connectib_steering_table_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_vpd_eeprom_info_pack(const struct connectib_vpd_eeprom_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->base_index);
-
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ste_lu_type);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log2_table_size);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log2_entry_size);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vpd_size);
 
-	offset=68;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->match_mode);
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log2_vpd_eeprom_size);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_rx_);
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->vpd_num_eeproms);
 
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hash_fieldwise_mask);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vpd_eeprom);
 
 }
 
-void connectib_steering_table_info_unpack(struct connectib_steering_table_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_vpd_eeprom_info_unpack(struct connectib_vpd_eeprom_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->base_index = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
-
-	offset=88;
-	ptr_struct->ste_lu_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=80;
-	ptr_struct->log2_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=72;
-	ptr_struct->log2_entry_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	ptr_struct->vpd_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=68;
-	ptr_struct->match_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 11;
+	ptr_struct->log2_vpd_eeprom_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=64;
-	ptr_struct->sx_rx_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 5;
+	ptr_struct->vpd_num_eeproms = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=120;
-	ptr_struct->hash_fieldwise_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 4;
+	ptr_struct->vpd_eeprom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_steering_table_info_print(const struct connectib_steering_table_info *ptr_struct, FILE* file, int indent_level){
+void connectib_vpd_eeprom_info_print(const struct connectib_vpd_eeprom_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_steering_table_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_vpd_eeprom_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "base_index           : "U64H_FMT"\n", ptr_struct->base_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ste_lu_type          : "UH_FMT"\n", ptr_struct->ste_lu_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_table_size      : "UH_FMT"\n", ptr_struct->log2_table_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_entry_size      : "UH_FMT"\n", ptr_struct->log2_entry_size);
+	fprintf(file, "vpd_size             : " UH_FMT "\n", ptr_struct->vpd_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "match_mode           : "UH_FMT"\n", ptr_struct->match_mode);
+	fprintf(file, "log2_vpd_eeprom_size : " UH_FMT "\n", ptr_struct->log2_vpd_eeprom_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_rx_               : "UH_FMT"\n", ptr_struct->sx_rx_);
+	fprintf(file, "vpd_num_eeproms      : " UH_FMT "\n", ptr_struct->vpd_num_eeproms);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hash_fieldwise_mask  : "UH_FMT"\n", ptr_struct->hash_fieldwise_mask);
+	fprintf(file, "vpd_eeprom           : " UH_FMT "\n", ptr_struct->vpd_eeprom);
 
 }
 
-int connectib_steering_table_info_size(void){
-	 return 32;
+int connectib_vpd_eeprom_info_size(void)
+{
+	 return 8;
 }
 
-void connectib_steering_table_info_dump(const struct connectib_steering_table_info *ptr_struct, FILE* file) {
-	connectib_steering_table_info_print(ptr_struct, file, 0);
+void connectib_vpd_eeprom_info_dump(const struct connectib_vpd_eeprom_info *ptr_struct, FILE* file)
+{
+	connectib_vpd_eeprom_info_print(ptr_struct, file, 0);
 }
 
-void connectib_dcr_info_pack(const struct connectib_dcr_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_ini_gpios_golan_pack(const struct connectib_ini_gpios_golan *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->next_dcri);
-
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->valid);
-
-	offset=6;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->connected);
+	offset = 0;
+	connectib_gpio_functions_pack(&(ptr_struct->functions), ptr_buff + offset/8);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trapped);
+	offset = 672;
+	connectib_gpio_configurations_pack(&(ptr_struct->configurations), ptr_buff + offset/8);
 
 }
 
-void connectib_dcr_info_unpack(struct connectib_dcr_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_ini_gpios_golan_unpack(struct connectib_ini_gpios_golan *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->next_dcri = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=7;
-	ptr_struct->valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=6;
-	ptr_struct->connected = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	connectib_gpio_functions_unpack(&(ptr_struct->functions), ptr_buff + offset/8);
 
-	offset=5;
-	ptr_struct->trapped = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 672;
+	connectib_gpio_configurations_unpack(&(ptr_struct->configurations), ptr_buff + offset/8);
 
 }
 
-void connectib_dcr_info_print(const struct connectib_dcr_info *ptr_struct, FILE* file, int indent_level){
+void connectib_ini_gpios_golan_print(const struct connectib_ini_gpios_golan *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_dcr_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_ini_gpios_golan ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_dcri            : "UH_FMT"\n", ptr_struct->next_dcri);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid                : "UH_FMT"\n", ptr_struct->valid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "connected            : "UH_FMT"\n", ptr_struct->connected);
+	fprintf(file, "functions:\n");
+	connectib_gpio_functions_print(&(ptr_struct->functions), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trapped              : "UH_FMT"\n", ptr_struct->trapped);
+	fprintf(file, "configurations:\n");
+	connectib_gpio_configurations_print(&(ptr_struct->configurations), file, indent_level + 1);
 
 }
 
-int connectib_dcr_info_size(void){
-	 return 4;
+int connectib_ini_gpios_golan_size(void)
+{
+	 return 132;
 }
 
-void connectib_dcr_info_dump(const struct connectib_dcr_info *ptr_struct, FILE* file) {
-	connectib_dcr_info_print(ptr_struct, file, 0);
+void connectib_ini_gpios_golan_dump(const struct connectib_ini_gpios_golan *ptr_struct, FILE* file)
+{
+	connectib_ini_gpios_golan_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_pcie_ver_frequency_pack(const struct connectib_icmd_pcie_ver_frequency *ptr_struct, u_int8_t* ptr_buff){
+void connectib_i2c_devices_db_pack(const struct connectib_i2c_devices_db *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=25;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->core_f);
-
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->core_clocks_per_usec);
-
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->core_r);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cx3_count_in_core_clocks);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->usecs_in_high_tick);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vdd_mod_mapping);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flash_div);
-
-	offset=10;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->core_od);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 640, 1);
+	connectib_i2c_device_entry_pack(&(ptr_struct->device[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_pcie_ver_frequency_unpack(struct connectib_icmd_pcie_ver_frequency *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_i2c_devices_db_unpack(struct connectib_i2c_devices_db *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=25;
-	ptr_struct->core_f = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
-
-	offset=24;
-	ptr_struct->core_clocks_per_usec = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=19;
-	ptr_struct->core_r = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=18;
-	ptr_struct->cx3_count_in_core_clocks = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->usecs_in_high_tick = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->vdd_mod_mapping = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=12;
-	ptr_struct->flash_div = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=10;
-	ptr_struct->core_od = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 640, 1);
+	connectib_i2c_device_entry_unpack(&(ptr_struct->device[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_icmd_pcie_ver_frequency_print(const struct connectib_icmd_pcie_ver_frequency *ptr_struct, FILE* file, int indent_level){
+void connectib_i2c_devices_db_print(const struct connectib_i2c_devices_db *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_pcie_ver_frequency ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_i2c_devices_db ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_f               : "UH_FMT"\n", ptr_struct->core_f);
+	fprintf(file, "device_%03d:\n", i);
+	connectib_i2c_device_entry_print(&(ptr_struct->device[i]), file, indent_level + 1);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_clocks_per_usec : "UH_FMT"\n", ptr_struct->core_clocks_per_usec);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_r               : "UH_FMT"\n", ptr_struct->core_r);
+int connectib_i2c_devices_db_size(void)
+{
+	 return 80;
+}
+
+void connectib_i2c_devices_db_dump(const struct connectib_i2c_devices_db *ptr_struct, FILE* file)
+{
+	connectib_i2c_devices_db_print(ptr_struct, file, 0);
+}
+
+void connectib_module_config_pack(const struct connectib_module_config *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 64, 1);
+	connectib_module_config_st_pack(&(ptr_struct->module[i]), ptr_buff + offset/8);
+	}
+
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cx3_count_in_core_clocks : "UH_FMT"\n", ptr_struct->cx3_count_in_core_clocks);
+void connectib_module_config_unpack(struct connectib_module_config *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "usecs_in_high_tick   : "UH_FMT"\n", ptr_struct->usecs_in_high_tick);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 64, 1);
+	connectib_module_config_st_unpack(&(ptr_struct->module[i]), ptr_buff + offset/8);
+	}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vdd_mod_mapping      : "UH_FMT"\n", ptr_struct->vdd_mod_mapping);
+}
 
+void connectib_module_config_print(const struct connectib_module_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flash_div            : "UH_FMT"\n", ptr_struct->flash_div);
+	fprintf(file, "======== connectib_module_config ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_od              : "UH_FMT"\n", ptr_struct->core_od);
+	fprintf(file, "module_%03d:\n", i);
+	connectib_module_config_st_print(&(ptr_struct->module[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_icmd_pcie_ver_frequency_size(void){
-	 return 16;
+int connectib_module_config_size(void)
+{
+	 return 8;
 }
 
-void connectib_icmd_pcie_ver_frequency_dump(const struct connectib_icmd_pcie_ver_frequency *ptr_struct, FILE* file) {
-	connectib_icmd_pcie_ver_frequency_print(ptr_struct, file, 0);
+void connectib_module_config_dump(const struct connectib_module_config *ptr_struct, FILE* file)
+{
+	connectib_module_config_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_pcie_ver_cables_pack(const struct connectib_icmd_pcie_ver_cables *ptr_struct, u_int8_t* ptr_buff){
+void connectib_thermal_config_golan_pack(const struct connectib_thermal_config_golan *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->identifier);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->warm2cold_threshold);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->extended_identifier);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cold2warm_threshold);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->device_tech);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->fw_shut_down_threshold);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->attenuation_5g);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_shut_down_en);
 
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->vendor_oui);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->gpio_enable);
 
-	offset=34;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->m_fsm_state);
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trap_supported);
 
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mlnx_cable);
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trap_enable);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eeprom_present);
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fatal_enable);
 
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->link_length_supported);
+	offset = 52;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->active_ext_sensors);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eth_com_codes);
+	offset = 45;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->a2d_compare_mask);
 
-	offset=71;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->tech);
+	offset = 42;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->a2d_measure_mask);
 
-	offset=121;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->ib_10ge_com_codes);
+	offset = 39;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->a2d_compare_and_measure_mask);
 
 }
 
-void connectib_icmd_pcie_ver_cables_unpack(struct connectib_icmd_pcie_ver_cables *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_thermal_config_golan_unpack(struct connectib_thermal_config_golan *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->identifier = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 24;
+	ptr_struct->warm2cold_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=16;
-	ptr_struct->extended_identifier = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	ptr_struct->cold2warm_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=8;
-	ptr_struct->device_tech = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 8;
+	ptr_struct->fw_shut_down_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->attenuation_5g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 1;
+	ptr_struct->fw_shut_down_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=40;
-	ptr_struct->vendor_oui = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 0;
+	ptr_struct->gpio_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=34;
-	ptr_struct->m_fsm_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 63;
+	ptr_struct->trap_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=33;
-	ptr_struct->mlnx_cable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 62;
+	ptr_struct->trap_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->eeprom_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 61;
+	ptr_struct->fatal_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=88;
-	ptr_struct->link_length_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 52;
+	ptr_struct->active_ext_sensors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=80;
-	ptr_struct->eth_com_codes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 45;
+	ptr_struct->a2d_compare_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=71;
-	ptr_struct->tech = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+	offset = 42;
+	ptr_struct->a2d_measure_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=121;
-	ptr_struct->ib_10ge_com_codes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 39;
+	ptr_struct->a2d_compare_and_measure_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
 }
 
-void connectib_icmd_pcie_ver_cables_print(const struct connectib_icmd_pcie_ver_cables *ptr_struct, FILE* file, int indent_level){
+void connectib_thermal_config_golan_print(const struct connectib_thermal_config_golan *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_pcie_ver_cables ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_thermal_config_golan ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "identifier           : "UH_FMT"\n", ptr_struct->identifier);
+	fprintf(file, "warm2cold_threshold  : " UH_FMT "\n", ptr_struct->warm2cold_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_identifier  : "UH_FMT"\n", ptr_struct->extended_identifier);
+	fprintf(file, "cold2warm_threshold  : " UH_FMT "\n", ptr_struct->cold2warm_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_tech          : "UH_FMT"\n", ptr_struct->device_tech);
+	fprintf(file, "fw_shut_down_threshold : " UH_FMT "\n", ptr_struct->fw_shut_down_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "attenuation_5g       : "UH_FMT"\n", ptr_struct->attenuation_5g);
+	fprintf(file, "fw_shut_down_en      : " UH_FMT "\n", ptr_struct->fw_shut_down_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vendor_oui           : "UH_FMT"\n", ptr_struct->vendor_oui);
+	fprintf(file, "gpio_enable          : " UH_FMT "\n", ptr_struct->gpio_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "m_fsm_state          : "UH_FMT"\n", ptr_struct->m_fsm_state);
+	fprintf(file, "trap_supported       : " UH_FMT "\n", ptr_struct->trap_supported);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlnx_cable           : "UH_FMT"\n", ptr_struct->mlnx_cable);
+	fprintf(file, "trap_enable          : " UH_FMT "\n", ptr_struct->trap_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eeprom_present       : "UH_FMT"\n", ptr_struct->eeprom_present);
+	fprintf(file, "fatal_enable         : " UH_FMT "\n", ptr_struct->fatal_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "link_length_supported : "UH_FMT"\n", ptr_struct->link_length_supported);
+	fprintf(file, "active_ext_sensors   : " UH_FMT "\n", ptr_struct->active_ext_sensors);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eth_com_codes        : "UH_FMT"\n", ptr_struct->eth_com_codes);
+	fprintf(file, "a2d_compare_mask     : %s (" UH_FMT ")\n", (ptr_struct->a2d_compare_mask == 0 ? ("NONE") : ((ptr_struct->a2d_compare_mask == 1 ? ("IOPX") : ((ptr_struct->a2d_compare_mask == 2 ? ("IOPL") : ((ptr_struct->a2d_compare_mask == 4 ? ("YU") : ("unknown")))))))), ptr_struct->a2d_compare_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tech                 : "UH_FMT"\n", ptr_struct->tech);
+	fprintf(file, "a2d_measure_mask     : " UH_FMT "\n", ptr_struct->a2d_measure_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ib_10ge_com_codes    : "UH_FMT"\n", ptr_struct->ib_10ge_com_codes);
+	fprintf(file, "a2d_compare_and_measure_mask : " UH_FMT "\n", ptr_struct->a2d_compare_and_measure_mask);
 
 }
 
-int connectib_icmd_pcie_ver_cables_size(void){
-	 return 16;
+int connectib_thermal_config_golan_size(void)
+{
+	 return 8;
 }
 
-void connectib_icmd_pcie_ver_cables_dump(const struct connectib_icmd_pcie_ver_cables *ptr_struct, FILE* file) {
-	connectib_icmd_pcie_ver_cables_print(ptr_struct, file, 0);
+void connectib_thermal_config_golan_dump(const struct connectib_thermal_config_golan *ptr_struct, FILE* file)
+{
+	connectib_thermal_config_golan_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_pcie_ver_device_pack(const struct connectib_icmd_pcie_ver_device *ptr_struct, u_int8_t* ptr_buff){
+void connectib_system_mng_pack(const struct connectib_system_mng *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->devid);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->revid);
-
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->strap_eprom_present);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_swap);
 
 }
 
-void connectib_icmd_pcie_ver_device_unpack(struct connectib_icmd_pcie_ver_device *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_system_mng_unpack(struct connectib_system_mng *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->devid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=12;
-	ptr_struct->revid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=11;
-	ptr_struct->strap_eprom_present = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 31;
+	ptr_struct->port_swap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_pcie_ver_device_print(const struct connectib_icmd_pcie_ver_device *ptr_struct, FILE* file, int indent_level){
+void connectib_system_mng_print(const struct connectib_system_mng *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_pcie_ver_device ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_system_mng ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "devid                : "UH_FMT"\n", ptr_struct->devid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "revid                : "UH_FMT"\n", ptr_struct->revid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "strap_eprom_present  : "UH_FMT"\n", ptr_struct->strap_eprom_present);
+	fprintf(file, "port_swap            : " UH_FMT "\n", ptr_struct->port_swap);
 
 }
 
-int connectib_icmd_pcie_ver_device_size(void){
-	 return 16;
+int connectib_system_mng_size(void)
+{
+	 return 4;
 }
 
-void connectib_icmd_pcie_ver_device_dump(const struct connectib_icmd_pcie_ver_device *ptr_struct, FILE* file) {
-	connectib_icmd_pcie_ver_device_print(ptr_struct, file, 0);
+void connectib_system_mng_dump(const struct connectib_system_mng *ptr_struct, FILE* file)
+{
+	connectib_system_mng_print(ptr_struct, file, 0);
 }
 
-void connectib_code_coverage_control_pack(const struct connectib_code_coverage_control *ptr_struct, u_int8_t* ptr_buff){
+void connectib_power_pack(const struct connectib_power *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->window);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_window_size);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->irisc_bitmask);
-
-	offset=39;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->bp);
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->fuse_dvfs);
 
-	offset=38;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->all_ips);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fuse_dvfs_force);
 
-	offset=36;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->trace_mode);
+	offset = 32;
+	connectib_iopl_power_pack(&(ptr_struct->iopl_power), ptr_buff + offset/8);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable);
+	offset = 64;
+	connectib_iopx_power_pack(&(ptr_struct->iopx_power), ptr_buff + offset/8);
 
 }
 
-void connectib_code_coverage_control_unpack(struct connectib_code_coverage_control *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_power_unpack(struct connectib_power *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->window = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=3;
-	ptr_struct->log_window_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=48;
-	ptr_struct->irisc_bitmask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=39;
-	ptr_struct->bp = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 1;
+	ptr_struct->fuse_dvfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=38;
-	ptr_struct->all_ips = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->fuse_dvfs_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=36;
-	ptr_struct->trace_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 32;
+	connectib_iopl_power_unpack(&(ptr_struct->iopl_power), ptr_buff + offset/8);
 
-	offset=32;
-	ptr_struct->enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	connectib_iopx_power_unpack(&(ptr_struct->iopx_power), ptr_buff + offset/8);
 
 }
 
-void connectib_code_coverage_control_print(const struct connectib_code_coverage_control *ptr_struct, FILE* file, int indent_level){
+void connectib_power_print(const struct connectib_power *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_code_coverage_control ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_power ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "window               : "UH_FMT"\n", ptr_struct->window);
+	fprintf(file, "fuse_dvfs            : " UH_FMT "\n", ptr_struct->fuse_dvfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_window_size      : "UH_FMT"\n", ptr_struct->log_window_size);
+	fprintf(file, "fuse_dvfs_force      : " UH_FMT "\n", ptr_struct->fuse_dvfs_force);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "irisc_bitmask        : "UH_FMT"\n", ptr_struct->irisc_bitmask);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bp                   : "UH_FMT"\n", ptr_struct->bp);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "all_ips              : "UH_FMT"\n", ptr_struct->all_ips);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trace_mode           : "UH_FMT"\n", ptr_struct->trace_mode);
+	fprintf(file, "iopl_power:\n");
+	connectib_iopl_power_print(&(ptr_struct->iopl_power), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enable               : "UH_FMT"\n", ptr_struct->enable);
+	fprintf(file, "iopx_power:\n");
+	connectib_iopx_power_print(&(ptr_struct->iopx_power), file, indent_level + 1);
 
 }
 
-int connectib_code_coverage_control_size(void){
-	 return 8;
+int connectib_power_size(void)
+{
+	 return 16;
 }
 
-void connectib_code_coverage_control_dump(const struct connectib_code_coverage_control *ptr_struct, FILE* file) {
-	connectib_code_coverage_control_print(ptr_struct, file, 0);
+void connectib_power_dump(const struct connectib_power *ptr_struct, FILE* file)
+{
+	connectib_power_print(ptr_struct, file, 0);
 }
 
-void connectib_vport_real_state_pack(const struct connectib_vport_real_state *ptr_struct, u_int8_t* ptr_buff){
+void connectib_port_serdes_pack(const struct connectib_port_serdes *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 128; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 4096, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->real_state[i]);
+	offset = 0;
+	connectib_phy_hw_main_config_ip_pack(&(ptr_struct->phy_hw_main_config_ip), ptr_buff + offset/8);
+
+	offset = 11904;
+	connectib_logic_serdes_mapping_node_ini_pack(&(ptr_struct->logic_serdes_mapping_node_ini), ptr_buff + offset/8);
+
+	offset = 12448;
+	connectib_pll_params_pack(&(ptr_struct->pll_params), ptr_buff + offset/8);
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(12736, 128, i, 14336, 1);
+	connectib_port_mlpn_db_pack(&(ptr_struct->mlpn_port[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_vport_real_state_unpack(struct connectib_vport_real_state *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_port_serdes_unpack(struct connectib_port_serdes *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 128; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 4096, 1);
-	ptr_struct->real_state[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_phy_hw_main_config_ip_unpack(&(ptr_struct->phy_hw_main_config_ip), ptr_buff + offset/8);
+
+	offset = 11904;
+	connectib_logic_serdes_mapping_node_ini_unpack(&(ptr_struct->logic_serdes_mapping_node_ini), ptr_buff + offset/8);
+
+	offset = 12448;
+	connectib_pll_params_unpack(&(ptr_struct->pll_params), ptr_buff + offset/8);
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(12736, 128, i, 14336, 1);
+	connectib_port_mlpn_db_unpack(&(ptr_struct->mlpn_port[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_vport_real_state_print(const struct connectib_vport_real_state *ptr_struct, FILE* file, int indent_level){
+void connectib_port_serdes_print(const struct connectib_port_serdes *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_vport_real_state ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_port_serdes ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 128; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "real_state_%03d      : "U32H_FMT"\n", i, ptr_struct->real_state[i]);
+	fprintf(file, "phy_hw_main_config_ip:\n");
+	connectib_phy_hw_main_config_ip_print(&(ptr_struct->phy_hw_main_config_ip), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "logic_serdes_mapping_node_ini:\n");
+	connectib_logic_serdes_mapping_node_ini_print(&(ptr_struct->logic_serdes_mapping_node_ini), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pll_params:\n");
+	connectib_pll_params_print(&(ptr_struct->pll_params), file, indent_level + 1);
+
+	for (i = 0; i < 2; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mlpn_port_%03d:\n", i);
+	connectib_port_mlpn_db_print(&(ptr_struct->mlpn_port[i]), file, indent_level + 1);
 	}
 
 }
 
-int connectib_vport_real_state_size(void){
-	 return 512;
+int connectib_port_serdes_size(void)
+{
+	 return 1792;
 }
 
-void connectib_vport_real_state_dump(const struct connectib_vport_real_state *ptr_struct, FILE* file) {
-	connectib_vport_real_state_print(ptr_struct, file, 0);
+void connectib_port_serdes_dump(const struct connectib_port_serdes *ptr_struct, FILE* file)
+{
+	connectib_port_serdes_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_esw_pack(const struct connectib_fw_esw *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_boot_pack(const struct connectib_nv_config_boot *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(16, 16, i, 512, 1);
-	connectib_fw_vport_ctx_pack(&(ptr_struct->vport_ctx[i]), ptr_buff + offset/8);
+	offset = 0;
+	connectib_nv_config_boot_global_pack(&(ptr_struct->global), ptr_buff + offset/8);
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(384, 32, i, 512, 1);
+	connectib_nv_config_boot_port_settings_pack(&(ptr_struct->port[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_fw_esw_unpack(struct connectib_fw_esw *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_config_boot_unpack(struct connectib_nv_config_boot *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(16, 16, i, 512, 1);
-	connectib_fw_vport_ctx_unpack(&(ptr_struct->vport_ctx[i]), ptr_buff + offset/8);
-	}
-
-}
-
-void connectib_fw_esw_print(const struct connectib_fw_esw *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_esw ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 0;
+	connectib_nv_config_boot_global_unpack(&(ptr_struct->global), ptr_buff + offset/8);
 
-	for (i=0; i < 32; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_ctx_%03d:\n", i);
-	connectib_fw_vport_ctx_print(&(ptr_struct->vport_ctx[i]), file, indent_level + 1);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(384, 32, i, 512, 1);
+	connectib_nv_config_boot_port_settings_unpack(&(ptr_struct->port[i]), ptr_buff + offset/8);
 	}
 
 }
 
-int connectib_fw_esw_size(void){
-	 return 64;
-}
-
-void connectib_fw_esw_dump(const struct connectib_fw_esw *ptr_struct, FILE* file) {
-	connectib_fw_esw_print(ptr_struct, file, 0);
-}
-
-void connectib_gvmix_sub_structs_pack(const union connectib_gvmix_sub_structs *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_vf_pages_list_pack(&(ptr_struct->vf_pages_list), ptr_buff);
-}
-
-void connectib_gvmix_sub_structs_unpack(union connectib_gvmix_sub_structs *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_nv_config_boot_print(const struct connectib_nv_config_boot *ptr_struct, FILE* file, int indent_level)
 {
-	connectib_vf_pages_list_unpack(&(ptr_struct->vf_pages_list), ptr_buff);
-}
-
-void connectib_gvmix_sub_structs_print(const union connectib_gvmix_sub_structs *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_gvmix_sub_structs ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_config_boot ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cmdif_ctx:\n");
-	connectib_cmdif_ctx_print(&(ptr_struct->cmdif_ctx), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dummy_addresses:\n");
-	connectib_dummy_addresses_one_cache_line_print(&(ptr_struct->dummy_addresses), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hca_params:\n");
-	connectib_hca_params_print(&(ptr_struct->hca_params), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icm_page_manager:\n");
-	connectib_icm_page_manager_print(&(ptr_struct->icm_page_manager), file, indent_level + 1);
+	fprintf(file, "global:\n");
+	connectib_nv_config_boot_global_print(&(ptr_struct->global), file, indent_level + 1);
 
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_pages_list:\n");
-	connectib_vf_pages_list_print(&(ptr_struct->vf_pages_list), file, indent_level + 1);
+	fprintf(file, "port_%03d:\n", i);
+	connectib_nv_config_boot_port_settings_print(&(ptr_struct->port[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_gvmix_sub_structs_size(void){
+int connectib_nv_config_boot_size(void)
+{
 	 return 64;
 }
 
-void connectib_gvmix_sub_structs_dump(const union connectib_gvmix_sub_structs *ptr_struct, FILE* file) {
-	connectib_gvmix_sub_structs_print(ptr_struct, file, 0);
+void connectib_nv_config_boot_dump(const struct connectib_nv_config_boot *ptr_struct, FILE* file)
+{
+	connectib_nv_config_boot_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_eqe_pack(const struct connectib_sw_eqe *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_power_management_pack(const struct connectib_pcie_power_management *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->event_sub_type);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->event_type);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->delay_in_recovery_lock);
 
-	offset=256;
-	connectib_sw_eqe_data_pack(&(ptr_struct->event_data), ptr_buff + offset/8);
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pcie_l1_en);
 
-	offset=511;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->owner);
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->close_icmc_on_standby);
 
-	offset=496;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l1_on_gen1_gen2_en);
 
 }
 
-void connectib_sw_eqe_unpack(struct connectib_sw_eqe *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_power_management_unpack(struct connectib_pcie_power_management *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->event_sub_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->event_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	ptr_struct->delay_in_recovery_lock = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=256;
-	connectib_sw_eqe_data_unpack(&(ptr_struct->event_data), ptr_buff + offset/8);
+	offset = 15;
+	ptr_struct->pcie_l1_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=511;
-	ptr_struct->owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 14;
+	ptr_struct->close_icmc_on_standby = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=496;
-	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 13;
+	ptr_struct->l1_on_gen1_gen2_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_sw_eqe_print(const struct connectib_sw_eqe *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_power_management_print(const struct connectib_pcie_power_management *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_sw_eqe ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_power_management ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "event_sub_type       : "UH_FMT"\n", ptr_struct->event_sub_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "event_type           : "UH_FMT"\n", ptr_struct->event_type);
+	fprintf(file, "delay_in_recovery_lock : " UH_FMT "\n", ptr_struct->delay_in_recovery_lock);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "event_data:\n");
-	connectib_sw_eqe_data_print(&(ptr_struct->event_data), file, indent_level + 1);
+	fprintf(file, "pcie_l1_en           : " UH_FMT "\n", ptr_struct->pcie_l1_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "owner                : "UH_FMT"\n", ptr_struct->owner);
+	fprintf(file, "close_icmc_on_standby : " UH_FMT "\n", ptr_struct->close_icmc_on_standby);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "UH_FMT"\n", ptr_struct->signature);
+	fprintf(file, "l1_on_gen1_gen2_en   : " UH_FMT "\n", ptr_struct->l1_on_gen1_gen2_en);
 
 }
 
-int connectib_sw_eqe_size(void){
-	 return 64;
+int connectib_pcie_power_management_size(void)
+{
+	 return 4;
 }
 
-void connectib_sw_eqe_dump(const struct connectib_sw_eqe *ptr_struct, FILE* file) {
-	connectib_sw_eqe_print(ptr_struct, file, 0);
+void connectib_pcie_power_management_dump(const struct connectib_pcie_power_management *ptr_struct, FILE* file)
+{
+	connectib_pcie_power_management_print(ptr_struct, file, 0);
 }
 
-void connectib_itrace_ctrl_pack(const struct connectib_itrace_ctrl *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pci_cfg_pack(const struct connectib_pci_cfg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_level);
+	offset = 0;
+	connectib_pci_cfg_space_pack(&(ptr_struct->pci_cfg_space), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->log_delay);
+	offset = 2048;
+	connectib_pciex_ext_cfg_space_pack(&(ptr_struct->pciex_ext_cfg_space), ptr_buff + offset/8);
 
 }
 
-void connectib_itrace_ctrl_unpack(struct connectib_itrace_ctrl *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pci_cfg_unpack(struct connectib_pci_cfg *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->log_level = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	connectib_pci_cfg_space_unpack(&(ptr_struct->pci_cfg_space), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->log_delay = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 2048;
+	connectib_pciex_ext_cfg_space_unpack(&(ptr_struct->pciex_ext_cfg_space), ptr_buff + offset/8);
 
 }
 
-void connectib_itrace_ctrl_print(const struct connectib_itrace_ctrl *ptr_struct, FILE* file, int indent_level){
+void connectib_pci_cfg_print(const struct connectib_pci_cfg *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_itrace_ctrl ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pci_cfg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_level            : "UH_FMT"\n", ptr_struct->log_level);
+	fprintf(file, "pci_cfg_space:\n");
+	connectib_pci_cfg_space_print(&(ptr_struct->pci_cfg_space), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_delay            : "UH_FMT"\n", ptr_struct->log_delay);
+	fprintf(file, "pciex_ext_cfg_space:\n");
+	connectib_pciex_ext_cfg_space_print(&(ptr_struct->pciex_ext_cfg_space), file, indent_level + 1);
 
 }
 
-int connectib_itrace_ctrl_size(void){
-	 return 4;
+int connectib_pci_cfg_size(void)
+{
+	 return 512;
 }
 
-void connectib_itrace_ctrl_dump(const struct connectib_itrace_ctrl *ptr_struct, FILE* file) {
-	connectib_itrace_ctrl_print(ptr_struct, file, 0);
+void connectib_pci_cfg_dump(const struct connectib_pci_cfg *ptr_struct, FILE* file)
+{
+	connectib_pci_cfg_print(ptr_struct, file, 0);
 }
 
-void connectib_lock_tag_pack(const struct connectib_lock_tag *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_transaction_pack(const struct connectib_pcie_transaction *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->resource_id);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->global_read_task_limit);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->resource_type);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->function_level_reset_capability);
+
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aer_anf_by_cfg_type_1_en);
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aer_anf_by_bad_func_en);
+
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->advisory_non_fatal_en);
+
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aer_cap_en);
+
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_cap_en);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_cap_en);
+
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vpd_cap_en);
+
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pci_crspace_access_en);
+
+	offset = 13;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pci_vsec_cap_en);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pcie_vsec_cap_en);
+
+	offset = 32;
+	connectib_logger_init_info_pack(&(ptr_struct->logger_init_info), ptr_buff + offset/8);
 
 }
 
-void connectib_lock_tag_unpack(struct connectib_lock_tag *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_transaction_unpack(struct connectib_pcie_transaction *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->resource_id = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 23;
+	ptr_struct->global_read_task_limit = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-	offset=0;
-	ptr_struct->resource_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 22;
+	ptr_struct->function_level_reset_capability = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 21;
+	ptr_struct->aer_anf_by_cfg_type_1_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 20;
+	ptr_struct->aer_anf_by_bad_func_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 19;
+	ptr_struct->advisory_non_fatal_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 18;
+	ptr_struct->aer_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 17;
+	ptr_struct->ari_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 16;
+	ptr_struct->sriov_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 15;
+	ptr_struct->vpd_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 14;
+	ptr_struct->pci_crspace_access_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 13;
+	ptr_struct->pci_vsec_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 12;
+	ptr_struct->pcie_vsec_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_logger_init_info_unpack(&(ptr_struct->logger_init_info), ptr_buff + offset/8);
 
 }
 
-void connectib_lock_tag_print(const struct connectib_lock_tag *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_transaction_print(const struct connectib_pcie_transaction *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_lock_tag ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_pcie_transaction ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "resource_id          : "UH_FMT"\n", ptr_struct->resource_id);
+	fprintf(file, "global_read_task_limit : " UH_FMT "\n", ptr_struct->global_read_task_limit);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "function_level_reset_capability : " UH_FMT "\n", ptr_struct->function_level_reset_capability);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "resource_type        : "UH_FMT"\n", ptr_struct->resource_type);
+	fprintf(file, "aer_anf_by_cfg_type_1_en : " UH_FMT "\n", ptr_struct->aer_anf_by_cfg_type_1_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aer_anf_by_bad_func_en : " UH_FMT "\n", ptr_struct->aer_anf_by_bad_func_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "advisory_non_fatal_en : " UH_FMT "\n", ptr_struct->advisory_non_fatal_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "aer_cap_en           : " UH_FMT "\n", ptr_struct->aer_cap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ari_cap_en           : " UH_FMT "\n", ptr_struct->ari_cap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sriov_cap_en         : " UH_FMT "\n", ptr_struct->sriov_cap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vpd_cap_en           : " UH_FMT "\n", ptr_struct->vpd_cap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pci_crspace_access_en : " UH_FMT "\n", ptr_struct->pci_crspace_access_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pci_vsec_cap_en      : " UH_FMT "\n", ptr_struct->pci_vsec_cap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pcie_vsec_cap_en     : " UH_FMT "\n", ptr_struct->pcie_vsec_cap_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "logger_init_info:\n");
+	connectib_logger_init_info_print(&(ptr_struct->logger_init_info), file, indent_level + 1);
 
 }
 
-int connectib_lock_tag_size(void){
-	 return 4;
+int connectib_pcie_transaction_size(void)
+{
+	 return 8;
 }
 
-void connectib_lock_tag_dump(const struct connectib_lock_tag *ptr_struct, FILE* file) {
-	connectib_lock_tag_print(ptr_struct, file, 0);
+void connectib_pcie_transaction_dump(const struct connectib_pcie_transaction *ptr_struct, FILE* file)
+{
+	connectib_pcie_transaction_print(ptr_struct, file, 0);
 }
 
-void connectib_reg_access_cmd_pack(const struct connectib_reg_access_cmd *ptr_struct, u_int8_t* ptr_buff){
+void connectib_multi_function_pack(const struct connectib_multi_function *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_reg_access_oper_tlv_pack(&(ptr_struct->oper_tlv), ptr_buff + offset/8);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->vport0_hix);
+
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lid_based);
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->num_hosts);
+
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->num_of_ports);
 
-	offset=128;
-	connectib_reg_access_reg_tlv_pack(&(ptr_struct->reg_tlv), ptr_buff + offset/8);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pf_msix_table_size);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vf_msix_table_size);
+
+	offset = 89;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pf_bar_type);
+
+	offset = 81;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_minibar_type);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_minibar_prefetchable);
+
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cr_bar_func);
+
+	offset = 75;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cr_bar_type);
+
+	offset = 74;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cr_bar_en);
+
+	offset = 73;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->credits_blockage_fsm_en);
+
+	offset = 68;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_max_num_of_eqs);
 
 }
 
-void connectib_reg_access_cmd_unpack(struct connectib_reg_access_cmd *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_multi_function_unpack(struct connectib_multi_function *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_reg_access_oper_tlv_unpack(&(ptr_struct->oper_tlv), ptr_buff + offset/8);
+	offset = 30;
+	ptr_struct->vport0_hix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 29;
+	ptr_struct->lid_based = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 24;
+	ptr_struct->num_hosts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 21;
+	ptr_struct->num_of_ports = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 8;
+	ptr_struct->pf_msix_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 0;
+	ptr_struct->vf_msix_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 89;
+	ptr_struct->pf_bar_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 81;
+	ptr_struct->vf_minibar_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	connectib_reg_access_reg_tlv_unpack(&(ptr_struct->reg_tlv), ptr_buff + offset/8);
+	offset = 80;
+	ptr_struct->vf_minibar_prefetchable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 76;
+	ptr_struct->cr_bar_func = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 75;
+	ptr_struct->cr_bar_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 74;
+	ptr_struct->cr_bar_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 73;
+	ptr_struct->credits_blockage_fsm_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 68;
+	ptr_struct->log_max_num_of_eqs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_reg_access_cmd_print(const struct connectib_reg_access_cmd *ptr_struct, FILE* file, int indent_level){
+void connectib_multi_function_print(const struct connectib_multi_function *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reg_access_cmd ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_multi_function ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "oper_tlv:\n");
-	connectib_reg_access_oper_tlv_print(&(ptr_struct->oper_tlv), file, indent_level + 1);
+	fprintf(file, "vport0_hix           : " UH_FMT "\n", ptr_struct->vport0_hix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg_tlv:\n");
-	connectib_reg_access_reg_tlv_print(&(ptr_struct->reg_tlv), file, indent_level + 1);
+	fprintf(file, "lid_based            : " UH_FMT "\n", ptr_struct->lid_based);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_hosts            : " UH_FMT "\n", ptr_struct->num_hosts);
 
-int connectib_reg_access_cmd_size(void){
-	 return 64;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_of_ports         : " UH_FMT "\n", ptr_struct->num_of_ports);
 
-void connectib_reg_access_cmd_dump(const struct connectib_reg_access_cmd *ptr_struct, FILE* file) {
-	connectib_reg_access_cmd_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pf_msix_table_size   : " UH_FMT "\n", ptr_struct->pf_msix_table_size);
 
-void connectib_cable_info_pack(const struct connectib_cable_info *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_msix_table_size   : " UH_FMT "\n", ptr_struct->vf_msix_table_size);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->address);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pf_bar_type          : " UH_FMT "\n", ptr_struct->pf_bar_type);
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->page_number);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_minibar_type      : " UH_FMT "\n", ptr_struct->vf_minibar_type);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->device_address);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vf_minibar_prefetchable : " UH_FMT "\n", ptr_struct->vf_minibar_prefetchable);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->size);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cr_bar_func          : " UH_FMT "\n", ptr_struct->cr_bar_func);
 
-	for (i=0; i < 12; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 512, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dword[i]);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cr_bar_type          : " UH_FMT "\n", ptr_struct->cr_bar_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cr_bar_en            : " UH_FMT "\n", ptr_struct->cr_bar_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "credits_blockage_fsm_en : " UH_FMT "\n", ptr_struct->credits_blockage_fsm_en);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_max_num_of_eqs   : " UH_FMT "\n", ptr_struct->log_max_num_of_eqs);
+
+}
+
+int connectib_multi_function_size(void)
+{
+	 return 12;
+}
 
+void connectib_multi_function_dump(const struct connectib_multi_function *ptr_struct, FILE* file)
+{
+	connectib_multi_function_print(ptr_struct, file, 0);
 }
 
-void connectib_cable_info_unpack(struct connectib_cable_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_secure_fw_pack(const struct connectib_secure_fw *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->address = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=8;
-	ptr_struct->page_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 32;
+	connectib_fw_block_behavior_pack(&(ptr_struct->fw_block_behavior), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->device_address = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+}
 
-	offset=48;
-	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+void connectib_secure_fw_unpack(struct connectib_secure_fw *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	for (i=0; i < 12; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 512, 1);
-	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 32;
+	connectib_fw_block_behavior_unpack(&(ptr_struct->fw_block_behavior), ptr_buff + offset/8);
 
 }
 
-void connectib_cable_info_print(const struct connectib_cable_info *ptr_struct, FILE* file, int indent_level){
+void connectib_secure_fw_print(const struct connectib_secure_fw *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cable_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_secure_fw ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address              : "UH_FMT"\n", ptr_struct->address);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "page_number          : "UH_FMT"\n", ptr_struct->page_number);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_address       : "UH_FMT"\n", ptr_struct->device_address);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
-
-	for (i=0; i < 12; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword_%03d           : "U32H_FMT"\n", i, ptr_struct->dword[i]);
-	}
+	fprintf(file, "fw_block_behavior:\n");
+	connectib_fw_block_behavior_print(&(ptr_struct->fw_block_behavior), file, indent_level + 1);
 
 }
 
-int connectib_cable_info_size(void){
-	 return 64;
+int connectib_secure_fw_size(void)
+{
+	 return 8;
 }
 
-void connectib_cable_info_dump(const struct connectib_cable_info *ptr_struct, FILE* file) {
-	connectib_cable_info_print(ptr_struct, file, 0);
+void connectib_secure_fw_dump(const struct connectib_secure_fw *ptr_struct, FILE* file)
+{
+	connectib_secure_fw_print(ptr_struct, file, 0);
 }
 
-void connectib_grepper_dwords_pack(const struct connectib_grepper_dwords *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_config_main_pack(const struct connectib_nv_config_main *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dwords[i]);
-	}
+	offset = 0;
+	connectib_nv_config_main_fw_data_pack(&(ptr_struct->fw_config), ptr_buff + offset/8);
 
 }
 
-void connectib_grepper_dwords_unpack(struct connectib_grepper_dwords *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_config_main_unpack(struct connectib_nv_config_main *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	ptr_struct->dwords[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 0;
+	connectib_nv_config_main_fw_data_unpack(&(ptr_struct->fw_config), ptr_buff + offset/8);
 
 }
 
-void connectib_grepper_dwords_print(const struct connectib_grepper_dwords *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_config_main_print(const struct connectib_nv_config_main *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_grepper_dwords ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_nv_config_main ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dwords_%03d          : "U32H_FMT"\n", i, ptr_struct->dwords[i]);
-	}
+	fprintf(file, "fw_config:\n");
+	connectib_nv_config_main_fw_data_print(&(ptr_struct->fw_config), file, indent_level + 1);
 
 }
 
-int connectib_grepper_dwords_size(void){
-	 return 64;
+int connectib_nv_config_main_size(void)
+{
+	 return 768;
 }
 
-void connectib_grepper_dwords_dump(const struct connectib_grepper_dwords *ptr_struct, FILE* file) {
-	connectib_grepper_dwords_print(ptr_struct, file, 0);
+void connectib_nv_config_main_dump(const struct connectib_nv_config_main *ptr_struct, FILE* file)
+{
+	connectib_nv_config_main_print(ptr_struct, file, 0);
 }
 
-void connectib_cc_table_entry_pack(const struct connectib_cc_table_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phy_fw_main_config_pack(const struct connectib_phy_fw_main_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 14, (u_int32_t)ptr_struct->cct_multiplier);
+	offset = 0;
+	connectib_phy_fw_main_config_golan_pack(&(ptr_struct->phy_golan), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->cct_shift);
+	offset = 2048;
+	connectib_phy_fw_main_config_ip_pack(&(ptr_struct->phy_ip), ptr_buff + offset/8);
 
 }
 
-void connectib_cc_table_entry_unpack(struct connectib_cc_table_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_phy_fw_main_config_unpack(struct connectib_phy_fw_main_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=2;
-	ptr_struct->cct_multiplier = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 14);
+	offset = 0;
+	connectib_phy_fw_main_config_golan_unpack(&(ptr_struct->phy_golan), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->cct_shift = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 2048;
+	connectib_phy_fw_main_config_ip_unpack(&(ptr_struct->phy_ip), ptr_buff + offset/8);
 
 }
 
-void connectib_cc_table_entry_print(const struct connectib_cc_table_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_phy_fw_main_config_print(const struct connectib_phy_fw_main_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cc_table_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_phy_fw_main_config ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cct_multiplier       : "UH_FMT"\n", ptr_struct->cct_multiplier);
+	fprintf(file, "phy_golan:\n");
+	connectib_phy_fw_main_config_golan_print(&(ptr_struct->phy_golan), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cct_shift            : "UH_FMT"\n", ptr_struct->cct_shift);
+	fprintf(file, "phy_ip:\n");
+	connectib_phy_fw_main_config_ip_print(&(ptr_struct->phy_ip), file, indent_level + 1);
 
 }
 
-int connectib_cc_table_entry_size(void){
-	 return 2;
+int connectib_phy_fw_main_config_size(void)
+{
+	 return 720;
 }
 
-void connectib_cc_table_entry_dump(const struct connectib_cc_table_entry *ptr_struct, FILE* file) {
-	connectib_cc_table_entry_print(ptr_struct, file, 0);
+void connectib_phy_fw_main_config_dump(const struct connectib_phy_fw_main_config *ptr_struct, FILE* file)
+{
+	connectib_phy_fw_main_config_print(ptr_struct, file, 0);
 }
 
-void connectib_ca_congestion_entry_pack(const struct connectib_ca_congestion_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_host_management_pack(const struct connectib_host_management *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->trigger_threshold);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ccti_increase);
+	offset = 128;
+	connectib_ocsd_config_pack(&(ptr_struct->ocsd_config), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ccti_timer);
+	offset = 288;
+	connectib_ibm_thermal_config_pack(&(ptr_struct->ibm_thermal_config), ptr_buff + offset/8);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->ccti_min);
+	offset = 608;
+	connectib_wol_cap_host_port_pack(&(ptr_struct->wol_cap), ptr_buff + offset/8);
 
 }
 
-void connectib_ca_congestion_entry_unpack(struct connectib_ca_congestion_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_host_management_unpack(struct connectib_host_management *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->trigger_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->ccti_increase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 128;
+	connectib_ocsd_config_unpack(&(ptr_struct->ocsd_config), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->ccti_timer = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 288;
+	connectib_ibm_thermal_config_unpack(&(ptr_struct->ibm_thermal_config), ptr_buff + offset/8);
 
-	offset=32;
-	ptr_struct->ccti_min = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 608;
+	connectib_wol_cap_host_port_unpack(&(ptr_struct->wol_cap), ptr_buff + offset/8);
 
 }
 
-void connectib_ca_congestion_entry_print(const struct connectib_ca_congestion_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_host_management_print(const struct connectib_host_management *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ca_congestion_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_host_management ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trigger_threshold    : "UH_FMT"\n", ptr_struct->trigger_threshold);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ccti_increase        : "UH_FMT"\n", ptr_struct->ccti_increase);
+	fprintf(file, "ocsd_config:\n");
+	connectib_ocsd_config_print(&(ptr_struct->ocsd_config), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ccti_timer           : "UH_FMT"\n", ptr_struct->ccti_timer);
+	fprintf(file, "ibm_thermal_config:\n");
+	connectib_ibm_thermal_config_print(&(ptr_struct->ibm_thermal_config), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ccti_min             : "UH_FMT"\n", ptr_struct->ccti_min);
+	fprintf(file, "wol_cap:\n");
+	connectib_wol_cap_host_port_print(&(ptr_struct->wol_cap), file, indent_level + 1);
 
 }
 
-int connectib_ca_congestion_entry_size(void){
-	 return 8;
+int connectib_host_management_size(void)
+{
+	 return 128;
 }
 
-void connectib_ca_congestion_entry_dump(const struct connectib_ca_congestion_entry *ptr_struct, FILE* file) {
-	connectib_ca_congestion_entry_print(ptr_struct, file, 0);
+void connectib_host_management_dump(const struct connectib_host_management *ptr_struct, FILE* file)
+{
+	connectib_host_management_print(ptr_struct, file, 0);
 }
 
-void connectib_congestion_log_event_entry_pack(const struct connectib_congestion_log_event_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_management_pack(const struct connectib_management *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->service_type);
+	offset = 0;
+	connectib_node_info_ini_pack(&(ptr_struct->node_info), ptr_buff + offset/8);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+	offset = 512;
+	connectib_ib_port_info_ini_pack(&(ptr_struct->port_info), ptr_buff + offset/8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->local_qpn);
+	offset = 1567;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eeprom_read_disable_p1);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->remote_qpn);
+	offset = 1566;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eeprom_read_disable_p2);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->remote_lid);
+	offset = 1565;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_stamping_override);
+
+	offset = 1564;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cable_speed_override);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->timestamp);
+	offset = 1568;
+	connectib_extended_port_info_ini_pack(&(ptr_struct->extended_port_info), ptr_buff + offset/8);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(1624, 8, i, 3072, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->valid_i2c_address[i]);
+	}
+
+	offset = 2048;
+	connectib_fw_vport0_ini_pack(&(ptr_struct->fw_vport0), ptr_buff + offset/8);
 
 }
 
-void connectib_congestion_log_event_entry_unpack(struct connectib_congestion_log_event_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_management_unpack(struct connectib_management *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->service_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_node_info_ini_unpack(&(ptr_struct->node_info), ptr_buff + offset/8);
 
-	offset=24;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 512;
+	connectib_ib_port_info_ini_unpack(&(ptr_struct->port_info), ptr_buff + offset/8);
 
-	offset=0;
-	ptr_struct->local_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 1567;
+	ptr_struct->eeprom_read_disable_p1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->remote_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 1566;
+	ptr_struct->eeprom_read_disable_p2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
-	ptr_struct->remote_lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 1565;
+	ptr_struct->fw_stamping_override = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
-	ptr_struct->timestamp = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 1564;
+	ptr_struct->cable_speed_override = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 1568;
+	connectib_extended_port_info_ini_unpack(&(ptr_struct->extended_port_info), ptr_buff + offset/8);
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(1624, 8, i, 3072, 1);
+	ptr_struct->valid_i2c_address[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
+
+	offset = 2048;
+	connectib_fw_vport0_ini_unpack(&(ptr_struct->fw_vport0), ptr_buff + offset/8);
 
 }
 
-void connectib_congestion_log_event_entry_print(const struct connectib_congestion_log_event_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_management_print(const struct connectib_management *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_congestion_log_event_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_management ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "service_type         : "UH_FMT"\n", ptr_struct->service_type);
+	fprintf(file, "node_info:\n");
+	connectib_node_info_ini_print(&(ptr_struct->node_info), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_info:\n");
+	connectib_ib_port_info_ini_print(&(ptr_struct->port_info), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eeprom_read_disable_p1 : " UH_FMT "\n", ptr_struct->eeprom_read_disable_p1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "eeprom_read_disable_p2 : " UH_FMT "\n", ptr_struct->eeprom_read_disable_p2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "fw_stamping_override : " UH_FMT "\n", ptr_struct->fw_stamping_override);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_qpn            : "UH_FMT"\n", ptr_struct->local_qpn);
+	fprintf(file, "cable_speed_override : " UH_FMT "\n", ptr_struct->cable_speed_override);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "remote_qpn           : "UH_FMT"\n", ptr_struct->remote_qpn);
+	fprintf(file, "extended_port_info:\n");
+	connectib_extended_port_info_ini_print(&(ptr_struct->extended_port_info), file, indent_level + 1);
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "remote_lid           : "UH_FMT"\n", ptr_struct->remote_lid);
+	fprintf(file, "valid_i2c_address_%03d : " UH_FMT "\n", i, ptr_struct->valid_i2c_address[i]);
+	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp            : "U32H_FMT"\n", ptr_struct->timestamp);
+	fprintf(file, "fw_vport0:\n");
+	connectib_fw_vport0_ini_print(&(ptr_struct->fw_vport0), file, indent_level + 1);
 
 }
 
-int connectib_congestion_log_event_entry_size(void){
-	 return 16;
+int connectib_management_size(void)
+{
+	 return 384;
 }
 
-void connectib_congestion_log_event_entry_dump(const struct connectib_congestion_log_event_entry *ptr_struct, FILE* file) {
-	connectib_congestion_log_event_entry_print(ptr_struct, file, 0);
+void connectib_management_dump(const struct connectib_management *ptr_struct, FILE* file)
+{
+	connectib_management_print(ptr_struct, file, 0);
+}
+
+void connectib_customization_pack(const struct connectib_customization *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->active_amp_range_p1);
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->active_amp_range_p2);
+
 }
 
-void connectib_special_qps_pack(const struct connectib_special_qps *ptr_struct, u_int8_t* ptr_buff){
+void connectib_customization_unpack(struct connectib_customization *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->qp0);
+	offset = 28;
+	ptr_struct->active_amp_range_p1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 24;
+	ptr_struct->active_amp_range_p2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->qp1);
+}
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->raw);
+void connectib_customization_print(const struct connectib_customization *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_customization ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ipv6);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "active_amp_range_p1  : " UH_FMT "\n", ptr_struct->active_amp_range_p1);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->reserved);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "active_amp_range_p2  : " UH_FMT "\n", ptr_struct->active_amp_range_p2);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ptp1588);
+}
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->sync_umr);
+int connectib_customization_size(void)
+{
+	 return 64;
+}
 
+void connectib_customization_dump(const struct connectib_customization *ptr_struct, FILE* file)
+{
+	connectib_customization_print(ptr_struct, file, 0);
 }
 
-void connectib_special_qps_unpack(struct connectib_special_qps *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_leds_blink_patterns_pack(const struct connectib_leds_blink_patterns *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->qp0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_led_port_blink_pattern_pack(&(ptr_struct->no_phy_no_log_link), ptr_buff + offset/8);
 
-	offset=32;
-	ptr_struct->qp1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	connectib_led_port_blink_pattern_pack(&(ptr_struct->phy_no_log_link), ptr_buff + offset/8);
 
-	offset=64;
-	ptr_struct->raw = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 128;
+	connectib_led_port_blink_pattern_pack(&(ptr_struct->phy_log_link), ptr_buff + offset/8);
 
-	offset=96;
-	ptr_struct->ipv6 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 192;
+	connectib_led_port_blink_pattern_pack(&(ptr_struct->phy_log_link_traffic), ptr_buff + offset/8);
 
-	offset=128;
-	ptr_struct->reserved = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 256;
+	connectib_led_port_blink_pattern_pack(&(ptr_struct->error), ptr_buff + offset/8);
 
-	offset=160;
-	ptr_struct->ptp1588 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 15; i++) {
+	offset = adb2c_calc_array_field_address(320, 64, i, 1280, 1);
+	connectib_led_port_blink_pattern_pack(&(ptr_struct->reserved_pattern[i]), ptr_buff + offset/8);
+	}
 
-	offset=192;
-	ptr_struct->sync_umr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+}
+
+void connectib_leds_blink_patterns_unpack(struct connectib_leds_blink_patterns *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_led_port_blink_pattern_unpack(&(ptr_struct->no_phy_no_log_link), ptr_buff + offset/8);
+
+	offset = 64;
+	connectib_led_port_blink_pattern_unpack(&(ptr_struct->phy_no_log_link), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_led_port_blink_pattern_unpack(&(ptr_struct->phy_log_link), ptr_buff + offset/8);
+
+	offset = 192;
+	connectib_led_port_blink_pattern_unpack(&(ptr_struct->phy_log_link_traffic), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_led_port_blink_pattern_unpack(&(ptr_struct->error), ptr_buff + offset/8);
+
+	for (i = 0; i < 15; i++) {
+	offset = adb2c_calc_array_field_address(320, 64, i, 1280, 1);
+	connectib_led_port_blink_pattern_unpack(&(ptr_struct->reserved_pattern[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_special_qps_print(const struct connectib_special_qps *ptr_struct, FILE* file, int indent_level){
+void connectib_leds_blink_patterns_print(const struct connectib_leds_blink_patterns *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_special_qps ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_leds_blink_patterns ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp0                  : "U32H_FMT"\n", ptr_struct->qp0);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qp1                  : "U32H_FMT"\n", ptr_struct->qp1);
+	fprintf(file, "no_phy_no_log_link:\n");
+	connectib_led_port_blink_pattern_print(&(ptr_struct->no_phy_no_log_link), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "raw                  : "U32H_FMT"\n", ptr_struct->raw);
+	fprintf(file, "phy_no_log_link:\n");
+	connectib_led_port_blink_pattern_print(&(ptr_struct->phy_no_log_link), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ipv6                 : "U32H_FMT"\n", ptr_struct->ipv6);
+	fprintf(file, "phy_log_link:\n");
+	connectib_led_port_blink_pattern_print(&(ptr_struct->phy_log_link), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved             : "U32H_FMT"\n", ptr_struct->reserved);
+	fprintf(file, "phy_log_link_traffic:\n");
+	connectib_led_port_blink_pattern_print(&(ptr_struct->phy_log_link_traffic), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ptp1588              : "U32H_FMT"\n", ptr_struct->ptp1588);
+	fprintf(file, "error:\n");
+	connectib_led_port_blink_pattern_print(&(ptr_struct->error), file, indent_level + 1);
 
+	for (i = 0; i < 15; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sync_umr             : "U32H_FMT"\n", ptr_struct->sync_umr);
+	fprintf(file, "reserved_pattern_%03d:\n", i);
+	connectib_led_port_blink_pattern_print(&(ptr_struct->reserved_pattern[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_special_qps_size(void){
-	 return 32;
+int connectib_leds_blink_patterns_size(void)
+{
+	 return 160;
 }
 
-void connectib_special_qps_dump(const struct connectib_special_qps *ptr_struct, FILE* file) {
-	connectib_special_qps_print(ptr_struct, file, 0);
+void connectib_leds_blink_patterns_dump(const struct connectib_leds_blink_patterns *ptr_struct, FILE* file)
+{
+	connectib_leds_blink_patterns_print(ptr_struct, file, 0);
 }
 
-void connectib_cmdif_hdr_pack(const struct connectib_cmdif_hdr *ptr_struct, u_int8_t* ptr_buff){
+void connectib_static_config_pack(const struct connectib_static_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->reserved0);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dwrr_en);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->type);
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ifarm_en);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->input_length);
+	offset = 29;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->xrc_use_ib_spec_opcode);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ibox_pointer);
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->allowed_madifc_on_all_pfs);
 
-	offset=128;
-	connectib_input_inline_standart_pack(&(ptr_struct->input_inline), ptr_buff + offset/8);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ffser_en);
 
-	offset=256;
-	connectib_output_inline_standart_pack(&(ptr_struct->output_inline), ptr_buff + offset/8);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->prio_g_0_ix_mask_no_ifarm);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->obox_pointer);
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->prio_g_1_ix_mask_no_ifarm);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->output_length);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi_rl_custom_tokens_mantissa);
 
-	offset=511;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ownership);
+	offset = 76;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gvmi_rl_custom_tokens_exponent);
 
-	offset=504;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->status);
+	offset = 73;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->gvmi_rl_mode);
 
-	offset=496;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->reserved1);
+	offset = 67;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ocp_bmc_mac_plus_two);
 
-	offset=488;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
+	offset = 65;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->global_pause_en);
 
-	offset=480;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->token);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->allow_flash_64k_erase);
 
 }
 
-void connectib_cmdif_hdr_unpack(struct connectib_cmdif_hdr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_static_config_unpack(struct connectib_static_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->reserved0 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+	offset = 31;
+	ptr_struct->dwrr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
-	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 30;
+	ptr_struct->ifarm_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->input_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 29;
+	ptr_struct->xrc_use_ib_spec_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->ibox_pointer = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 28;
+	ptr_struct->allowed_madifc_on_all_pfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
-	connectib_input_inline_standart_unpack(&(ptr_struct->input_inline), ptr_buff + offset/8);
+	offset = 23;
+	ptr_struct->ffser_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=256;
-	connectib_output_inline_standart_unpack(&(ptr_struct->output_inline), ptr_buff + offset/8);
+	offset = 56;
+	ptr_struct->prio_g_0_ix_mask_no_ifarm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=384;
-	ptr_struct->obox_pointer = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 48;
+	ptr_struct->prio_g_1_ix_mask_no_ifarm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=448;
-	ptr_struct->output_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 80;
+	ptr_struct->gvmi_rl_custom_tokens_mantissa = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=511;
-	ptr_struct->ownership = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 76;
+	ptr_struct->gvmi_rl_custom_tokens_exponent = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=504;
-	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+	offset = 73;
+	ptr_struct->gvmi_rl_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=496;
-	ptr_struct->reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 67;
+	ptr_struct->ocp_bmc_mac_plus_two = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=488;
-	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 65;
+	ptr_struct->global_pause_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=480;
-	ptr_struct->token = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 64;
+	ptr_struct->allow_flash_64k_erase = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_cmdif_hdr_print(const struct connectib_cmdif_hdr *ptr_struct, FILE* file, int indent_level){
+void connectib_static_config_print(const struct connectib_static_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_cmdif_hdr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_static_config ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved0            : "UH_FMT"\n", ptr_struct->reserved0);
+	fprintf(file, "dwrr_en              : " UH_FMT "\n", ptr_struct->dwrr_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "UH_FMT"\n", ptr_struct->type);
+	fprintf(file, "ifarm_en             : " UH_FMT "\n", ptr_struct->ifarm_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "input_length         : "U32H_FMT"\n", ptr_struct->input_length);
+	fprintf(file, "xrc_use_ib_spec_opcode : " UH_FMT "\n", ptr_struct->xrc_use_ib_spec_opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibox_pointer         : "U64H_FMT"\n", ptr_struct->ibox_pointer);
+	fprintf(file, "allowed_madifc_on_all_pfs : " UH_FMT "\n", ptr_struct->allowed_madifc_on_all_pfs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "input_inline:\n");
-	connectib_input_inline_standart_print(&(ptr_struct->input_inline), file, indent_level + 1);
+	fprintf(file, "ffser_en             : " UH_FMT "\n", ptr_struct->ffser_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "output_inline:\n");
-	connectib_output_inline_standart_print(&(ptr_struct->output_inline), file, indent_level + 1);
+	fprintf(file, "prio_g_0_ix_mask_no_ifarm : " UH_FMT "\n", ptr_struct->prio_g_0_ix_mask_no_ifarm);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "obox_pointer         : "U64H_FMT"\n", ptr_struct->obox_pointer);
+	fprintf(file, "prio_g_1_ix_mask_no_ifarm : " UH_FMT "\n", ptr_struct->prio_g_1_ix_mask_no_ifarm);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "output_length        : "U32H_FMT"\n", ptr_struct->output_length);
+	fprintf(file, "gvmi_rl_custom_tokens_mantissa : " UH_FMT "\n", ptr_struct->gvmi_rl_custom_tokens_mantissa);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ownership            : "UH_FMT"\n", ptr_struct->ownership);
+	fprintf(file, "gvmi_rl_custom_tokens_exponent : " UH_FMT "\n", ptr_struct->gvmi_rl_custom_tokens_exponent);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status               : "UH_FMT"\n", ptr_struct->status);
+	fprintf(file, "gvmi_rl_mode         : " UH_FMT "\n", ptr_struct->gvmi_rl_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved1            : "UH_FMT"\n", ptr_struct->reserved1);
+	fprintf(file, "ocp_bmc_mac_plus_two : " UH_FMT "\n", ptr_struct->ocp_bmc_mac_plus_two);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "UH_FMT"\n", ptr_struct->signature);
+	fprintf(file, "global_pause_en      : " UH_FMT "\n", ptr_struct->global_pause_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "token                : "UH_FMT"\n", ptr_struct->token);
+	fprintf(file, "allow_flash_64k_erase : " UH_FMT "\n", ptr_struct->allow_flash_64k_erase);
 
 }
 
-int connectib_cmdif_hdr_size(void){
-	 return 64;
+int connectib_static_config_size(void)
+{
+	 return 16;
 }
 
-void connectib_cmdif_hdr_dump(const struct connectib_cmdif_hdr *ptr_struct, FILE* file) {
-	connectib_cmdif_hdr_print(ptr_struct, file, 0);
+void connectib_static_config_dump(const struct connectib_static_config *ptr_struct, FILE* file)
+{
+	connectib_static_config_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_header_capture_checks_pack(const struct connectib_icmd_header_capture_checks *ptr_struct, u_int8_t* ptr_buff){
+void connectib_guids_pack(const struct connectib_guids *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->word[i]);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 128, i, 512, 1);
+	connectib_uid_entry_pack(&(ptr_struct->guids[i]), ptr_buff + offset/8);
+	}
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(256, 128, i, 512, 1);
+	connectib_uid_entry_pack(&(ptr_struct->macs[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_header_capture_checks_unpack(struct connectib_icmd_header_capture_checks *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_guids_unpack(struct connectib_guids *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	ptr_struct->word[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(0, 128, i, 512, 1);
+	connectib_uid_entry_unpack(&(ptr_struct->guids[i]), ptr_buff + offset/8);
+	}
+
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(256, 128, i, 512, 1);
+	connectib_uid_entry_unpack(&(ptr_struct->macs[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_header_capture_checks_print(const struct connectib_icmd_header_capture_checks *ptr_struct, FILE* file, int indent_level){
+void connectib_guids_print(const struct connectib_guids *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_header_capture_checks ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_guids ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 16; i++) {
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "word_%03d            : "U32H_FMT"\n", i, ptr_struct->word[i]);
+	fprintf(file, "guids_%03d:\n", i);
+	connectib_uid_entry_print(&(ptr_struct->guids[i]), file, indent_level + 1);
+	}
+
+	for (i = 0; i < 2; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "macs_%03d:\n", i);
+	connectib_uid_entry_print(&(ptr_struct->macs[i]), file, indent_level + 1);
 	}
 
 }
 
-int connectib_icmd_header_capture_checks_size(void){
+int connectib_guids_size(void)
+{
 	 return 64;
 }
 
-void connectib_icmd_header_capture_checks_dump(const struct connectib_icmd_header_capture_checks *ptr_struct, FILE* file) {
-	connectib_icmd_header_capture_checks_print(ptr_struct, file, 0);
+void connectib_guids_dump(const struct connectib_guids *ptr_struct, FILE* file)
+{
+	connectib_guids_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_header_capture_headers_pack(const struct connectib_icmd_header_capture_headers *ptr_struct, u_int8_t* ptr_buff){
+void connectib_module_versions_pack(const struct connectib_module_versions *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->word[i]);
-	}
+	offset = 0;
+	connectib_module_version_pack(&(ptr_struct->core), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_module_version_pack(&(ptr_struct->phy), ptr_buff + offset/8);
+
+	offset = 64;
+	connectib_module_version_pack(&(ptr_struct->kernel), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_module_version_pack(&(ptr_struct->iron_image), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_module_version_pack(&(ptr_struct->host_management), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_module_version_pack(&(ptr_struct->mad), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_header_capture_headers_unpack(struct connectib_icmd_header_capture_headers *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_module_versions_unpack(struct connectib_module_versions *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	ptr_struct->word[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 0;
+	connectib_module_version_unpack(&(ptr_struct->core), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_module_version_unpack(&(ptr_struct->phy), ptr_buff + offset/8);
+
+	offset = 64;
+	connectib_module_version_unpack(&(ptr_struct->kernel), ptr_buff + offset/8);
+
+	offset = 96;
+	connectib_module_version_unpack(&(ptr_struct->iron_image), ptr_buff + offset/8);
+
+	offset = 128;
+	connectib_module_version_unpack(&(ptr_struct->host_management), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_module_version_unpack(&(ptr_struct->mad), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_header_capture_headers_print(const struct connectib_icmd_header_capture_headers *ptr_struct, FILE* file, int indent_level){
+void connectib_module_versions_print(const struct connectib_module_versions *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_header_capture_headers ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_module_versions ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "word_%03d            : "U32H_FMT"\n", i, ptr_struct->word[i]);
-	}
+	fprintf(file, "core:\n");
+	connectib_module_version_print(&(ptr_struct->core), file, indent_level + 1);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "phy:\n");
+	connectib_module_version_print(&(ptr_struct->phy), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "kernel:\n");
+	connectib_module_version_print(&(ptr_struct->kernel), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "iron_image:\n");
+	connectib_module_version_print(&(ptr_struct->iron_image), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "host_management:\n");
+	connectib_module_version_print(&(ptr_struct->host_management), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mad:\n");
+	connectib_module_version_print(&(ptr_struct->mad), file, indent_level + 1);
 
-int connectib_icmd_header_capture_headers_size(void){
-	 return 128;
 }
 
-void connectib_icmd_header_capture_headers_dump(const struct connectib_icmd_header_capture_headers *ptr_struct, FILE* file) {
-	connectib_icmd_header_capture_headers_print(ptr_struct, file, 0);
+int connectib_module_versions_size(void)
+{
+	 return 64;
 }
 
-void connectib_g_rse_hw_decoders_pack(const union connectib_g_rse_hw_decoders *ptr_struct, u_int8_t* ptr_buff)
+void connectib_module_versions_dump(const struct connectib_module_versions *ptr_struct, FILE* file)
 {
-	connectib_g_rse_decoders_as_dwords_pack(&(ptr_struct->raw_dwords), ptr_buff);
+	connectib_module_versions_print(ptr_struct, file, 0);
 }
 
-void connectib_g_rse_hw_decoders_unpack(union connectib_g_rse_hw_decoders *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_image_size_pack(const struct connectib_image_size *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_g_rse_decoders_as_dwords_unpack(&(ptr_struct->raw_dwords), ptr_buff);
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_step);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_size);
+
 }
 
-void connectib_g_rse_hw_decoders_print(const union connectib_g_rse_hw_decoders *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_g_rse_hw_decoders ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+void connectib_image_size_unpack(struct connectib_image_size *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rxt_checks_steering_results_decoder:\n");
-	connectib_rxt_checks_steering_results_decoder_print(&(ptr_struct->rxt_checks_steering_results_decoder), file, indent_level + 1);
+	offset = 24;
+	ptr_struct->log_step = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rxt_context_fetch_qp_desc_decoder:\n");
-	connectib_rxt_context_fetch_qp_desc_decoder_print(&(ptr_struct->rxt_context_fetch_qp_desc_decoder), file, indent_level + 1);
+	offset = 32;
+	ptr_struct->max_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
 
+void connectib_image_size_print(const struct connectib_image_size *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rxt_checks_packet_descriptor_decoder:\n");
-	connectib_rxt_checks_packet_descriptor_decoder_print(&(ptr_struct->rxt_checks_packet_descriptor_decoder), file, indent_level + 1);
+	fprintf(file, "======== connectib_image_size ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rxs_rxt_desc_decoder:\n");
-	connectib_rxs_rxt_desc_decoder_print(&(ptr_struct->rxs_rxt_desc_decoder), file, indent_level + 1);
+	fprintf(file, "log_step             : " UH_FMT "\n", ptr_struct->log_step);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "raw_dwords:\n");
-	connectib_g_rse_decoders_as_dwords_print(&(ptr_struct->raw_dwords), file, indent_level + 1);
+	fprintf(file, "max_size             : " U32H_FMT "\n", ptr_struct->max_size);
 
 }
 
-int connectib_g_rse_hw_decoders_size(void){
-	 return 256;
+int connectib_image_size_size(void)
+{
+	 return 8;
 }
 
-void connectib_g_rse_hw_decoders_dump(const union connectib_g_rse_hw_decoders *ptr_struct, FILE* file) {
-	connectib_g_rse_hw_decoders_print(ptr_struct, file, 0);
+void connectib_image_size_dump(const struct connectib_image_size *ptr_struct, FILE* file)
+{
+	connectib_image_size_print(ptr_struct, file, 0);
 }
 
-void connectib_FW_VERSION_pack(const struct connectib_FW_VERSION *ptr_struct, u_int8_t* ptr_buff){
+void connectib_TRIPPLE_VERSION_pack(const struct connectib_TRIPPLE_VERSION *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MAJOR);
 
-	offset=48;
+	offset = 48;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->SUBMINOR);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MINOR);
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Hour);
-
-	offset=72;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Minutes);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Seconds);
-
-	offset=120;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Day);
-
-	offset=112;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Month);
-
-	offset=96;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->Year);
-
 }
 
-void connectib_FW_VERSION_unpack(struct connectib_FW_VERSION *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_TRIPPLE_VERSION_unpack(struct connectib_TRIPPLE_VERSION *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->MAJOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=48;
+	offset = 48;
 	ptr_struct->SUBMINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->MINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=80;
-	ptr_struct->Hour = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=72;
-	ptr_struct->Minutes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=64;
-	ptr_struct->Seconds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=120;
-	ptr_struct->Day = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=112;
-	ptr_struct->Month = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=96;
-	ptr_struct->Year = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
 }
 
-void connectib_FW_VERSION_print(const struct connectib_FW_VERSION *ptr_struct, FILE* file, int indent_level){
+void connectib_TRIPPLE_VERSION_print(const struct connectib_TRIPPLE_VERSION *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_FW_VERSION ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_TRIPPLE_VERSION ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "MAJOR                : "UH_FMT"\n", ptr_struct->MAJOR);
+	fprintf(file, "MAJOR                : " UH_FMT "\n", ptr_struct->MAJOR);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "SUBMINOR             : "UH_FMT"\n", ptr_struct->SUBMINOR);
+	fprintf(file, "SUBMINOR             : " UH_FMT "\n", ptr_struct->SUBMINOR);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "MINOR                : "UH_FMT"\n", ptr_struct->MINOR);
+	fprintf(file, "MINOR                : " UH_FMT "\n", ptr_struct->MINOR);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Hour                 : "UH_FMT"\n", ptr_struct->Hour);
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Minutes              : "UH_FMT"\n", ptr_struct->Minutes);
+int connectib_TRIPPLE_VERSION_size(void)
+{
+	 return 8;
+}
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Seconds              : "UH_FMT"\n", ptr_struct->Seconds);
+void connectib_TRIPPLE_VERSION_dump(const struct connectib_TRIPPLE_VERSION *ptr_struct, FILE* file)
+{
+	connectib_TRIPPLE_VERSION_print(ptr_struct, file, 0);
+}
+
+void connectib_operation_key_pack(const struct connectib_operation_key *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->key_modifier);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->key);
+
+}
 
+void connectib_operation_key_unpack(struct connectib_operation_key *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->key_modifier = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->key = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_operation_key_print(const struct connectib_operation_key *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Day                  : "UH_FMT"\n", ptr_struct->Day);
+	fprintf(file, "======== connectib_operation_key ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Month                : "UH_FMT"\n", ptr_struct->Month);
+	fprintf(file, "key_modifier         : " UH_FMT "\n", ptr_struct->key_modifier);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "Year                 : "UH_FMT"\n", ptr_struct->Year);
+	fprintf(file, "key                  : " U64H_FMT "\n", ptr_struct->key);
 
 }
 
-int connectib_FW_VERSION_size(void){
+int connectib_operation_key_size(void)
+{
 	 return 16;
 }
 
-void connectib_FW_VERSION_dump(const struct connectib_FW_VERSION *ptr_struct, FILE* file) {
-	connectib_FW_VERSION_print(ptr_struct, file, 0);
+void connectib_operation_key_dump(const struct connectib_operation_key *ptr_struct, FILE* file)
+{
+	connectib_operation_key_print(ptr_struct, file, 0);
 }
 
-void connectib_golan_hw_fw_ctx_pack(const union connectib_golan_hw_fw_ctx *ptr_struct, u_int8_t* ptr_buff)
+void connectib_toc_data_pack(const struct connectib_toc_data *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_ctx_as_dwords_pack(&(ptr_struct->as_dwords), ptr_buff);
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->address);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->size);
+
 }
 
-void connectib_golan_hw_fw_ctx_unpack(union connectib_golan_hw_fw_ctx *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_toc_data_unpack(struct connectib_toc_data *ptr_struct, const u_int8_t* ptr_buff)
 {
-	connectib_ctx_as_dwords_unpack(&(ptr_struct->as_dwords), ptr_buff);
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->address = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
 }
 
-void connectib_golan_hw_fw_ctx_print(const union connectib_golan_hw_fw_ctx *ptr_struct, FILE* file, int indent_level){
+void connectib_toc_data_print(const struct connectib_toc_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_golan_hw_fw_ctx ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_toc_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_ctx:\n");
-	connectib_hw_hca_contexts_print(&(ptr_struct->hw_ctx), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_ctx:\n");
-	connectib_fw_resource_context_print(&(ptr_struct->fw_ctx), file, indent_level + 1);
+	fprintf(file, "address              : " U32H_FMT "\n", ptr_struct->address);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "as_dwords:\n");
-	connectib_ctx_as_dwords_print(&(ptr_struct->as_dwords), file, indent_level + 1);
+	fprintf(file, "size                 : " U32H_FMT "\n", ptr_struct->size);
 
 }
 
-int connectib_golan_hw_fw_ctx_size(void){
-	 return 64;
+int connectib_toc_data_size(void)
+{
+	 return 8;
 }
 
-void connectib_golan_hw_fw_ctx_dump(const union connectib_golan_hw_fw_ctx *ptr_struct, FILE* file) {
-	connectib_golan_hw_fw_ctx_print(ptr_struct, file, 0);
+void connectib_toc_data_dump(const struct connectib_toc_data *ptr_struct, FILE* file)
+{
+	connectib_toc_data_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_fetch_add_128byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_128byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_rst_api_ver_pack(const struct connectib_rst_api_ver *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2048, 1);
-	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
-
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(1024, 32, i, 2048, 1);
-	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 128, i, 1024, 1);
+	connectib_reset_level_info_pack(&(ptr_struct->reset[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_128byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_128byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_rst_api_ver_unpack(struct connectib_rst_api_ver *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2048, 1);
-	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
-
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(1024, 32, i, 2048, 1);
-	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 128, i, 1024, 1);
+	connectib_reset_level_info_unpack(&(ptr_struct->reset[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_128byte_print(const struct connectib_wqe_extended_atomic_fetch_add_128byte *ptr_struct, FILE* file, int indent_level){
+void connectib_rst_api_ver_print(const struct connectib_rst_api_ver *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_128byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_rst_api_ver ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 32; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data_%03d:\n", i);
-	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
-	}
-
-	for (i=0; i < 32; i++) {
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_boundary_%03d:\n", i);
-	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
+	fprintf(file, "reset_%03d:\n", i);
+	connectib_reset_level_info_print(&(ptr_struct->reset[i]), file, indent_level + 1);
 	}
 
 }
 
-int connectib_wqe_extended_atomic_fetch_add_128byte_size(void){
-	 return 256;
+int connectib_rst_api_ver_size(void)
+{
+	 return 128;
 }
 
-void connectib_wqe_extended_atomic_fetch_add_128byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_128byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_fetch_add_128byte_print(ptr_struct, file, 0);
+void connectib_rst_api_ver_dump(const struct connectib_rst_api_ver *ptr_struct, FILE* file)
+{
+	connectib_rst_api_ver_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_fetch_add_64byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_64byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_reset_capabilities_pack(const struct connectib_reset_capabilities *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
-
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(512, 32, i, 1024, 1);
-	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
-	}
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reset_ver_en);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_64byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_64byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_reset_capabilities_unpack(struct connectib_reset_capabilities *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
-
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(512, 32, i, 1024, 1);
-	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
-	}
+	offset = 31;
+	ptr_struct->reset_ver_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_64byte_print(const struct connectib_wqe_extended_atomic_fetch_add_64byte *ptr_struct, FILE* file, int indent_level){
+void connectib_reset_capabilities_print(const struct connectib_reset_capabilities *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_64byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_reset_capabilities ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 16; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data_%03d:\n", i);
-	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
-	}
-
-	for (i=0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_boundary_%03d:\n", i);
-	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
-	}
+	fprintf(file, "reset_ver_en         : " UH_FMT "\n", ptr_struct->reset_ver_en);
 
 }
 
-int connectib_wqe_extended_atomic_fetch_add_64byte_size(void){
-	 return 128;
+int connectib_reset_capabilities_size(void)
+{
+	 return 4;
 }
 
-void connectib_wqe_extended_atomic_fetch_add_64byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_64byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_fetch_add_64byte_print(ptr_struct, file, 0);
+void connectib_reset_capabilities_dump(const struct connectib_reset_capabilities *ptr_struct, FILE* file)
+{
+	connectib_reset_capabilities_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_fetch_add_32byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_32byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_gvmi_rl_ctx_ix_pack(const struct connectib_icmd_get_gvmi_rl_ctx_ix *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->real_gvmi);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(256, 32, i, 512, 1);
-	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
-	}
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi_rl_ctx_ix);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi_tag);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_32byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_32byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_gvmi_rl_ctx_ix_unpack(struct connectib_icmd_get_gvmi_rl_ctx_ix *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	ptr_struct->real_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(256, 32, i, 512, 1);
-	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
-	}
+	offset = 12;
+	ptr_struct->vl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 0;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 48;
+	ptr_struct->gvmi_rl_ctx_ix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->gvmi_tag = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_32byte_print(const struct connectib_wqe_extended_atomic_fetch_add_32byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_gvmi_rl_ctx_ix_print(const struct connectib_icmd_get_gvmi_rl_ctx_ix *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_32byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_gvmi_rl_ctx_ix ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data_%03d:\n", i);
-	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "real_gvmi            : " UH_FMT "\n", ptr_struct->real_gvmi);
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_boundary_%03d:\n", i);
-	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
-	}
+	fprintf(file, "vl                   : " UH_FMT "\n", ptr_struct->vl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi_rl_ctx_ix       : " UH_FMT "\n", ptr_struct->gvmi_rl_ctx_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi_tag             : " UH_FMT "\n", ptr_struct->gvmi_tag);
 
 }
 
-int connectib_wqe_extended_atomic_fetch_add_32byte_size(void){
-	 return 64;
+int connectib_icmd_get_gvmi_rl_ctx_ix_size(void)
+{
+	 return 8;
 }
 
-void connectib_wqe_extended_atomic_fetch_add_32byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_32byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_fetch_add_32byte_print(ptr_struct, file, 0);
+void connectib_icmd_get_gvmi_rl_ctx_ix_dump(const struct connectib_icmd_get_gvmi_rl_ctx_ix *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_gvmi_rl_ctx_ix_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_fetch_add_16byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_16byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_sysport_pack(const struct connectib_icmd_sysport *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	connectib_sysport_packet_properties_pack(&(ptr_struct->pkt_prop), ptr_buff + offset/8);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 256, 1);
-	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
-	}
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pkt_length);
+
+	offset = 288;
+	connectib_sysport_packet_data_pack(&(ptr_struct->pkt_data), ptr_buff + offset/8);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_16byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_16byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_sysport_unpack(struct connectib_icmd_sysport *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	connectib_sysport_packet_properties_unpack(&(ptr_struct->pkt_prop), ptr_buff + offset/8);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 256, 1);
-	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
-	}
+	offset = 256;
+	ptr_struct->pkt_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 288;
+	connectib_sysport_packet_data_unpack(&(ptr_struct->pkt_data), ptr_buff + offset/8);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_16byte_print(const struct connectib_wqe_extended_atomic_fetch_add_16byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_sysport_print(const struct connectib_icmd_sysport *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_16byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_sysport ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data_%03d:\n", i);
-	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "pkt_prop:\n");
+	connectib_sysport_packet_properties_print(&(ptr_struct->pkt_prop), file, indent_level + 1);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_boundary_%03d:\n", i);
-	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
-	}
+	fprintf(file, "pkt_length           : " U32H_FMT "\n", ptr_struct->pkt_length);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pkt_data:\n");
+	connectib_sysport_packet_data_print(&(ptr_struct->pkt_data), file, indent_level + 1);
 
 }
 
-int connectib_wqe_extended_atomic_fetch_add_16byte_size(void){
-	 return 32;
+int connectib_icmd_sysport_size(void)
+{
+	 return 768;
 }
 
-void connectib_wqe_extended_atomic_fetch_add_16byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_16byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_fetch_add_16byte_print(ptr_struct, file, 0);
+void connectib_icmd_sysport_dump(const struct connectib_icmd_sysport *ptr_struct, FILE* file)
+{
+	connectib_icmd_sysport_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_fetch_add_8byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_8byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_drop_counter_read_pack(const struct connectib_icmd_drop_counter_read *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 128, 1);
-	connectib_add_data_pack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
-
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(64, 32, i, 128, 1);
-	connectib_field_boundary_pack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sq_num_to);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_8byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_8byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_drop_counter_read_unpack(struct connectib_icmd_drop_counter_read *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 128, 1);
-	connectib_add_data_unpack(&(ptr_struct->add_data[i]), ptr_buff + offset/8);
-	}
-
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(64, 32, i, 128, 1);
-	connectib_field_boundary_unpack(&(ptr_struct->field_boundary[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	ptr_struct->sq_num_to = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_8byte_print(const struct connectib_wqe_extended_atomic_fetch_add_8byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_drop_counter_read_print(const struct connectib_icmd_drop_counter_read *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_8byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_drop_counter_read ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 2; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data_%03d:\n", i);
-	connectib_add_data_print(&(ptr_struct->add_data[i]), file, indent_level + 1);
-	}
-
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_boundary_%03d:\n", i);
-	connectib_field_boundary_print(&(ptr_struct->field_boundary[i]), file, indent_level + 1);
-	}
+	fprintf(file, "sq_num_to            : " U32H_FMT "\n", ptr_struct->sq_num_to);
 
 }
 
-int connectib_wqe_extended_atomic_fetch_add_8byte_size(void){
-	 return 16;
+int connectib_icmd_drop_counter_read_size(void)
+{
+	 return 4;
 }
 
-void connectib_wqe_extended_atomic_fetch_add_8byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_8byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_fetch_add_8byte_print(ptr_struct, file, 0);
+void connectib_icmd_drop_counter_read_dump(const struct connectib_icmd_drop_counter_read *ptr_struct, FILE* file)
+{
+	connectib_icmd_drop_counter_read_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_fetch_add_4byte_pack(const struct connectib_wqe_extended_atomic_fetch_add_4byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_rw_gvmi_fw_ctx_pack(const struct connectib_icmd_rw_gvmi_fw_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->add_data);
+	offset = 0;
+	connectib_rw_gvmi_fw_ctx_sub_structs_pack(&(ptr_struct->sub_structs), ptr_buff + offset/8);
+
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gvmi);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->field_boundary);
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->node_type);
+
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ix);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_4byte_unpack(struct connectib_wqe_extended_atomic_fetch_add_4byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_rw_gvmi_fw_ctx_unpack(struct connectib_icmd_rw_gvmi_fw_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->add_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	connectib_rw_gvmi_fw_ctx_sub_structs_unpack(&(ptr_struct->sub_structs), ptr_buff + offset/8);
 
-	offset=32;
-	ptr_struct->field_boundary = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 512;
+	ptr_struct->gvmi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 544;
+	ptr_struct->node_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 576;
+	ptr_struct->ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_extended_atomic_fetch_add_4byte_print(const struct connectib_wqe_extended_atomic_fetch_add_4byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_rw_gvmi_fw_ctx_print(const struct connectib_icmd_rw_gvmi_fw_ctx *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add_4byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_rw_gvmi_fw_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data             : "U32H_FMT"\n", ptr_struct->add_data);
+	fprintf(file, "sub_structs:\n");
+	connectib_rw_gvmi_fw_ctx_sub_structs_print(&(ptr_struct->sub_structs), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " U32H_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "node_type            : " U32H_FMT "\n", ptr_struct->node_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_boundary       : "U32H_FMT"\n", ptr_struct->field_boundary);
+	fprintf(file, "ix                   : " U32H_FMT "\n", ptr_struct->ix);
 
 }
 
-int connectib_wqe_extended_atomic_fetch_add_4byte_size(void){
-	 return 16;
+int connectib_icmd_rw_gvmi_fw_ctx_size(void)
+{
+	 return 128;
 }
 
-void connectib_wqe_extended_atomic_fetch_add_4byte_dump(const struct connectib_wqe_extended_atomic_fetch_add_4byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_fetch_add_4byte_print(ptr_struct, file, 0);
+void connectib_icmd_rw_gvmi_fw_ctx_dump(const struct connectib_icmd_rw_gvmi_fw_ctx *ptr_struct, FILE* file)
+{
+	connectib_icmd_rw_gvmi_fw_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_128byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_128byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_mh_sync_pack(const struct connectib_icmd_mh_sync *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 4096, 1);
-	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
+	offset = 28;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->input_state);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(1024, 32, i, 4096, 1);
-	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->input_sync_type);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(2048, 32, i, 4096, 1);
-	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->input_ignore_inactive_hosts);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(3072, 32, i, 4096, 1);
-	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fsm_state);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->fsm_sync_type);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fsm_ignore_inactive_hosts);
+
+	offset = 92;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fsm_host_ready);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->fsm_start_uptime);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_128byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_128byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_mh_sync_unpack(struct connectib_icmd_mh_sync *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 4096, 1);
-	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
+	offset = 28;
+	ptr_struct->input_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(1024, 32, i, 4096, 1);
-	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	ptr_struct->input_sync_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(2048, 32, i, 4096, 1);
-	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	ptr_struct->input_ignore_inactive_hosts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(3072, 32, i, 4096, 1);
-	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 60;
+	ptr_struct->fsm_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 48;
+	ptr_struct->fsm_sync_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->fsm_ignore_inactive_hosts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 92;
+	ptr_struct->fsm_host_ready = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->fsm_start_uptime = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_128byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_128byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_mh_sync_print(const struct connectib_icmd_mh_sync *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_128byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_mh_sync ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_%03d:\n", i);
-	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "input_state          : " UH_FMT "\n", ptr_struct->input_state);
 
-	for (i=0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data_%03d:\n", i);
-	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "input_sync_type      : " UH_FMT "\n", ptr_struct->input_sync_type);
 
-	for (i=0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_mask_data_%03d:\n", i);
-	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "input_ignore_inactive_hosts : " UH_FMT "\n", ptr_struct->input_ignore_inactive_hosts);
 
-	for (i=0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_mask_data_%03d:\n", i);
-	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "fsm_state            : " UH_FMT "\n", ptr_struct->fsm_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fsm_sync_type        : " UH_FMT "\n", ptr_struct->fsm_sync_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fsm_ignore_inactive_hosts : " UH_FMT "\n", ptr_struct->fsm_ignore_inactive_hosts);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fsm_host_ready       : " UH_FMT "\n", ptr_struct->fsm_host_ready);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fsm_start_uptime     : " U32H_FMT "\n", ptr_struct->fsm_start_uptime);
 
 }
 
-int connectib_wqe_extended_atomic_cmp_swap_128byte_size(void){
-	 return 512;
+int connectib_icmd_mh_sync_size(void)
+{
+	 return 16;
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_128byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_128byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_cmp_swap_128byte_print(ptr_struct, file, 0);
+void connectib_icmd_mh_sync_dump(const struct connectib_icmd_mh_sync *ptr_struct, FILE* file)
+{
+	connectib_icmd_mh_sync_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_64byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_64byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_asn1_force_port_state_pack(const struct connectib_icmd_asn1_force_port_state *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2048, 1);
-	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
-
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(512, 32, i, 2048, 1);
-	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port0_1);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(1024, 32, i, 2048, 1);
-	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_enable_disable);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(1536, 32, i, 2048, 1);
-	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->state_enable_disable);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_64byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_64byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_asn1_force_port_state_unpack(struct connectib_icmd_asn1_force_port_state *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2048, 1);
-	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
-
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(512, 32, i, 2048, 1);
-	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 24;
+	ptr_struct->port0_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(1024, 32, i, 2048, 1);
-	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 23;
+	ptr_struct->force_enable_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(1536, 32, i, 2048, 1);
-	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 22;
+	ptr_struct->state_enable_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_64byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_64byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_asn1_force_port_state_print(const struct connectib_icmd_asn1_force_port_state *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_64byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_asn1_force_port_state ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 16; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_%03d:\n", i);
-	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
-	}
-
-	for (i=0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data_%03d:\n", i);
-	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "port0_1              : " UH_FMT "\n", ptr_struct->port0_1);
 
-	for (i=0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_mask_data_%03d:\n", i);
-	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "force_enable_disable : " UH_FMT "\n", ptr_struct->force_enable_disable);
 
-	for (i=0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_mask_data_%03d:\n", i);
-	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "state_enable_disable : " UH_FMT "\n", ptr_struct->state_enable_disable);
 
 }
 
-int connectib_wqe_extended_atomic_cmp_swap_64byte_size(void){
-	 return 256;
+int connectib_icmd_asn1_force_port_state_size(void)
+{
+	 return 4;
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_64byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_64byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_cmp_swap_64byte_print(ptr_struct, file, 0);
+void connectib_icmd_asn1_force_port_state_dump(const struct connectib_icmd_asn1_force_port_state *ptr_struct, FILE* file)
+{
+	connectib_icmd_asn1_force_port_state_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_32byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_32byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_port_admin_state_mng_pack(const struct connectib_icmd_port_admin_state_mng *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->set_get_);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(256, 32, i, 1024, 1);
-	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->portid);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(512, 32, i, 1024, 1);
-	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->mgmt_update_mask);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(768, 32, i, 1024, 1);
-	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->mgmt_update_data);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->klu_update_mask);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->klu_update_data);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->klu_state);
+
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reneg_on_change_set_mask);
+
+	offset = 55;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reneg_on_change_set_data);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->reneg_on_change_set_gvmi);
+
+	offset = 96;
+	connectib_pf_array_default_ones_pack(&(ptr_struct->reneg_on_change), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_drivers_mask_arr_pack(&(ptr_struct->drivers_mask), ptr_buff + offset/8);
+
+	offset = 224;
+	connectib_disable_mask_pack(&(ptr_struct->disable_mask), ptr_buff + offset/8);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_32byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_32byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_port_admin_state_mng_unpack(struct connectib_icmd_port_admin_state_mng *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 1024, 1);
-	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
+	offset = 31;
+	ptr_struct->set_get_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(256, 32, i, 1024, 1);
-	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 30;
+	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(512, 32, i, 1024, 1);
-	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 26;
+	ptr_struct->mgmt_update_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(768, 32, i, 1024, 1);
-	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 22;
+	ptr_struct->mgmt_update_data = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 16;
+	ptr_struct->klu_update_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 8;
+	ptr_struct->klu_update_data = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 2;
+	ptr_struct->klu_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 63;
+	ptr_struct->reneg_on_change_set_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 55;
+	ptr_struct->reneg_on_change_set_data = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 80;
+	ptr_struct->reneg_on_change_set_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 96;
+	connectib_pf_array_default_ones_unpack(&(ptr_struct->reneg_on_change), ptr_buff + offset/8);
+
+	offset = 160;
+	connectib_drivers_mask_arr_unpack(&(ptr_struct->drivers_mask), ptr_buff + offset/8);
+
+	offset = 224;
+	connectib_disable_mask_unpack(&(ptr_struct->disable_mask), ptr_buff + offset/8);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_32byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_32byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_port_admin_state_mng_print(const struct connectib_icmd_port_admin_state_mng *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_32byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_port_admin_state_mng ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_%03d:\n", i);
-	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "set_get_             : " UH_FMT "\n", ptr_struct->set_get_);
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data_%03d:\n", i);
-	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "portid               : " UH_FMT "\n", ptr_struct->portid);
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_mask_data_%03d:\n", i);
-	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "mgmt_update_mask     : " UH_FMT "\n", ptr_struct->mgmt_update_mask);
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_mask_data_%03d:\n", i);
-	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "mgmt_update_data     : " UH_FMT "\n", ptr_struct->mgmt_update_data);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "klu_update_mask      : " UH_FMT "\n", ptr_struct->klu_update_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "klu_update_data      : " UH_FMT "\n", ptr_struct->klu_update_data);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "klu_state            : " UH_FMT "\n", ptr_struct->klu_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reneg_on_change_set_mask : " UH_FMT "\n", ptr_struct->reneg_on_change_set_mask);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reneg_on_change_set_data : " UH_FMT "\n", ptr_struct->reneg_on_change_set_data);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reneg_on_change_set_gvmi : " UH_FMT "\n", ptr_struct->reneg_on_change_set_gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reneg_on_change:\n");
+	connectib_pf_array_default_ones_print(&(ptr_struct->reneg_on_change), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "drivers_mask:\n");
+	connectib_drivers_mask_arr_print(&(ptr_struct->drivers_mask), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "disable_mask:\n");
+	connectib_disable_mask_print(&(ptr_struct->disable_mask), file, indent_level + 1);
 
 }
 
-int connectib_wqe_extended_atomic_cmp_swap_32byte_size(void){
-	 return 128;
+int connectib_icmd_port_admin_state_mng_size(void)
+{
+	 return 32;
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_32byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_32byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_cmp_swap_32byte_print(ptr_struct, file, 0);
+void connectib_icmd_port_admin_state_mng_dump(const struct connectib_icmd_port_admin_state_mng *ptr_struct, FILE* file)
+{
+	connectib_icmd_port_admin_state_mng_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_16byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_16byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_packet_pacing_debug_info_pack(const struct connectib_icmd_get_packet_pacing_debug_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 512, 1);
-	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rate_limit_index);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(256, 32, i, 512, 1);
-	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rate_limit_active);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(384, 32, i, 512, 1);
-	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rate_kbits);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->burst_upper_bound_bytes);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->burst_bytes);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log2qp_rate_limiter_time);
+
+	for (i = 0; i < 20; i++) {
+	offset = adb2c_calc_array_field_address(160, 32, i, 800, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sq_index[i]);
 	}
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_16byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_16byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_packet_pacing_debug_info_unpack(struct connectib_icmd_get_packet_pacing_debug_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 512, 1);
-	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 8;
+	ptr_struct->rate_limit_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(256, 32, i, 512, 1);
-	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	ptr_struct->rate_limit_active = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(384, 32, i, 512, 1);
-	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->rate_kbits = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->burst_upper_bound_bytes = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->burst_bytes = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->log2qp_rate_limiter_time = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 20; i++) {
+	offset = adb2c_calc_array_field_address(160, 32, i, 800, 1);
+	ptr_struct->sq_index[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_16byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_16byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_packet_pacing_debug_info_print(const struct connectib_icmd_get_packet_pacing_debug_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_16byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_packet_pacing_debug_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_%03d:\n", i);
-	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data_%03d:\n", i);
-	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "rate_limit_index     : " UH_FMT "\n", ptr_struct->rate_limit_index);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_mask_data_%03d:\n", i);
-	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "rate_limit_active    : " UH_FMT "\n", ptr_struct->rate_limit_active);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_mask_data_%03d:\n", i);
-	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
+	fprintf(file, "rate_kbits           : " U32H_FMT "\n", ptr_struct->rate_kbits);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "burst_upper_bound_bytes : " U32H_FMT "\n", ptr_struct->burst_upper_bound_bytes);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "burst_bytes          : " U32H_FMT "\n", ptr_struct->burst_bytes);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2qp_rate_limiter_time : " U32H_FMT "\n", ptr_struct->log2qp_rate_limiter_time);
+
+	for (i = 0; i < 20; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sq_index_%03d        : " U32H_FMT "\n", i, ptr_struct->sq_index[i]);
 	}
 
 }
 
-int connectib_wqe_extended_atomic_cmp_swap_16byte_size(void){
-	 return 64;
+int connectib_icmd_get_packet_pacing_debug_info_size(void)
+{
+	 return 100;
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_16byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_16byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_cmp_swap_16byte_print(ptr_struct, file, 0);
+void connectib_icmd_get_packet_pacing_debug_info_dump(const struct connectib_icmd_get_packet_pacing_debug_info *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_packet_pacing_debug_info_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_8byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_8byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_map_event_eq_pack(const struct connectib_icmd_map_event_eq *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	connectib_swap_data_pack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(64, 32, i, 256, 1);
-	connectib_compare_data_pack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 15;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->set_get_);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 256, 1);
-	connectib_swap_mask_data_pack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->map_unmap_);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(192, 32, i, 256, 1);
-	connectib_compare_mask_data_pack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eqn);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->event_bitmask);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_8byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_8byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_map_event_eq_unpack(struct connectib_icmd_map_event_eq *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 256, 1);
-	connectib_swap_data_unpack(&(ptr_struct->swap_data[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(64, 32, i, 256, 1);
-	connectib_compare_data_unpack(&(ptr_struct->compare_data[i]), ptr_buff + offset/8);
-	}
+	offset = 15;
+	ptr_struct->set_get_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(128, 32, i, 256, 1);
-	connectib_swap_mask_data_unpack(&(ptr_struct->swap_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 14;
+	ptr_struct->map_unmap_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(192, 32, i, 256, 1);
-	connectib_compare_mask_data_unpack(&(ptr_struct->compare_mask_data[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	ptr_struct->eqn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->event_bitmask = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_8byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_8byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_map_event_eq_print(const struct connectib_icmd_map_event_eq *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_8byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_map_event_eq ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_%03d:\n", i);
-	connectib_swap_data_print(&(ptr_struct->swap_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data_%03d:\n", i);
-	connectib_compare_data_print(&(ptr_struct->compare_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "set_get_             : " UH_FMT "\n", ptr_struct->set_get_);
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_mask_data_%03d:\n", i);
-	connectib_swap_mask_data_print(&(ptr_struct->swap_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "map_unmap_           : " UH_FMT "\n", ptr_struct->map_unmap_);
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_mask_data_%03d:\n", i);
-	connectib_compare_mask_data_print(&(ptr_struct->compare_mask_data[i]), file, indent_level + 1);
-	}
+	fprintf(file, "eqn                  : " UH_FMT "\n", ptr_struct->eqn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "event_bitmask        : " U64H_FMT "\n", ptr_struct->event_bitmask);
 
 }
 
-int connectib_wqe_extended_atomic_cmp_swap_8byte_size(void){
-	 return 32;
+int connectib_icmd_map_event_eq_size(void)
+{
+	 return 16;
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_8byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_8byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_cmp_swap_8byte_print(ptr_struct, file, 0);
+void connectib_icmd_map_event_eq_dump(const struct connectib_icmd_map_event_eq *ptr_struct, FILE* file)
+{
+	connectib_icmd_map_event_eq_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_4byte_pack(const struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_internal_query_cap_pack(const struct connectib_icmd_internal_query_cap *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->swap_data);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->compare_data);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->opcode);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->swap_mask_data);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->compare_mask_data);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->opcode_exists_out);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_4byte_unpack(struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_internal_query_cap_unpack(struct connectib_icmd_internal_query_cap *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->swap_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->compare_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
-	ptr_struct->swap_mask_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->opcode = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	ptr_struct->compare_mask_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 32;
+	ptr_struct->opcode_exists_out = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_4byte_print(const struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_internal_query_cap_print(const struct connectib_icmd_internal_query_cap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap_4byte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_internal_query_cap ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data            : "U32H_FMT"\n", ptr_struct->swap_data);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data         : "U32H_FMT"\n", ptr_struct->compare_data);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_mask_data       : "U32H_FMT"\n", ptr_struct->swap_mask_data);
+	fprintf(file, "opcode               : " U32H_FMT "\n", ptr_struct->opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_mask_data    : "U32H_FMT"\n", ptr_struct->compare_mask_data);
+	fprintf(file, "opcode_exists_out    : " U32H_FMT "\n", ptr_struct->opcode_exists_out);
 
 }
 
-int connectib_wqe_extended_atomic_cmp_swap_4byte_size(void){
-	 return 16;
+int connectib_icmd_internal_query_cap_size(void)
+{
+	 return 8;
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_4byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, FILE* file) {
-	connectib_wqe_extended_atomic_cmp_swap_4byte_print(ptr_struct, file, 0);
+void connectib_icmd_internal_query_cap_dump(const struct connectib_icmd_internal_query_cap *ptr_struct, FILE* file)
+{
+	connectib_icmd_internal_query_cap_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_config_header_pack(const struct connectib_nv_config_header *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_detect_gvmi_in_qpc_and_icmc_pack(const struct connectib_icmd_detect_gvmi_in_qpc_and_icmc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature);
-
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->version_minor);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->version_major);
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpi);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_of_init_cfg_hdr);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->qpc_detection_valid);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_of_swaps);
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->icmc_detection_valid);
 
-	for (i=0; i < 6; i++) {
-	offset=adb2c_calc_array_field_address(96, 32, i, 512, 1);
-	connectib_nv_data_pointer_pack(&(ptr_struct->list_pointers[i]), ptr_buff + offset/8);
-	}
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->va_63_32);
 
-	offset=496;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->crc16);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->va_31_0);
 
 }
 
-void connectib_nv_config_header_unpack(struct connectib_nv_config_header *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_detect_gvmi_in_qpc_and_icmc_unpack(struct connectib_icmd_detect_gvmi_in_qpc_and_icmc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->signature = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=56;
-	ptr_struct->version_minor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=48;
-	ptr_struct->version_major = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 40;
+	ptr_struct->qpi = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=32;
-	ptr_struct->num_of_init_cfg_hdr = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	ptr_struct->qpc_detection_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->num_of_swaps = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 64;
+	ptr_struct->icmc_detection_valid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	for (i=0; i < 6; i++) {
-	offset=adb2c_calc_array_field_address(96, 32, i, 512, 1);
-	connectib_nv_data_pointer_unpack(&(ptr_struct->list_pointers[i]), ptr_buff + offset/8);
-	}
+	offset = 96;
+	ptr_struct->va_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=496;
-	ptr_struct->crc16 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 128;
+	ptr_struct->va_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_nv_config_header_print(const struct connectib_nv_config_header *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_detect_gvmi_in_qpc_and_icmc_print(const struct connectib_icmd_detect_gvmi_in_qpc_and_icmc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_config_header ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_detect_gvmi_in_qpc_and_icmc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "U32H_FMT"\n", ptr_struct->signature);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version_minor        : "UH_FMT"\n", ptr_struct->version_minor);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version_major        : "UH_FMT"\n", ptr_struct->version_major);
+	fprintf(file, "qpi                  : " UH_FMT "\n", ptr_struct->qpi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_init_cfg_hdr  : "UH_FMT"\n", ptr_struct->num_of_init_cfg_hdr);
+	fprintf(file, "qpc_detection_valid  : " UH_FMT "\n", ptr_struct->qpc_detection_valid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_swaps         : "U32H_FMT"\n", ptr_struct->num_of_swaps);
+	fprintf(file, "icmc_detection_valid : " UH_FMT "\n", ptr_struct->icmc_detection_valid);
 
-	for (i=0; i < 6; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "list_pointers_%03d:\n", i);
-	connectib_nv_data_pointer_print(&(ptr_struct->list_pointers[i]), file, indent_level + 1);
-	}
+	fprintf(file, "va_63_32             : " U32H_FMT "\n", ptr_struct->va_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "crc16                : "UH_FMT"\n", ptr_struct->crc16);
+	fprintf(file, "va_31_0              : " U32H_FMT "\n", ptr_struct->va_31_0);
 
 }
 
-int connectib_nv_config_header_size(void){
-	 return 64;
+int connectib_icmd_detect_gvmi_in_qpc_and_icmc_size(void)
+{
+	 return 32;
 }
 
-void connectib_nv_config_header_dump(const struct connectib_nv_config_header *ptr_struct, FILE* file) {
-	connectib_nv_config_header_print(ptr_struct, file, 0);
+void connectib_icmd_detect_gvmi_in_qpc_and_icmc_dump(const struct connectib_icmd_detect_gvmi_in_qpc_and_icmc *ptr_struct, FILE* file)
+{
+	connectib_icmd_detect_gvmi_in_qpc_and_icmc_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_image_pack(const struct connectib_fw_image *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_temp_warn_gen_event_pack(const struct connectib_icmd_temp_warn_gen_event *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->itoc_ptr);
-
-	offset=7;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->is_palladium);
-
-	offset=32;
-	connectib_jump_addresses_pack(&(ptr_struct->jump_addresses), ptr_buff + offset/8);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sensors_arr[i]);
+	}
 
 }
 
-void connectib_fw_image_unpack(struct connectib_fw_image *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_temp_warn_gen_event_unpack(struct connectib_icmd_temp_warn_gen_event *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
-	ptr_struct->itoc_ptr = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=7;
-	ptr_struct->is_palladium = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	connectib_jump_addresses_unpack(&(ptr_struct->jump_addresses), ptr_buff + offset/8);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
+	ptr_struct->sensors_arr[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_fw_image_print(const struct connectib_fw_image *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_temp_warn_gen_event_print(const struct connectib_icmd_temp_warn_gen_event *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_fw_image ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_temp_warn_gen_event ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "itoc_ptr             : "UH_FMT"\n", ptr_struct->itoc_ptr);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "is_palladium         : "UH_FMT"\n", ptr_struct->is_palladium);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "jump_addresses:\n");
-	connectib_jump_addresses_print(&(ptr_struct->jump_addresses), file, indent_level + 1);
+	fprintf(file, "sensors_arr_%03d     : " U32H_FMT "\n", i, ptr_struct->sensors_arr[i]);
+	}
 
 }
 
-int connectib_fw_image_size(void){
-	 return 32;
+int connectib_icmd_temp_warn_gen_event_size(void)
+{
+	 return 16;
 }
 
-void connectib_fw_image_dump(const struct connectib_fw_image *ptr_struct, FILE* file) {
-	connectib_fw_image_print(ptr_struct, file, 0);
+void connectib_icmd_temp_warn_gen_event_dump(const struct connectib_icmd_temp_warn_gen_event *ptr_struct, FILE* file)
+{
+	connectib_icmd_temp_warn_gen_event_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_cfg_golan_pack(const struct connectib_pcie_cfg_golan *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_nodnic_queue_info_pack(const struct connectib_icmd_access_register_nodnic_queue_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_max_speed_supported);
-
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->pcie_max_width_supported);
-
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->drop_loopback_slave_en);
-
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_automatic_reversal);
-
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->upconfigure_capable);
-
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->px_tx_reversal);
-
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->polling_compliance_en);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pcie_center_phase_optimization_en);
-
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->handle_bar_miss_error_by_cr_handler_en);
-
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dc_ballance_en);
-
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->receiver_detect_en);
-
-	offset=3;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->receiver_detect_time);
-
-	offset=2;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->slot_clock_cfg);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dynamic_pll_manage_en);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->nodnic_idx);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->static_width_reduction_en);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=63;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->do_mixer0_calibration_optimized);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->send0_qpi);
 
-	offset=57;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->do_mixer0_calibration_delta);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->send1_qpi);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->first_iteration_calibration_mask);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rcv0_qpi);
 
-	offset=64;
-	connectib_pcie_serdes_cfg_pack(&(ptr_struct->serdes_cfg), ptr_buff + offset/8);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rcv1_qpi);
 
-	offset=320;
-	connectib_pcie_equalization_and_eye_pack(&(ptr_struct->pcie_equalization_and_eye), ptr_buff + offset/8);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cqi);
 
-	offset=736;
-	connectib_pcie_debug_cap_pack(&(ptr_struct->pcie_debug_cap), ptr_buff + offset/8);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->eqi);
 
-	offset=768;
-	connectib_pcie_tx_adaptation_cfg_pack(&(ptr_struct->tx_adaptation_cfg), ptr_buff + offset/8);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->drop_qpi);
 
-	offset=896;
-	connectib_pcie_rx_adaptation_cfg_pack(&(ptr_struct->rx_adaptation_cfg), ptr_buff + offset/8);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->status);
 
 }
 
-void connectib_pcie_cfg_golan_unpack(struct connectib_pcie_cfg_golan *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_nodnic_queue_info_unpack(struct connectib_icmd_access_register_nodnic_queue_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
-	ptr_struct->pcie_max_speed_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=23;
-	ptr_struct->pcie_max_width_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=22;
-	ptr_struct->drop_loopback_slave_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=21;
-	ptr_struct->disable_automatic_reversal = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=19;
-	ptr_struct->upconfigure_capable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=18;
-	ptr_struct->px_tx_reversal = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=17;
-	ptr_struct->polling_compliance_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=16;
-	ptr_struct->pcie_center_phase_optimization_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=14;
-	ptr_struct->handle_bar_miss_error_by_cr_handler_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=13;
-	ptr_struct->dc_ballance_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=12;
-	ptr_struct->receiver_detect_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=3;
-	ptr_struct->receiver_detect_time = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
-
-	offset=2;
-	ptr_struct->slot_clock_cfg = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=1;
-	ptr_struct->dynamic_pll_manage_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 24;
+	ptr_struct->nodnic_idx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->static_width_reduction_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=63;
-	ptr_struct->do_mixer0_calibration_optimized = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->send0_qpi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=57;
-	ptr_struct->do_mixer0_calibration_delta = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 64;
+	ptr_struct->send1_qpi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	ptr_struct->first_iteration_calibration_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 96;
+	ptr_struct->rcv0_qpi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
-	connectib_pcie_serdes_cfg_unpack(&(ptr_struct->serdes_cfg), ptr_buff + offset/8);
+	offset = 128;
+	ptr_struct->rcv1_qpi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
-	connectib_pcie_equalization_and_eye_unpack(&(ptr_struct->pcie_equalization_and_eye), ptr_buff + offset/8);
+	offset = 160;
+	ptr_struct->cqi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=736;
-	connectib_pcie_debug_cap_unpack(&(ptr_struct->pcie_debug_cap), ptr_buff + offset/8);
+	offset = 192;
+	ptr_struct->eqi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=768;
-	connectib_pcie_tx_adaptation_cfg_unpack(&(ptr_struct->tx_adaptation_cfg), ptr_buff + offset/8);
+	offset = 224;
+	ptr_struct->drop_qpi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=896;
-	connectib_pcie_rx_adaptation_cfg_unpack(&(ptr_struct->rx_adaptation_cfg), ptr_buff + offset/8);
+	offset = 256;
+	ptr_struct->status = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_pcie_cfg_golan_print(const struct connectib_pcie_cfg_golan *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_nodnic_queue_info_print(const struct connectib_icmd_access_register_nodnic_queue_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pcie_cfg_golan ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_nodnic_queue_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_max_speed_supported : "UH_FMT"\n", ptr_struct->pcie_max_speed_supported);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_max_width_supported : "UH_FMT"\n", ptr_struct->pcie_max_width_supported);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "drop_loopback_slave_en : "UH_FMT"\n", ptr_struct->drop_loopback_slave_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "disable_automatic_reversal : "UH_FMT"\n", ptr_struct->disable_automatic_reversal);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "upconfigure_capable  : "UH_FMT"\n", ptr_struct->upconfigure_capable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "px_tx_reversal       : "UH_FMT"\n", ptr_struct->px_tx_reversal);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "polling_compliance_en : "UH_FMT"\n", ptr_struct->polling_compliance_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_center_phase_optimization_en : "UH_FMT"\n", ptr_struct->pcie_center_phase_optimization_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "handle_bar_miss_error_by_cr_handler_en : "UH_FMT"\n", ptr_struct->handle_bar_miss_error_by_cr_handler_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_ballance_en       : "UH_FMT"\n", ptr_struct->dc_ballance_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "receiver_detect_en   : "UH_FMT"\n", ptr_struct->receiver_detect_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "receiver_detect_time : "UH_FMT"\n", ptr_struct->receiver_detect_time);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slot_clock_cfg       : "UH_FMT"\n", ptr_struct->slot_clock_cfg);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dynamic_pll_manage_en : "UH_FMT"\n", ptr_struct->dynamic_pll_manage_en);
+	fprintf(file, "nodnic_idx           : " UH_FMT "\n", ptr_struct->nodnic_idx);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "static_width_reduction_en : "UH_FMT"\n", ptr_struct->static_width_reduction_en);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "do_mixer0_calibration_optimized : "UH_FMT"\n", ptr_struct->do_mixer0_calibration_optimized);
+	fprintf(file, "send0_qpi            : " U32H_FMT "\n", ptr_struct->send0_qpi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "do_mixer0_calibration_delta : "UH_FMT"\n", ptr_struct->do_mixer0_calibration_delta);
+	fprintf(file, "send1_qpi            : " U32H_FMT "\n", ptr_struct->send1_qpi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_iteration_calibration_mask : "UH_FMT"\n", ptr_struct->first_iteration_calibration_mask);
+	fprintf(file, "rcv0_qpi             : " U32H_FMT "\n", ptr_struct->rcv0_qpi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "serdes_cfg:\n");
-	connectib_pcie_serdes_cfg_print(&(ptr_struct->serdes_cfg), file, indent_level + 1);
+	fprintf(file, "rcv1_qpi             : " U32H_FMT "\n", ptr_struct->rcv1_qpi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_equalization_and_eye:\n");
-	connectib_pcie_equalization_and_eye_print(&(ptr_struct->pcie_equalization_and_eye), file, indent_level + 1);
+	fprintf(file, "cqi                  : " U32H_FMT "\n", ptr_struct->cqi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_debug_cap:\n");
-	connectib_pcie_debug_cap_print(&(ptr_struct->pcie_debug_cap), file, indent_level + 1);
+	fprintf(file, "eqi                  : " U32H_FMT "\n", ptr_struct->eqi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_adaptation_cfg:\n");
-	connectib_pcie_tx_adaptation_cfg_print(&(ptr_struct->tx_adaptation_cfg), file, indent_level + 1);
+	fprintf(file, "drop_qpi             : " U32H_FMT "\n", ptr_struct->drop_qpi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_adaptation_cfg:\n");
-	connectib_pcie_rx_adaptation_cfg_print(&(ptr_struct->rx_adaptation_cfg), file, indent_level + 1);
+	fprintf(file, "status               : " U32H_FMT "\n", ptr_struct->status);
 
 }
 
-int connectib_pcie_cfg_golan_size(void){
-	 return 192;
+int connectib_icmd_access_register_nodnic_queue_info_size(void)
+{
+	 return 64;
 }
 
-void connectib_pcie_cfg_golan_dump(const struct connectib_pcie_cfg_golan *ptr_struct, FILE* file) {
-	connectib_pcie_cfg_golan_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_nodnic_queue_info_dump(const struct connectib_icmd_access_register_nodnic_queue_info *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_nodnic_queue_info_print(ptr_struct, file, 0);
 }
 
-void connectib_vpd_eeprom_info_pack(const struct connectib_vpd_eeprom_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_set_get_debug_pf_mac_pack(const struct connectib_icmd_set_get_debug_pf_mac *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vpd_size);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=11;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log2_vpd_eeprom_size);
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_id);
 
-	offset=5;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->vpd_num_eeproms);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->host_id);
 
-	offset=4;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vpd_eeprom);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mac_high);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mac_low);
+
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pf_idx_in_host_port);
 
 }
 
-void connectib_vpd_eeprom_info_unpack(struct connectib_vpd_eeprom_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_set_get_debug_pf_mac_unpack(struct connectib_icmd_set_get_debug_pf_mac *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->vpd_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=11;
-	ptr_struct->log2_vpd_eeprom_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 56;
+	ptr_struct->port_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=5;
-	ptr_struct->vpd_num_eeproms = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 32;
+	ptr_struct->host_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=4;
-	ptr_struct->vpd_eeprom = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->mac_high = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->mac_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 152;
+	ptr_struct->pf_idx_in_host_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_vpd_eeprom_info_print(const struct connectib_vpd_eeprom_info *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_set_get_debug_pf_mac_print(const struct connectib_icmd_set_get_debug_pf_mac *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_vpd_eeprom_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_set_get_debug_pf_mac ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_size             : "UH_FMT"\n", ptr_struct->vpd_size);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_id              : " UH_FMT "\n", ptr_struct->port_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_vpd_eeprom_size : "UH_FMT"\n", ptr_struct->log2_vpd_eeprom_size);
+	fprintf(file, "host_id              : " UH_FMT "\n", ptr_struct->host_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_num_eeproms      : "UH_FMT"\n", ptr_struct->vpd_num_eeproms);
+	fprintf(file, "mac_high             : " U32H_FMT "\n", ptr_struct->mac_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_eeprom           : "UH_FMT"\n", ptr_struct->vpd_eeprom);
+	fprintf(file, "mac_low              : " U32H_FMT "\n", ptr_struct->mac_low);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pf_idx_in_host_port  : " UH_FMT "\n", ptr_struct->pf_idx_in_host_port);
 
 }
 
-int connectib_vpd_eeprom_info_size(void){
-	 return 8;
+int connectib_icmd_set_get_debug_pf_mac_size(void)
+{
+	 return 32;
 }
 
-void connectib_vpd_eeprom_info_dump(const struct connectib_vpd_eeprom_info *ptr_struct, FILE* file) {
-	connectib_vpd_eeprom_info_print(ptr_struct, file, 0);
+void connectib_icmd_set_get_debug_pf_mac_dump(const struct connectib_icmd_set_get_debug_pf_mac *ptr_struct, FILE* file)
+{
+	connectib_icmd_set_get_debug_pf_mac_print(ptr_struct, file, 0);
 }
 
-void connectib_ini_gpios_golan_pack(const struct connectib_ini_gpios_golan *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_pf_ctx_pack(const struct connectib_icmd_get_pf_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_gpio_functions_pack(&(ptr_struct->functions), ptr_buff + offset/8);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->portid);
 
-	offset=672;
-	connectib_gpio_configurations_pack(&(ptr_struct->configurations), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pf_gvmi);
+
+	offset = 256;
+	connectib_vport_shadow_pack(&(ptr_struct->vport_shadow), ptr_buff + offset/8);
+
+	offset = 512;
+	connectib_vport_info_pack(&(ptr_struct->vport_info), ptr_buff + offset/8);
 
 }
 
-void connectib_ini_gpios_golan_unpack(struct connectib_ini_gpios_golan *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_pf_ctx_unpack(struct connectib_icmd_get_pf_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_gpio_functions_unpack(&(ptr_struct->functions), ptr_buff + offset/8);
+	offset = 31;
+	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=672;
-	connectib_gpio_configurations_unpack(&(ptr_struct->configurations), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 48;
+	ptr_struct->pf_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 256;
+	connectib_vport_shadow_unpack(&(ptr_struct->vport_shadow), ptr_buff + offset/8);
+
+	offset = 512;
+	connectib_vport_info_unpack(&(ptr_struct->vport_info), ptr_buff + offset/8);
 
 }
 
-void connectib_ini_gpios_golan_print(const struct connectib_ini_gpios_golan *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_pf_ctx_print(const struct connectib_icmd_get_pf_ctx *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_ini_gpios_golan ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_pf_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "functions:\n");
-	connectib_gpio_functions_print(&(ptr_struct->functions), file, indent_level + 1);
+	fprintf(file, "portid               : " UH_FMT "\n", ptr_struct->portid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "configurations:\n");
-	connectib_gpio_configurations_print(&(ptr_struct->configurations), file, indent_level + 1);
+	fprintf(file, "vport_num            : " UH_FMT "\n", ptr_struct->vport_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pf_gvmi              : " UH_FMT "\n", ptr_struct->pf_gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_shadow:\n");
+	connectib_vport_shadow_print(&(ptr_struct->vport_shadow), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_info:\n");
+	connectib_vport_info_print(&(ptr_struct->vport_info), file, indent_level + 1);
 
 }
 
-int connectib_ini_gpios_golan_size(void){
-	 return 132;
+int connectib_icmd_get_pf_ctx_size(void)
+{
+	 return 128;
 }
 
-void connectib_ini_gpios_golan_dump(const struct connectib_ini_gpios_golan *ptr_struct, FILE* file) {
-	connectib_ini_gpios_golan_print(ptr_struct, file, 0);
+void connectib_icmd_get_pf_ctx_dump(const struct connectib_icmd_get_pf_ctx *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_pf_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_i2c_devices_db_pack(const struct connectib_i2c_devices_db *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_ocbb_get_pci_api_pack(const struct connectib_icmd_ocbb_get_pci_api *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 640, 1);
-	connectib_i2c_device_entry_pack(&(ptr_struct->device[i]), ptr_buff + offset/8);
-	}
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->func_index);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->host);
+
+	offset = 32;
+	connectib_ocbb_pci_data_pack(&(ptr_struct->output_data), ptr_buff + offset/8);
 
 }
 
-void connectib_i2c_devices_db_unpack(struct connectib_i2c_devices_db *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_ocbb_get_pci_api_unpack(struct connectib_icmd_ocbb_get_pci_api *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 640, 1);
-	connectib_i2c_device_entry_unpack(&(ptr_struct->device[i]), ptr_buff + offset/8);
-	}
+	offset = 24;
+	ptr_struct->func_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	connectib_ocbb_pci_data_unpack(&(ptr_struct->output_data), ptr_buff + offset/8);
 
 }
 
-void connectib_i2c_devices_db_print(const struct connectib_i2c_devices_db *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_ocbb_get_pci_api_print(const struct connectib_icmd_ocbb_get_pci_api *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_i2c_devices_db ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_ocbb_get_pci_api ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_%03d:\n", i);
-	connectib_i2c_device_entry_print(&(ptr_struct->device[i]), file, indent_level + 1);
-	}
+	fprintf(file, "func_index           : " UH_FMT "\n", ptr_struct->func_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "host                 : " UH_FMT "\n", ptr_struct->host);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "output_data:\n");
+	connectib_ocbb_pci_data_print(&(ptr_struct->output_data), file, indent_level + 1);
 
 }
 
-int connectib_i2c_devices_db_size(void){
-	 return 80;
+int connectib_icmd_ocbb_get_pci_api_size(void)
+{
+	 return 48;
 }
 
-void connectib_i2c_devices_db_dump(const struct connectib_i2c_devices_db *ptr_struct, FILE* file) {
-	connectib_i2c_devices_db_print(ptr_struct, file, 0);
+void connectib_icmd_ocbb_get_pci_api_dump(const struct connectib_icmd_ocbb_get_pci_api *ptr_struct, FILE* file)
+{
+	connectib_icmd_ocbb_get_pci_api_print(ptr_struct, file, 0);
 }
 
-void connectib_module_config_pack(const struct connectib_module_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_ocbb_rndc_get_core_api_pack(const struct connectib_icmd_ocbb_rndc_get_core_api *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 64, 1);
-	connectib_module_config_st_pack(&(ptr_struct->module[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	connectib_ocbb_fields_pack(&(ptr_struct->output_data), ptr_buff + offset/8);
+
+	offset = 4120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->portid);
+
+	offset = 4096;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->host_ix);
 
 }
 
-void connectib_module_config_unpack(struct connectib_module_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_ocbb_rndc_get_core_api_unpack(struct connectib_icmd_ocbb_rndc_get_core_api *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 64, 1);
-	connectib_module_config_st_unpack(&(ptr_struct->module[i]), ptr_buff + offset/8);
-	}
+	offset = 0;
+	connectib_ocbb_fields_unpack(&(ptr_struct->output_data), ptr_buff + offset/8);
+
+	offset = 4120;
+	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 4096;
+	ptr_struct->host_ix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_module_config_print(const struct connectib_module_config *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_ocbb_rndc_get_core_api_print(const struct connectib_icmd_ocbb_rndc_get_core_api *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_module_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_ocbb_rndc_get_core_api ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "module_%03d:\n", i);
-	connectib_module_config_st_print(&(ptr_struct->module[i]), file, indent_level + 1);
-	}
+	fprintf(file, "output_data:\n");
+	connectib_ocbb_fields_print(&(ptr_struct->output_data), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "portid               : " UH_FMT "\n", ptr_struct->portid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "host_ix              : " UH_FMT "\n", ptr_struct->host_ix);
 
 }
 
-int connectib_module_config_size(void){
-	 return 8;
+int connectib_icmd_ocbb_rndc_get_core_api_size(void)
+{
+	 return 768;
 }
 
-void connectib_module_config_dump(const struct connectib_module_config *ptr_struct, FILE* file) {
-	connectib_module_config_print(ptr_struct, file, 0);
+void connectib_icmd_ocbb_rndc_get_core_api_dump(const struct connectib_icmd_ocbb_rndc_get_core_api *ptr_struct, FILE* file)
+{
+	connectib_icmd_ocbb_rndc_get_core_api_print(ptr_struct, file, 0);
 }
 
-void connectib_thermal_config_golan_pack(const struct connectib_thermal_config_golan *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_pre_define_module_db_pack(const struct connectib_icmd_pre_define_module_db *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->warm2cold_threshold);
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cold2warm_threshold);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->fw_shut_down_threshold);
-
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_shut_down_en);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->gpio_enable);
-
-	offset=63;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trap_supported);
-
-	offset=62;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->trap_enable);
-
-	offset=61;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fatal_enable);
-
-	offset=52;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->active_ext_sensors);
-
-	offset=45;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->a2d_compare_mask);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module);
 
-	offset=42;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->a2d_measure_mask);
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->cable_type);
 
-	offset=39;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->a2d_compare_and_measure_mask);
+	offset = 32;
+	connectib_module_db_pre_define_st_pack(&(ptr_struct->module_database), ptr_buff + offset/8);
 
 }
 
-void connectib_thermal_config_golan_unpack(struct connectib_thermal_config_golan *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_pre_define_module_db_unpack(struct connectib_icmd_pre_define_module_db *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->warm2cold_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=16;
-	ptr_struct->cold2warm_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->fw_shut_down_threshold = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=1;
-	ptr_struct->fw_shut_down_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->gpio_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=63;
-	ptr_struct->trap_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=62;
-	ptr_struct->trap_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=61;
-	ptr_struct->fatal_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=52;
-	ptr_struct->active_ext_sensors = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=45;
-	ptr_struct->a2d_compare_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 24;
+	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=42;
-	ptr_struct->a2d_measure_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 21;
+	ptr_struct->cable_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=39;
-	ptr_struct->a2d_compare_and_measure_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 32;
+	connectib_module_db_pre_define_st_unpack(&(ptr_struct->module_database), ptr_buff + offset/8);
 
 }
 
-void connectib_thermal_config_golan_print(const struct connectib_thermal_config_golan *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_pre_define_module_db_print(const struct connectib_icmd_pre_define_module_db *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_thermal_config_golan ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_pre_define_module_db ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "warm2cold_threshold  : "UH_FMT"\n", ptr_struct->warm2cold_threshold);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cold2warm_threshold  : "UH_FMT"\n", ptr_struct->cold2warm_threshold);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_shut_down_threshold : "UH_FMT"\n", ptr_struct->fw_shut_down_threshold);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_shut_down_en      : "UH_FMT"\n", ptr_struct->fw_shut_down_en);
+	fprintf(file, "cable_type           : " UH_FMT "\n", ptr_struct->cable_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gpio_enable          : "UH_FMT"\n", ptr_struct->gpio_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trap_supported       : "UH_FMT"\n", ptr_struct->trap_supported);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "trap_enable          : "UH_FMT"\n", ptr_struct->trap_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fatal_enable         : "UH_FMT"\n", ptr_struct->fatal_enable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "active_ext_sensors   : "UH_FMT"\n", ptr_struct->active_ext_sensors);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a2d_compare_mask     : %s ("UH_FMT")\n", (ptr_struct->a2d_compare_mask == 0 ? ("NONE") : ((ptr_struct->a2d_compare_mask == 1 ? ("IOPX") : ((ptr_struct->a2d_compare_mask == 2 ? ("IOPL") : ((ptr_struct->a2d_compare_mask == 4 ? ("YU") : ("unknown")))))))), ptr_struct->a2d_compare_mask);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a2d_measure_mask     : "UH_FMT"\n", ptr_struct->a2d_measure_mask);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a2d_compare_and_measure_mask : "UH_FMT"\n", ptr_struct->a2d_compare_and_measure_mask);
+	fprintf(file, "module_database:\n");
+	connectib_module_db_pre_define_st_print(&(ptr_struct->module_database), file, indent_level + 1);
 
 }
 
-int connectib_thermal_config_golan_size(void){
-	 return 8;
+int connectib_icmd_pre_define_module_db_size(void)
+{
+	 return 60;
 }
 
-void connectib_thermal_config_golan_dump(const struct connectib_thermal_config_golan *ptr_struct, FILE* file) {
-	connectib_thermal_config_golan_print(ptr_struct, file, 0);
+void connectib_icmd_pre_define_module_db_dump(const struct connectib_icmd_pre_define_module_db *ptr_struct, FILE* file)
+{
+	connectib_icmd_pre_define_module_db_print(ptr_struct, file, 0);
 }
 
-void connectib_system_mng_pack(const struct connectib_system_mng *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_pmlp_query_pack(const struct connectib_icmd_pmlp_query *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_swap);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->width);
 
-}
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->local_port);
 
-void connectib_system_mng_unpack(struct connectib_system_mng *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module0);
 
-	offset=31;
-	ptr_struct->port_swap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 46;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lane0);
 
-}
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module1);
 
-void connectib_system_mng_print(const struct connectib_system_mng *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_system_mng ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 78;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lane1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_swap            : "UH_FMT"\n", ptr_struct->port_swap);
+	offset = 120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module2);
 
-}
+	offset = 110;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lane2);
 
-int connectib_system_mng_size(void){
-	 return 4;
-}
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module3);
+
+	offset = 142;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->lane3);
 
-void connectib_system_mng_dump(const struct connectib_system_mng *ptr_struct, FILE* file) {
-	connectib_system_mng_print(ptr_struct, file, 0);
 }
 
-void connectib_power_pack(const struct connectib_power *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_pmlp_query_unpack(struct connectib_icmd_pmlp_query *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=1;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->fuse_dvfs);
+	offset = 24;
+	ptr_struct->width = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fuse_dvfs_force);
+	offset = 8;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	connectib_iopl_power_pack(&(ptr_struct->iopl_power), ptr_buff + offset/8);
+	offset = 56;
+	ptr_struct->module0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	connectib_iopx_power_pack(&(ptr_struct->iopx_power), ptr_buff + offset/8);
+	offset = 46;
+	ptr_struct->lane0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-}
+	offset = 88;
+	ptr_struct->module1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-void connectib_power_unpack(struct connectib_power *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	offset = 78;
+	ptr_struct->lane1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=1;
-	ptr_struct->fuse_dvfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 120;
+	ptr_struct->module2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
-	ptr_struct->fuse_dvfs_force = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 110;
+	ptr_struct->lane2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=32;
-	connectib_iopl_power_unpack(&(ptr_struct->iopl_power), ptr_buff + offset/8);
+	offset = 152;
+	ptr_struct->module3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	connectib_iopx_power_unpack(&(ptr_struct->iopx_power), ptr_buff + offset/8);
+	offset = 142;
+	ptr_struct->lane3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
 }
 
-void connectib_power_print(const struct connectib_power *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_pmlp_query_print(const struct connectib_icmd_pmlp_query *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_power ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_pmlp_query ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fuse_dvfs            : "UH_FMT"\n", ptr_struct->fuse_dvfs);
+	fprintf(file, "width                : " UH_FMT "\n", ptr_struct->width);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fuse_dvfs_force      : "UH_FMT"\n", ptr_struct->fuse_dvfs_force);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "iopl_power:\n");
-	connectib_iopl_power_print(&(ptr_struct->iopl_power), file, indent_level + 1);
+	fprintf(file, "module0              : " UH_FMT "\n", ptr_struct->module0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "iopx_power:\n");
-	connectib_iopx_power_print(&(ptr_struct->iopx_power), file, indent_level + 1);
+	fprintf(file, "lane0                : " UH_FMT "\n", ptr_struct->lane0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module1              : " UH_FMT "\n", ptr_struct->module1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane1                : " UH_FMT "\n", ptr_struct->lane1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module2              : " UH_FMT "\n", ptr_struct->module2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane2                : " UH_FMT "\n", ptr_struct->lane2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module3              : " UH_FMT "\n", ptr_struct->module3);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "lane3                : " UH_FMT "\n", ptr_struct->lane3);
 
 }
 
-int connectib_power_size(void){
-	 return 16;
+int connectib_icmd_pmlp_query_size(void)
+{
+	 return 36;
 }
 
-void connectib_power_dump(const struct connectib_power *ptr_struct, FILE* file) {
-	connectib_power_print(ptr_struct, file, 0);
+void connectib_icmd_pmlp_query_dump(const struct connectib_icmd_pmlp_query *ptr_struct, FILE* file)
+{
+	connectib_icmd_pmlp_query_print(ptr_struct, file, 0);
 }
 
-void connectib_port_serdes_pack(const struct connectib_port_serdes *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_fw_driver_version_pack(const struct connectib_icmd_get_fw_driver_version *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_phy_hw_main_config_ip_pack(&(ptr_struct->phy_hw_main_config_ip), ptr_buff + offset/8);
+	offset = 0;
+	connectib_fw_driver_version_pack(&(ptr_struct->fw_driver_version), ptr_buff + offset/8);
 
-	offset=11904;
-	connectib_logic_serdes_mapping_node_ini_pack(&(ptr_struct->logic_serdes_mapping_node_ini), ptr_buff + offset/8);
+	offset = 543;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->use_hix_func_num);
 
-	offset=12448;
-	connectib_pll_params_pack(&(ptr_struct->pll_params), ptr_buff + offset/8);
+	offset = 512;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(12736, 128, i, 14336, 1);
-	connectib_port_mlpn_db_pack(&(ptr_struct->mlpn_port[i]), ptr_buff + offset/8);
-	}
+	offset = 568;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->func_num);
+
+	offset = 560;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->host_ix);
 
 }
 
-void connectib_port_serdes_unpack(struct connectib_port_serdes *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_fw_driver_version_unpack(struct connectib_icmd_get_fw_driver_version *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_phy_hw_main_config_ip_unpack(&(ptr_struct->phy_hw_main_config_ip), ptr_buff + offset/8);
+	offset = 0;
+	connectib_fw_driver_version_unpack(&(ptr_struct->fw_driver_version), ptr_buff + offset/8);
 
-	offset=11904;
-	connectib_logic_serdes_mapping_node_ini_unpack(&(ptr_struct->logic_serdes_mapping_node_ini), ptr_buff + offset/8);
+	offset = 543;
+	ptr_struct->use_hix_func_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=12448;
-	connectib_pll_params_unpack(&(ptr_struct->pll_params), ptr_buff + offset/8);
+	offset = 512;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(12736, 128, i, 14336, 1);
-	connectib_port_mlpn_db_unpack(&(ptr_struct->mlpn_port[i]), ptr_buff + offset/8);
-	}
+	offset = 568;
+	ptr_struct->func_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 560;
+	ptr_struct->host_ix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_port_serdes_print(const struct connectib_port_serdes *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_fw_driver_version_print(const struct connectib_icmd_get_fw_driver_version *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_port_serdes ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_fw_driver_version ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy_hw_main_config_ip:\n");
-	connectib_phy_hw_main_config_ip_print(&(ptr_struct->phy_hw_main_config_ip), file, indent_level + 1);
+	fprintf(file, "fw_driver_version:\n");
+	connectib_fw_driver_version_print(&(ptr_struct->fw_driver_version), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "logic_serdes_mapping_node_ini:\n");
-	connectib_logic_serdes_mapping_node_ini_print(&(ptr_struct->logic_serdes_mapping_node_ini), file, indent_level + 1);
+	fprintf(file, "use_hix_func_num     : " UH_FMT "\n", ptr_struct->use_hix_func_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pll_params:\n");
-	connectib_pll_params_print(&(ptr_struct->pll_params), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mlpn_port_%03d:\n", i);
-	connectib_port_mlpn_db_print(&(ptr_struct->mlpn_port[i]), file, indent_level + 1);
-	}
+	fprintf(file, "func_num             : " UH_FMT "\n", ptr_struct->func_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "host_ix              : " UH_FMT "\n", ptr_struct->host_ix);
 
 }
 
-int connectib_port_serdes_size(void){
-	 return 1792;
+int connectib_icmd_get_fw_driver_version_size(void)
+{
+	 return 80;
 }
 
-void connectib_port_serdes_dump(const struct connectib_port_serdes *ptr_struct, FILE* file) {
-	connectib_port_serdes_print(ptr_struct, file, 0);
+void connectib_icmd_get_fw_driver_version_dump(const struct connectib_icmd_get_fw_driver_version *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fw_driver_version_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_config_boot_pack(const struct connectib_nv_config_boot *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_set_oc_int_pack(const struct connectib_icmd_set_oc_int *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_nv_config_boot_global_pack(&(ptr_struct->global), ptr_buff + offset/8);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->module);
+
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_gpio_down);
 
 }
 
-void connectib_nv_config_boot_unpack(struct connectib_nv_config_boot *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_set_oc_int_unpack(struct connectib_icmd_set_oc_int *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_nv_config_boot_global_unpack(&(ptr_struct->global), ptr_buff + offset/8);
+	offset = 31;
+	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 30;
+	ptr_struct->force_gpio_down = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_nv_config_boot_print(const struct connectib_nv_config_boot *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_set_oc_int_print(const struct connectib_icmd_set_oc_int *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_config_boot ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_set_oc_int ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "global:\n");
-	connectib_nv_config_boot_global_print(&(ptr_struct->global), file, indent_level + 1);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "force_gpio_down      : " UH_FMT "\n", ptr_struct->force_gpio_down);
 
 }
 
-int connectib_nv_config_boot_size(void){
-	 return 64;
+int connectib_icmd_set_oc_int_size(void)
+{
+	 return 4;
 }
 
-void connectib_nv_config_boot_dump(const struct connectib_nv_config_boot *ptr_struct, FILE* file) {
-	connectib_nv_config_boot_print(ptr_struct, file, 0);
+void connectib_icmd_set_oc_int_dump(const struct connectib_icmd_set_oc_int *ptr_struct, FILE* file)
+{
+	connectib_icmd_set_oc_int_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_power_management_pack(const struct connectib_pcie_power_management *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_gen_assert_pack(const struct connectib_icmd_gen_assert *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->delay_in_recovery_lock);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->value);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pcie_l1_en);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->type);
 
 }
 
-void connectib_pcie_power_management_unpack(struct connectib_pcie_power_management *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_gen_assert_unpack(struct connectib_icmd_gen_assert *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->delay_in_recovery_lock = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->value = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=15;
-	ptr_struct->pcie_l1_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_pcie_power_management_print(const struct connectib_pcie_power_management *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_gen_assert_print(const struct connectib_icmd_gen_assert *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pcie_power_management ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_gen_assert ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "delay_in_recovery_lock : "UH_FMT"\n", ptr_struct->delay_in_recovery_lock);
+	fprintf(file, "value                : " U32H_FMT "\n", ptr_struct->value);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_l1_en           : "UH_FMT"\n", ptr_struct->pcie_l1_en);
+	fprintf(file, "type                 : " U32H_FMT "\n", ptr_struct->type);
 
 }
 
-int connectib_pcie_power_management_size(void){
-	 return 4;
+int connectib_icmd_gen_assert_size(void)
+{
+	 return 8;
 }
 
-void connectib_pcie_power_management_dump(const struct connectib_pcie_power_management *ptr_struct, FILE* file) {
-	connectib_pcie_power_management_print(ptr_struct, file, 0);
+void connectib_icmd_gen_assert_dump(const struct connectib_icmd_gen_assert *ptr_struct, FILE* file)
+{
+	connectib_icmd_gen_assert_print(ptr_struct, file, 0);
 }
 
-void connectib_pci_cfg_pack(const struct connectib_pci_cfg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_read_write_varb_ctx_pack(const struct connectib_icmd_read_write_varb_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_pci_cfg_space_pack(&(ptr_struct->pci_cfg_space), ptr_buff + offset/8);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=2048;
-	connectib_pciex_ext_cfg_space_pack(&(ptr_struct->pciex_ext_cfg_space), ptr_buff + offset/8);
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->arb_id);
+
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 32;
+	connectib_vqos_arb_ctx_pack(&(ptr_struct->data), ptr_buff + offset/8);
+
+	offset = 288;
+	connectib_vqos_arb_ctx_pack(&(ptr_struct->mask), ptr_buff + offset/8);
 
 }
 
-void connectib_pci_cfg_unpack(struct connectib_pci_cfg *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_write_varb_ctx_unpack(struct connectib_icmd_read_write_varb_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_pci_cfg_space_unpack(&(ptr_struct->pci_cfg_space), ptr_buff + offset/8);
+	offset = 31;
+	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=2048;
-	connectib_pciex_ext_cfg_space_unpack(&(ptr_struct->pciex_ext_cfg_space), ptr_buff + offset/8);
+	offset = 19;
+	ptr_struct->arb_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 7;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
+
+	offset = 32;
+	connectib_vqos_arb_ctx_unpack(&(ptr_struct->data), ptr_buff + offset/8);
+
+	offset = 288;
+	connectib_vqos_arb_ctx_unpack(&(ptr_struct->mask), ptr_buff + offset/8);
 
 }
 
-void connectib_pci_cfg_print(const struct connectib_pci_cfg *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_write_varb_ctx_print(const struct connectib_icmd_read_write_varb_ctx *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pci_cfg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_read_write_varb_ctx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pci_cfg_space:\n");
-	connectib_pci_cfg_space_print(&(ptr_struct->pci_cfg_space), file, indent_level + 1);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pciex_ext_cfg_space:\n");
-	connectib_pciex_ext_cfg_space_print(&(ptr_struct->pciex_ext_cfg_space), file, indent_level + 1);
+	fprintf(file, "arb_id               : " UH_FMT "\n", ptr_struct->arb_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data:\n");
+	connectib_vqos_arb_ctx_print(&(ptr_struct->data), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mask:\n");
+	connectib_vqos_arb_ctx_print(&(ptr_struct->mask), file, indent_level + 1);
 
 }
 
-int connectib_pci_cfg_size(void){
-	 return 512;
+int connectib_icmd_read_write_varb_ctx_size(void)
+{
+	 return 68;
 }
 
-void connectib_pci_cfg_dump(const struct connectib_pci_cfg *ptr_struct, FILE* file) {
-	connectib_pci_cfg_print(ptr_struct, file, 0);
+void connectib_icmd_read_write_varb_ctx_dump(const struct connectib_icmd_read_write_varb_ctx *ptr_struct, FILE* file)
+{
+	connectib_icmd_read_write_varb_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_transaction_pack(const struct connectib_pcie_transaction *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_debug_calc_sqn_pack(const struct connectib_icmd_debug_calc_sqn *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->global_read_task_limit);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gvmi);
 
-	offset=22;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->function_level_reset_capability);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_0_1);
 
-	offset=21;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aer_anf_by_cfg_type_1_en);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->vl);
 
-	offset=20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aer_anf_by_bad_func_en);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
 
-	offset=19;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->advisory_non_fatal_en);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pp);
 
-	offset=18;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aer_cap_en);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->req_res_);
 
-	offset=17;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ari_cap_en);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->is_fw_sq);
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_cap_en);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sqn);
 
-	offset=15;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vpd_cap_en);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->calc_sqn_iterator_);
 
-	offset=14;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pci_crspace_access_en);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->iterations);
 
-	offset=13;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pci_vsec_cap_en);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->skip_vl_15);
 
-	offset=12;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pcie_vsec_cap_en);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->include_sl2vl_mismatch);
+
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->iterator_lowest_iter);
+
+	for (i = 0; i < 89; i++) {
+	offset = adb2c_calc_array_field_address(448, 64, i, 6144, 1);
+	connectib_iterator_result_pack(&(ptr_struct->iterator_res[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_pcie_transaction_unpack(struct connectib_pcie_transaction *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_debug_calc_sqn_unpack(struct connectib_icmd_debug_calc_sqn *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=23;
-	ptr_struct->global_read_task_limit = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+	offset = 0;
+	ptr_struct->gvmi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=22;
-	ptr_struct->function_level_reset_capability = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	ptr_struct->port_0_1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=21;
-	ptr_struct->aer_anf_by_cfg_type_1_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 64;
+	ptr_struct->vl = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=20;
-	ptr_struct->aer_anf_by_bad_func_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 96;
+	ptr_struct->sl = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=19;
-	ptr_struct->advisory_non_fatal_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 128;
+	ptr_struct->pp = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=18;
-	ptr_struct->aer_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 160;
+	ptr_struct->req_res_ = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=17;
-	ptr_struct->ari_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 192;
+	ptr_struct->is_fw_sq = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=16;
-	ptr_struct->sriov_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 224;
+	ptr_struct->sqn = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=15;
-	ptr_struct->vpd_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 256;
+	ptr_struct->calc_sqn_iterator_ = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=14;
-	ptr_struct->pci_crspace_access_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 288;
+	ptr_struct->iterations = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=13;
-	ptr_struct->pci_vsec_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 320;
+	ptr_struct->skip_vl_15 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=12;
-	ptr_struct->pcie_vsec_cap_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 352;
+	ptr_struct->include_sl2vl_mismatch = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 384;
+	ptr_struct->iterator_lowest_iter = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 89; i++) {
+	offset = adb2c_calc_array_field_address(448, 64, i, 6144, 1);
+	connectib_iterator_result_unpack(&(ptr_struct->iterator_res[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_pcie_transaction_print(const struct connectib_pcie_transaction *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_debug_calc_sqn_print(const struct connectib_icmd_debug_calc_sqn *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_pcie_transaction ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_debug_calc_sqn ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "global_read_task_limit : "UH_FMT"\n", ptr_struct->global_read_task_limit);
+	fprintf(file, "gvmi                 : " U32H_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_0_1             : " U32H_FMT "\n", ptr_struct->port_0_1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "function_level_reset_capability : "UH_FMT"\n", ptr_struct->function_level_reset_capability);
+	fprintf(file, "vl                   : " U32H_FMT "\n", ptr_struct->vl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aer_anf_by_cfg_type_1_en : "UH_FMT"\n", ptr_struct->aer_anf_by_cfg_type_1_en);
+	fprintf(file, "sl                   : " U32H_FMT "\n", ptr_struct->sl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aer_anf_by_bad_func_en : "UH_FMT"\n", ptr_struct->aer_anf_by_bad_func_en);
+	fprintf(file, "pp                   : " U32H_FMT "\n", ptr_struct->pp);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "advisory_non_fatal_en : "UH_FMT"\n", ptr_struct->advisory_non_fatal_en);
+	fprintf(file, "req_res_             : " U32H_FMT "\n", ptr_struct->req_res_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "aer_cap_en           : "UH_FMT"\n", ptr_struct->aer_cap_en);
+	fprintf(file, "is_fw_sq             : " U32H_FMT "\n", ptr_struct->is_fw_sq);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ari_cap_en           : "UH_FMT"\n", ptr_struct->ari_cap_en);
+	fprintf(file, "sqn                  : " U32H_FMT "\n", ptr_struct->sqn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sriov_cap_en         : "UH_FMT"\n", ptr_struct->sriov_cap_en);
+	fprintf(file, "calc_sqn_iterator_   : " U32H_FMT "\n", ptr_struct->calc_sqn_iterator_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_cap_en           : "UH_FMT"\n", ptr_struct->vpd_cap_en);
+	fprintf(file, "iterations           : " U32H_FMT "\n", ptr_struct->iterations);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pci_crspace_access_en : "UH_FMT"\n", ptr_struct->pci_crspace_access_en);
+	fprintf(file, "skip_vl_15           : " U32H_FMT "\n", ptr_struct->skip_vl_15);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pci_vsec_cap_en      : "UH_FMT"\n", ptr_struct->pci_vsec_cap_en);
+	fprintf(file, "include_sl2vl_mismatch : " U32H_FMT "\n", ptr_struct->include_sl2vl_mismatch);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_vsec_cap_en     : "UH_FMT"\n", ptr_struct->pcie_vsec_cap_en);
+	fprintf(file, "iterator_lowest_iter : " U32H_FMT "\n", ptr_struct->iterator_lowest_iter);
+
+	for (i = 0; i < 89; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "iterator_res_%03d:\n", i);
+	connectib_iterator_result_print(&(ptr_struct->iterator_res[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_pcie_transaction_size(void){
-	 return 4;
+int connectib_icmd_debug_calc_sqn_size(void)
+{
+	 return 768;
 }
 
-void connectib_pcie_transaction_dump(const struct connectib_pcie_transaction *ptr_struct, FILE* file) {
-	connectib_pcie_transaction_print(ptr_struct, file, 0);
+void connectib_icmd_debug_calc_sqn_dump(const struct connectib_icmd_debug_calc_sqn *ptr_struct, FILE* file)
+{
+	connectib_icmd_debug_calc_sqn_print(ptr_struct, file, 0);
 }
 
-void connectib_multi_function_pack(const struct connectib_multi_function *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_mini_flow_activator_pack(const struct connectib_icmd_mini_flow_activator *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->num_hosts);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->pf_msix_table_size);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->type);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vf_msix_table_size);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->freq);
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_max_num_of_eqs);
+}
 
-	offset=90;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_pf_bar_megabytes);
+void connectib_icmd_mini_flow_activator_unpack(struct connectib_icmd_mini_flow_activator *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=89;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pf_bar_type);
+	offset = 0;
+	ptr_struct->type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->pf_bar_prefetchable);
+	offset = 32;
+	ptr_struct->freq = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=82;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->log2_vf_minibar_megabytes);
+}
 
-	offset=81;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_minibar_type);
+void connectib_icmd_mini_flow_activator_print(const struct connectib_icmd_mini_flow_activator *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_mini_flow_activator ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vf_minibar_prefetchable);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type                 : " U32H_FMT "\n", ptr_struct->type);
 
-	offset=76;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cr_bar_func);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "freq                 : " U32H_FMT "\n", ptr_struct->freq);
 
-	offset=75;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cr_bar_type);
+}
 
-	offset=74;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cr_bar_en);
+int connectib_icmd_mini_flow_activator_size(void)
+{
+	 return 8;
+}
 
+void connectib_icmd_mini_flow_activator_dump(const struct connectib_icmd_mini_flow_activator *ptr_struct, FILE* file)
+{
+	connectib_icmd_mini_flow_activator_print(ptr_struct, file, 0);
 }
 
-void connectib_multi_function_unpack(struct connectib_multi_function *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_general_fault_injector_pack(const struct connectib_icmd_general_fault_injector *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->num_hosts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
-
-	offset=8;
-	ptr_struct->pf_msix_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=0;
-	ptr_struct->vf_msix_table_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=44;
-	ptr_struct->log_max_num_of_eqs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=90;
-	ptr_struct->log2_pf_bar_megabytes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=89;
-	ptr_struct->pf_bar_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->type);
 
-	offset=88;
-	ptr_struct->pf_bar_prefetchable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	connectib_general_fault_injector_pair_pack(&(ptr_struct->config), ptr_buff + offset/8);
 
-	offset=82;
-	ptr_struct->log2_vf_minibar_megabytes = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->param);
 
-	offset=81;
-	ptr_struct->vf_minibar_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=80;
-	ptr_struct->vf_minibar_prefetchable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_icmd_general_fault_injector_unpack(struct connectib_icmd_general_fault_injector *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=76;
-	ptr_struct->cr_bar_func = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=75;
-	ptr_struct->cr_bar_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 32;
+	connectib_general_fault_injector_pair_unpack(&(ptr_struct->config), ptr_buff + offset/8);
 
-	offset=74;
-	ptr_struct->cr_bar_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 80;
+	ptr_struct->param = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_multi_function_print(const struct connectib_multi_function *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_general_fault_injector_print(const struct connectib_icmd_general_fault_injector *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_multi_function ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_general_fault_injector ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_hosts            : "UH_FMT"\n", ptr_struct->num_hosts);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pf_msix_table_size   : "UH_FMT"\n", ptr_struct->pf_msix_table_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_msix_table_size   : "UH_FMT"\n", ptr_struct->vf_msix_table_size);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_num_of_eqs   : "UH_FMT"\n", ptr_struct->log_max_num_of_eqs);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_pf_bar_megabytes : "UH_FMT"\n", ptr_struct->log2_pf_bar_megabytes);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pf_bar_type          : "UH_FMT"\n", ptr_struct->pf_bar_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pf_bar_prefetchable  : "UH_FMT"\n", ptr_struct->pf_bar_prefetchable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_vf_minibar_megabytes : "UH_FMT"\n", ptr_struct->log2_vf_minibar_megabytes);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_minibar_type      : "UH_FMT"\n", ptr_struct->vf_minibar_type);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vf_minibar_prefetchable : "UH_FMT"\n", ptr_struct->vf_minibar_prefetchable);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cr_bar_func          : "UH_FMT"\n", ptr_struct->cr_bar_func);
+	fprintf(file, "type                 : " U32H_FMT "\n", ptr_struct->type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cr_bar_type          : "UH_FMT"\n", ptr_struct->cr_bar_type);
+	fprintf(file, "config:\n");
+	connectib_general_fault_injector_pair_print(&(ptr_struct->config), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cr_bar_en            : "UH_FMT"\n", ptr_struct->cr_bar_en);
+	fprintf(file, "param                : " UH_FMT "\n", ptr_struct->param);
 
 }
 
-int connectib_multi_function_size(void){
-	 return 12;
+int connectib_icmd_general_fault_injector_size(void)
+{
+	 return 16;
 }
 
-void connectib_multi_function_dump(const struct connectib_multi_function *ptr_struct, FILE* file) {
-	connectib_multi_function_print(ptr_struct, file, 0);
+void connectib_icmd_general_fault_injector_dump(const struct connectib_icmd_general_fault_injector *ptr_struct, FILE* file)
+{
+	connectib_icmd_general_fault_injector_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_config_main_pack(const struct connectib_nv_config_main *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_pvlc_pack(const struct connectib_icmd_access_register_pvlc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_nv_config_main_fw_data_pack(&(ptr_struct->fw_config), ptr_buff + offset/8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+
+	offset = 32;
+	connectib_pvlc_reg_pack(&(ptr_struct->pvlc), ptr_buff + offset/8);
 
 }
 
-void connectib_nv_config_main_unpack(struct connectib_nv_config_main *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_pvlc_unpack(struct connectib_icmd_access_register_pvlc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_nv_config_main_fw_data_unpack(&(ptr_struct->fw_config), ptr_buff + offset/8);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_pvlc_reg_unpack(&(ptr_struct->pvlc), ptr_buff + offset/8);
 
 }
 
-void connectib_nv_config_main_print(const struct connectib_nv_config_main *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_pvlc_print(const struct connectib_icmd_access_register_pvlc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_nv_config_main ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_pvlc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_config:\n");
-	connectib_nv_config_main_fw_data_print(&(ptr_struct->fw_config), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pvlc:\n");
+	connectib_pvlc_reg_print(&(ptr_struct->pvlc), file, indent_level + 1);
 
 }
 
-int connectib_nv_config_main_size(void){
-	 return 256;
+int connectib_icmd_access_register_pvlc_size(void)
+{
+	 return 20;
 }
 
-void connectib_nv_config_main_dump(const struct connectib_nv_config_main *ptr_struct, FILE* file) {
-	connectib_nv_config_main_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_pvlc_dump(const struct connectib_icmd_access_register_pvlc *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_pvlc_print(ptr_struct, file, 0);
 }
 
-void connectib_phy_fw_main_config_pack(const struct connectib_phy_fw_main_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_parse_icm_address_pack(const struct connectib_icmd_parse_icm_address *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_phy_fw_main_config_golan_pack(&(ptr_struct->phy_golan), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->addr);
 
-	offset=1856;
-	connectib_phy_fw_main_config_ip_pack(&(ptr_struct->phy_ip), ptr_buff + offset/8);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->res_type);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->res_num);
 
 }
 
-void connectib_phy_fw_main_config_unpack(struct connectib_phy_fw_main_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_parse_icm_address_unpack(struct connectib_icmd_parse_icm_address *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_phy_fw_main_config_golan_unpack(&(ptr_struct->phy_golan), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=1856;
-	connectib_phy_fw_main_config_ip_unpack(&(ptr_struct->phy_ip), ptr_buff + offset/8);
+	offset = 64;
+	ptr_struct->gvmi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->res_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->res_num = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_phy_fw_main_config_print(const struct connectib_phy_fw_main_config *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_parse_icm_address_print(const struct connectib_icmd_parse_icm_address *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_phy_fw_main_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_parse_icm_address ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy_golan:\n");
-	connectib_phy_fw_main_config_golan_print(&(ptr_struct->phy_golan), file, indent_level + 1);
+	fprintf(file, "addr                 : " U64H_FMT "\n", ptr_struct->addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy_ip:\n");
-	connectib_phy_fw_main_config_ip_print(&(ptr_struct->phy_ip), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " U32H_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "res_type             : " U32H_FMT "\n", ptr_struct->res_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "res_num              : " U32H_FMT "\n", ptr_struct->res_num);
 
 }
 
-int connectib_phy_fw_main_config_size(void){
-	 return 688;
+int connectib_icmd_parse_icm_address_size(void)
+{
+	 return 64;
 }
 
-void connectib_phy_fw_main_config_dump(const struct connectib_phy_fw_main_config *ptr_struct, FILE* file) {
-	connectib_phy_fw_main_config_print(ptr_struct, file, 0);
+void connectib_icmd_parse_icm_address_dump(const struct connectib_icmd_parse_icm_address *ptr_struct, FILE* file)
+{
+	connectib_icmd_parse_icm_address_print(ptr_struct, file, 0);
 }
 
-void connectib_host_management_pack(const struct connectib_host_management *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_steering_info_pack(const struct connectib_icmd_get_steering_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=128;
-	connectib_ocsd_config_pack(&(ptr_struct->ocsd_config), ptr_buff + offset/8);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=288;
-	connectib_ibm_thermal_config_pack(&(ptr_struct->ibm_thermal_config), ptr_buff + offset/8);
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->gvmi_active);
+
+	offset = 61;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fpp_enable);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sriov_enable);
+
+	offset = 59;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->portid);
+
+	offset = 58;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ib_eth_);
+
+	offset = 57;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->roce_en);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->gvmi_steering_enabled);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pf_gvmi);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->port_pf_gvmi);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->allowed_uc_list_size);
+
+	offset = 158;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->nic_state);
+
+	offset = 156;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->esw_state);
+
+	offset = 155;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->connected_2_steering);
+
+	offset = 148;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_hosts);
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_pfs);
+
+	offset = 128;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->total_vfs);
+
+	offset = 160;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->esw_egress_info), ptr_buff + offset/8);
+
+	offset = 192;
+	connectib_dmfs_ft_type_info_pack(&(ptr_struct->esw_ingress_info), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_dmfs_data_pack(&(ptr_struct->dmfs_data), ptr_buff + offset/8);
+
+	offset = 512;
+	connectib_dmfs_gvmi_ctx_pack(&(ptr_struct->dmfs_gvmi_ctx), ptr_buff + offset/8);
 
 }
 
-void connectib_host_management_unpack(struct connectib_host_management *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_steering_info_unpack(struct connectib_icmd_get_steering_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=128;
-	connectib_ocsd_config_unpack(&(ptr_struct->ocsd_config), ptr_buff + offset/8);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=288;
-	connectib_ibm_thermal_config_unpack(&(ptr_struct->ibm_thermal_config), ptr_buff + offset/8);
+	offset = 63;
+	ptr_struct->gvmi_active = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 61;
+	ptr_struct->fpp_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 60;
+	ptr_struct->sriov_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 59;
+	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 58;
+	ptr_struct->ib_eth_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 57;
+	ptr_struct->roce_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 56;
+	ptr_struct->gvmi_steering_enabled = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 80;
+	ptr_struct->pf_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->port_pf_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 112;
+	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 96;
+	ptr_struct->allowed_uc_list_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 158;
+	ptr_struct->nic_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 156;
+	ptr_struct->esw_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 155;
+	ptr_struct->connected_2_steering = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 148;
+	ptr_struct->num_of_hosts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 144;
+	ptr_struct->num_pfs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	ptr_struct->total_vfs = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 160;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->esw_egress_info), ptr_buff + offset/8);
+
+	offset = 192;
+	connectib_dmfs_ft_type_info_unpack(&(ptr_struct->esw_ingress_info), ptr_buff + offset/8);
+
+	offset = 256;
+	connectib_dmfs_data_unpack(&(ptr_struct->dmfs_data), ptr_buff + offset/8);
+
+	offset = 512;
+	connectib_dmfs_gvmi_ctx_unpack(&(ptr_struct->dmfs_gvmi_ctx), ptr_buff + offset/8);
 
 }
 
-void connectib_host_management_print(const struct connectib_host_management *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_steering_info_print(const struct connectib_icmd_get_steering_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_host_management ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_steering_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ocsd_config:\n");
-	connectib_ocsd_config_print(&(ptr_struct->ocsd_config), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ibm_thermal_config:\n");
-	connectib_ibm_thermal_config_print(&(ptr_struct->ibm_thermal_config), file, indent_level + 1);
+	fprintf(file, "gvmi_active          : " UH_FMT "\n", ptr_struct->gvmi_active);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fpp_enable           : " UH_FMT "\n", ptr_struct->fpp_enable);
 
-int connectib_host_management_size(void){
-	 return 76;
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sriov_enable         : " UH_FMT "\n", ptr_struct->sriov_enable);
 
-void connectib_host_management_dump(const struct connectib_host_management *ptr_struct, FILE* file) {
-	connectib_host_management_print(ptr_struct, file, 0);
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "portid               : " UH_FMT "\n", ptr_struct->portid);
 
-void connectib_management_pack(const struct connectib_management *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ib_eth_              : " UH_FMT "\n", ptr_struct->ib_eth_);
 
-	offset=0;
-	connectib_node_info_pack(&(ptr_struct->node_info), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "roce_en              : " UH_FMT "\n", ptr_struct->roce_en);
 
-	offset=512;
-	connectib_ib_port_info_ini_pack(&(ptr_struct->port_info), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi_steering_enabled : " UH_FMT "\n", ptr_struct->gvmi_steering_enabled);
 
-	offset=1567;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eeprom_read_disable_p1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pf_gvmi              : " UH_FMT "\n", ptr_struct->pf_gvmi);
 
-	offset=1566;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->eeprom_read_disable_p2);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_pf_gvmi         : " UH_FMT "\n", ptr_struct->port_pf_gvmi);
 
-	offset=1565;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fw_stamping_override);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vport_num            : " UH_FMT "\n", ptr_struct->vport_num);
 
-	offset=1564;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cable_speed_override);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "allowed_uc_list_size : " UH_FMT "\n", ptr_struct->allowed_uc_list_size);
 
-	offset=1568;
-	connectib_extended_port_info_ini_pack(&(ptr_struct->extended_port_info), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nic_state            : " UH_FMT "\n", ptr_struct->nic_state);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(1624, 8, i, 2048, 1);
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->valid_i2c_address[i]);
-	}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "esw_state            : " UH_FMT "\n", ptr_struct->esw_state);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "connected_2_steering : " UH_FMT "\n", ptr_struct->connected_2_steering);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_of_hosts         : " UH_FMT "\n", ptr_struct->num_of_hosts);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_pfs              : " UH_FMT "\n", ptr_struct->num_pfs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "total_vfs            : " UH_FMT "\n", ptr_struct->total_vfs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "esw_egress_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->esw_egress_info), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "esw_ingress_info:\n");
+	connectib_dmfs_ft_type_info_print(&(ptr_struct->esw_ingress_info), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dmfs_data:\n");
+	connectib_dmfs_data_print(&(ptr_struct->dmfs_data), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dmfs_gvmi_ctx:\n");
+	connectib_dmfs_gvmi_ctx_print(&(ptr_struct->dmfs_gvmi_ctx), file, indent_level + 1);
+
+}
+
+int connectib_icmd_get_steering_info_size(void)
+{
+	 return 128;
+}
 
+void connectib_icmd_get_steering_info_dump(const struct connectib_icmd_get_steering_info *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_steering_info_print(ptr_struct, file, 0);
 }
 
-void connectib_management_unpack(struct connectib_management *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_ste_pack(const struct connectib_icmd_read_ste *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_node_info_unpack(&(ptr_struct->node_info), ptr_buff + offset/8);
+	offset = 0;
+	connectib_hw_ste_pack(&(ptr_struct->data), ptr_buff + offset/8);
 
-	offset=512;
-	connectib_ib_port_info_ini_unpack(&(ptr_struct->port_info), ptr_buff + offset/8);
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->index);
 
-	offset=1567;
-	ptr_struct->eeprom_read_disable_p1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 560;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=1566;
-	ptr_struct->eeprom_read_disable_p2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 544;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->locked_in_icmc);
 
-	offset=1565;
-	ptr_struct->fw_stamping_override = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=1564;
-	ptr_struct->cable_speed_override = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+void connectib_icmd_read_ste_unpack(struct connectib_icmd_read_ste *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-	offset=1568;
-	connectib_extended_port_info_ini_unpack(&(ptr_struct->extended_port_info), ptr_buff + offset/8);
+	offset = 0;
+	connectib_hw_ste_unpack(&(ptr_struct->data), ptr_buff + offset/8);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(1624, 8, i, 2048, 1);
-	ptr_struct->valid_i2c_address[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-	}
+	offset = 512;
+	ptr_struct->index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 560;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 544;
+	ptr_struct->locked_in_icmc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_management_print(const struct connectib_management *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_ste_print(const struct connectib_icmd_read_ste *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_management ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_read_ste ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "node_info:\n");
-	connectib_node_info_print(&(ptr_struct->node_info), file, indent_level + 1);
+	fprintf(file, "data:\n");
+	connectib_hw_ste_print(&(ptr_struct->data), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_info:\n");
-	connectib_ib_port_info_ini_print(&(ptr_struct->port_info), file, indent_level + 1);
+	fprintf(file, "index                : " U32H_FMT "\n", ptr_struct->index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eeprom_read_disable_p1 : "UH_FMT"\n", ptr_struct->eeprom_read_disable_p1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eeprom_read_disable_p2 : "UH_FMT"\n", ptr_struct->eeprom_read_disable_p2);
+	fprintf(file, "locked_in_icmc       : " UH_FMT "\n", ptr_struct->locked_in_icmc);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fw_stamping_override : "UH_FMT"\n", ptr_struct->fw_stamping_override);
+}
+
+int connectib_icmd_read_ste_size(void)
+{
+	 return 80;
+}
+
+void connectib_icmd_read_ste_dump(const struct connectib_icmd_read_ste *ptr_struct, FILE* file)
+{
+	connectib_icmd_read_ste_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_get_ste_resources_list_pack(const union connectib_icmd_get_ste_resources_list *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_ste_resources_list_out_pack(&(ptr_struct->out), ptr_buff);
+}
+
+void connectib_icmd_get_ste_resources_list_unpack(union connectib_icmd_get_ste_resources_list *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_ste_resources_list_out_unpack(&(ptr_struct->out), ptr_buff);
+}
 
+void connectib_icmd_get_ste_resources_list_print(const union connectib_icmd_get_ste_resources_list *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cable_speed_override : "UH_FMT"\n", ptr_struct->cable_speed_override);
+	fprintf(file, "======== connectib_icmd_get_ste_resources_list ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "extended_port_info:\n");
-	connectib_extended_port_info_ini_print(&(ptr_struct->extended_port_info), file, indent_level + 1);
+	fprintf(file, "in:\n");
+	connectib_icmd_get_ste_resources_list_in_print(&(ptr_struct->in), file, indent_level + 1);
 
-	for (i=0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "valid_i2c_address_%03d : "UH_FMT"\n", i, ptr_struct->valid_i2c_address[i]);
-	}
+	fprintf(file, "out:\n");
+	connectib_icmd_get_ste_resources_list_out_print(&(ptr_struct->out), file, indent_level + 1);
 
 }
 
-int connectib_management_size(void){
+int connectib_icmd_get_ste_resources_list_size(void)
+{
 	 return 256;
 }
 
-void connectib_management_dump(const struct connectib_management *ptr_struct, FILE* file) {
-	connectib_management_print(ptr_struct, file, 0);
+void connectib_icmd_get_ste_resources_list_dump(const union connectib_icmd_get_ste_resources_list *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ste_resources_list_print(ptr_struct, file, 0);
 }
 
-void connectib_customization_pack(const struct connectib_customization *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_icmd_get_ste_open_resources_pack(const union connectib_icmd_get_ste_open_resources *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_ste_open_resources_out_pack(&(ptr_struct->out), ptr_buff);
+}
+
+void connectib_icmd_get_ste_open_resources_unpack(union connectib_icmd_get_ste_open_resources *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_ste_open_resources_out_unpack(&(ptr_struct->out), ptr_buff);
+}
+
+void connectib_icmd_get_ste_open_resources_print(const union connectib_icmd_get_ste_open_resources *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_ste_open_resources ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=28;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->active_amp_range_p1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in:\n");
+	connectib_icmd_get_ste_open_resources_in_print(&(ptr_struct->in), file, indent_level + 1);
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->active_amp_range_p2);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "out:\n");
+	connectib_icmd_get_ste_open_resources_out_print(&(ptr_struct->out), file, indent_level + 1);
 
 }
 
-void connectib_customization_unpack(struct connectib_customization *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+int connectib_icmd_get_ste_open_resources_size(void)
+{
+	 return 768;
+}
 
-	offset=28;
-	ptr_struct->active_amp_range_p1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_icmd_get_ste_open_resources_dump(const union connectib_icmd_get_ste_open_resources *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ste_open_resources_print(ptr_struct, file, 0);
+}
 
-	offset=24;
-	ptr_struct->active_amp_range_p2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+void connectib_icmd_get_fte_pack(const union connectib_icmd_get_fte *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_fte_out_pack(&(ptr_struct->out), ptr_buff);
+}
 
+void connectib_icmd_get_fte_unpack(union connectib_icmd_get_fte *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_fte_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_customization_print(const struct connectib_customization *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_fte_print(const union connectib_icmd_get_fte *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_customization ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_fte ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "active_amp_range_p1  : "UH_FMT"\n", ptr_struct->active_amp_range_p1);
+	fprintf(file, "in:\n");
+	connectib_icmd_get_fte_in_print(&(ptr_struct->in), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "active_amp_range_p2  : "UH_FMT"\n", ptr_struct->active_amp_range_p2);
+	fprintf(file, "out:\n");
+	connectib_icmd_get_fte_out_print(&(ptr_struct->out), file, indent_level + 1);
 
 }
 
-int connectib_customization_size(void){
-	 return 64;
+int connectib_icmd_get_fte_size(void)
+{
+	 return 768;
 }
 
-void connectib_customization_dump(const struct connectib_customization *ptr_struct, FILE* file) {
-	connectib_customization_print(ptr_struct, file, 0);
+void connectib_icmd_get_fte_dump(const union connectib_icmd_get_fte *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fte_print(ptr_struct, file, 0);
 }
 
-void connectib_leds_blink_patterns_pack(const struct connectib_leds_blink_patterns *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=0;
-	connectib_led_port_blink_pattern_pack(&(ptr_struct->no_phy_no_log_link), ptr_buff + offset/8);
-
-	offset=64;
-	connectib_led_port_blink_pattern_pack(&(ptr_struct->phy_no_log_link), ptr_buff + offset/8);
-
-	offset=128;
-	connectib_led_port_blink_pattern_pack(&(ptr_struct->phy_log_link), ptr_buff + offset/8);
-
-	offset=192;
-	connectib_led_port_blink_pattern_pack(&(ptr_struct->phy_log_link_traffic), ptr_buff + offset/8);
-
-	offset=256;
-	connectib_led_port_blink_pattern_pack(&(ptr_struct->error), ptr_buff + offset/8);
-
-	for (i=0; i < 15; i++) {
-	offset=adb2c_calc_array_field_address(320, 64, i, 1280, 1);
-	connectib_led_port_blink_pattern_pack(&(ptr_struct->reserved_pattern[i]), ptr_buff + offset/8);
-	}
+void connectib_icmd_get_fte_list_pack(const union connectib_icmd_get_fte_list *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_fte_list_out_pack(&(ptr_struct->out), ptr_buff);
+}
 
+void connectib_icmd_get_fte_list_unpack(union connectib_icmd_get_fte_list *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_fte_list_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_leds_blink_patterns_unpack(struct connectib_leds_blink_patterns *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_icmd_get_fte_list_print(const union connectib_icmd_get_fte_list *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_fte_list ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=0;
-	connectib_led_port_blink_pattern_unpack(&(ptr_struct->no_phy_no_log_link), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in:\n");
+	connectib_icmd_get_fte_list_in_print(&(ptr_struct->in), file, indent_level + 1);
 
-	offset=64;
-	connectib_led_port_blink_pattern_unpack(&(ptr_struct->phy_no_log_link), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "out:\n");
+	connectib_icmd_get_fte_list_out_print(&(ptr_struct->out), file, indent_level + 1);
 
-	offset=128;
-	connectib_led_port_blink_pattern_unpack(&(ptr_struct->phy_log_link), ptr_buff + offset/8);
+}
 
-	offset=192;
-	connectib_led_port_blink_pattern_unpack(&(ptr_struct->phy_log_link_traffic), ptr_buff + offset/8);
+int connectib_icmd_get_fte_list_size(void)
+{
+	 return 16;
+}
 
-	offset=256;
-	connectib_led_port_blink_pattern_unpack(&(ptr_struct->error), ptr_buff + offset/8);
+void connectib_icmd_get_fte_list_dump(const union connectib_icmd_get_fte_list *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fte_list_print(ptr_struct, file, 0);
+}
 
-	for (i=0; i < 15; i++) {
-	offset=adb2c_calc_array_field_address(320, 64, i, 1280, 1);
-	connectib_led_port_blink_pattern_unpack(&(ptr_struct->reserved_pattern[i]), ptr_buff + offset/8);
-	}
+void connectib_icmd_get_fg_pack(const union connectib_icmd_get_fg *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_fg_out_pack(&(ptr_struct->out), ptr_buff);
+}
 
+void connectib_icmd_get_fg_unpack(union connectib_icmd_get_fg *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_fg_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_leds_blink_patterns_print(const struct connectib_leds_blink_patterns *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_fg_print(const union connectib_icmd_get_fg *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_leds_blink_patterns ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_fg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_phy_no_log_link:\n");
-	connectib_led_port_blink_pattern_print(&(ptr_struct->no_phy_no_log_link), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy_no_log_link:\n");
-	connectib_led_port_blink_pattern_print(&(ptr_struct->phy_no_log_link), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy_log_link:\n");
-	connectib_led_port_blink_pattern_print(&(ptr_struct->phy_log_link), file, indent_level + 1);
+	fprintf(file, "in:\n");
+	connectib_icmd_get_fg_in_print(&(ptr_struct->in), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy_log_link_traffic:\n");
-	connectib_led_port_blink_pattern_print(&(ptr_struct->phy_log_link_traffic), file, indent_level + 1);
+	fprintf(file, "out:\n");
+	connectib_icmd_get_fg_out_print(&(ptr_struct->out), file, indent_level + 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "error:\n");
-	connectib_led_port_blink_pattern_print(&(ptr_struct->error), file, indent_level + 1);
+}
 
-	for (i=0; i < 15; i++) {
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reserved_pattern_%03d:\n", i);
-	connectib_led_port_blink_pattern_print(&(ptr_struct->reserved_pattern[i]), file, indent_level + 1);
-	}
+int connectib_icmd_get_fg_size(void)
+{
+	 return 256;
+}
 
+void connectib_icmd_get_fg_dump(const union connectib_icmd_get_fg *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fg_print(ptr_struct, file, 0);
 }
 
-int connectib_leds_blink_patterns_size(void){
-	 return 160;
+void connectib_icmd_get_fg_list_pack(const union connectib_icmd_get_fg_list *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_fg_list_out_pack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_leds_blink_patterns_dump(const struct connectib_leds_blink_patterns *ptr_struct, FILE* file) {
-	connectib_leds_blink_patterns_print(ptr_struct, file, 0);
+void connectib_icmd_get_fg_list_unpack(union connectib_icmd_get_fg_list *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_fg_list_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_static_config_pack(const struct connectib_static_config *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_icmd_get_fg_list_print(const union connectib_icmd_get_fg_list *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_fg_list ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->dwrr_en);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in:\n");
+	connectib_icmd_get_fg_list_in_print(&(ptr_struct->in), file, indent_level + 1);
 
-	offset=30;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ifarm_en);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "out:\n");
+	connectib_icmd_get_fg_list_out_print(&(ptr_struct->out), file, indent_level + 1);
 
-	offset=23;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ffser_en);
+}
 
-	offset=56;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->prio_g_0_ix_mask_no_ifarm);
+int connectib_icmd_get_fg_list_size(void)
+{
+	 return 16;
+}
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->prio_g_1_ix_mask_no_ifarm);
+void connectib_icmd_get_fg_list_dump(const union connectib_icmd_get_fg_list *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_fg_list_print(ptr_struct, file, 0);
+}
 
+void connectib_icmd_get_ft_info_pack(const union connectib_icmd_get_ft_info *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_ft_info_out_pack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_static_config_unpack(struct connectib_static_config *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
+void connectib_icmd_get_ft_info_unpack(union connectib_icmd_get_ft_info *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_ft_info_out_unpack(&(ptr_struct->out), ptr_buff);
+}
+
+void connectib_icmd_get_ft_info_print(const union connectib_icmd_get_ft_info *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_ft_info ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
+	(void)file;
+	(void)indent_level;
 
-	offset=31;
-	ptr_struct->dwrr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "in:\n");
+	connectib_icmd_get_ft_info_in_print(&(ptr_struct->in), file, indent_level + 1);
 
-	offset=30;
-	ptr_struct->ifarm_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "out:\n");
+	connectib_icmd_get_ft_info_out_print(&(ptr_struct->out), file, indent_level + 1);
 
-	offset=23;
-	ptr_struct->ffser_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+}
 
-	offset=56;
-	ptr_struct->prio_g_0_ix_mask_no_ifarm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+int connectib_icmd_get_ft_info_size(void)
+{
+	 return 16;
+}
 
-	offset=48;
-	ptr_struct->prio_g_1_ix_mask_no_ifarm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+void connectib_icmd_get_ft_info_dump(const union connectib_icmd_get_ft_info *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ft_info_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_get_ft_list_pack(const union connectib_icmd_get_ft_list *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_ft_list_out_pack(&(ptr_struct->out), ptr_buff);
+}
 
+void connectib_icmd_get_ft_list_unpack(union connectib_icmd_get_ft_list *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_get_ft_list_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_static_config_print(const struct connectib_static_config *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_ft_list_print(const union connectib_icmd_get_ft_list *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_static_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_ft_list ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dwrr_en              : "UH_FMT"\n", ptr_struct->dwrr_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ifarm_en             : "UH_FMT"\n", ptr_struct->ifarm_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ffser_en             : "UH_FMT"\n", ptr_struct->ffser_en);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prio_g_0_ix_mask_no_ifarm : "UH_FMT"\n", ptr_struct->prio_g_0_ix_mask_no_ifarm);
+	fprintf(file, "in:\n");
+	connectib_icmd_get_ft_list_in_print(&(ptr_struct->in), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "prio_g_1_ix_mask_no_ifarm : "UH_FMT"\n", ptr_struct->prio_g_1_ix_mask_no_ifarm);
+	fprintf(file, "out:\n");
+	connectib_icmd_get_ft_list_out_print(&(ptr_struct->out), file, indent_level + 1);
 
 }
 
-int connectib_static_config_size(void){
+int connectib_icmd_get_ft_list_size(void)
+{
 	 return 16;
 }
 
-void connectib_static_config_dump(const struct connectib_static_config *ptr_struct, FILE* file) {
-	connectib_static_config_print(ptr_struct, file, 0);
+void connectib_icmd_get_ft_list_dump(const union connectib_icmd_get_ft_list *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_ft_list_print(ptr_struct, file, 0);
 }
 
-void connectib_guids_pack(const struct connectib_guids *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_led_control_mad_pack(const struct connectib_icmd_led_control_mad *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 128, i, 512, 1);
-	connectib_uid_entry_pack(&(ptr_struct->guids[i]), ptr_buff + offset/8);
-	}
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->method);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(256, 128, i, 512, 1);
-	connectib_uid_entry_pack(&(ptr_struct->macs[i]), ptr_buff + offset/8);
-	}
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->attribute_mod);
+
+	offset = 64;
+	connectib_led_control_data_pack(&(ptr_struct->data), ptr_buff + offset/8);
 
 }
 
-void connectib_guids_unpack(struct connectib_guids *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_led_control_mad_unpack(struct connectib_icmd_led_control_mad *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(0, 128, i, 512, 1);
-	connectib_uid_entry_unpack(&(ptr_struct->guids[i]), ptr_buff + offset/8);
-	}
+	offset = 24;
+	ptr_struct->method = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(256, 128, i, 512, 1);
-	connectib_uid_entry_unpack(&(ptr_struct->macs[i]), ptr_buff + offset/8);
-	}
+	offset = 32;
+	ptr_struct->attribute_mod = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	connectib_led_control_data_unpack(&(ptr_struct->data), ptr_buff + offset/8);
 
 }
 
-void connectib_guids_print(const struct connectib_guids *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_led_control_mad_print(const struct connectib_icmd_led_control_mad *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_guids ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_led_control_mad ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "guids_%03d:\n", i);
-	connectib_uid_entry_print(&(ptr_struct->guids[i]), file, indent_level + 1);
-	}
+	fprintf(file, "method               : " UH_FMT "\n", ptr_struct->method);
 
-	for (i=0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "macs_%03d:\n", i);
-	connectib_uid_entry_print(&(ptr_struct->macs[i]), file, indent_level + 1);
-	}
+	fprintf(file, "attribute_mod        : " U32H_FMT "\n", ptr_struct->attribute_mod);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data:\n");
+	connectib_led_control_data_print(&(ptr_struct->data), file, indent_level + 1);
 
 }
 
-int connectib_guids_size(void){
-	 return 64;
+int connectib_icmd_led_control_mad_size(void)
+{
+	 return 72;
 }
 
-void connectib_guids_dump(const struct connectib_guids *ptr_struct, FILE* file) {
-	connectib_guids_print(ptr_struct, file, 0);
+void connectib_icmd_led_control_mad_dump(const struct connectib_icmd_led_control_mad *ptr_struct, FILE* file)
+{
+	connectib_icmd_led_control_mad_print(ptr_struct, file, 0);
 }
 
-void connectib_module_versions_pack(const struct connectib_module_versions *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_led_cmd_pack(const struct connectib_icmd_led_cmd *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_module_version_pack(&(ptr_struct->core), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_module_version_pack(&(ptr_struct->phy), ptr_buff + offset/8);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->index);
 
-	offset=64;
-	connectib_module_version_pack(&(ptr_struct->kernel), ptr_buff + offset/8);
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->led_type);
 
-	offset=96;
-	connectib_module_version_pack(&(ptr_struct->iron_image), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pattern);
 
-	offset=128;
-	connectib_module_version_pack(&(ptr_struct->host_management), ptr_buff + offset/8);
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=160;
-	connectib_module_version_pack(&(ptr_struct->mad), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->en);
 
 }
 
-void connectib_module_versions_unpack(struct connectib_module_versions *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_led_cmd_unpack(struct connectib_icmd_led_cmd *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_module_version_unpack(&(ptr_struct->core), ptr_buff + offset/8);
-
-	offset=32;
-	connectib_module_version_unpack(&(ptr_struct->phy), ptr_buff + offset/8);
+	offset = 24;
+	ptr_struct->index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	connectib_module_version_unpack(&(ptr_struct->kernel), ptr_buff + offset/8);
+	offset = 20;
+	ptr_struct->led_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
-	connectib_module_version_unpack(&(ptr_struct->iron_image), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->pattern = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=128;
-	connectib_module_version_unpack(&(ptr_struct->host_management), ptr_buff + offset/8);
+	offset = 33;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
-	connectib_module_version_unpack(&(ptr_struct->mad), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_module_versions_print(const struct connectib_module_versions *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_led_cmd_print(const struct connectib_icmd_led_cmd *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_module_versions ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_led_cmd ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core:\n");
-	connectib_module_version_print(&(ptr_struct->core), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phy:\n");
-	connectib_module_version_print(&(ptr_struct->phy), file, indent_level + 1);
+	fprintf(file, "index                : " UH_FMT "\n", ptr_struct->index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "kernel:\n");
-	connectib_module_version_print(&(ptr_struct->kernel), file, indent_level + 1);
+	fprintf(file, "led_type             : " UH_FMT "\n", ptr_struct->led_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "iron_image:\n");
-	connectib_module_version_print(&(ptr_struct->iron_image), file, indent_level + 1);
+	fprintf(file, "pattern              : " UH_FMT "\n", ptr_struct->pattern);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "host_management:\n");
-	connectib_module_version_print(&(ptr_struct->host_management), file, indent_level + 1);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mad:\n");
-	connectib_module_version_print(&(ptr_struct->mad), file, indent_level + 1);
+	fprintf(file, "en                   : " UH_FMT "\n", ptr_struct->en);
 
 }
 
-int connectib_module_versions_size(void){
-	 return 64;
+int connectib_icmd_led_cmd_size(void)
+{
+	 return 8;
 }
 
-void connectib_module_versions_dump(const struct connectib_module_versions *ptr_struct, FILE* file) {
-	connectib_module_versions_print(ptr_struct, file, 0);
+void connectib_icmd_led_cmd_dump(const struct connectib_icmd_led_cmd *ptr_struct, FILE* file)
+{
+	connectib_icmd_led_cmd_print(ptr_struct, file, 0);
 }
 
-void connectib_image_size_pack(const struct connectib_image_size *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_set_get_port_cntr_pack(const struct connectib_icmd_set_get_port_cntr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->log_step);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->data);
+
+	offset = 95;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_0_1);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->max_size);
+	offset = 94;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->set_get_);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cntr_ix);
 
 }
 
-void connectib_image_size_unpack(struct connectib_image_size *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_set_get_port_cntr_unpack(struct connectib_icmd_set_get_port_cntr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->log_step = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 0;
+	ptr_struct->data = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	ptr_struct->max_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 95;
+	ptr_struct->port_0_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 94;
+	ptr_struct->set_get_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->cntr_ix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_image_size_print(const struct connectib_image_size *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_set_get_port_cntr_print(const struct connectib_icmd_set_get_port_cntr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_image_size ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_set_get_port_cntr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_step             : "UH_FMT"\n", ptr_struct->log_step);
+	fprintf(file, "data                 : " U64H_FMT "\n", ptr_struct->data);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_0_1             : " UH_FMT "\n", ptr_struct->port_0_1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_get_             : " UH_FMT "\n", ptr_struct->set_get_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "max_size             : "U32H_FMT"\n", ptr_struct->max_size);
+	fprintf(file, "cntr_ix              : " UH_FMT "\n", ptr_struct->cntr_ix);
 
 }
 
-int connectib_image_size_size(void){
-	 return 8;
+int connectib_icmd_set_get_port_cntr_size(void)
+{
+	 return 24;
 }
 
-void connectib_image_size_dump(const struct connectib_image_size *ptr_struct, FILE* file) {
-	connectib_image_size_print(ptr_struct, file, 0);
+void connectib_icmd_set_get_port_cntr_dump(const struct connectib_icmd_set_get_port_cntr *ptr_struct, FILE* file)
+{
+	connectib_icmd_set_get_port_cntr_print(ptr_struct, file, 0);
 }
 
-void connectib_TRIPPLE_VERSION_pack(const struct connectib_TRIPPLE_VERSION *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_ppcnt_pack(const struct connectib_icmd_access_register_ppcnt *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MAJOR);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->SUBMINOR);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->MINOR);
+	offset = 32;
+	connectib_ppcnt_reg_pack(&(ptr_struct->ppcnt), ptr_buff + offset/8);
 
 }
 
-void connectib_TRIPPLE_VERSION_unpack(struct connectib_TRIPPLE_VERSION *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_ppcnt_unpack(struct connectib_icmd_access_register_ppcnt *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->MAJOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=48;
-	ptr_struct->SUBMINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	ptr_struct->MINOR = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	connectib_ppcnt_reg_unpack(&(ptr_struct->ppcnt), ptr_buff + offset/8);
 
 }
 
-void connectib_TRIPPLE_VERSION_print(const struct connectib_TRIPPLE_VERSION *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_ppcnt_print(const struct connectib_icmd_access_register_ppcnt *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_TRIPPLE_VERSION ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_ppcnt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "MAJOR                : "UH_FMT"\n", ptr_struct->MAJOR);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "SUBMINOR             : "UH_FMT"\n", ptr_struct->SUBMINOR);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "MINOR                : "UH_FMT"\n", ptr_struct->MINOR);
+	fprintf(file, "ppcnt:\n");
+	connectib_ppcnt_reg_print(&(ptr_struct->ppcnt), file, indent_level + 1);
 
 }
 
-int connectib_TRIPPLE_VERSION_size(void){
-	 return 8;
+int connectib_icmd_access_register_ppcnt_size(void)
+{
+	 return 268;
 }
 
-void connectib_TRIPPLE_VERSION_dump(const struct connectib_TRIPPLE_VERSION *ptr_struct, FILE* file) {
-	connectib_TRIPPLE_VERSION_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_ppcnt_dump(const struct connectib_icmd_access_register_ppcnt *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_ppcnt_print(ptr_struct, file, 0);
 }
 
-void connectib_operation_key_pack(const struct connectib_operation_key *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_measure_frequency_pack(const struct connectib_icmd_measure_frequency *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->key_modifier);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cl);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->key);
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pll);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->measured_div_quotient);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->measured_div_fraction);
 
 }
 
-void connectib_operation_key_unpack(struct connectib_operation_key *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_measure_frequency_unpack(struct connectib_icmd_measure_frequency *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->key_modifier = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 24;
+	ptr_struct->cl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=64;
-	ptr_struct->key = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+	offset = 22;
+	ptr_struct->pll = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 48;
+	ptr_struct->measured_div_quotient = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->measured_div_fraction = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_operation_key_print(const struct connectib_operation_key *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_measure_frequency_print(const struct connectib_icmd_measure_frequency *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_operation_key ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_measure_frequency ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "key_modifier         : "UH_FMT"\n", ptr_struct->key_modifier);
+	fprintf(file, "cl                   : " UH_FMT "\n", ptr_struct->cl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "key                  : "U64H_FMT"\n", ptr_struct->key);
+	fprintf(file, "pll                  : " UH_FMT "\n", ptr_struct->pll);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "measured_div_quotient : " UH_FMT "\n", ptr_struct->measured_div_quotient);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "measured_div_fraction : " UH_FMT "\n", ptr_struct->measured_div_fraction);
 
 }
 
-int connectib_operation_key_size(void){
-	 return 16;
+int connectib_icmd_measure_frequency_size(void)
+{
+	 return 12;
 }
 
-void connectib_operation_key_dump(const struct connectib_operation_key *ptr_struct, FILE* file) {
-	connectib_operation_key_print(ptr_struct, file, 0);
+void connectib_icmd_measure_frequency_dump(const struct connectib_icmd_measure_frequency *ptr_struct, FILE* file)
+{
+	connectib_icmd_measure_frequency_print(ptr_struct, file, 0);
 }
 
-void connectib_toc_data_pack(const struct connectib_toc_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_restore_phy_registers_pack(const struct connectib_restore_phy_registers *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->address);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->size);
+	offset = 27;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->local_port);
 
 }
 
-void connectib_toc_data_unpack(struct connectib_toc_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_restore_phy_registers_unpack(struct connectib_restore_phy_registers *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->address = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=32;
-	ptr_struct->size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 27;
+	ptr_struct->local_port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
 }
 
-void connectib_toc_data_print(const struct connectib_toc_data *ptr_struct, FILE* file, int indent_level){
+void connectib_restore_phy_registers_print(const struct connectib_restore_phy_registers *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_toc_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_restore_phy_registers ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address              : "U32H_FMT"\n", ptr_struct->address);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "U32H_FMT"\n", ptr_struct->size);
+	fprintf(file, "local_port           : " UH_FMT "\n", ptr_struct->local_port);
 
 }
 
-int connectib_toc_data_size(void){
-	 return 8;
+int connectib_restore_phy_registers_size(void)
+{
+	 return 32;
 }
 
-void connectib_toc_data_dump(const struct connectib_toc_data *ptr_struct, FILE* file) {
-	connectib_toc_data_print(ptr_struct, file, 0);
+void connectib_restore_phy_registers_dump(const struct connectib_restore_phy_registers *ptr_struct, FILE* file)
+{
+	connectib_restore_phy_registers_print(ptr_struct, file, 0);
 }
 
-void connectib_rst_api_ver_pack(const struct connectib_rst_api_ver *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_reg_ptys_pack(const struct connectib_icmd_access_reg_ptys *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 128, i, 1024, 1);
-	connectib_reset_level_info_pack(&(ptr_struct->reset[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+
+	offset = 32;
+	connectib_ptys_reg_pack(&(ptr_struct->ptys), ptr_buff + offset/8);
 
 }
 
-void connectib_rst_api_ver_unpack(struct connectib_rst_api_ver *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_reg_ptys_unpack(struct connectib_icmd_access_reg_ptys *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 128, i, 1024, 1);
-	connectib_reset_level_info_unpack(&(ptr_struct->reset[i]), ptr_buff + offset/8);
-	}
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_ptys_reg_unpack(&(ptr_struct->ptys), ptr_buff + offset/8);
 
 }
 
-void connectib_rst_api_ver_print(const struct connectib_rst_api_ver *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_reg_ptys_print(const struct connectib_icmd_access_reg_ptys *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_rst_api_ver ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_reg_ptys ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_%03d:\n", i);
-	connectib_reset_level_info_print(&(ptr_struct->reset[i]), file, indent_level + 1);
-	}
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ptys:\n");
+	connectib_ptys_reg_print(&(ptr_struct->ptys), file, indent_level + 1);
 
 }
 
-int connectib_rst_api_ver_size(void){
-	 return 128;
+int connectib_icmd_access_reg_ptys_size(void)
+{
+	 return 68;
 }
 
-void connectib_rst_api_ver_dump(const struct connectib_rst_api_ver *ptr_struct, FILE* file) {
-	connectib_rst_api_ver_print(ptr_struct, file, 0);
+void connectib_icmd_access_reg_ptys_dump(const struct connectib_icmd_access_reg_ptys *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_reg_ptys_print(ptr_struct, file, 0);
 }
 
-void connectib_reset_capabilities_pack(const struct connectib_reset_capabilities *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_pmtu_pack(const struct connectib_icmd_access_register_pmtu *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->reset_ver_en);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+
+	offset = 32;
+	connectib_pmtu_reg_pack(&(ptr_struct->pmtu), ptr_buff + offset/8);
 
 }
 
-void connectib_reset_capabilities_unpack(struct connectib_reset_capabilities *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_pmtu_unpack(struct connectib_icmd_access_register_pmtu *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->reset_ver_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_pmtu_reg_unpack(&(ptr_struct->pmtu), ptr_buff + offset/8);
 
 }
 
-void connectib_reset_capabilities_print(const struct connectib_reset_capabilities *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_pmtu_print(const struct connectib_icmd_access_register_pmtu *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reset_capabilities ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_pmtu ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_ver_en         : "UH_FMT"\n", ptr_struct->reset_ver_en);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pmtu:\n");
+	connectib_pmtu_reg_print(&(ptr_struct->pmtu), file, indent_level + 1);
 
 }
 
-int connectib_reset_capabilities_size(void){
-	 return 4;
+int connectib_icmd_access_register_pmtu_size(void)
+{
+	 return 20;
 }
 
-void connectib_reset_capabilities_dump(const struct connectib_reset_capabilities *ptr_struct, FILE* file) {
-	connectib_reset_capabilities_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_pmtu_dump(const struct connectib_icmd_access_register_pmtu *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_pmtu_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_pf_ctx_pack(const struct connectib_icmd_get_pf_ctx *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_mlcr_pack(const struct connectib_icmd_access_register_mlcr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->portid);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vport_num);
-
-	offset=48;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->pf_gvmi);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=256;
-	connectib_vport_shadow_pack(&(ptr_struct->vport_shadow), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=512;
-	connectib_vport_info_pack(&(ptr_struct->vport_info), ptr_buff + offset/8);
+	offset = 32;
+	connectib_mlcr_pack(&(ptr_struct->mlcr), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_get_pf_ctx_unpack(struct connectib_icmd_get_pf_ctx *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_mlcr_unpack(struct connectib_icmd_access_register_mlcr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
-	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=0;
-	ptr_struct->vport_num = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=48;
-	ptr_struct->pf_gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=256;
-	connectib_vport_shadow_unpack(&(ptr_struct->vport_shadow), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=512;
-	connectib_vport_info_unpack(&(ptr_struct->vport_info), ptr_buff + offset/8);
+	offset = 32;
+	connectib_mlcr_unpack(&(ptr_struct->mlcr), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_get_pf_ctx_print(const struct connectib_icmd_get_pf_ctx *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_mlcr_print(const struct connectib_icmd_access_register_mlcr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_pf_ctx ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_mlcr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "portid               : "UH_FMT"\n", ptr_struct->portid);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_num            : "UH_FMT"\n", ptr_struct->vport_num);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pf_gvmi              : "UH_FMT"\n", ptr_struct->pf_gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_shadow:\n");
-	connectib_vport_shadow_print(&(ptr_struct->vport_shadow), file, indent_level + 1);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_info:\n");
-	connectib_vport_info_print(&(ptr_struct->vport_info), file, indent_level + 1);
+	fprintf(file, "mlcr:\n");
+	connectib_mlcr_print(&(ptr_struct->mlcr), file, indent_level + 1);
 
 }
 
-int connectib_icmd_get_pf_ctx_size(void){
-	 return 96;
+int connectib_icmd_access_register_mlcr_size(void)
+{
+	 return 16;
 }
 
-void connectib_icmd_get_pf_ctx_dump(const struct connectib_icmd_get_pf_ctx *ptr_struct, FILE* file) {
-	connectib_icmd_get_pf_ctx_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_mlcr_dump(const struct connectib_icmd_access_register_mlcr *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_mlcr_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_gen_assert_pack(const struct connectib_icmd_gen_assert *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_plpc_pack(const struct connectib_icmd_access_register_plpc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->value);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+
+	offset = 32;
+	connectib_plpc_reg_pack(&(ptr_struct->plpc), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_gen_assert_unpack(struct connectib_icmd_gen_assert *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_plpc_unpack(struct connectib_icmd_access_register_plpc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->value = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_plpc_reg_unpack(&(ptr_struct->plpc), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_gen_assert_print(const struct connectib_icmd_gen_assert *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_plpc_print(const struct connectib_icmd_access_register_plpc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_gen_assert ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_plpc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "value                : "U32H_FMT"\n", ptr_struct->value);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "plpc:\n");
+	connectib_plpc_reg_print(&(ptr_struct->plpc), file, indent_level + 1);
 
 }
 
-int connectib_icmd_gen_assert_size(void){
-	 return 4;
+int connectib_icmd_access_register_plpc_size(void)
+{
+	 return 48;
 }
 
-void connectib_icmd_gen_assert_dump(const struct connectib_icmd_gen_assert *ptr_struct, FILE* file) {
-	connectib_icmd_gen_assert_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_plpc_dump(const struct connectib_icmd_access_register_plpc *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_plpc_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_general_fault_injector_pack(const struct connectib_icmd_general_fault_injector *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_pplm_pack(const struct connectib_icmd_access_register_pplm *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->type);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=32;
-	connectib_general_fault_injector_pair_pack(&(ptr_struct->config), ptr_buff + offset/8);
+	offset = 32;
+	connectib_pplm_reg_pack(&(ptr_struct->pplm), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_general_fault_injector_unpack(struct connectib_icmd_general_fault_injector *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_pplm_unpack(struct connectib_icmd_access_register_pplm *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
-	connectib_general_fault_injector_pair_unpack(&(ptr_struct->config), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_pplm_reg_unpack(&(ptr_struct->pplm), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_general_fault_injector_print(const struct connectib_icmd_general_fault_injector *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_pplm_print(const struct connectib_icmd_access_register_pplm *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_general_fault_injector ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_pplm ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "U32H_FMT"\n", ptr_struct->type);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "config:\n");
-	connectib_general_fault_injector_pair_print(&(ptr_struct->config), file, indent_level + 1);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pplm:\n");
+	connectib_pplm_reg_print(&(ptr_struct->pplm), file, indent_level + 1);
 
 }
 
-int connectib_icmd_general_fault_injector_size(void){
-	 return 8;
+int connectib_icmd_access_register_pplm_size(void)
+{
+	 return 48;
 }
 
-void connectib_icmd_general_fault_injector_dump(const struct connectib_icmd_general_fault_injector *ptr_struct, FILE* file) {
-	connectib_icmd_general_fault_injector_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_pplm_dump(const struct connectib_icmd_access_register_pplm *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_pplm_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_pvlc_pack(const struct connectib_icmd_access_register_pvlc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_pplr_pack(const struct connectib_icmd_access_register_pplr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=32;
-	connectib_pvlc_reg_pack(&(ptr_struct->pvlc), ptr_buff + offset/8);
+	offset = 32;
+	connectib_pplr_reg_pack(&(ptr_struct->pplr), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_access_register_pvlc_unpack(struct connectib_icmd_access_register_pvlc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_pplr_unpack(struct connectib_icmd_access_register_pplr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	connectib_pvlc_reg_unpack(&(ptr_struct->pvlc), ptr_buff + offset/8);
+	offset = 32;
+	connectib_pplr_reg_unpack(&(ptr_struct->pplr), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_access_register_pvlc_print(const struct connectib_icmd_access_register_pvlc *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_pplr_print(const struct connectib_icmd_access_register_pplr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_pvlc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_pplr ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pvlc:\n");
-	connectib_pvlc_reg_print(&(ptr_struct->pvlc), file, indent_level + 1);
+	fprintf(file, "pplr:\n");
+	connectib_pplr_reg_print(&(ptr_struct->pplr), file, indent_level + 1);
 
 }
 
-int connectib_icmd_access_register_pvlc_size(void){
-	 return 20;
+int connectib_icmd_access_register_pplr_size(void)
+{
+	 return 48;
 }
 
-void connectib_icmd_access_register_pvlc_dump(const struct connectib_icmd_access_register_pvlc *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_pvlc_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_pplr_dump(const struct connectib_icmd_access_register_pplr *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_pplr_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_read_ste_pack(const struct connectib_icmd_read_ste *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_ppamp_pack(const struct connectib_icmd_access_register_ppamp *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_hw_ste_pack(&(ptr_struct->data), ptr_buff + offset/8);
-
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->index);
-
-	offset=560;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=544;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->locked_in_icmc);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+
+	offset = 32;
+	connectib_pamp_reg_pack(&(ptr_struct->ppamp), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_read_ste_unpack(struct connectib_icmd_read_ste *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_ppamp_unpack(struct connectib_icmd_access_register_ppamp *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_hw_ste_unpack(&(ptr_struct->data), ptr_buff + offset/8);
-
-	offset=512;
-	ptr_struct->index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=560;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=544;
-	ptr_struct->locked_in_icmc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_pamp_reg_unpack(&(ptr_struct->ppamp), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_read_ste_print(const struct connectib_icmd_read_ste *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_ppamp_print(const struct connectib_icmd_access_register_ppamp *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_read_ste ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_ppamp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data:\n");
-	connectib_hw_ste_print(&(ptr_struct->data), file, indent_level + 1);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "index                : "U32H_FMT"\n", ptr_struct->index);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "locked_in_icmc       : "UH_FMT"\n", ptr_struct->locked_in_icmc);
-
-}
+	fprintf(file, "ppamp:\n");
+	connectib_pamp_reg_print(&(ptr_struct->ppamp), file, indent_level + 1);
 
-int connectib_icmd_read_ste_size(void){
-	 return 80;
 }
 
-void connectib_icmd_read_ste_dump(const struct connectib_icmd_read_ste *ptr_struct, FILE* file) {
-	connectib_icmd_read_ste_print(ptr_struct, file, 0);
+int connectib_icmd_access_register_ppamp_size(void)
+{
+	 return 48;
 }
 
-void connectib_icmd_get_ste_resources_list_pack(const union connectib_icmd_get_ste_resources_list *ptr_struct, u_int8_t* ptr_buff)
+void connectib_icmd_access_register_ppamp_dump(const struct connectib_icmd_access_register_ppamp *ptr_struct, FILE* file)
 {
-	connectib_icmd_get_ste_resources_list_out_pack(&(ptr_struct->out), ptr_buff);
+	connectib_icmd_access_register_ppamp_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ste_resources_list_unpack(union connectib_icmd_get_ste_resources_list *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_icmd_access_register_ptas_pack(const struct connectib_icmd_access_register_ptas *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_icmd_get_ste_resources_list_out_unpack(&(ptr_struct->out), ptr_buff);
-}
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_icmd_get_ste_resources_list_print(const union connectib_icmd_get_ste_resources_list *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ste_resources_list ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in:\n");
-	connectib_icmd_get_ste_resources_list_in_print(&(ptr_struct->in), file, indent_level + 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "out:\n");
-	connectib_icmd_get_ste_resources_list_out_print(&(ptr_struct->out), file, indent_level + 1);
+	offset = 32;
+	connectib_ptas_reg_pack(&(ptr_struct->ptas), ptr_buff + offset/8);
 
 }
 
-int connectib_icmd_get_ste_resources_list_size(void){
-	 return 256;
-}
+void connectib_icmd_access_register_ptas_unpack(struct connectib_icmd_access_register_ptas *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_icmd_get_ste_resources_list_dump(const union connectib_icmd_get_ste_resources_list *ptr_struct, FILE* file) {
-	connectib_icmd_get_ste_resources_list_print(ptr_struct, file, 0);
-}
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_icmd_get_ste_open_resources_pack(const union connectib_icmd_get_ste_open_resources *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_icmd_get_ste_open_resources_out_pack(&(ptr_struct->out), ptr_buff);
-}
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_ptas_reg_unpack(&(ptr_struct->ptas), ptr_buff + offset/8);
 
-void connectib_icmd_get_ste_open_resources_unpack(union connectib_icmd_get_ste_open_resources *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_icmd_get_ste_open_resources_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_icmd_get_ste_open_resources_print(const union connectib_icmd_get_ste_open_resources *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_ptas_print(const struct connectib_icmd_access_register_ptas *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ste_open_resources ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_ptas ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in:\n");
-	connectib_icmd_get_ste_open_resources_in_print(&(ptr_struct->in), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "out:\n");
-	connectib_icmd_get_ste_open_resources_out_print(&(ptr_struct->out), file, indent_level + 1);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ptas:\n");
+	connectib_ptas_reg_print(&(ptr_struct->ptas), file, indent_level + 1);
 
-int connectib_icmd_get_ste_open_resources_size(void){
-	 return 768;
 }
 
-void connectib_icmd_get_ste_open_resources_dump(const union connectib_icmd_get_ste_open_resources *ptr_struct, FILE* file) {
-	connectib_icmd_get_ste_open_resources_print(ptr_struct, file, 0);
+int connectib_icmd_access_register_ptas_size(void)
+{
+	 return 48;
 }
 
-void connectib_icmd_get_fte_pack(const union connectib_icmd_get_fte *ptr_struct, u_int8_t* ptr_buff)
+void connectib_icmd_access_register_ptas_dump(const struct connectib_icmd_access_register_ptas *ptr_struct, FILE* file)
 {
-	connectib_icmd_get_fte_out_pack(&(ptr_struct->out), ptr_buff);
+	connectib_icmd_access_register_ptas_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fte_unpack(union connectib_icmd_get_fte *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_icmd_access_register_ppaos_pack(const struct connectib_icmd_access_register_ppaos *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_icmd_get_fte_out_unpack(&(ptr_struct->out), ptr_buff);
-}
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_icmd_get_fte_print(const union connectib_icmd_get_fte *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fte ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in:\n");
-	connectib_icmd_get_fte_in_print(&(ptr_struct->in), file, indent_level + 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "out:\n");
-	connectib_icmd_get_fte_out_print(&(ptr_struct->out), file, indent_level + 1);
+	offset = 32;
+	connectib_ppaos_reg_pack(&(ptr_struct->ppaos), ptr_buff + offset/8);
 
 }
 
-int connectib_icmd_get_fte_size(void){
-	 return 768;
-}
+void connectib_icmd_access_register_ppaos_unpack(struct connectib_icmd_access_register_ppaos *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_icmd_get_fte_dump(const union connectib_icmd_get_fte *ptr_struct, FILE* file) {
-	connectib_icmd_get_fte_print(ptr_struct, file, 0);
-}
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_icmd_get_fte_list_pack(const union connectib_icmd_get_fte_list *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_icmd_get_fte_list_out_pack(&(ptr_struct->out), ptr_buff);
-}
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_ppaos_reg_unpack(&(ptr_struct->ppaos), ptr_buff + offset/8);
 
-void connectib_icmd_get_fte_list_unpack(union connectib_icmd_get_fte_list *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_icmd_get_fte_list_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_icmd_get_fte_list_print(const union connectib_icmd_get_fte_list *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_ppaos_print(const struct connectib_icmd_access_register_ppaos *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fte_list ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_ppaos ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in:\n");
-	connectib_icmd_get_fte_list_in_print(&(ptr_struct->in), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "out:\n");
-	connectib_icmd_get_fte_list_out_print(&(ptr_struct->out), file, indent_level + 1);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ppaos:\n");
+	connectib_ppaos_reg_print(&(ptr_struct->ppaos), file, indent_level + 1);
 
-int connectib_icmd_get_fte_list_size(void){
-	 return 16;
 }
 
-void connectib_icmd_get_fte_list_dump(const union connectib_icmd_get_fte_list *ptr_struct, FILE* file) {
-	connectib_icmd_get_fte_list_print(ptr_struct, file, 0);
+int connectib_icmd_access_register_ppaos_size(void)
+{
+	 return 20;
 }
 
-void connectib_icmd_get_fg_pack(const union connectib_icmd_get_fg *ptr_struct, u_int8_t* ptr_buff)
+void connectib_icmd_access_register_ppaos_dump(const struct connectib_icmd_access_register_ppaos *ptr_struct, FILE* file)
 {
-	connectib_icmd_get_fg_out_pack(&(ptr_struct->out), ptr_buff);
+	connectib_icmd_access_register_ppaos_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fg_unpack(union connectib_icmd_get_fg *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_icmd_access_register_pprt_pack(const struct connectib_icmd_access_register_pprt *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_icmd_get_fg_out_unpack(&(ptr_struct->out), ptr_buff);
-}
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_icmd_get_fg_print(const union connectib_icmd_get_fg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in:\n");
-	connectib_icmd_get_fg_in_print(&(ptr_struct->in), file, indent_level + 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "out:\n");
-	connectib_icmd_get_fg_out_print(&(ptr_struct->out), file, indent_level + 1);
+	offset = 32;
+	connectib_pprt_reg_pack(&(ptr_struct->pprt), ptr_buff + offset/8);
 
 }
 
-int connectib_icmd_get_fg_size(void){
-	 return 256;
-}
+void connectib_icmd_access_register_pprt_unpack(struct connectib_icmd_access_register_pprt *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_icmd_get_fg_dump(const union connectib_icmd_get_fg *ptr_struct, FILE* file) {
-	connectib_icmd_get_fg_print(ptr_struct, file, 0);
-}
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_icmd_get_fg_list_pack(const union connectib_icmd_get_fg_list *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_icmd_get_fg_list_out_pack(&(ptr_struct->out), ptr_buff);
-}
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_pprt_reg_unpack(&(ptr_struct->pprt), ptr_buff + offset/8);
 
-void connectib_icmd_get_fg_list_unpack(union connectib_icmd_get_fg_list *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_icmd_get_fg_list_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_icmd_get_fg_list_print(const union connectib_icmd_get_fg_list *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_pprt_print(const struct connectib_icmd_access_register_pprt *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_fg_list ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_pprt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in:\n");
-	connectib_icmd_get_fg_list_in_print(&(ptr_struct->in), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "out:\n");
-	connectib_icmd_get_fg_list_out_print(&(ptr_struct->out), file, indent_level + 1);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pprt:\n");
+	connectib_pprt_reg_print(&(ptr_struct->pprt), file, indent_level + 1);
 
-int connectib_icmd_get_fg_list_size(void){
-	 return 16;
 }
 
-void connectib_icmd_get_fg_list_dump(const union connectib_icmd_get_fg_list *ptr_struct, FILE* file) {
-	connectib_icmd_get_fg_list_print(ptr_struct, file, 0);
+int connectib_icmd_access_register_pprt_size(void)
+{
+	 return 44;
 }
 
-void connectib_icmd_get_ft_info_pack(const union connectib_icmd_get_ft_info *ptr_struct, u_int8_t* ptr_buff)
+void connectib_icmd_access_register_pprt_dump(const struct connectib_icmd_access_register_pprt *ptr_struct, FILE* file)
 {
-	connectib_icmd_get_ft_info_out_pack(&(ptr_struct->out), ptr_buff);
+	connectib_icmd_access_register_pprt_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_ft_info_unpack(union connectib_icmd_get_ft_info *ptr_struct, const u_int8_t* ptr_buff)
+void connectib_icmd_access_register_pptt_pack(const struct connectib_icmd_access_register_pptt *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_icmd_get_ft_info_out_unpack(&(ptr_struct->out), ptr_buff);
-}
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_icmd_get_ft_info_print(const union connectib_icmd_get_ft_info *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ft_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in:\n");
-	connectib_icmd_get_ft_info_in_print(&(ptr_struct->in), file, indent_level + 1);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "out:\n");
-	connectib_icmd_get_ft_info_out_print(&(ptr_struct->out), file, indent_level + 1);
+	offset = 32;
+	connectib_pptt_reg_pack(&(ptr_struct->pptt), ptr_buff + offset/8);
 
 }
 
-int connectib_icmd_get_ft_info_size(void){
-	 return 16;
-}
+void connectib_icmd_access_register_pptt_unpack(struct connectib_icmd_access_register_pptt *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
 
-void connectib_icmd_get_ft_info_dump(const union connectib_icmd_get_ft_info *ptr_struct, FILE* file) {
-	connectib_icmd_get_ft_info_print(ptr_struct, file, 0);
-}
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-void connectib_icmd_get_ft_list_pack(const union connectib_icmd_get_ft_list *ptr_struct, u_int8_t* ptr_buff)
-{
-	connectib_icmd_get_ft_list_out_pack(&(ptr_struct->out), ptr_buff);
-}
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	connectib_pptt_reg_unpack(&(ptr_struct->pptt), ptr_buff + offset/8);
 
-void connectib_icmd_get_ft_list_unpack(union connectib_icmd_get_ft_list *ptr_struct, const u_int8_t* ptr_buff)
-{
-	connectib_icmd_get_ft_list_out_unpack(&(ptr_struct->out), ptr_buff);
 }
 
-void connectib_icmd_get_ft_list_print(const union connectib_icmd_get_ft_list *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_pptt_print(const struct connectib_icmd_access_register_pptt *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_ft_list ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_pptt ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in:\n");
-	connectib_icmd_get_ft_list_in_print(&(ptr_struct->in), file, indent_level + 1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "out:\n");
-	connectib_icmd_get_ft_list_out_print(&(ptr_struct->out), file, indent_level + 1);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pptt:\n");
+	connectib_pptt_reg_print(&(ptr_struct->pptt), file, indent_level + 1);
 
 }
 
-int connectib_icmd_get_ft_list_size(void){
-	 return 16;
+int connectib_icmd_access_register_pptt_size(void)
+{
+	 return 32;
 }
 
-void connectib_icmd_get_ft_list_dump(const union connectib_icmd_get_ft_list *ptr_struct, FILE* file) {
-	connectib_icmd_get_ft_list_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_pptt_dump(const struct connectib_icmd_access_register_pptt *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_pptt_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_set_get_port_cntr_pack(const struct connectib_icmd_set_get_port_cntr *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_slrg_pack(const struct connectib_icmd_access_register_slrg *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->data);
-
-	offset=95;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_0_1);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=94;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->set_get_);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->cntr_ix);
+	offset = 32;
+	connectib_slrg_reg_pack(&(ptr_struct->slrg), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_set_get_port_cntr_unpack(struct connectib_icmd_set_get_port_cntr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_slrg_unpack(struct connectib_icmd_access_register_slrg *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->data = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
-
-	offset=95;
-	ptr_struct->port_0_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=94;
-	ptr_struct->set_get_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 0;
+	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
-	ptr_struct->cntr_ix = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 32;
+	connectib_slrg_reg_unpack(&(ptr_struct->slrg), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_set_get_port_cntr_print(const struct connectib_icmd_set_get_port_cntr *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_slrg_print(const struct connectib_icmd_access_register_slrg *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_set_get_port_cntr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_slrg ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data                 : "U64H_FMT"\n", ptr_struct->data);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_0_1             : "UH_FMT"\n", ptr_struct->port_0_1);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "set_get_             : "UH_FMT"\n", ptr_struct->set_get_);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cntr_ix              : "UH_FMT"\n", ptr_struct->cntr_ix);
+	fprintf(file, "slrg:\n");
+	connectib_slrg_reg_print(&(ptr_struct->slrg), file, indent_level + 1);
 
 }
 
-int connectib_icmd_set_get_port_cntr_size(void){
-	 return 24;
+int connectib_icmd_access_register_slrg_size(void)
+{
+	 return 44;
 }
 
-void connectib_icmd_set_get_port_cntr_dump(const struct connectib_icmd_set_get_port_cntr *ptr_struct, FILE* file) {
-	connectib_icmd_set_get_port_cntr_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_slrg_dump(const struct connectib_icmd_access_register_slrg *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_slrg_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_ppcnt_pack(const struct connectib_icmd_access_register_ppcnt *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_sltp_pack(const struct connectib_icmd_access_register_sltp *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=32;
-	connectib_ppcnt_reg_pack(&(ptr_struct->ppcnt), ptr_buff + offset/8);
+	offset = 32;
+	connectib_sltp_reg_pack(&(ptr_struct->sltp), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_access_register_ppcnt_unpack(struct connectib_icmd_access_register_ppcnt *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_sltp_unpack(struct connectib_icmd_access_register_sltp *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	connectib_ppcnt_reg_unpack(&(ptr_struct->ppcnt), ptr_buff + offset/8);
+	offset = 32;
+	connectib_sltp_reg_unpack(&(ptr_struct->sltp), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_access_register_ppcnt_print(const struct connectib_icmd_access_register_ppcnt *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_sltp_print(const struct connectib_icmd_access_register_sltp *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_ppcnt ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_sltp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ppcnt:\n");
-	connectib_ppcnt_reg_print(&(ptr_struct->ppcnt), file, indent_level + 1);
+	fprintf(file, "sltp:\n");
+	connectib_sltp_reg_print(&(ptr_struct->sltp), file, indent_level + 1);
 
 }
 
-int connectib_icmd_access_register_ppcnt_size(void){
-	 return 268;
+int connectib_icmd_access_register_sltp_size(void)
+{
+	 return 24;
 }
 
-void connectib_icmd_access_register_ppcnt_dump(const struct connectib_icmd_access_register_ppcnt *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_ppcnt_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_sltp_dump(const struct connectib_icmd_access_register_sltp *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_sltp_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_reg_ptys_pack(const struct connectib_icmd_access_reg_ptys *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_slrp_pack(const struct connectib_icmd_access_register_slrp *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=32;
-	connectib_ptys_reg_pack(&(ptr_struct->ptys), ptr_buff + offset/8);
+	offset = 32;
+	connectib_slrp_reg_pack(&(ptr_struct->slrp), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_access_reg_ptys_unpack(struct connectib_icmd_access_reg_ptys *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_slrp_unpack(struct connectib_icmd_access_register_slrp *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	connectib_ptys_reg_unpack(&(ptr_struct->ptys), ptr_buff + offset/8);
+	offset = 32;
+	connectib_slrp_reg_unpack(&(ptr_struct->slrp), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_access_reg_ptys_print(const struct connectib_icmd_access_reg_ptys *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_slrp_print(const struct connectib_icmd_access_register_slrp *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_reg_ptys ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_slrp ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ptys:\n");
-	connectib_ptys_reg_print(&(ptr_struct->ptys), file, indent_level + 1);
+	fprintf(file, "slrp:\n");
+	connectib_slrp_reg_print(&(ptr_struct->slrp), file, indent_level + 1);
 
 }
 
-int connectib_icmd_access_reg_ptys_size(void){
-	 return 68;
+int connectib_icmd_access_register_slrp_size(void)
+{
+	 return 48;
 }
 
-void connectib_icmd_access_reg_ptys_dump(const struct connectib_icmd_access_reg_ptys *ptr_struct, FILE* file) {
-	connectib_icmd_access_reg_ptys_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_slrp_dump(const struct connectib_icmd_access_register_slrp *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_slrp_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_pmtu_pack(const struct connectib_icmd_access_register_pmtu *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_register_paos_pack(const struct connectib_icmd_access_register_paos *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
 
-	offset=32;
-	connectib_pmtu_reg_pack(&(ptr_struct->pmtu), ptr_buff + offset/8);
+	offset = 32;
+	connectib_paos_reg_pack(&(ptr_struct->paos), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_access_register_pmtu_unpack(struct connectib_icmd_access_register_pmtu *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_register_paos_unpack(struct connectib_icmd_access_register_paos *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	connectib_pmtu_reg_unpack(&(ptr_struct->pmtu), ptr_buff + offset/8);
+	offset = 32;
+	connectib_paos_reg_unpack(&(ptr_struct->paos), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_access_register_pmtu_print(const struct connectib_icmd_access_register_pmtu *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_register_paos_print(const struct connectib_icmd_access_register_paos *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_pmtu ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_access_register_paos ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	fprintf(file, "rw                   : " UH_FMT "\n", ptr_struct->rw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pmtu:\n");
-	connectib_pmtu_reg_print(&(ptr_struct->pmtu), file, indent_level + 1);
+	fprintf(file, "paos:\n");
+	connectib_paos_reg_print(&(ptr_struct->paos), file, indent_level + 1);
 
 }
 
-int connectib_icmd_access_register_pmtu_size(void){
+int connectib_icmd_access_register_paos_size(void)
+{
 	 return 20;
 }
 
-void connectib_icmd_access_register_pmtu_dump(const struct connectib_icmd_access_register_pmtu *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_pmtu_print(ptr_struct, file, 0);
+void connectib_icmd_access_register_paos_dump(const struct connectib_icmd_access_register_paos *ptr_struct, FILE* file)
+{
+	connectib_icmd_access_register_paos_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_ppamp_pack(const struct connectib_icmd_access_register_ppamp *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_enable_tools_pf_pack(const struct connectib_icmd_enable_tools_pf *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
-
-	offset=32;
-	connectib_pamp_reg_pack(&(ptr_struct->ppamp), ptr_buff + offset/8);
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->disable_enable_);
 
 }
 
-void connectib_icmd_access_register_ppamp_unpack(struct connectib_icmd_access_register_ppamp *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_enable_tools_pf_unpack(struct connectib_icmd_enable_tools_pf *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	connectib_pamp_reg_unpack(&(ptr_struct->ppamp), ptr_buff + offset/8);
+	offset = 31;
+	ptr_struct->disable_enable_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_access_register_ppamp_print(const struct connectib_icmd_access_register_ppamp *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_enable_tools_pf_print(const struct connectib_icmd_enable_tools_pf *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_ppamp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_enable_tools_pf ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ppamp:\n");
-	connectib_pamp_reg_print(&(ptr_struct->ppamp), file, indent_level + 1);
+	fprintf(file, "disable_enable_      : " UH_FMT "\n", ptr_struct->disable_enable_);
 
 }
 
-int connectib_icmd_access_register_ppamp_size(void){
-	 return 48;
+int connectib_icmd_enable_tools_pf_size(void)
+{
+	 return 4;
 }
 
-void connectib_icmd_access_register_ppamp_dump(const struct connectib_icmd_access_register_ppamp *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_ppamp_print(ptr_struct, file, 0);
+void connectib_icmd_enable_tools_pf_dump(const struct connectib_icmd_enable_tools_pf *ptr_struct, FILE* file)
+{
+	connectib_icmd_enable_tools_pf_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_ptas_pack(const struct connectib_icmd_access_register_ptas *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_set_toolpf_tracer_pack(const struct connectib_icmd_set_toolpf_tracer *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
-
-	offset=32;
-	connectib_ptas_reg_pack(&(ptr_struct->ptas), ptr_buff + offset/8);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->PA);
 
 }
 
-void connectib_icmd_access_register_ptas_unpack(struct connectib_icmd_access_register_ptas *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_set_toolpf_tracer_unpack(struct connectib_icmd_set_toolpf_tracer *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	connectib_ptas_reg_unpack(&(ptr_struct->ptas), ptr_buff + offset/8);
+	offset = 0;
+	ptr_struct->PA = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_icmd_access_register_ptas_print(const struct connectib_icmd_access_register_ptas *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_set_toolpf_tracer_print(const struct connectib_icmd_set_toolpf_tracer *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_ptas ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_set_toolpf_tracer ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ptas:\n");
-	connectib_ptas_reg_print(&(ptr_struct->ptas), file, indent_level + 1);
+	fprintf(file, "PA                   : " U64H_FMT "\n", ptr_struct->PA);
 
 }
 
-int connectib_icmd_access_register_ptas_size(void){
-	 return 48;
+int connectib_icmd_set_toolpf_tracer_size(void)
+{
+	 return 64;
 }
 
-void connectib_icmd_access_register_ptas_dump(const struct connectib_icmd_access_register_ptas *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_ptas_print(ptr_struct, file, 0);
+void connectib_icmd_set_toolpf_tracer_dump(const struct connectib_icmd_set_toolpf_tracer *ptr_struct, FILE* file)
+{
+	connectib_icmd_set_toolpf_tracer_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_slrg_pack(const struct connectib_icmd_access_register_slrg *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_nvcfg_rw_tlv_pack(const struct connectib_icmd_nvcfg_rw_tlv *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->writer_id);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+	offset = 7;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->apply);
 
-	offset=32;
-	connectib_slrg_reg_pack(&(ptr_struct->slrg), ptr_buff + offset/8);
+	offset = 6;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->shadow);
+
+	offset = 5;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ovr_en);
+
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rd_en);
+
+	offset = 2;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->prio);
+
+	offset = 1;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_defaults);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
+
+	offset = 32;
+	connectib_nv_tlv_type_pack(&(ptr_struct->type), ptr_buff + offset/8);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data_len_bytes);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->status);
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 2176, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
+	}
 
 }
 
-void connectib_icmd_access_register_slrg_unpack(struct connectib_icmd_access_register_slrg *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_nvcfg_rw_tlv_unpack(struct connectib_icmd_nvcfg_rw_tlv *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 8;
+	ptr_struct->writer_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 7;
+	ptr_struct->apply = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	connectib_slrg_reg_unpack(&(ptr_struct->slrg), ptr_buff + offset/8);
+	offset = 6;
+	ptr_struct->shadow = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 5;
+	ptr_struct->ovr_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-void connectib_icmd_access_register_slrg_print(const struct connectib_icmd_access_register_slrg *ptr_struct, FILE* file, int indent_level){
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_slrg ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	offset = 4;
+	ptr_struct->rd_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	offset = 2;
+	ptr_struct->prio = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	offset = 1;
+	ptr_struct->read_defaults = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slrg:\n");
-	connectib_slrg_reg_print(&(ptr_struct->slrg), file, indent_level + 1);
+	offset = 0;
+	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-}
+	offset = 32;
+	connectib_nv_tlv_type_unpack(&(ptr_struct->type), ptr_buff + offset/8);
 
-int connectib_icmd_access_register_slrg_size(void){
-	 return 44;
-}
+	offset = 64;
+	ptr_struct->data_len_bytes = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->status = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 2176, 1);
+	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-void connectib_icmd_access_register_slrg_dump(const struct connectib_icmd_access_register_slrg *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_slrg_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_sltp_pack(const struct connectib_icmd_access_register_sltp *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
+void connectib_icmd_nvcfg_rw_tlv_print(const struct connectib_icmd_nvcfg_rw_tlv *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_nvcfg_rw_tlv ========\n");
+	int i = 0;
 	(void)i;
 	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	(void)file;
+	(void)indent_level;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "writer_id            : " UH_FMT "\n", ptr_struct->writer_id);
 
-	offset=32;
-	connectib_sltp_reg_pack(&(ptr_struct->sltp), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "apply                : " UH_FMT "\n", ptr_struct->apply);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "shadow               : " UH_FMT "\n", ptr_struct->shadow);
 
-void connectib_icmd_access_register_sltp_unpack(struct connectib_icmd_access_register_sltp *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ovr_en               : " UH_FMT "\n", ptr_struct->ovr_en);
 
-	offset=16;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rd_en                : " UH_FMT "\n", ptr_struct->rd_en);
 
-	offset=0;
-	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "prio                 : " UH_FMT "\n", ptr_struct->prio);
 
-	offset=32;
-	connectib_sltp_reg_unpack(&(ptr_struct->sltp), ptr_buff + offset/8);
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "read_defaults        : " UH_FMT "\n", ptr_struct->read_defaults);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
-void connectib_icmd_access_register_sltp_print(const struct connectib_icmd_access_register_sltp *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_sltp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "type:\n");
+	connectib_nv_tlv_type_print(&(ptr_struct->type), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "data_len_bytes       : " U32H_FMT "\n", ptr_struct->data_len_bytes);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	fprintf(file, "status               : " U32H_FMT "\n", ptr_struct->status);
 
+	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sltp:\n");
-	connectib_sltp_reg_print(&(ptr_struct->sltp), file, indent_level + 1);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
+	}
 
 }
 
-int connectib_icmd_access_register_sltp_size(void){
-	 return 24;
+int connectib_icmd_nvcfg_rw_tlv_size(void)
+{
+	 return 272;
 }
 
-void connectib_icmd_access_register_sltp_dump(const struct connectib_icmd_access_register_sltp *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_sltp_print(ptr_struct, file, 0);
+void connectib_icmd_nvcfg_rw_tlv_dump(const struct connectib_icmd_nvcfg_rw_tlv *ptr_struct, FILE* file)
+{
+	connectib_icmd_nvcfg_rw_tlv_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_slrp_pack(const struct connectib_icmd_access_register_slrp *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_xport_xonfig_pack(const struct connectib_icmd_xport_xonfig *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->bitmask);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=32;
-	connectib_slrp_reg_pack(&(ptr_struct->slrp), ptr_buff + offset/8);
+	offset = 123;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->ack_timeout);
 
 }
 
-void connectib_icmd_access_register_slrp_unpack(struct connectib_icmd_access_register_slrp *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_xport_xonfig_unpack(struct connectib_icmd_xport_xonfig *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	offset = 0;
+	ptr_struct->bitmask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=0;
-	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 63;
+	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
-	connectib_slrp_reg_unpack(&(ptr_struct->slrp), ptr_buff + offset/8);
+	offset = 123;
+	ptr_struct->ack_timeout = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
 }
 
-void connectib_icmd_access_register_slrp_print(const struct connectib_icmd_access_register_slrp *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_xport_xonfig_print(const struct connectib_icmd_xport_xonfig *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_slrp ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_xport_xonfig ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "bitmask              : " U32H_FMT "\n", ptr_struct->bitmask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slrp:\n");
-	connectib_slrp_reg_print(&(ptr_struct->slrp), file, indent_level + 1);
+	fprintf(file, "ack_timeout          : " UH_FMT "\n", ptr_struct->ack_timeout);
 
 }
 
-int connectib_icmd_access_register_slrp_size(void){
-	 return 48;
+int connectib_icmd_xport_xonfig_size(void)
+{
+	 return 16;
 }
 
-void connectib_icmd_access_register_slrp_dump(const struct connectib_icmd_access_register_slrp *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_slrp_print(ptr_struct, file, 0);
+void connectib_icmd_xport_xonfig_dump(const struct connectib_icmd_xport_xonfig *ptr_struct, FILE* file)
+{
+	connectib_icmd_xport_xonfig_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_register_paos_pack(const struct connectib_icmd_access_register_paos *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_gvmi_via_vsec_pack(const struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hix);
 
-	offset=32;
-	connectib_paos_reg_pack(&(ptr_struct->paos), ptr_buff + offset/8);
+	offset = 4;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pfs_per_host);
+
+	offset = 60;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_physical_ports);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port_pfs_per_host);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_id);
 
 }
 
-void connectib_icmd_access_register_paos_unpack(struct connectib_icmd_access_register_paos *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_gvmi_via_vsec_unpack(struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=0;
-	ptr_struct->rw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	offset = 8;
+	ptr_struct->hix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	connectib_paos_reg_unpack(&(ptr_struct->paos), ptr_buff + offset/8);
+	offset = 4;
+	ptr_struct->pfs_per_host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 60;
+	ptr_struct->num_physical_ports = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 56;
+	ptr_struct->port_pfs_per_host = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->device_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_icmd_access_register_paos_print(const struct connectib_icmd_access_register_paos *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_gvmi_via_vsec_print(const struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_access_register_paos ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_get_gvmi_via_vsec ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw                   : "UH_FMT"\n", ptr_struct->rw);
+	fprintf(file, "hix                  : " UH_FMT "\n", ptr_struct->hix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "paos:\n");
-	connectib_paos_reg_print(&(ptr_struct->paos), file, indent_level + 1);
-
-}
-
-int connectib_icmd_access_register_paos_size(void){
-	 return 20;
-}
-
-void connectib_icmd_access_register_paos_dump(const struct connectib_icmd_access_register_paos *ptr_struct, FILE* file) {
-	connectib_icmd_access_register_paos_print(ptr_struct, file, 0);
-}
-
-void connectib_icmd_get_gvmi_via_vsec_pack(const struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=16;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
-
-}
-
-void connectib_icmd_get_gvmi_via_vsec_unpack(struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=16;
-	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+	fprintf(file, "pfs_per_host         : " UH_FMT "\n", ptr_struct->pfs_per_host);
 
-}
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_physical_ports   : " UH_FMT "\n", ptr_struct->num_physical_ports);
 
-void connectib_icmd_get_gvmi_via_vsec_print(const struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_get_gvmi_via_vsec ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "port_pfs_per_host    : " UH_FMT "\n", ptr_struct->port_pfs_per_host);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "device_id            : " UH_FMT "\n", ptr_struct->device_id);
 
 }
 
-int connectib_icmd_get_gvmi_via_vsec_size(void){
+int connectib_icmd_get_gvmi_via_vsec_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_get_gvmi_via_vsec_dump(const struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, FILE* file) {
+void connectib_icmd_get_gvmi_via_vsec_dump(const struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_gvmi_via_vsec_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_steering_table_info_pack(const struct connectib_icmd_steering_table_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_steering_table_info_pack(const struct connectib_icmd_steering_table_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_steering_table_info_pack(&(ptr_struct->table_info), ptr_buff + offset/8);
 
-	offset=264;
+	offset = 520;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->steering_table);
 
-	offset=256;
+	offset = 512;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->portid);
 
 }
 
-void connectib_icmd_steering_table_info_unpack(struct connectib_icmd_steering_table_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_steering_table_info_unpack(struct connectib_icmd_steering_table_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_steering_table_info_unpack(&(ptr_struct->table_info), ptr_buff + offset/8);
 
-	offset=264;
+	offset = 520;
 	ptr_struct->steering_table = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=256;
+	offset = 512;
 	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_steering_table_info_print(const struct connectib_icmd_steering_table_info *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_steering_table_info_print(const struct connectib_icmd_steering_table_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_steering_table_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -52692,84 +83370,94 @@ void connectib_icmd_steering_table_info_print(const struct connectib_icmd_steeri
 	connectib_steering_table_info_print(&(ptr_struct->table_info), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "steering_table       : "UH_FMT"\n", ptr_struct->steering_table);
+	fprintf(file, "steering_table       : " UH_FMT "\n", ptr_struct->steering_table);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "portid               : "UH_FMT"\n", ptr_struct->portid);
+	fprintf(file, "portid               : " UH_FMT "\n", ptr_struct->portid);
 
 }
 
-int connectib_icmd_steering_table_info_size(void){
-	 return 48;
+int connectib_icmd_steering_table_info_size(void)
+{
+	 return 80;
 }
 
-void connectib_icmd_steering_table_info_dump(const struct connectib_icmd_steering_table_info *ptr_struct, FILE* file) {
+void connectib_icmd_steering_table_info_dump(const struct connectib_icmd_steering_table_info *ptr_struct, FILE* file)
+{
 	connectib_icmd_steering_table_info_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_steering_root_pack(const struct connectib_icmd_access_steering_root *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_steering_root_pack(const struct connectib_icmd_access_steering_root *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_hw_ste_pack(&(ptr_struct->data), ptr_buff + offset/8);
 
-	offset=543;
+	offset = 543;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_rx_);
 
-	offset=542;
+	offset = 542;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->portid);
 
-	offset=541;
+	offset = 541;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mc_uc_);
 
-	offset=540;
+	offset = 540;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->special_root);
 
-	offset=512;
+	offset = 539;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_disable_);
+
+	offset = 512;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
 }
 
-void connectib_icmd_access_steering_root_unpack(struct connectib_icmd_access_steering_root *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_steering_root_unpack(struct connectib_icmd_access_steering_root *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_hw_ste_unpack(&(ptr_struct->data), ptr_buff + offset/8);
 
-	offset=543;
+	offset = 543;
 	ptr_struct->sx_rx_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=542;
+	offset = 542;
 	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=541;
+	offset = 541;
 	ptr_struct->mc_uc_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=540;
+	offset = 540;
 	ptr_struct->special_root = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=512;
+	offset = 539;
+	ptr_struct->enable_disable_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 512;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_access_steering_root_print(const struct connectib_icmd_access_steering_root *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_steering_root_print(const struct connectib_icmd_access_steering_root *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_access_steering_root ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -52778,89 +83466,96 @@ void connectib_icmd_access_steering_root_print(const struct connectib_icmd_acces
 	connectib_hw_ste_print(&(ptr_struct->data), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_rx_               : "UH_FMT"\n", ptr_struct->sx_rx_);
+	fprintf(file, "sx_rx_               : " UH_FMT "\n", ptr_struct->sx_rx_);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "portid               : " UH_FMT "\n", ptr_struct->portid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "portid               : "UH_FMT"\n", ptr_struct->portid);
+	fprintf(file, "mc_uc_               : " UH_FMT "\n", ptr_struct->mc_uc_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mc_uc_               : "UH_FMT"\n", ptr_struct->mc_uc_);
+	fprintf(file, "special_root         : " UH_FMT "\n", ptr_struct->special_root);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "special_root         : "UH_FMT"\n", ptr_struct->special_root);
+	fprintf(file, "enable_disable_      : " UH_FMT "\n", ptr_struct->enable_disable_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 }
 
-int connectib_icmd_access_steering_root_size(void){
+int connectib_icmd_access_steering_root_size(void)
+{
 	 return 68;
 }
 
-void connectib_icmd_access_steering_root_dump(const struct connectib_icmd_access_steering_root *ptr_struct, FILE* file) {
+void connectib_icmd_access_steering_root_dump(const struct connectib_icmd_access_steering_root *ptr_struct, FILE* file)
+{
 	connectib_icmd_access_steering_root_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_dcr_ll_next_dcr_list_pack(const struct connectib_icmd_dcr_ll_next_dcr_list *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_dcr_ll_next_dcr_list_pack(const struct connectib_icmd_dcr_ll_next_dcr_list *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->start_dcri);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->list_length);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->list_length);
 
-	for (i=0; i < 128; i++) {
-	offset=adb2c_calc_array_field_address(2048, 32, i, 6144, 1);
+	for (i = 0; i < 128; i++) {
+	offset = adb2c_calc_array_field_address(2048, 32, i, 6144, 1);
 	connectib_dcr_info_pack(&(ptr_struct->dcr_info[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_dcr_ll_next_dcr_list_unpack(struct connectib_icmd_dcr_ll_next_dcr_list *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_dcr_ll_next_dcr_list_unpack(struct connectib_icmd_dcr_ll_next_dcr_list *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	ptr_struct->start_dcri = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->list_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 128; i++) {
-	offset=adb2c_calc_array_field_address(2048, 32, i, 6144, 1);
+	for (i = 0; i < 128; i++) {
+	offset = adb2c_calc_array_field_address(2048, 32, i, 6144, 1);
 	connectib_dcr_info_unpack(&(ptr_struct->dcr_info[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_dcr_ll_next_dcr_list_print(const struct connectib_icmd_dcr_ll_next_dcr_list *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_dcr_ll_next_dcr_list_print(const struct connectib_icmd_dcr_ll_next_dcr_list *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_dcr_ll_next_dcr_list ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "start_dcri           : "UH_FMT"\n", ptr_struct->start_dcri);
+	fprintf(file, "start_dcri           : " UH_FMT "\n", ptr_struct->start_dcri);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "list_length          : "U32H_FMT"\n", ptr_struct->list_length);
+	fprintf(file, "list_length          : " U32H_FMT "\n", ptr_struct->list_length);
 
-	for (i=0; i < 128; i++) {
+	for (i = 0; i < 128; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "dcr_info_%03d:\n", i);
 	connectib_dcr_info_print(&(ptr_struct->dcr_info[i]), file, indent_level + 1);
@@ -52868,282 +83563,370 @@ void connectib_icmd_dcr_ll_next_dcr_list_print(const struct connectib_icmd_dcr_l
 
 }
 
-int connectib_icmd_dcr_ll_next_dcr_list_size(void){
+int connectib_icmd_dcr_ll_next_dcr_list_size(void)
+{
 	 return 768;
 }
 
-void connectib_icmd_dcr_ll_next_dcr_list_dump(const struct connectib_icmd_dcr_ll_next_dcr_list *ptr_struct, FILE* file) {
+void connectib_icmd_dcr_ll_next_dcr_list_dump(const struct connectib_icmd_dcr_ll_next_dcr_list *ptr_struct, FILE* file)
+{
 	connectib_icmd_dcr_ll_next_dcr_list_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_dcr_ll_trvrs_pack(const struct connectib_icmd_dcr_ll_trvrs *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_dcr_ll_trvrs_pack(const struct connectib_icmd_dcr_ll_trvrs *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->start_dcri);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->list_length);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->list_length);
 
-	offset=72;
+	offset = 72;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->last_dcri);
 
 }
 
-void connectib_icmd_dcr_ll_trvrs_unpack(struct connectib_icmd_dcr_ll_trvrs *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_dcr_ll_trvrs_unpack(struct connectib_icmd_dcr_ll_trvrs *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	ptr_struct->start_dcri = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->list_length = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
+	offset = 72;
 	ptr_struct->last_dcri = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
 }
 
-void connectib_icmd_dcr_ll_trvrs_print(const struct connectib_icmd_dcr_ll_trvrs *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_dcr_ll_trvrs_print(const struct connectib_icmd_dcr_ll_trvrs *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_dcr_ll_trvrs ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "start_dcri           : "UH_FMT"\n", ptr_struct->start_dcri);
+	fprintf(file, "start_dcri           : " UH_FMT "\n", ptr_struct->start_dcri);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "list_length          : "U32H_FMT"\n", ptr_struct->list_length);
+	fprintf(file, "list_length          : " U32H_FMT "\n", ptr_struct->list_length);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_dcri            : "UH_FMT"\n", ptr_struct->last_dcri);
+	fprintf(file, "last_dcri            : " UH_FMT "\n", ptr_struct->last_dcri);
 
 }
 
-int connectib_icmd_dcr_ll_trvrs_size(void){
+int connectib_icmd_dcr_ll_trvrs_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_dcr_ll_trvrs_dump(const struct connectib_icmd_dcr_ll_trvrs *ptr_struct, FILE* file) {
+void connectib_icmd_dcr_ll_trvrs_dump(const struct connectib_icmd_dcr_ll_trvrs *ptr_struct, FILE* file)
+{
 	connectib_icmd_dcr_ll_trvrs_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_flr_debug_pack(const struct connectib_icmd_flr_debug *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_flr_debug_pack(const struct connectib_icmd_flr_debug *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=48;
+	offset = 48;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->flow_id);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->flow_data_0);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flow_data_0);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->flow_data_1);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flow_data_1);
 
 }
 
-void connectib_icmd_flr_debug_unpack(struct connectib_icmd_flr_debug *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_flr_debug_unpack(struct connectib_icmd_flr_debug *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=48;
+	offset = 48;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->flow_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->flow_data_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->flow_data_1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_flr_debug_print(const struct connectib_icmd_flr_debug *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_flr_debug_print(const struct connectib_icmd_flr_debug *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_flr_debug ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_id              : "UH_FMT"\n", ptr_struct->flow_id);
+	fprintf(file, "flow_id              : " UH_FMT "\n", ptr_struct->flow_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_data_0          : "U32H_FMT"\n", ptr_struct->flow_data_0);
+	fprintf(file, "flow_data_0          : " U32H_FMT "\n", ptr_struct->flow_data_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_data_1          : "U32H_FMT"\n", ptr_struct->flow_data_1);
+	fprintf(file, "flow_data_1          : " U32H_FMT "\n", ptr_struct->flow_data_1);
 
 }
 
-int connectib_icmd_flr_debug_size(void){
+int connectib_icmd_flr_debug_size(void)
+{
 	 return 32;
 }
 
-void connectib_icmd_flr_debug_dump(const struct connectib_icmd_flr_debug *ptr_struct, FILE* file) {
+void connectib_icmd_flr_debug_dump(const struct connectib_icmd_flr_debug *ptr_struct, FILE* file)
+{
 	connectib_icmd_flr_debug_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_push_db_pack(const struct connectib_icmd_push_db *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_push_db_pack(const struct connectib_icmd_push_db *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=40;
+	offset = 40;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
 
-	offset=39;
+	offset = 39;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->req_res_);
 
 }
 
-void connectib_icmd_push_db_unpack(struct connectib_icmd_push_db *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_push_db_unpack(struct connectib_icmd_push_db *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=40;
+	offset = 40;
 	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=39;
+	offset = 39;
 	ptr_struct->req_res_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_push_db_print(const struct connectib_icmd_push_db *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_push_db_print(const struct connectib_icmd_push_db *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_push_db ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "req_res_             : "UH_FMT"\n", ptr_struct->req_res_);
+	fprintf(file, "req_res_             : " UH_FMT "\n", ptr_struct->req_res_);
 
 }
 
-int connectib_icmd_push_db_size(void){
+int connectib_icmd_push_db_size(void)
+{
 	 return 8;
 }
 
-void connectib_icmd_push_db_dump(const struct connectib_icmd_push_db *ptr_struct, FILE* file) {
+void connectib_icmd_push_db_dump(const struct connectib_icmd_push_db *ptr_struct, FILE* file)
+{
 	connectib_icmd_push_db_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_pcie_ver_data_pack(const struct connectib_icmd_pcie_ver_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_ver_data_pack(const struct connectib_icmd_ver_data *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->opcode);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->user_data);
+
+	offset = 128;
+	connectib_icmd_ver_data_cmd_specific_pack(&(ptr_struct->cmd_specific), ptr_buff + offset/8);
+
+}
+
+void connectib_icmd_ver_data_unpack(struct connectib_icmd_ver_data *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 56;
+	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->user_data = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
+	connectib_icmd_ver_data_cmd_specific_unpack(&(ptr_struct->cmd_specific), ptr_buff + offset/8);
+
+}
+
+void connectib_icmd_ver_data_print(const struct connectib_icmd_ver_data *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_ver_data ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "user_data            : " U32H_FMT "\n", ptr_struct->user_data);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmd_specific:\n");
+	connectib_icmd_ver_data_cmd_specific_print(&(ptr_struct->cmd_specific), file, indent_level + 1);
+
+}
+
+int connectib_icmd_ver_data_size(void)
+{
+	 return 80;
+}
+
+void connectib_icmd_ver_data_dump(const struct connectib_icmd_ver_data *ptr_struct, FILE* file)
+{
+	connectib_icmd_ver_data_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_pcie_ver_data_pack(const struct connectib_icmd_pcie_ver_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_icmd_pcie_ver_device_pack(&(ptr_struct->device), ptr_buff + offset/8);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(128, 128, i, 512, 1);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(128, 128, i, 512, 1);
 	connectib_icmd_pcie_ver_cables_pack(&(ptr_struct->cables[i]), ptr_buff + offset/8);
 	}
 
-	offset=384;
+	offset = 384;
 	connectib_icmd_pcie_ver_frequency_pack(&(ptr_struct->frequency), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_pcie_ver_data_unpack(struct connectib_icmd_pcie_ver_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_pcie_ver_data_unpack(struct connectib_icmd_pcie_ver_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_icmd_pcie_ver_device_unpack(&(ptr_struct->device), ptr_buff + offset/8);
 
-	for (i=0; i < 2; i++) {
-	offset=adb2c_calc_array_field_address(128, 128, i, 512, 1);
+	for (i = 0; i < 2; i++) {
+	offset = adb2c_calc_array_field_address(128, 128, i, 512, 1);
 	connectib_icmd_pcie_ver_cables_unpack(&(ptr_struct->cables[i]), ptr_buff + offset/8);
 	}
 
-	offset=384;
+	offset = 384;
 	connectib_icmd_pcie_ver_frequency_unpack(&(ptr_struct->frequency), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_pcie_ver_data_print(const struct connectib_icmd_pcie_ver_data *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_pcie_ver_data_print(const struct connectib_icmd_pcie_ver_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_pcie_ver_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -53151,7 +83934,7 @@ void connectib_icmd_pcie_ver_data_print(const struct connectib_icmd_pcie_ver_dat
 	fprintf(file, "device:\n");
 	connectib_icmd_pcie_ver_device_print(&(ptr_struct->device), file, indent_level + 1);
 
-	for (i=0; i < 2; i++) {
+	for (i = 0; i < 2; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "cables_%03d:\n", i);
 	connectib_icmd_pcie_ver_cables_print(&(ptr_struct->cables[i]), file, indent_level + 1);
@@ -53163,265 +83946,290 @@ void connectib_icmd_pcie_ver_data_print(const struct connectib_icmd_pcie_ver_dat
 
 }
 
-int connectib_icmd_pcie_ver_data_size(void){
+int connectib_icmd_pcie_ver_data_size(void)
+{
 	 return 64;
 }
 
-void connectib_icmd_pcie_ver_data_dump(const struct connectib_icmd_pcie_ver_data *ptr_struct, FILE* file) {
+void connectib_icmd_pcie_ver_data_dump(const struct connectib_icmd_pcie_ver_data *ptr_struct, FILE* file)
+{
 	connectib_icmd_pcie_ver_data_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_stress_testing_pack(const struct connectib_icmd_stress_testing *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_error_flow_trigger_pack(const struct connectib_icmd_error_flow_trigger *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->opcode);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->param);
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->type);
 
 }
 
-void connectib_icmd_stress_testing_unpack(struct connectib_icmd_stress_testing *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_error_flow_trigger_unpack(struct connectib_icmd_error_flow_trigger *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=32;
-	ptr_struct->param = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 24;
+	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_icmd_stress_testing_print(const struct connectib_icmd_stress_testing *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_error_flow_trigger_print(const struct connectib_icmd_error_flow_trigger *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_stress_testing ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_error_flow_trigger ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : "UH_FMT"\n", ptr_struct->opcode);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "param                : "U32H_FMT"\n", ptr_struct->param);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
 
 }
 
-int connectib_icmd_stress_testing_size(void){
+int connectib_icmd_error_flow_trigger_size(void)
+{
 	 return 256;
 }
 
-void connectib_icmd_stress_testing_dump(const struct connectib_icmd_stress_testing *ptr_struct, FILE* file) {
-	connectib_icmd_stress_testing_print(ptr_struct, file, 0);
+void connectib_icmd_error_flow_trigger_dump(const struct connectib_icmd_error_flow_trigger *ptr_struct, FILE* file)
+{
+	connectib_icmd_error_flow_trigger_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_stop_toggler_pack(const struct connectib_icmd_stop_toggler *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_stop_toggler_pack(const struct connectib_icmd_stop_toggler *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->type);
 
-	offset=63;
+	offset = 63;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mostly_working);
 
-	offset=91;
+	offset = 91;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_duty_cycle);
 
-	offset=123;
+	offset = 123;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_stress);
 
+	offset = 279;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->xmit_hold_vl_mask);
+
+	offset = 312;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->xmit_hold_port_num);
+
 }
 
-void connectib_icmd_stop_toggler_unpack(struct connectib_icmd_stop_toggler *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_stop_toggler_unpack(struct connectib_icmd_stop_toggler *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=63;
+	offset = 63;
 	ptr_struct->mostly_working = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=91;
+	offset = 91;
 	ptr_struct->log_duty_cycle = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=123;
+	offset = 123;
 	ptr_struct->log_stress = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
+	offset = 279;
+	ptr_struct->xmit_hold_vl_mask = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+
+	offset = 312;
+	ptr_struct->xmit_hold_port_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
 }
 
-void connectib_icmd_stop_toggler_print(const struct connectib_icmd_stop_toggler *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_stop_toggler_print(const struct connectib_icmd_stop_toggler *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_stop_toggler ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "UH_FMT"\n", ptr_struct->type);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mostly_working       : " UH_FMT "\n", ptr_struct->mostly_working);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_duty_cycle       : " UH_FMT "\n", ptr_struct->log_duty_cycle);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mostly_working       : "UH_FMT"\n", ptr_struct->mostly_working);
+	fprintf(file, "log_stress           : " UH_FMT "\n", ptr_struct->log_stress);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_duty_cycle       : "UH_FMT"\n", ptr_struct->log_duty_cycle);
+	fprintf(file, "xmit_hold_vl_mask    : " UH_FMT "\n", ptr_struct->xmit_hold_vl_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_stress           : "UH_FMT"\n", ptr_struct->log_stress);
+	fprintf(file, "xmit_hold_port_num   : " UH_FMT "\n", ptr_struct->xmit_hold_port_num);
 
 }
 
-int connectib_icmd_stop_toggler_size(void){
+int connectib_icmd_stop_toggler_size(void)
+{
 	 return 256;
 }
 
-void connectib_icmd_stop_toggler_dump(const struct connectib_icmd_stop_toggler *ptr_struct, FILE* file) {
+void connectib_icmd_stop_toggler_dump(const struct connectib_icmd_stop_toggler *ptr_struct, FILE* file)
+{
 	connectib_icmd_stop_toggler_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_code_coverage_read_pack(const struct connectib_icmd_code_coverage_read *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_code_coverage_read_pack(const struct connectib_icmd_code_coverage_read *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2112, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data[i]);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2112, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
 	}
 
-	offset=2064;
+	offset = 2064;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->start_dw);
 
-	offset=2048;
+	offset = 2048;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->num_dw);
 
 }
 
-void connectib_icmd_code_coverage_read_unpack(struct connectib_icmd_code_coverage_read *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_code_coverage_read_unpack(struct connectib_icmd_code_coverage_read *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2112, 1);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2112, 1);
 	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=2064;
+	offset = 2064;
 	ptr_struct->start_dw = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=2048;
+	offset = 2048;
 	ptr_struct->num_dw = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_icmd_code_coverage_read_print(const struct connectib_icmd_code_coverage_read *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_code_coverage_read_print(const struct connectib_icmd_code_coverage_read *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_code_coverage_read ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 64; i++) {
+	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U32H_FMT"\n", i, ptr_struct->data[i]);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "start_dw             : "UH_FMT"\n", ptr_struct->start_dw);
+	fprintf(file, "start_dw             : " UH_FMT "\n", ptr_struct->start_dw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_dw               : "UH_FMT"\n", ptr_struct->num_dw);
+	fprintf(file, "num_dw               : " UH_FMT "\n", ptr_struct->num_dw);
 
 }
 
-int connectib_icmd_code_coverage_read_size(void){
+int connectib_icmd_code_coverage_read_size(void)
+{
 	 return 264;
 }
 
-void connectib_icmd_code_coverage_read_dump(const struct connectib_icmd_code_coverage_read *ptr_struct, FILE* file) {
+void connectib_icmd_code_coverage_read_dump(const struct connectib_icmd_code_coverage_read *ptr_struct, FILE* file)
+{
 	connectib_icmd_code_coverage_read_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_code_coverage_control_pack(const struct connectib_icmd_code_coverage_control *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_code_coverage_control_pack(const struct connectib_icmd_code_coverage_control *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=32;
+	offset = 32;
 	connectib_code_coverage_control_pack(&(ptr_struct->code_coverage_control), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_code_coverage_control_unpack(struct connectib_icmd_code_coverage_control *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_code_coverage_control_unpack(struct connectib_icmd_code_coverage_control *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
+	offset = 32;
 	connectib_code_coverage_control_unpack(&(ptr_struct->code_coverage_control), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_code_coverage_control_print(const struct connectib_icmd_code_coverage_control *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_code_coverage_control_print(const struct connectib_icmd_code_coverage_control *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_code_coverage_control ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "code_coverage_control:\n");
@@ -53429,83 +84237,87 @@ void connectib_icmd_code_coverage_control_print(const struct connectib_icmd_code
 
 }
 
-int connectib_icmd_code_coverage_control_size(void){
+int connectib_icmd_code_coverage_control_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_code_coverage_control_dump(const struct connectib_icmd_code_coverage_control *ptr_struct, FILE* file) {
+void connectib_icmd_code_coverage_control_dump(const struct connectib_icmd_code_coverage_control *ptr_struct, FILE* file)
+{
 	connectib_icmd_code_coverage_control_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_esw_pack(const struct connectib_icmd_esw *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_esw_pack(const struct connectib_icmd_esw *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_fw_esw_pack(&(ptr_struct->fw_esw), ptr_buff + offset/8);
 
-	offset=514;
+	offset = 4096;
+	connectib_vport_real_state_pack(&(ptr_struct->vport_real_state), ptr_buff + offset/8);
+
+	offset = 6050;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_is_ib);
 
-	offset=513;
+	offset = 6049;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=512;
+	offset = 6048;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->portid);
 
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->gvmi);
+	offset = 6080;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gvmi);
 
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_of_vport);
-
-	offset=2048;
-	connectib_vport_real_state_pack(&(ptr_struct->vport_real_state), ptr_buff + offset/8);
+	offset = 6112;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_vport);
 
 }
 
-void connectib_icmd_esw_unpack(struct connectib_icmd_esw *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_esw_unpack(struct connectib_icmd_esw *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_fw_esw_unpack(&(ptr_struct->fw_esw), ptr_buff + offset/8);
 
-	offset=514;
+	offset = 4096;
+	connectib_vport_real_state_unpack(&(ptr_struct->vport_real_state), ptr_buff + offset/8);
+
+	offset = 6050;
 	ptr_struct->port_is_ib = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=513;
+	offset = 6049;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=512;
+	offset = 6048;
 	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=544;
+	offset = 6080;
 	ptr_struct->gvmi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=576;
+	offset = 6112;
 	ptr_struct->num_of_vport = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=2048;
-	connectib_vport_real_state_unpack(&(ptr_struct->vport_real_state), ptr_buff + offset/8);
-
 }
 
-void connectib_icmd_esw_print(const struct connectib_icmd_esw *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_esw_print(const struct connectib_icmd_esw *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_esw ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -53514,85 +84326,89 @@ void connectib_icmd_esw_print(const struct connectib_icmd_esw *ptr_struct, FILE*
 	connectib_fw_esw_print(&(ptr_struct->fw_esw), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_is_ib           : "UH_FMT"\n", ptr_struct->port_is_ib);
+	fprintf(file, "vport_real_state:\n");
+	connectib_vport_real_state_print(&(ptr_struct->vport_real_state), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "port_is_ib           : " UH_FMT "\n", ptr_struct->port_is_ib);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "portid               : "UH_FMT"\n", ptr_struct->portid);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "U32H_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "portid               : " UH_FMT "\n", ptr_struct->portid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_vport         : "U32H_FMT"\n", ptr_struct->num_of_vport);
+	fprintf(file, "gvmi                 : " U32H_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vport_real_state:\n");
-	connectib_vport_real_state_print(&(ptr_struct->vport_real_state), file, indent_level + 1);
+	fprintf(file, "num_of_vport         : " U32H_FMT "\n", ptr_struct->num_of_vport);
 
 }
 
-int connectib_icmd_esw_size(void){
+int connectib_icmd_esw_size(void)
+{
 	 return 768;
 }
 
-void connectib_icmd_esw_dump(const struct connectib_icmd_esw *ptr_struct, FILE* file) {
+void connectib_icmd_esw_dump(const struct connectib_icmd_esw *ptr_struct, FILE* file)
+{
 	connectib_icmd_esw_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_rw_gvmix_pack(const struct connectib_icmd_rw_gvmix *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_rw_gvmix_pack(const struct connectib_icmd_rw_gvmix *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_gvmix_sub_structs_pack(&(ptr_struct->sub_structs), ptr_buff + offset/8);
 
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->gvmi);
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gvmi);
 
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->node_type);
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->node_type);
 
-	offset=576;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ix);
+	offset = 576;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ix);
 
 }
 
-void connectib_icmd_rw_gvmix_unpack(struct connectib_icmd_rw_gvmix *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_rw_gvmix_unpack(struct connectib_icmd_rw_gvmix *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_gvmix_sub_structs_unpack(&(ptr_struct->sub_structs), ptr_buff + offset/8);
 
-	offset=512;
+	offset = 512;
 	ptr_struct->gvmi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=544;
+	offset = 544;
 	ptr_struct->node_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=576;
+	offset = 576;
 	ptr_struct->ix = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_rw_gvmix_print(const struct connectib_icmd_rw_gvmix *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_rw_gvmix_print(const struct connectib_icmd_rw_gvmix *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_rw_gvmix ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -53601,77 +84417,81 @@ void connectib_icmd_rw_gvmix_print(const struct connectib_icmd_rw_gvmix *ptr_str
 	connectib_gvmix_sub_structs_print(&(ptr_struct->sub_structs), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "U32H_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " U32H_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "node_type            : "U32H_FMT"\n", ptr_struct->node_type);
+	fprintf(file, "node_type            : " U32H_FMT "\n", ptr_struct->node_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ix                   : "U32H_FMT"\n", ptr_struct->ix);
+	fprintf(file, "ix                   : " U32H_FMT "\n", ptr_struct->ix);
 
 }
 
-int connectib_icmd_rw_gvmix_size(void){
+int connectib_icmd_rw_gvmix_size(void)
+{
 	 return 128;
 }
 
-void connectib_icmd_rw_gvmix_dump(const struct connectib_icmd_rw_gvmix *ptr_struct, FILE* file) {
+void connectib_icmd_rw_gvmix_dump(const struct connectib_icmd_rw_gvmix *ptr_struct, FILE* file)
+{
 	connectib_icmd_rw_gvmix_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_gen_eqe_pack(const struct connectib_icmd_gen_eqe *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_gen_eqe_pack(const struct connectib_icmd_gen_eqe *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=56;
+	offset = 56;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->eqn);
 
-	offset=128;
+	offset = 128;
 	connectib_sw_eqe_pack(&(ptr_struct->eqe), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_gen_eqe_unpack(struct connectib_icmd_gen_eqe *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_gen_eqe_unpack(struct connectib_icmd_gen_eqe *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=56;
+	offset = 56;
 	ptr_struct->eqn = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=128;
+	offset = 128;
 	connectib_sw_eqe_unpack(&(ptr_struct->eqe), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_gen_eqe_print(const struct connectib_icmd_gen_eqe *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_gen_eqe_print(const struct connectib_icmd_gen_eqe *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_gen_eqe ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eqn                  : "UH_FMT"\n", ptr_struct->eqn);
+	fprintf(file, "eqn                  : " UH_FMT "\n", ptr_struct->eqn);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "eqe:\n");
@@ -53679,833 +84499,838 @@ void connectib_icmd_gen_eqe_print(const struct connectib_icmd_gen_eqe *ptr_struc
 
 }
 
-int connectib_icmd_gen_eqe_size(void){
+int connectib_icmd_gen_eqe_size(void)
+{
 	 return 80;
 }
 
-void connectib_icmd_gen_eqe_dump(const struct connectib_icmd_gen_eqe *ptr_struct, FILE* file) {
+void connectib_icmd_gen_eqe_dump(const struct connectib_icmd_gen_eqe *ptr_struct, FILE* file)
+{
 	connectib_icmd_gen_eqe_print(ptr_struct, file, 0);
 }
 
-void connectib_pcie_tools_pointers_pack(const struct connectib_pcie_tools_pointers *ptr_struct, u_int8_t* ptr_buff){
+void connectib_pcie_tools_pointers_pack(const struct connectib_pcie_tools_pointers *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_endpoint_data_ptr);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_endpoint_data_ptr);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_timestamps_ptr);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_timestamps_ptr);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_transaction_ptr);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_transaction_ptr);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_debug_equalization_debug_ptr);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_debug_equalization_debug_ptr);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_debug_ts_debug_ptr);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_debug_ts_debug_ptr);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_debug_internal_error_debug_ptr);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_debug_internal_error_debug_ptr);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_phy_gen3_equalization_ptr);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_phy_gen3_equalization_ptr);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_phy_pcie_eye_centering_ptr);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_phy_pcie_eye_centering_ptr);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_phy_first_calibration_results_ptr);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_phy_first_calibration_results_ptr);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_phy_pcie_rx_adaptation_ptr);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_phy_pcie_rx_adaptation_ptr);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_phy_pcie_tx_adaptation_ptr);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_phy_pcie_tx_adaptation_ptr);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_phy_tracer_ptr);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_phy_tracer_ptr);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->pcie_pfs_ptr);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pcie_pfs_ptr);
 
 }
 
-void connectib_pcie_tools_pointers_unpack(struct connectib_pcie_tools_pointers *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_pcie_tools_pointers_unpack(struct connectib_pcie_tools_pointers *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->pcie_endpoint_data_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->pcie_timestamps_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->pcie_transaction_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->pcie_debug_equalization_debug_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->pcie_debug_ts_debug_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->pcie_debug_internal_error_debug_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
+	offset = 192;
 	ptr_struct->pcie_phy_gen3_equalization_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->pcie_phy_pcie_eye_centering_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=256;
+	offset = 256;
 	ptr_struct->pcie_phy_first_calibration_results_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=288;
+	offset = 288;
 	ptr_struct->pcie_phy_pcie_rx_adaptation_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
+	offset = 320;
 	ptr_struct->pcie_phy_pcie_tx_adaptation_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
+	offset = 352;
 	ptr_struct->pcie_phy_tracer_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
+	offset = 384;
 	ptr_struct->pcie_pfs_ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_pcie_tools_pointers_print(const struct connectib_pcie_tools_pointers *ptr_struct, FILE* file, int indent_level){
+void connectib_pcie_tools_pointers_print(const struct connectib_pcie_tools_pointers *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_pcie_tools_pointers ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_endpoint_data_ptr : "U32H_FMT"\n", ptr_struct->pcie_endpoint_data_ptr);
+	fprintf(file, "pcie_endpoint_data_ptr : " U32H_FMT "\n", ptr_struct->pcie_endpoint_data_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_timestamps_ptr  : "U32H_FMT"\n", ptr_struct->pcie_timestamps_ptr);
+	fprintf(file, "pcie_timestamps_ptr  : " U32H_FMT "\n", ptr_struct->pcie_timestamps_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_transaction_ptr : "U32H_FMT"\n", ptr_struct->pcie_transaction_ptr);
+	fprintf(file, "pcie_transaction_ptr : " U32H_FMT "\n", ptr_struct->pcie_transaction_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_debug_equalization_debug_ptr : "U32H_FMT"\n", ptr_struct->pcie_debug_equalization_debug_ptr);
+	fprintf(file, "pcie_debug_equalization_debug_ptr : " U32H_FMT "\n", ptr_struct->pcie_debug_equalization_debug_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_debug_ts_debug_ptr : "U32H_FMT"\n", ptr_struct->pcie_debug_ts_debug_ptr);
+	fprintf(file, "pcie_debug_ts_debug_ptr : " U32H_FMT "\n", ptr_struct->pcie_debug_ts_debug_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_debug_internal_error_debug_ptr : "U32H_FMT"\n", ptr_struct->pcie_debug_internal_error_debug_ptr);
+	fprintf(file, "pcie_debug_internal_error_debug_ptr : " U32H_FMT "\n", ptr_struct->pcie_debug_internal_error_debug_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_phy_gen3_equalization_ptr : "U32H_FMT"\n", ptr_struct->pcie_phy_gen3_equalization_ptr);
+	fprintf(file, "pcie_phy_gen3_equalization_ptr : " U32H_FMT "\n", ptr_struct->pcie_phy_gen3_equalization_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_phy_pcie_eye_centering_ptr : "U32H_FMT"\n", ptr_struct->pcie_phy_pcie_eye_centering_ptr);
+	fprintf(file, "pcie_phy_pcie_eye_centering_ptr : " U32H_FMT "\n", ptr_struct->pcie_phy_pcie_eye_centering_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_phy_first_calibration_results_ptr : "U32H_FMT"\n", ptr_struct->pcie_phy_first_calibration_results_ptr);
+	fprintf(file, "pcie_phy_first_calibration_results_ptr : " U32H_FMT "\n", ptr_struct->pcie_phy_first_calibration_results_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_phy_pcie_rx_adaptation_ptr : "U32H_FMT"\n", ptr_struct->pcie_phy_pcie_rx_adaptation_ptr);
+	fprintf(file, "pcie_phy_pcie_rx_adaptation_ptr : " U32H_FMT "\n", ptr_struct->pcie_phy_pcie_rx_adaptation_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_phy_pcie_tx_adaptation_ptr : "U32H_FMT"\n", ptr_struct->pcie_phy_pcie_tx_adaptation_ptr);
+	fprintf(file, "pcie_phy_pcie_tx_adaptation_ptr : " U32H_FMT "\n", ptr_struct->pcie_phy_pcie_tx_adaptation_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_phy_tracer_ptr  : "U32H_FMT"\n", ptr_struct->pcie_phy_tracer_ptr);
+	fprintf(file, "pcie_phy_tracer_ptr  : " U32H_FMT "\n", ptr_struct->pcie_phy_tracer_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pcie_pfs_ptr         : "U32H_FMT"\n", ptr_struct->pcie_pfs_ptr);
+	fprintf(file, "pcie_pfs_ptr         : " U32H_FMT "\n", ptr_struct->pcie_pfs_ptr);
 
 }
 
-int connectib_pcie_tools_pointers_size(void){
+int connectib_pcie_tools_pointers_size(void)
+{
 	 return 64;
 }
 
-void connectib_pcie_tools_pointers_dump(const struct connectib_pcie_tools_pointers *ptr_struct, FILE* file) {
+void connectib_pcie_tools_pointers_dump(const struct connectib_pcie_tools_pointers *ptr_struct, FILE* file)
+{
 	connectib_pcie_tools_pointers_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_phy_ver_overwrite_pack(const struct connectib_icmd_phy_ver_overwrite *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_phy_ver_overwrite_pack(const struct connectib_icmd_phy_ver_overwrite *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port_id);
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->field_id);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->field_value);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->field_value);
 
 }
 
-void connectib_icmd_phy_ver_overwrite_unpack(struct connectib_icmd_phy_ver_overwrite *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_phy_ver_overwrite_unpack(struct connectib_icmd_phy_ver_overwrite *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	ptr_struct->port_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=8;
+	offset = 8;
 	ptr_struct->field_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->field_value = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_phy_ver_overwrite_print(const struct connectib_icmd_phy_ver_overwrite *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_phy_ver_overwrite_print(const struct connectib_icmd_phy_ver_overwrite *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_phy_ver_overwrite ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_id              : "UH_FMT"\n", ptr_struct->port_id);
+	fprintf(file, "port_id              : " UH_FMT "\n", ptr_struct->port_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_id             : "UH_FMT"\n", ptr_struct->field_id);
+	fprintf(file, "field_id             : " UH_FMT "\n", ptr_struct->field_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "field_value          : "U32H_FMT"\n", ptr_struct->field_value);
+	fprintf(file, "field_value          : " U32H_FMT "\n", ptr_struct->field_value);
 
 }
 
-int connectib_icmd_phy_ver_overwrite_size(void){
+int connectib_icmd_phy_ver_overwrite_size(void)
+{
 	 return 8;
 }
 
-void connectib_icmd_phy_ver_overwrite_dump(const struct connectib_icmd_phy_ver_overwrite *ptr_struct, FILE* file) {
+void connectib_icmd_phy_ver_overwrite_dump(const struct connectib_icmd_phy_ver_overwrite *ptr_struct, FILE* file)
+{
 	connectib_icmd_phy_ver_overwrite_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_init_ocsd_pack(const struct connectib_icmd_init_ocsd *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_init_ocsd_pack(const struct connectib_icmd_init_ocsd *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->addr_hi);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->addr_hi);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->addr_low);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->addr_low);
 
 }
 
-void connectib_icmd_init_ocsd_unpack(struct connectib_icmd_init_ocsd *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_init_ocsd_unpack(struct connectib_icmd_init_ocsd *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=32;
+	offset = 32;
 	ptr_struct->addr_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->addr_low = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_init_ocsd_print(const struct connectib_icmd_init_ocsd *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_init_ocsd_print(const struct connectib_icmd_init_ocsd *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_init_ocsd ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_hi              : "U32H_FMT"\n", ptr_struct->addr_hi);
+	fprintf(file, "addr_hi              : " U32H_FMT "\n", ptr_struct->addr_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_low             : "U32H_FMT"\n", ptr_struct->addr_low);
+	fprintf(file, "addr_low             : " U32H_FMT "\n", ptr_struct->addr_low);
 
 }
 
-int connectib_icmd_init_ocsd_size(void){
+int connectib_icmd_init_ocsd_size(void)
+{
 	 return 12;
 }
 
-void connectib_icmd_init_ocsd_dump(const struct connectib_icmd_init_ocsd *ptr_struct, FILE* file) {
+void connectib_icmd_init_ocsd_dump(const struct connectib_icmd_init_ocsd *ptr_struct, FILE* file)
+{
 	connectib_icmd_init_ocsd_print(ptr_struct, file, 0);
 }
 
-void connectib_itrace_pack(const struct connectib_itrace *ptr_struct, u_int8_t* ptr_buff){
+void connectib_init_ncsi_pack(const struct connectib_init_ncsi *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->unit_mask);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_bmc);
 
-	offset=32;
-	connectib_itrace_ctrl_pack(&(ptr_struct->ctrl), ptr_buff + offset/8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_channels);
 
 }
 
-void connectib_itrace_unpack(struct connectib_itrace *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_init_ncsi_unpack(struct connectib_init_ncsi *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->unit_mask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->num_of_bmc = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
-	connectib_itrace_ctrl_unpack(&(ptr_struct->ctrl), ptr_buff + offset/8);
+	offset = 32;
+	ptr_struct->num_of_channels = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_itrace_print(const struct connectib_itrace *ptr_struct, FILE* file, int indent_level){
+void connectib_init_ncsi_print(const struct connectib_init_ncsi *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_itrace ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_init_ncsi ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "unit_mask            : "U32H_FMT"\n", ptr_struct->unit_mask);
+	fprintf(file, "num_of_bmc           : " U32H_FMT "\n", ptr_struct->num_of_bmc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ctrl:\n");
-	connectib_itrace_ctrl_print(&(ptr_struct->ctrl), file, indent_level + 1);
+	fprintf(file, "num_of_channels      : " U32H_FMT "\n", ptr_struct->num_of_channels);
 
 }
 
-int connectib_itrace_size(void){
-	 return 16;
+int connectib_init_ncsi_size(void)
+{
+	 return 8;
 }
 
-void connectib_itrace_dump(const struct connectib_itrace *ptr_struct, FILE* file) {
-	connectib_itrace_print(ptr_struct, file, 0);
+void connectib_init_ncsi_dump(const struct connectib_init_ncsi *ptr_struct, FILE* file)
+{
+	connectib_init_ncsi_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_dc_config_pack(const struct connectib_icmd_dc_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_dc_config_pack(const struct connectib_icmd_dc_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->bitmask);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->bitmask);
 
-	offset=63;
+	offset = 63;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=123;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->initial_log_dcr_lifo_size);
+	offset = 123;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_dcr_lifo_size);
 
-	offset=155;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_hash_size);
+	offset = 155;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_dcr_hash_size);
 
-	offset=191;
+	offset = 191;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->full_handshake_enable);
 
-	offset=219;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_max_dcrs);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->available_lifo_size);
 
-	offset=251;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->inhale_en);
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->force_garbage_collection_fail_threshold);
 
-	offset=264;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->inhale_threshold);
+	offset = 480;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->number_of_active_ghost_busters);
 
-	offset=296;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->inhale_inc);
+	offset = 512;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cleanup_drop_n_connects);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->force_no_dcrs_delay);
+	offset = 544;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->cleanup_drop_n_disconnects);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->current_max_lifo_size);
-
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->available_lifo_size);
-
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->available_lifo_size_inc);
-
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->force_garbage_collection_fail_threshold);
+	offset = 607;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ghost_buster_enable);
 
-	offset=480;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->number_of_active_ghost_busters);
+	offset = 624;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->max_cnak_buffer_size);
 
-	offset=512;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->cleanup_drop_n_connects);
+	offset = 648;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cnak_qp_on_threshold);
 
-	offset=544;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->cleanup_drop_n_disconnects);
+	offset = 680;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cnak_qp_off_threshold);
 
-	offset=607;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ghost_buster_enable);
+	offset = 712;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->dcr_lifo_size);
 
 }
 
-void connectib_icmd_dc_config_unpack(struct connectib_icmd_dc_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_dc_config_unpack(struct connectib_icmd_dc_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->bitmask = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=63;
+	offset = 63;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=123;
-	ptr_struct->initial_log_dcr_lifo_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 123;
+	ptr_struct->log_dcr_lifo_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=155;
-	ptr_struct->log_hash_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 155;
+	ptr_struct->log_dcr_hash_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=191;
+	offset = 191;
 	ptr_struct->full_handshake_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=219;
-	ptr_struct->log_max_dcrs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=251;
-	ptr_struct->inhale_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
-
-	offset=264;
-	ptr_struct->inhale_threshold = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=296;
-	ptr_struct->inhale_inc = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=320;
-	ptr_struct->force_no_dcrs_delay = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=352;
-	ptr_struct->current_max_lifo_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=384;
+	offset = 384;
 	ptr_struct->available_lifo_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=416;
-	ptr_struct->available_lifo_size_inc = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=448;
+	offset = 448;
 	ptr_struct->force_garbage_collection_fail_threshold = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=480;
+	offset = 480;
 	ptr_struct->number_of_active_ghost_busters = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=512;
+	offset = 512;
 	ptr_struct->cleanup_drop_n_connects = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=544;
+	offset = 544;
 	ptr_struct->cleanup_drop_n_disconnects = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=607;
+	offset = 607;
 	ptr_struct->ghost_buster_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
+	offset = 624;
+	ptr_struct->max_cnak_buffer_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 648;
+	ptr_struct->cnak_qp_on_threshold = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 680;
+	ptr_struct->cnak_qp_off_threshold = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 712;
+	ptr_struct->dcr_lifo_size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
 }
 
-void connectib_icmd_dc_config_print(const struct connectib_icmd_dc_config *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_dc_config_print(const struct connectib_icmd_dc_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_dc_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bitmask              : "U32H_FMT"\n", ptr_struct->bitmask);
+	fprintf(file, "bitmask              : " U32H_FMT "\n", ptr_struct->bitmask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "initial_log_dcr_lifo_size : "UH_FMT"\n", ptr_struct->initial_log_dcr_lifo_size);
+	fprintf(file, "log_dcr_lifo_size    : " UH_FMT "\n", ptr_struct->log_dcr_lifo_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_hash_size        : "UH_FMT"\n", ptr_struct->log_hash_size);
+	fprintf(file, "log_dcr_hash_size    : " UH_FMT "\n", ptr_struct->log_dcr_hash_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "full_handshake_enable : "UH_FMT"\n", ptr_struct->full_handshake_enable);
+	fprintf(file, "full_handshake_enable : " UH_FMT "\n", ptr_struct->full_handshake_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_dcrs         : "UH_FMT"\n", ptr_struct->log_max_dcrs);
+	fprintf(file, "available_lifo_size  : " U32H_FMT "\n", ptr_struct->available_lifo_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inhale_en            : "UH_FMT"\n", ptr_struct->inhale_en);
+	fprintf(file, "force_garbage_collection_fail_threshold : " U32H_FMT "\n", ptr_struct->force_garbage_collection_fail_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inhale_threshold     : "UH_FMT"\n", ptr_struct->inhale_threshold);
+	fprintf(file, "number_of_active_ghost_busters : " U32H_FMT "\n", ptr_struct->number_of_active_ghost_busters);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inhale_inc           : "UH_FMT"\n", ptr_struct->inhale_inc);
+	fprintf(file, "cleanup_drop_n_connects : " U32H_FMT "\n", ptr_struct->cleanup_drop_n_connects);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_no_dcrs_delay  : "U32H_FMT"\n", ptr_struct->force_no_dcrs_delay);
+	fprintf(file, "cleanup_drop_n_disconnects : " U32H_FMT "\n", ptr_struct->cleanup_drop_n_disconnects);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "current_max_lifo_size : "U32H_FMT"\n", ptr_struct->current_max_lifo_size);
+	fprintf(file, "ghost_buster_enable  : " UH_FMT "\n", ptr_struct->ghost_buster_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "available_lifo_size  : "U32H_FMT"\n", ptr_struct->available_lifo_size);
+	fprintf(file, "max_cnak_buffer_size : " UH_FMT "\n", ptr_struct->max_cnak_buffer_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "available_lifo_size_inc : "U32H_FMT"\n", ptr_struct->available_lifo_size_inc);
+	fprintf(file, "cnak_qp_on_threshold : " UH_FMT "\n", ptr_struct->cnak_qp_on_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_garbage_collection_fail_threshold : "U32H_FMT"\n", ptr_struct->force_garbage_collection_fail_threshold);
+	fprintf(file, "cnak_qp_off_threshold : " UH_FMT "\n", ptr_struct->cnak_qp_off_threshold);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "number_of_active_ghost_busters : "U32H_FMT"\n", ptr_struct->number_of_active_ghost_busters);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cleanup_drop_n_connects : "U32H_FMT"\n", ptr_struct->cleanup_drop_n_connects);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cleanup_drop_n_disconnects : "U32H_FMT"\n", ptr_struct->cleanup_drop_n_disconnects);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ghost_buster_enable  : "UH_FMT"\n", ptr_struct->ghost_buster_enable);
+	fprintf(file, "dcr_lifo_size        : " UH_FMT "\n", ptr_struct->dcr_lifo_size);
 
 }
 
-int connectib_icmd_dc_config_size(void){
+int connectib_icmd_dc_config_size(void)
+{
 	 return 128;
 }
 
-void connectib_icmd_dc_config_dump(const struct connectib_icmd_dc_config *ptr_struct, FILE* file) {
+void connectib_icmd_dc_config_dump(const struct connectib_icmd_dc_config *ptr_struct, FILE* file)
+{
 	connectib_icmd_dc_config_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_dc_params_pack(const struct connectib_icmd_dc_params *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_read_icmc_tags_and_info_pack(const struct connectib_icmd_read_icmc_tags_and_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
-
-	offset=63;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->full_handshake_enable);
+	for (i = 0; i < 191; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 6144, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
+	}
 
-	offset=91;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_hash_size);
+	offset = 6132;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->first_set);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->current_lifo_size);
+	offset = 6120;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->number_of_sets);
 
 }
 
-void connectib_icmd_dc_params_unpack(struct connectib_icmd_dc_params *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_icmc_tags_and_info_unpack(struct connectib_icmd_read_icmc_tags_and_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=63;
-	ptr_struct->full_handshake_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 191; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 6144, 1);
+	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=91;
-	ptr_struct->log_hash_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+	offset = 6132;
+	ptr_struct->first_set = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=96;
-	ptr_struct->current_lifo_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 6120;
+	ptr_struct->number_of_sets = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
 }
 
-void connectib_icmd_dc_params_print(const struct connectib_icmd_dc_params *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_icmc_tags_and_info_print(const struct connectib_icmd_read_icmc_tags_and_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_icmd_dc_params ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_read_icmc_tags_and_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 191; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "full_handshake_enable : "UH_FMT"\n", ptr_struct->full_handshake_enable);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
+	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_hash_size        : "UH_FMT"\n", ptr_struct->log_hash_size);
+	fprintf(file, "first_set            : " UH_FMT "\n", ptr_struct->first_set);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "current_lifo_size    : "U32H_FMT"\n", ptr_struct->current_lifo_size);
+	fprintf(file, "number_of_sets       : " UH_FMT "\n", ptr_struct->number_of_sets);
 
 }
 
-int connectib_icmd_dc_params_size(void){
-	 return 32;
+int connectib_icmd_read_icmc_tags_and_info_size(void)
+{
+	 return 768;
 }
 
-void connectib_icmd_dc_params_dump(const struct connectib_icmd_dc_params *ptr_struct, FILE* file) {
-	connectib_icmd_dc_params_print(ptr_struct, file, 0);
+void connectib_icmd_read_icmc_tags_and_info_dump(const struct connectib_icmd_read_icmc_tags_and_info *ptr_struct, FILE* file)
+{
+	connectib_icmd_read_icmc_tags_and_info_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_icm_line_pack(const struct connectib_icmd_access_icm_line *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_icm_line_pack(const struct connectib_icmd_access_icm_line *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 640, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data[i]);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 640, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
 	}
 
-	offset=512;
+	offset = 512;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=576;
+	offset = 576;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->addr);
 
 }
 
-void connectib_icmd_access_icm_line_unpack(struct connectib_icmd_access_icm_line *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_icm_line_unpack(struct connectib_icmd_access_icm_line *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 640, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 640, 1);
 	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=512;
+	offset = 512;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=576;
+	offset = 576;
 	ptr_struct->addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_icmd_access_icm_line_print(const struct connectib_icmd_access_icm_line *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_icm_line_print(const struct connectib_icmd_access_icm_line *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_access_icm_line ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 16; i++) {
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U32H_FMT"\n", i, ptr_struct->data[i]);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr                 : "U64H_FMT"\n", ptr_struct->addr);
+	fprintf(file, "addr                 : " U64H_FMT "\n", ptr_struct->addr);
 
 }
 
-int connectib_icmd_access_icm_line_size(void){
+int connectib_icmd_access_icm_line_size(void)
+{
 	 return 80;
 }
 
-void connectib_icmd_access_icm_line_dump(const struct connectib_icmd_access_icm_line *ptr_struct, FILE* file) {
+void connectib_icmd_access_icm_line_dump(const struct connectib_icmd_access_icm_line *ptr_struct, FILE* file)
+{
 	connectib_icmd_access_icm_line_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_check_sqpc_status_pack(const struct connectib_icmd_check_sqpc_status *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_check_sqpc_status_pack(const struct connectib_icmd_check_sqpc_status *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
 
-	offset=48;
+	offset = 48;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->result_type);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->result_diff);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->result_diff);
 
 }
 
-void connectib_icmd_check_sqpc_status_unpack(struct connectib_icmd_check_sqpc_status *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_check_sqpc_status_unpack(struct connectib_icmd_check_sqpc_status *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=48;
+	offset = 48;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->result_type = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->result_diff = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_check_sqpc_status_print(const struct connectib_icmd_check_sqpc_status *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_check_sqpc_status_print(const struct connectib_icmd_check_sqpc_status *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_check_sqpc_status ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "result_type          : "UH_FMT"\n", ptr_struct->result_type);
+	fprintf(file, "result_type          : " UH_FMT "\n", ptr_struct->result_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "result_diff          : "U32H_FMT"\n", ptr_struct->result_diff);
+	fprintf(file, "result_diff          : " U32H_FMT "\n", ptr_struct->result_diff);
 
 }
 
-int connectib_icmd_check_sqpc_status_size(void){
+int connectib_icmd_check_sqpc_status_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_check_sqpc_status_dump(const struct connectib_icmd_check_sqpc_status *ptr_struct, FILE* file) {
+void connectib_icmd_check_sqpc_status_dump(const struct connectib_icmd_check_sqpc_status *ptr_struct, FILE* file)
+{
 	connectib_icmd_check_sqpc_status_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_lock_unlock_resource_pack(const struct connectib_icmd_lock_unlock_resource *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_lock_unlock_resource_pack(const struct connectib_icmd_lock_unlock_resource *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_lock_tag_pack(&(ptr_struct->lock_tag), ptr_buff + offset/8);
 
-	offset=127;
+	offset = 127;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lock_unlock_);
 
-	offset=117;
+	offset = 117;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->irisc_ix);
 
-	offset=116;
+	offset = 116;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spy_en);
 
 }
 
-void connectib_icmd_lock_unlock_resource_unpack(struct connectib_icmd_lock_unlock_resource *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_lock_unlock_resource_unpack(struct connectib_icmd_lock_unlock_resource *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_lock_tag_unpack(&(ptr_struct->lock_tag), ptr_buff + offset/8);
 
-	offset=127;
+	offset = 127;
 	ptr_struct->lock_unlock_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=117;
+	offset = 117;
 	ptr_struct->irisc_ix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=116;
+	offset = 116;
 	ptr_struct->spy_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_lock_unlock_resource_print(const struct connectib_icmd_lock_unlock_resource *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_lock_unlock_resource_print(const struct connectib_icmd_lock_unlock_resource *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_lock_unlock_resource ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -54514,657 +85339,969 @@ void connectib_icmd_lock_unlock_resource_print(const struct connectib_icmd_lock_
 	connectib_lock_tag_print(&(ptr_struct->lock_tag), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lock_unlock_         : "UH_FMT"\n", ptr_struct->lock_unlock_);
+	fprintf(file, "lock_unlock_         : " UH_FMT "\n", ptr_struct->lock_unlock_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "irisc_ix             : "UH_FMT"\n", ptr_struct->irisc_ix);
+	fprintf(file, "irisc_ix             : " UH_FMT "\n", ptr_struct->irisc_ix);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spy_en               : "UH_FMT"\n", ptr_struct->spy_en);
+	fprintf(file, "spy_en               : " UH_FMT "\n", ptr_struct->spy_en);
 
 }
 
-int connectib_icmd_lock_unlock_resource_size(void){
+int connectib_icmd_lock_unlock_resource_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_lock_unlock_resource_dump(const struct connectib_icmd_lock_unlock_resource *ptr_struct, FILE* file) {
+void connectib_icmd_lock_unlock_resource_dump(const struct connectib_icmd_lock_unlock_resource *ptr_struct, FILE* file)
+{
 	connectib_icmd_lock_unlock_resource_print(ptr_struct, file, 0);
 }
 
-void connectib_reg_access_ext_cmd_pack(const struct connectib_reg_access_ext_cmd *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_generic_access_register_pack(const struct connectib_icmd_generic_access_register *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_reg_access_cmd_pack(&(ptr_struct->reg_access), ptr_buff + offset/8);
+	offset = 0;
+	connectib_reg_access_oper_tlv_pack(&(ptr_struct->oper_tlv), ptr_buff + offset/8);
 
-	for (i=0; i < 24; i++) {
-	offset=adb2c_calc_array_field_address(512, 32, i, 1280, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->more_data[i]);
-	}
+	offset = 128;
+	connectib_icmd_generic_reg_access_reg_tlv_pack(&(ptr_struct->generic_reg_tlv), ptr_buff + offset/8);
 
 }
 
-void connectib_reg_access_ext_cmd_unpack(struct connectib_reg_access_ext_cmd *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_generic_access_register_unpack(struct connectib_icmd_generic_access_register *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	connectib_reg_access_cmd_unpack(&(ptr_struct->reg_access), ptr_buff + offset/8);
+	offset = 0;
+	connectib_reg_access_oper_tlv_unpack(&(ptr_struct->oper_tlv), ptr_buff + offset/8);
 
-	for (i=0; i < 24; i++) {
-	offset=adb2c_calc_array_field_address(512, 32, i, 1280, 1);
-	ptr_struct->more_data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-	}
+	offset = 128;
+	connectib_icmd_generic_reg_access_reg_tlv_unpack(&(ptr_struct->generic_reg_tlv), ptr_buff + offset/8);
 
 }
 
-void connectib_reg_access_ext_cmd_print(const struct connectib_reg_access_ext_cmd *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_generic_access_register_print(const struct connectib_icmd_generic_access_register *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_reg_access_ext_cmd ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_icmd_generic_access_register ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reg_access:\n");
-	connectib_reg_access_cmd_print(&(ptr_struct->reg_access), file, indent_level + 1);
+	fprintf(file, "oper_tlv:\n");
+	connectib_reg_access_oper_tlv_print(&(ptr_struct->oper_tlv), file, indent_level + 1);
 
-	for (i=0; i < 24; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "more_data_%03d       : "U32H_FMT"\n", i, ptr_struct->more_data[i]);
-	}
+	fprintf(file, "generic_reg_tlv:\n");
+	connectib_icmd_generic_reg_access_reg_tlv_print(&(ptr_struct->generic_reg_tlv), file, indent_level + 1);
 
 }
 
-int connectib_reg_access_ext_cmd_size(void){
-	 return 160;
+int connectib_icmd_generic_access_register_size(void)
+{
+	 return 296;
+}
+
+void connectib_icmd_generic_access_register_dump(const struct connectib_icmd_generic_access_register *ptr_struct, FILE* file)
+{
+	connectib_icmd_generic_access_register_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_kdnet_ctrl_pack(const struct connectib_icmd_kdnet_ctrl *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_icmd_kdnet_ctrl_io_pack(&(ptr_struct->io), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_nv_config_kdnet_data_pack(&(ptr_struct->data), ptr_buff + offset/8);
+
+}
+
+void connectib_icmd_kdnet_ctrl_unpack(struct connectib_icmd_kdnet_ctrl *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_icmd_kdnet_ctrl_io_unpack(&(ptr_struct->io), ptr_buff + offset/8);
+
+	offset = 32;
+	connectib_nv_config_kdnet_data_unpack(&(ptr_struct->data), ptr_buff + offset/8);
+
+}
+
+void connectib_icmd_kdnet_ctrl_print(const struct connectib_icmd_kdnet_ctrl *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_kdnet_ctrl ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "io:\n");
+	connectib_icmd_kdnet_ctrl_io_print(&(ptr_struct->io), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "data:\n");
+	connectib_nv_config_kdnet_data_print(&(ptr_struct->data), file, indent_level + 1);
+
 }
 
-void connectib_reg_access_ext_cmd_dump(const struct connectib_reg_access_ext_cmd *ptr_struct, FILE* file) {
-	connectib_reg_access_ext_cmd_print(ptr_struct, file, 0);
+int connectib_icmd_kdnet_ctrl_size(void)
+{
+	 return 8;
+}
+
+void connectib_icmd_kdnet_ctrl_dump(const struct connectib_icmd_kdnet_ctrl *ptr_struct, FILE* file)
+{
+	connectib_icmd_kdnet_ctrl_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_query_capabilities_pack(const union connectib_icmd_query_capabilities *ptr_struct, u_int8_t* ptr_buff)
+{
+	connectib_icmd_query_cap_general_pack(&(ptr_struct->cap_general), ptr_buff);
+}
+
+void connectib_icmd_query_capabilities_unpack(union connectib_icmd_query_capabilities *ptr_struct, const u_int8_t* ptr_buff)
+{
+	connectib_icmd_query_cap_general_unpack(&(ptr_struct->cap_general), ptr_buff);
+}
+
+void connectib_icmd_query_capabilities_print(const union connectib_icmd_query_capabilities *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_query_capabilities ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_in:\n");
+	connectib_icmd_query_cap_in_print(&(ptr_struct->cap_in), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cap_general:\n");
+	connectib_icmd_query_cap_general_print(&(ptr_struct->cap_general), file, indent_level + 1);
+
 }
 
-void connectib_icmd_get_icm_ctx_addr_pack(const struct connectib_icmd_get_icm_ctx_addr *ptr_struct, u_int8_t* ptr_buff){
+int connectib_icmd_query_capabilities_size(void)
+{
+	 return 8;
+}
+
+void connectib_icmd_query_capabilities_dump(const union connectib_icmd_query_capabilities *ptr_struct, FILE* file)
+{
+	connectib_icmd_query_capabilities_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_get_icm_ctx_addr_pack(const struct connectib_icmd_get_icm_ctx_addr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->icm_res_type);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->icm_res_type);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ctx_num_hi);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ctx_num_hi);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ctx_num_lo);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ctx_num_lo);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->icm_addr_hi);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->icm_addr_hi);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->icm_addr_lo);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->icm_addr_lo);
 
 }
 
-void connectib_icmd_get_icm_ctx_addr_unpack(struct connectib_icmd_get_icm_ctx_addr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_icm_ctx_addr_unpack(struct connectib_icmd_get_icm_ctx_addr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->icm_res_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->ctx_num_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->ctx_num_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->icm_addr_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->icm_addr_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_get_icm_ctx_addr_print(const struct connectib_icmd_get_icm_ctx_addr *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_icm_ctx_addr_print(const struct connectib_icmd_get_icm_ctx_addr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_get_icm_ctx_addr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icm_res_type         : "U32H_FMT"\n", ptr_struct->icm_res_type);
+	fprintf(file, "icm_res_type         : " U32H_FMT "\n", ptr_struct->icm_res_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ctx_num_hi           : "U32H_FMT"\n", ptr_struct->ctx_num_hi);
+	fprintf(file, "ctx_num_hi           : " U32H_FMT "\n", ptr_struct->ctx_num_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ctx_num_lo           : "U32H_FMT"\n", ptr_struct->ctx_num_lo);
+	fprintf(file, "ctx_num_lo           : " U32H_FMT "\n", ptr_struct->ctx_num_lo);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icm_addr_hi          : "U32H_FMT"\n", ptr_struct->icm_addr_hi);
+	fprintf(file, "icm_addr_hi          : " U32H_FMT "\n", ptr_struct->icm_addr_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icm_addr_lo          : "U32H_FMT"\n", ptr_struct->icm_addr_lo);
+	fprintf(file, "icm_addr_lo          : " U32H_FMT "\n", ptr_struct->icm_addr_lo);
 
 }
 
-int connectib_icmd_get_icm_ctx_addr_size(void){
+int connectib_icmd_get_icm_ctx_addr_size(void)
+{
 	 return 24;
 }
 
-void connectib_icmd_get_icm_ctx_addr_dump(const struct connectib_icmd_get_icm_ctx_addr *ptr_struct, FILE* file) {
+void connectib_icmd_get_icm_ctx_addr_dump(const struct connectib_icmd_get_icm_ctx_addr *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_icm_ctx_addr_print(ptr_struct, file, 0);
 }
 
-void connectib_phy_nego_ctrl_st_pack(const struct connectib_phy_nego_ctrl_st *ptr_struct, u_int8_t* ptr_buff){
+void connectib_phy_nego_ctrl_st_pack(const struct connectib_phy_nego_ctrl_st *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_link_up_port0);
 
-	offset=30;
+	offset = 30;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->halt_fw_phy_fsm_port0);
 
-	offset=29;
+	offset = 29;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_link_up_port1);
 
-	offset=28;
+	offset = 28;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->halt_fw_phy_fsm_port1);
 
 }
 
-void connectib_phy_nego_ctrl_st_unpack(struct connectib_phy_nego_ctrl_st *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_phy_nego_ctrl_st_unpack(struct connectib_phy_nego_ctrl_st *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	ptr_struct->force_link_up_port0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=30;
+	offset = 30;
 	ptr_struct->halt_fw_phy_fsm_port0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=29;
+	offset = 29;
 	ptr_struct->force_link_up_port1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=28;
+	offset = 28;
 	ptr_struct->halt_fw_phy_fsm_port1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_phy_nego_ctrl_st_print(const struct connectib_phy_nego_ctrl_st *ptr_struct, FILE* file, int indent_level){
+void connectib_phy_nego_ctrl_st_print(const struct connectib_phy_nego_ctrl_st *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_phy_nego_ctrl_st ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_link_up_port0  : "UH_FMT"\n", ptr_struct->force_link_up_port0);
+	fprintf(file, "force_link_up_port0  : " UH_FMT "\n", ptr_struct->force_link_up_port0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "halt_fw_phy_fsm_port0 : "UH_FMT"\n", ptr_struct->halt_fw_phy_fsm_port0);
+	fprintf(file, "halt_fw_phy_fsm_port0 : " UH_FMT "\n", ptr_struct->halt_fw_phy_fsm_port0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "force_link_up_port1  : "UH_FMT"\n", ptr_struct->force_link_up_port1);
+	fprintf(file, "force_link_up_port1  : " UH_FMT "\n", ptr_struct->force_link_up_port1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "halt_fw_phy_fsm_port1 : "UH_FMT"\n", ptr_struct->halt_fw_phy_fsm_port1);
+	fprintf(file, "halt_fw_phy_fsm_port1 : " UH_FMT "\n", ptr_struct->halt_fw_phy_fsm_port1);
 
 }
 
-int connectib_phy_nego_ctrl_st_size(void){
+int connectib_phy_nego_ctrl_st_size(void)
+{
 	 return 4;
 }
 
-void connectib_phy_nego_ctrl_st_dump(const struct connectib_phy_nego_ctrl_st *ptr_struct, FILE* file) {
+void connectib_phy_nego_ctrl_st_dump(const struct connectib_phy_nego_ctrl_st *ptr_struct, FILE* file)
+{
 	connectib_phy_nego_ctrl_st_print(ptr_struct, file, 0);
 }
 
-void connectib_eye_opening_read_st_pack(const struct connectib_eye_opening_read_st *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eye_opening_read_st_pack(const struct connectib_eye_opening_read_st *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_num);
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->lane_num);
 
-	offset=48;
+	offset = 48;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->amplitude_high);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->amplitude_low);
 
-	offset=80;
+	offset = 80;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->phase_high);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->phase_low);
 
-	offset=112;
+	offset = 112;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->tx_set_chosen);
 
-	offset=96;
+	offset = 96;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rx_set_chosen);
 
 }
 
-void connectib_eye_opening_read_st_unpack(struct connectib_eye_opening_read_st *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_eye_opening_read_st_unpack(struct connectib_eye_opening_read_st *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->port_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=8;
+	offset = 8;
 	ptr_struct->lane_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=48;
+	offset = 48;
 	ptr_struct->amplitude_high = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->amplitude_low = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=80;
+	offset = 80;
 	ptr_struct->phase_high = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->phase_low = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=112;
+	offset = 112;
 	ptr_struct->tx_set_chosen = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->rx_set_chosen = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_eye_opening_read_st_print(const struct connectib_eye_opening_read_st *ptr_struct, FILE* file, int indent_level){
+void connectib_eye_opening_read_st_print(const struct connectib_eye_opening_read_st *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_eye_opening_read_st ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_num             : "UH_FMT"\n", ptr_struct->port_num);
+	fprintf(file, "port_num             : " UH_FMT "\n", ptr_struct->port_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lane_num             : "UH_FMT"\n", ptr_struct->lane_num);
+	fprintf(file, "lane_num             : " UH_FMT "\n", ptr_struct->lane_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "amplitude_high       : "UH_FMT"\n", ptr_struct->amplitude_high);
+	fprintf(file, "amplitude_high       : " UH_FMT "\n", ptr_struct->amplitude_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "amplitude_low        : "UH_FMT"\n", ptr_struct->amplitude_low);
+	fprintf(file, "amplitude_low        : " UH_FMT "\n", ptr_struct->amplitude_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phase_high           : "UH_FMT"\n", ptr_struct->phase_high);
+	fprintf(file, "phase_high           : " UH_FMT "\n", ptr_struct->phase_high);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "phase_low            : "UH_FMT"\n", ptr_struct->phase_low);
+	fprintf(file, "phase_low            : " UH_FMT "\n", ptr_struct->phase_low);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tx_set_chosen        : "UH_FMT"\n", ptr_struct->tx_set_chosen);
+	fprintf(file, "tx_set_chosen        : " UH_FMT "\n", ptr_struct->tx_set_chosen);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_set_chosen        : "UH_FMT"\n", ptr_struct->rx_set_chosen);
+	fprintf(file, "rx_set_chosen        : " UH_FMT "\n", ptr_struct->rx_set_chosen);
 
 }
 
-int connectib_eye_opening_read_st_size(void){
+int connectib_eye_opening_read_st_size(void)
+{
 	 return 16;
 }
 
-void connectib_eye_opening_read_st_dump(const struct connectib_eye_opening_read_st *ptr_struct, FILE* file) {
+void connectib_eye_opening_read_st_dump(const struct connectib_eye_opening_read_st *ptr_struct, FILE* file)
+{
 	connectib_eye_opening_read_st_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_alloc_dealloc_resource_pack(const struct connectib_icmd_alloc_dealloc_resource *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_alloc_dealloc_resource_pack(const struct connectib_icmd_alloc_dealloc_resource *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=15;
+	offset = 15;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->alloc_dealloc);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->icm_res_type);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->icm_res_type);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->res_num_hi);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->res_num_hi);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->res_num_lo);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->res_num_lo);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->return_status);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->return_status);
 
 }
 
-void connectib_icmd_alloc_dealloc_resource_unpack(struct connectib_icmd_alloc_dealloc_resource *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_alloc_dealloc_resource_unpack(struct connectib_icmd_alloc_dealloc_resource *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=15;
+	offset = 15;
 	ptr_struct->alloc_dealloc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->icm_res_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->res_num_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->res_num_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->return_status = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_alloc_dealloc_resource_print(const struct connectib_icmd_alloc_dealloc_resource *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_alloc_dealloc_resource_print(const struct connectib_icmd_alloc_dealloc_resource *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_alloc_dealloc_resource ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "alloc_dealloc        : "UH_FMT"\n", ptr_struct->alloc_dealloc);
+	fprintf(file, "alloc_dealloc        : " UH_FMT "\n", ptr_struct->alloc_dealloc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icm_res_type         : "U32H_FMT"\n", ptr_struct->icm_res_type);
+	fprintf(file, "icm_res_type         : " U32H_FMT "\n", ptr_struct->icm_res_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "res_num_hi           : "U32H_FMT"\n", ptr_struct->res_num_hi);
+	fprintf(file, "res_num_hi           : " U32H_FMT "\n", ptr_struct->res_num_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "res_num_lo           : "U32H_FMT"\n", ptr_struct->res_num_lo);
+	fprintf(file, "res_num_lo           : " U32H_FMT "\n", ptr_struct->res_num_lo);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "return_status        : "U32H_FMT"\n", ptr_struct->return_status);
+	fprintf(file, "return_status        : " U32H_FMT "\n", ptr_struct->return_status);
 
 }
 
-int connectib_icmd_alloc_dealloc_resource_size(void){
+int connectib_icmd_alloc_dealloc_resource_size(void)
+{
 	 return 24;
 }
 
-void connectib_icmd_alloc_dealloc_resource_dump(const struct connectib_icmd_alloc_dealloc_resource *ptr_struct, FILE* file) {
+void connectib_icmd_alloc_dealloc_resource_dump(const struct connectib_icmd_alloc_dealloc_resource *ptr_struct, FILE* file)
+{
 	connectib_icmd_alloc_dealloc_resource_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_icm_res_prop_pack(const struct connectib_icmd_get_icm_res_prop *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_icm_res_prop_pack(const struct connectib_icmd_get_icm_res_prop *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->input_icm_type);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->input_icm_type);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->table_base_hi);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->table_base_hi);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->table_base_lo);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->table_base_lo);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->offset);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->offset);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->log2_stride);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log2_stride);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->log2_size);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log2_size);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->log2_table_size);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log2_table_size);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dummy_idx);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dummy_idx);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->sw_type);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sw_type);
 
 }
 
-void connectib_icmd_get_icm_res_prop_unpack(struct connectib_icmd_get_icm_res_prop *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_icm_res_prop_unpack(struct connectib_icmd_get_icm_res_prop *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->input_icm_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->table_base_hi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->table_base_lo = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->offset = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->log2_stride = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->log2_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
+	offset = 192;
 	ptr_struct->log2_table_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->dummy_idx = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=256;
+	offset = 256;
 	ptr_struct->sw_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_get_icm_res_prop_print(const struct connectib_icmd_get_icm_res_prop *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_icm_res_prop_print(const struct connectib_icmd_get_icm_res_prop *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_get_icm_res_prop ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "input_icm_type       : "U32H_FMT"\n", ptr_struct->input_icm_type);
+	fprintf(file, "input_icm_type       : " U32H_FMT "\n", ptr_struct->input_icm_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_base_hi        : "U32H_FMT"\n", ptr_struct->table_base_hi);
+	fprintf(file, "table_base_hi        : " U32H_FMT "\n", ptr_struct->table_base_hi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "table_base_lo        : "U32H_FMT"\n", ptr_struct->table_base_lo);
+	fprintf(file, "table_base_lo        : " U32H_FMT "\n", ptr_struct->table_base_lo);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset               : "U32H_FMT"\n", ptr_struct->offset);
+	fprintf(file, "offset               : " U32H_FMT "\n", ptr_struct->offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_stride          : "U32H_FMT"\n", ptr_struct->log2_stride);
+	fprintf(file, "log2_stride          : " U32H_FMT "\n", ptr_struct->log2_stride);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_size            : "U32H_FMT"\n", ptr_struct->log2_size);
+	fprintf(file, "log2_size            : " U32H_FMT "\n", ptr_struct->log2_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log2_table_size      : "U32H_FMT"\n", ptr_struct->log2_table_size);
+	fprintf(file, "log2_table_size      : " U32H_FMT "\n", ptr_struct->log2_table_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dummy_idx            : "U32H_FMT"\n", ptr_struct->dummy_idx);
+	fprintf(file, "dummy_idx            : " U32H_FMT "\n", ptr_struct->dummy_idx);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sw_type              : "U32H_FMT"\n", ptr_struct->sw_type);
+	fprintf(file, "sw_type              : " U32H_FMT "\n", ptr_struct->sw_type);
 
 }
 
-int connectib_icmd_get_icm_res_prop_size(void){
+int connectib_icmd_get_icm_res_prop_size(void)
+{
 	 return 36;
 }
 
-void connectib_icmd_get_icm_res_prop_dump(const struct connectib_icmd_get_icm_res_prop *ptr_struct, FILE* file) {
+void connectib_icmd_get_icm_res_prop_dump(const struct connectib_icmd_get_icm_res_prop *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_icm_res_prop_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_cable_info_pack(const struct connectib_icmd_cable_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_emad_mcia_pack(const struct connectib_icmd_emad_mcia *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 31;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->write_query_);
+
+	offset = 12;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sanity_checks_sts);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->status);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->device_address);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->page_number);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->i2c_device_address);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->size);
+
+	offset = 98;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->passwd_cap);
+
+	offset = 97;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->passwd_clr);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->passwd_v);
+
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->password);
+
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(160, 32, i, 576, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
+	}
+
+	offset = 575;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->internal_state);
+
+}
+
+void connectib_icmd_emad_mcia_unpack(struct connectib_icmd_emad_mcia *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 31;
+	ptr_struct->write_query_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 12;
+	ptr_struct->sanity_checks_sts = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 56;
+	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 40;
+	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->l = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 80;
+	ptr_struct->device_address = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 72;
+	ptr_struct->page_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->i2c_device_address = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 112;
+	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 98;
+	ptr_struct->passwd_cap = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 97;
+	ptr_struct->passwd_clr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->passwd_v = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 128;
+	ptr_struct->password = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(160, 32, i, 576, 1);
+	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+	offset = 575;
+	ptr_struct->internal_state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_icmd_emad_mcia_print(const struct connectib_icmd_emad_mcia *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_emad_mcia ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "write_query_         : " UH_FMT "\n", ptr_struct->write_query_);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sanity_checks_sts    : " UH_FMT "\n", ptr_struct->sanity_checks_sts);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "status               : " UH_FMT "\n", ptr_struct->status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "l                    : " UH_FMT "\n", ptr_struct->l);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_address       : " UH_FMT "\n", ptr_struct->device_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "page_number          : " UH_FMT "\n", ptr_struct->page_number);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "i2c_device_address   : " UH_FMT "\n", ptr_struct->i2c_device_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "passwd_cap           : " UH_FMT "\n", ptr_struct->passwd_cap);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "passwd_clr           : " UH_FMT "\n", ptr_struct->passwd_clr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "passwd_v             : " UH_FMT "\n", ptr_struct->passwd_v);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "password             : " U32H_FMT "\n", ptr_struct->password);
+
+	for (i = 0; i < 12; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
+	}
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "internal_state       : " UH_FMT "\n", ptr_struct->internal_state);
+
+}
+
+int connectib_icmd_emad_mcia_size(void)
+{
+	 return 72;
+}
+
+void connectib_icmd_emad_mcia_dump(const struct connectib_icmd_emad_mcia *ptr_struct, FILE* file)
+{
+	connectib_icmd_emad_mcia_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_cable_info_pack(const struct connectib_icmd_cable_info *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->method);
 
-	offset=33;
+	offset = 33;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 15, (u_int32_t)ptr_struct->status);
 
-	offset=184;
+	offset = 184;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->module);
 
-	offset=160;
+	offset = 160;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lock_bit);
 
-	offset=512;
+	offset = 512;
 	connectib_cable_info_pack(&(ptr_struct->data), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_cable_info_unpack(struct connectib_icmd_cable_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_cable_info_unpack(struct connectib_icmd_cable_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->method = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=33;
+	offset = 33;
 	ptr_struct->status = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 15);
 
-	offset=184;
+	offset = 184;
 	ptr_struct->module = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->lock_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=512;
+	offset = 512;
 	connectib_cable_info_unpack(&(ptr_struct->data), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_cable_info_print(const struct connectib_icmd_cable_info *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_cable_info_print(const struct connectib_icmd_cable_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_cable_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "method               : "UH_FMT"\n", ptr_struct->method);
+	fprintf(file, "method               : " UH_FMT "\n", ptr_struct->method);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status               : "UH_FMT"\n", ptr_struct->status);
+	fprintf(file, "status               : " UH_FMT "\n", ptr_struct->status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "module               : "UH_FMT"\n", ptr_struct->module);
+	fprintf(file, "module               : " UH_FMT "\n", ptr_struct->module);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lock_bit             : "UH_FMT"\n", ptr_struct->lock_bit);
+	fprintf(file, "lock_bit             : " UH_FMT "\n", ptr_struct->lock_bit);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "data:\n");
@@ -55172,291 +86309,303 @@ void connectib_icmd_cable_info_print(const struct connectib_icmd_cable_info *ptr
 
 }
 
-int connectib_icmd_cable_info_size(void){
+int connectib_icmd_cable_info_size(void)
+{
 	 return 128;
 }
 
-void connectib_icmd_cable_info_dump(const struct connectib_icmd_cable_info *ptr_struct, FILE* file) {
+void connectib_icmd_cable_info_dump(const struct connectib_icmd_cable_info *ptr_struct, FILE* file)
+{
 	connectib_icmd_cable_info_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_cable_plug_out_in_pack(const struct connectib_icmd_cable_plug_out_in *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_cable_plug_out_in_pack(const struct connectib_icmd_cable_plug_out_in *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
+	offset = 28;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->port);
 
-	offset=23;
+	offset = 23;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->plug_out_in);
 
 }
 
-void connectib_icmd_cable_plug_out_in_unpack(struct connectib_icmd_cable_plug_out_in *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_cable_plug_out_in_unpack(struct connectib_icmd_cable_plug_out_in *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
+	offset = 28;
 	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=23;
+	offset = 23;
 	ptr_struct->plug_out_in = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_cable_plug_out_in_print(const struct connectib_icmd_cable_plug_out_in *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_cable_plug_out_in_print(const struct connectib_icmd_cable_plug_out_in *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_cable_plug_out_in ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "plug_out_in          : "UH_FMT"\n", ptr_struct->plug_out_in);
+	fprintf(file, "plug_out_in          : " UH_FMT "\n", ptr_struct->plug_out_in);
 
 }
 
-int connectib_icmd_cable_plug_out_in_size(void){
+int connectib_icmd_cable_plug_out_in_size(void)
+{
 	 return 4;
 }
 
-void connectib_icmd_cable_plug_out_in_dump(const struct connectib_icmd_cable_plug_out_in *ptr_struct, FILE* file) {
+void connectib_icmd_cable_plug_out_in_dump(const struct connectib_icmd_cable_plug_out_in *ptr_struct, FILE* file)
+{
 	connectib_icmd_cable_plug_out_in_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_standby_pack(const struct connectib_icmd_standby *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_standby_pack(const struct connectib_icmd_standby *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=63;
+	offset = 63;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->exit_enter_);
 
-	offset=88;
+	offset = 88;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->in_standby_mode);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->last_iron_down_time_usec);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->last_iron_down_time_usec);
 
-	offset=144;
+	offset = 144;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->flow_id);
 
 }
 
-void connectib_icmd_standby_unpack(struct connectib_icmd_standby *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_standby_unpack(struct connectib_icmd_standby *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=63;
+	offset = 63;
 	ptr_struct->exit_enter_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=88;
+	offset = 88;
 	ptr_struct->in_standby_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->last_iron_down_time_usec = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=144;
+	offset = 144;
 	ptr_struct->flow_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_icmd_standby_print(const struct connectib_icmd_standby *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_standby_print(const struct connectib_icmd_standby *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_standby ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "exit_enter_          : "UH_FMT"\n", ptr_struct->exit_enter_);
+	fprintf(file, "exit_enter_          : " UH_FMT "\n", ptr_struct->exit_enter_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "in_standby_mode      : "UH_FMT"\n", ptr_struct->in_standby_mode);
+	fprintf(file, "in_standby_mode      : " UH_FMT "\n", ptr_struct->in_standby_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "last_iron_down_time_usec : "U32H_FMT"\n", ptr_struct->last_iron_down_time_usec);
+	fprintf(file, "last_iron_down_time_usec : " U32H_FMT "\n", ptr_struct->last_iron_down_time_usec);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_id              : "UH_FMT"\n", ptr_struct->flow_id);
+	fprintf(file, "flow_id              : " UH_FMT "\n", ptr_struct->flow_id);
 
 }
 
-int connectib_icmd_standby_size(void){
+int connectib_icmd_standby_size(void)
+{
 	 return 32;
 }
 
-void connectib_icmd_standby_dump(const struct connectib_icmd_standby *ptr_struct, FILE* file) {
+void connectib_icmd_standby_dump(const struct connectib_icmd_standby *ptr_struct, FILE* file)
+{
 	connectib_icmd_standby_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_grepper_pack(const struct connectib_icmd_grepper *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_grepper_pack(const struct connectib_icmd_grepper *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->icmd_grepper_flow);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->icmd_grepper_flow);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->read_addr);
 
-	offset=128;
+	offset = 128;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->write_addr);
 
-	offset=219;
+	offset = 219;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_read_stride);
 
-	offset=214;
+	offset = 214;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->log_write_stride);
 
-	offset=230;
+	offset = 230;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 26, (u_int32_t)ptr_struct->line_start_offset);
 
-	offset=262;
+	offset = 262;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 26, (u_int32_t)ptr_struct->iterations);
 
-	offset=294;
+	offset = 294;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 26, (u_int32_t)ptr_struct->first_line_hit);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->number_of_hits);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->number_of_hits);
 
-	offset=352;
+	offset = 352;
 	connectib_grepper_dwords_pack(&(ptr_struct->write_data), ptr_buff + offset/8);
 
-	offset=864;
+	offset = 864;
 	connectib_grepper_dwords_pack(&(ptr_struct->write_mask), ptr_buff + offset/8);
 
-	offset=1376;
+	offset = 1376;
 	connectib_grepper_dwords_pack(&(ptr_struct->compare_data), ptr_buff + offset/8);
 
-	offset=2400;
+	offset = 2400;
 	connectib_grepper_dwords_pack(&(ptr_struct->compare_mask), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_grepper_unpack(struct connectib_icmd_grepper *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_grepper_unpack(struct connectib_icmd_grepper *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->icmd_grepper_flow = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->read_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->write_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=219;
+	offset = 219;
 	ptr_struct->log_read_stride = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=214;
+	offset = 214;
 	ptr_struct->log_write_stride = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=230;
+	offset = 230;
 	ptr_struct->line_start_offset = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 26);
 
-	offset=262;
+	offset = 262;
 	ptr_struct->iterations = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 26);
 
-	offset=294;
+	offset = 294;
 	ptr_struct->first_line_hit = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 26);
 
-	offset=320;
+	offset = 320;
 	ptr_struct->number_of_hits = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
+	offset = 352;
 	connectib_grepper_dwords_unpack(&(ptr_struct->write_data), ptr_buff + offset/8);
 
-	offset=864;
+	offset = 864;
 	connectib_grepper_dwords_unpack(&(ptr_struct->write_mask), ptr_buff + offset/8);
 
-	offset=1376;
+	offset = 1376;
 	connectib_grepper_dwords_unpack(&(ptr_struct->compare_data), ptr_buff + offset/8);
 
-	offset=2400;
+	offset = 2400;
 	connectib_grepper_dwords_unpack(&(ptr_struct->compare_mask), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_grepper_print(const struct connectib_icmd_grepper *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_grepper_print(const struct connectib_icmd_grepper *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_grepper ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icmd_grepper_flow    : "U32H_FMT"\n", ptr_struct->icmd_grepper_flow);
+	fprintf(file, "icmd_grepper_flow    : " U32H_FMT "\n", ptr_struct->icmd_grepper_flow);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "read_addr            : "U64H_FMT"\n", ptr_struct->read_addr);
+	fprintf(file, "read_addr            : " U64H_FMT "\n", ptr_struct->read_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "write_addr           : "U64H_FMT"\n", ptr_struct->write_addr);
+	fprintf(file, "write_addr           : " U64H_FMT "\n", ptr_struct->write_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_read_stride      : "UH_FMT"\n", ptr_struct->log_read_stride);
+	fprintf(file, "log_read_stride      : " UH_FMT "\n", ptr_struct->log_read_stride);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_write_stride     : "UH_FMT"\n", ptr_struct->log_write_stride);
+	fprintf(file, "log_write_stride     : " UH_FMT "\n", ptr_struct->log_write_stride);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "line_start_offset    : "UH_FMT"\n", ptr_struct->line_start_offset);
+	fprintf(file, "line_start_offset    : " UH_FMT "\n", ptr_struct->line_start_offset);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "iterations           : "UH_FMT"\n", ptr_struct->iterations);
+	fprintf(file, "iterations           : " UH_FMT "\n", ptr_struct->iterations);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "first_line_hit       : "UH_FMT"\n", ptr_struct->first_line_hit);
+	fprintf(file, "first_line_hit       : " UH_FMT "\n", ptr_struct->first_line_hit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "number_of_hits       : "U32H_FMT"\n", ptr_struct->number_of_hits);
+	fprintf(file, "number_of_hits       : " U32H_FMT "\n", ptr_struct->number_of_hits);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "write_data:\n");
@@ -55476,182 +86625,348 @@ void connectib_icmd_grepper_print(const struct connectib_icmd_grepper *ptr_struc
 
 }
 
-int connectib_icmd_grepper_size(void){
+int connectib_icmd_grepper_size(void)
+{
 	 return 512;
 }
 
-void connectib_icmd_grepper_dump(const struct connectib_icmd_grepper *ptr_struct, FILE* file) {
+void connectib_icmd_grepper_dump(const struct connectib_icmd_grepper *ptr_struct, FILE* file)
+{
 	connectib_icmd_grepper_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_debug_fw_tracer_pack(const struct connectib_icmd_debug_fw_tracer *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_execute_fw_log_pack(const struct connectib_icmd_execute_fw_log *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	connectib_itrace_pack(&(ptr_struct->itrace), ptr_buff + offset/8);
+
+	offset = 156;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->opcode);
+
+	for (i = 0; i < 7; i++) {
+	offset = adb2c_calc_array_field_address(160, 32, i, 384, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_var[i]);
+	}
+
+}
+
+void connectib_icmd_execute_fw_log_unpack(struct connectib_icmd_execute_fw_log *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 384, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->arg[i]);
+	offset = 0;
+	connectib_itrace_unpack(&(ptr_struct->itrace), ptr_buff + offset/8);
+
+	offset = 156;
+	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	for (i = 0; i < 7; i++) {
+	offset = adb2c_calc_array_field_address(160, 32, i, 384, 1);
+	ptr_struct->log_var[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=284;
+}
+
+void connectib_icmd_execute_fw_log_print(const struct connectib_icmd_execute_fw_log *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_execute_fw_log ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "itrace:\n");
+	connectib_itrace_print(&(ptr_struct->itrace), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
+
+	for (i = 0; i < 7; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_var_%03d         : " U32H_FMT "\n", i, ptr_struct->log_var[i]);
+	}
+
+}
+
+int connectib_icmd_execute_fw_log_size(void)
+{
+	 return 48;
+}
+
+void connectib_icmd_execute_fw_log_dump(const struct connectib_icmd_execute_fw_log *ptr_struct, FILE* file)
+{
+	connectib_icmd_execute_fw_log_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_debug_fw_tracer_pack(const struct connectib_icmd_debug_fw_tracer *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 384, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->arg[i]);
+	}
+
+	offset = 284;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_args);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_of_iterations);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_of_iterations);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->iter_delay);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->iter_delay);
 
 }
 
-void connectib_icmd_debug_fw_tracer_unpack(struct connectib_icmd_debug_fw_tracer *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_debug_fw_tracer_unpack(struct connectib_icmd_debug_fw_tracer *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 384, 1);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 384, 1);
 	ptr_struct->arg[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=284;
+	offset = 284;
 	ptr_struct->num_of_args = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=288;
+	offset = 288;
 	ptr_struct->num_of_iterations = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
+	offset = 320;
 	ptr_struct->iter_delay = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_debug_fw_tracer_print(const struct connectib_icmd_debug_fw_tracer *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_debug_fw_tracer_print(const struct connectib_icmd_debug_fw_tracer *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_debug_fw_tracer ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "arg_%03d             : "U32H_FMT"\n", i, ptr_struct->arg[i]);
+	fprintf(file, "arg_%03d             : " U32H_FMT "\n", i, ptr_struct->arg[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_args          : "UH_FMT"\n", ptr_struct->num_of_args);
+	fprintf(file, "num_of_args          : " UH_FMT "\n", ptr_struct->num_of_args);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_of_iterations    : "U32H_FMT"\n", ptr_struct->num_of_iterations);
+	fprintf(file, "num_of_iterations    : " U32H_FMT "\n", ptr_struct->num_of_iterations);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "iter_delay           : "U32H_FMT"\n", ptr_struct->iter_delay);
+	fprintf(file, "iter_delay           : " U32H_FMT "\n", ptr_struct->iter_delay);
 
 }
 
-int connectib_icmd_debug_fw_tracer_size(void){
+int connectib_icmd_debug_fw_tracer_size(void)
+{
 	 return 48;
 }
 
-void connectib_icmd_debug_fw_tracer_dump(const struct connectib_icmd_debug_fw_tracer *ptr_struct, FILE* file) {
+void connectib_icmd_debug_fw_tracer_dump(const struct connectib_icmd_debug_fw_tracer *ptr_struct, FILE* file)
+{
 	connectib_icmd_debug_fw_tracer_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_open_resources_pack(const struct connectib_icmd_get_open_resources *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_highest_index_pack(const struct connectib_icmd_get_highest_index *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->icm_res_type);
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->icm_res_type);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->highest_internal_index);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->highest_icm_res_num);
 
-	offset=64;
+}
+
+void connectib_icmd_get_highest_index_unpack(struct connectib_icmd_get_highest_index *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->icm_res_type = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->highest_internal_index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->highest_icm_res_num = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+}
+
+void connectib_icmd_get_highest_index_print(const struct connectib_icmd_get_highest_index *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_highest_index ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "icm_res_type         : " UH_FMT "\n", ptr_struct->icm_res_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "highest_internal_index : " U32H_FMT "\n", ptr_struct->highest_internal_index);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "highest_icm_res_num  : " U64H_FMT "\n", ptr_struct->highest_icm_res_num);
+
+}
+
+int connectib_icmd_get_highest_index_size(void)
+{
+	 return 32;
+}
+
+void connectib_icmd_get_highest_index_dump(const struct connectib_icmd_get_highest_index *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_highest_index_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_get_open_resources_pack(const struct connectib_icmd_get_open_resources *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->icm_res_type);
+
+	offset = 64;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->start_index);
 
-	offset=159;
+	offset = 159;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->more);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->output_size);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->output_size);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(256, 128, i, 6144, 1);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(256, 128, i, 6144, 1);
 	connectib_index_and_length_pack(&(ptr_struct->open_resources[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_get_open_resources_unpack(struct connectib_icmd_get_open_resources *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_open_resources_unpack(struct connectib_icmd_get_open_resources *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->icm_res_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->start_index = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=159;
+	offset = 159;
 	ptr_struct->more = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->output_size = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 32; i++) {
-	offset=adb2c_calc_array_field_address(256, 128, i, 6144, 1);
+	for (i = 0; i < 32; i++) {
+	offset = adb2c_calc_array_field_address(256, 128, i, 6144, 1);
 	connectib_index_and_length_unpack(&(ptr_struct->open_resources[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_get_open_resources_print(const struct connectib_icmd_get_open_resources *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_open_resources_print(const struct connectib_icmd_get_open_resources *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_get_open_resources ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icm_res_type         : "U32H_FMT"\n", ptr_struct->icm_res_type);
+	fprintf(file, "icm_res_type         : " U32H_FMT "\n", ptr_struct->icm_res_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "start_index          : "U64H_FMT"\n", ptr_struct->start_index);
+	fprintf(file, "start_index          : " U64H_FMT "\n", ptr_struct->start_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "more                 : "UH_FMT"\n", ptr_struct->more);
+	fprintf(file, "more                 : " UH_FMT "\n", ptr_struct->more);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "output_size          : "U32H_FMT"\n", ptr_struct->output_size);
+	fprintf(file, "output_size          : " U32H_FMT "\n", ptr_struct->output_size);
 
-	for (i=0; i < 32; i++) {
+	for (i = 0; i < 32; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "open_resources_%03d:\n", i);
 	connectib_index_and_length_print(&(ptr_struct->open_resources[i]), file, indent_level + 1);
@@ -55659,274 +86974,286 @@ void connectib_icmd_get_open_resources_print(const struct connectib_icmd_get_ope
 
 }
 
-int connectib_icmd_get_open_resources_size(void){
+int connectib_icmd_get_open_resources_size(void)
+{
 	 return 768;
 }
 
-void connectib_icmd_get_open_resources_dump(const struct connectib_icmd_get_open_resources *ptr_struct, FILE* file) {
+void connectib_icmd_get_open_resources_dump(const struct connectib_icmd_get_open_resources *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_open_resources_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_read_icm_dummy_addr_pack(const struct connectib_icmd_read_icm_dummy_addr *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_read_icm_dummy_addr_pack(const struct connectib_icmd_read_icm_dummy_addr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=56;
+	offset = 56;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->dummy_idx);
 
-	offset=93;
+	offset = 93;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->hop_num);
 
-	offset=128;
+	offset = 128;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->dummy_addr);
 
 }
 
-void connectib_icmd_read_icm_dummy_addr_unpack(struct connectib_icmd_read_icm_dummy_addr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_icm_dummy_addr_unpack(struct connectib_icmd_read_icm_dummy_addr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=56;
+	offset = 56;
 	ptr_struct->dummy_idx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=93;
+	offset = 93;
 	ptr_struct->hop_num = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->dummy_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_icmd_read_icm_dummy_addr_print(const struct connectib_icmd_read_icm_dummy_addr *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_icm_dummy_addr_print(const struct connectib_icmd_read_icm_dummy_addr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_read_icm_dummy_addr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dummy_idx            : "UH_FMT"\n", ptr_struct->dummy_idx);
+	fprintf(file, "dummy_idx            : " UH_FMT "\n", ptr_struct->dummy_idx);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_num              : "UH_FMT"\n", ptr_struct->hop_num);
+	fprintf(file, "hop_num              : " UH_FMT "\n", ptr_struct->hop_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dummy_addr           : "U64H_FMT"\n", ptr_struct->dummy_addr);
+	fprintf(file, "dummy_addr           : " U64H_FMT "\n", ptr_struct->dummy_addr);
 
 }
 
-int connectib_icmd_read_icm_dummy_addr_size(void){
+int connectib_icmd_read_icm_dummy_addr_size(void)
+{
 	 return 32;
 }
 
-void connectib_icmd_read_icm_dummy_addr_dump(const struct connectib_icmd_read_icm_dummy_addr *ptr_struct, FILE* file) {
+void connectib_icmd_read_icm_dummy_addr_dump(const struct connectib_icmd_read_icm_dummy_addr *ptr_struct, FILE* file)
+{
 	connectib_icmd_read_icm_dummy_addr_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_read_icm_tlb_line_pack(const struct connectib_icmd_read_icm_tlb_line *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_read_icm_tlb_line_pack(const struct connectib_icmd_read_icm_tlb_line *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 640, 1);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 640, 1);
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->data[i]);
 	}
 
-	offset=512;
+	offset = 512;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->tlb_addr);
 
-	offset=604;
+	offset = 604;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hop_number);
 
 }
 
-void connectib_icmd_read_icm_tlb_line_unpack(struct connectib_icmd_read_icm_tlb_line *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_icm_tlb_line_unpack(struct connectib_icmd_read_icm_tlb_line *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 8; i++) {
-	offset=adb2c_calc_array_field_address(0, 64, i, 640, 1);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 64, i, 640, 1);
 	ptr_struct->data[i] = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 	}
 
-	offset=512;
+	offset = 512;
 	ptr_struct->tlb_addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=604;
+	offset = 604;
 	ptr_struct->hop_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_read_icm_tlb_line_print(const struct connectib_icmd_read_icm_tlb_line *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_icm_tlb_line_print(const struct connectib_icmd_read_icm_tlb_line *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_read_icm_tlb_line ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 8; i++) {
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U64H_FMT"\n", i, ptr_struct->data[i]);
+	fprintf(file, "data_%03d            : " U64H_FMT "\n", i, ptr_struct->data[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tlb_addr             : "U64H_FMT"\n", ptr_struct->tlb_addr);
+	fprintf(file, "tlb_addr             : " U64H_FMT "\n", ptr_struct->tlb_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_number           : "UH_FMT"\n", ptr_struct->hop_number);
+	fprintf(file, "hop_number           : " UH_FMT "\n", ptr_struct->hop_number);
 
 }
 
-int connectib_icmd_read_icm_tlb_line_size(void){
+int connectib_icmd_read_icm_tlb_line_size(void)
+{
 	 return 80;
 }
 
-void connectib_icmd_read_icm_tlb_line_dump(const struct connectib_icmd_read_icm_tlb_line *ptr_struct, FILE* file) {
+void connectib_icmd_read_icm_tlb_line_dump(const struct connectib_icmd_read_icm_tlb_line *ptr_struct, FILE* file)
+{
 	connectib_icmd_read_icm_tlb_line_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_config_cc_pack(const struct connectib_icmd_config_cc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_config_cc_pack(const struct connectib_icmd_config_cc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
+	offset = 30;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->opcode);
 
-	offset=27;
+	offset = 27;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->portid);
 
-	offset=22;
+	offset = 22;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->cc_mode);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->sl_map);
 
-	offset=56;
+	offset = 56;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->base);
 
-	offset=40;
+	offset = 40;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_entries);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(2048, 64, i, 6144, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(2048, 64, i, 6144, 1);
 	connectib_ca_congestion_entry_pack(&(ptr_struct->ca_congestion_entry_list[i]), ptr_buff + offset/8);
 	}
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(4112, 16, i, 6144, 1);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(4112, 16, i, 6144, 1);
 	connectib_cc_table_entry_pack(&(ptr_struct->ccti_entry_list[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_config_cc_unpack(struct connectib_icmd_config_cc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_config_cc_unpack(struct connectib_icmd_config_cc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=30;
+	offset = 30;
 	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=27;
+	offset = 27;
 	ptr_struct->portid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=22;
+	offset = 22;
 	ptr_struct->cc_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->sl_map = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=56;
+	offset = 56;
 	ptr_struct->base = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=40;
+	offset = 40;
 	ptr_struct->num_entries = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(2048, 64, i, 6144, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(2048, 64, i, 6144, 1);
 	connectib_ca_congestion_entry_unpack(&(ptr_struct->ca_congestion_entry_list[i]), ptr_buff + offset/8);
 	}
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(4112, 16, i, 6144, 1);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(4112, 16, i, 6144, 1);
 	connectib_cc_table_entry_unpack(&(ptr_struct->ccti_entry_list[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_icmd_config_cc_print(const struct connectib_icmd_config_cc *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_config_cc_print(const struct connectib_icmd_config_cc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_config_cc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : "UH_FMT"\n", ptr_struct->opcode);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "portid               : "UH_FMT"\n", ptr_struct->portid);
+	fprintf(file, "portid               : " UH_FMT "\n", ptr_struct->portid);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cc_mode              : "UH_FMT"\n", ptr_struct->cc_mode);
+	fprintf(file, "cc_mode              : " UH_FMT "\n", ptr_struct->cc_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl_map               : "UH_FMT"\n", ptr_struct->sl_map);
+	fprintf(file, "sl_map               : " UH_FMT "\n", ptr_struct->sl_map);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "base                 : "UH_FMT"\n", ptr_struct->base);
+	fprintf(file, "base                 : " UH_FMT "\n", ptr_struct->base);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_entries          : "UH_FMT"\n", ptr_struct->num_entries);
+	fprintf(file, "num_entries          : " UH_FMT "\n", ptr_struct->num_entries);
 
-	for (i=0; i < 16; i++) {
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "ca_congestion_entry_list_%03d:\n", i);
 	connectib_ca_congestion_entry_print(&(ptr_struct->ca_congestion_entry_list[i]), file, indent_level + 1);
 	}
 
-	for (i=0; i < 64; i++) {
+	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "ccti_entry_list_%03d:\n", i);
 	connectib_cc_table_entry_print(&(ptr_struct->ccti_entry_list[i]), file, indent_level + 1);
@@ -55934,125 +87261,293 @@ void connectib_icmd_config_cc_print(const struct connectib_icmd_config_cc *ptr_s
 
 }
 
-int connectib_icmd_config_cc_size(void){
+int connectib_icmd_config_cc_size(void)
+{
 	 return 768;
 }
 
-void connectib_icmd_config_cc_dump(const struct connectib_icmd_config_cc *ptr_struct, FILE* file) {
+void connectib_icmd_config_cc_dump(const struct connectib_icmd_config_cc *ptr_struct, FILE* file)
+{
 	connectib_icmd_config_cc_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_write_dc_cnak_lid_pack(const struct connectib_icmd_write_dc_cnak_lid *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_ud_to_raw_pack(const struct connectib_icmd_ud_to_raw *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->gvmi);
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
+
+	offset = 63;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vl15);
+
+}
+
+void connectib_icmd_ud_to_raw_unpack(struct connectib_icmd_ud_to_raw *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 0;
+	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 63;
+	ptr_struct->vl15 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+}
+
+void connectib_icmd_ud_to_raw_print(const struct connectib_icmd_ud_to_raw *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_ud_to_raw ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl15                 : " UH_FMT "\n", ptr_struct->vl15);
 
-	offset=62;
+}
+
+int connectib_icmd_ud_to_raw_size(void)
+{
+	 return 64;
+}
+
+void connectib_icmd_ud_to_raw_dump(const struct connectib_icmd_ud_to_raw *ptr_struct, FILE* file)
+{
+	connectib_icmd_ud_to_raw_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_update_rq_ci_pack(const struct connectib_icmd_update_rq_ci *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->context_type);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->context_num);
+
+	offset = 112;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->new_ci);
+
+	offset = 144;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->new_next_index);
+
+}
+
+void connectib_icmd_update_rq_ci_unpack(struct connectib_icmd_update_rq_ci *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->context_type = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->context_num = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 112;
+	ptr_struct->new_ci = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 144;
+	ptr_struct->new_next_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void connectib_icmd_update_rq_ci_print(const struct connectib_icmd_update_rq_ci *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_update_rq_ci ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "context_type         : " U32H_FMT "\n", ptr_struct->context_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "context_num          : " U32H_FMT "\n", ptr_struct->context_num);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "new_ci               : " UH_FMT "\n", ptr_struct->new_ci);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "new_next_index       : " UH_FMT "\n", ptr_struct->new_next_index);
+
+}
+
+int connectib_icmd_update_rq_ci_size(void)
+{
+	 return 64;
+}
+
+void connectib_icmd_update_rq_ci_dump(const struct connectib_icmd_update_rq_ci *ptr_struct, FILE* file)
+{
+	connectib_icmd_update_rq_ci_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_write_dc_cnak_lid_pack(const struct connectib_icmd_write_dc_cnak_lid *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 62;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->port);
 
-	offset=80;
+	offset = 80;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lid);
 
 }
 
-void connectib_icmd_write_dc_cnak_lid_unpack(struct connectib_icmd_write_dc_cnak_lid *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_write_dc_cnak_lid_unpack(struct connectib_icmd_write_dc_cnak_lid *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->gvmi = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=62;
+	offset = 62;
 	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=80;
+	offset = 80;
 	ptr_struct->lid = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_icmd_write_dc_cnak_lid_print(const struct connectib_icmd_write_dc_cnak_lid *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_write_dc_cnak_lid_print(const struct connectib_icmd_write_dc_cnak_lid *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_write_dc_cnak_lid ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "U32H_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " U32H_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lid                  : "UH_FMT"\n", ptr_struct->lid);
+	fprintf(file, "lid                  : " UH_FMT "\n", ptr_struct->lid);
 
 }
 
-int connectib_icmd_write_dc_cnak_lid_size(void){
+int connectib_icmd_write_dc_cnak_lid_size(void)
+{
 	 return 64;
 }
 
-void connectib_icmd_write_dc_cnak_lid_dump(const struct connectib_icmd_write_dc_cnak_lid *ptr_struct, FILE* file) {
+void connectib_icmd_write_dc_cnak_lid_dump(const struct connectib_icmd_write_dc_cnak_lid *ptr_struct, FILE* file)
+{
 	connectib_icmd_write_dc_cnak_lid_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_congestion_log_pack(const struct connectib_icmd_congestion_log *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_congestion_log_pack(const struct connectib_icmd_congestion_log *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=62;
+	offset = 62;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->port);
 
-	offset=128;
+	offset = 128;
 	connectib_congestion_log_event_entry_pack(&(ptr_struct->log_entry), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_congestion_log_unpack(struct connectib_icmd_congestion_log *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_congestion_log_unpack(struct connectib_icmd_congestion_log *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=62;
+	offset = 62;
 	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=128;
+	offset = 128;
 	connectib_congestion_log_event_entry_unpack(&(ptr_struct->log_entry), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_congestion_log_print(const struct connectib_icmd_congestion_log *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_congestion_log_print(const struct connectib_icmd_congestion_log *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_congestion_log ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "log_entry:\n");
@@ -56060,220 +87555,238 @@ void connectib_icmd_congestion_log_print(const struct connectib_icmd_congestion_
 
 }
 
-int connectib_icmd_congestion_log_size(void){
+int connectib_icmd_congestion_log_size(void)
+{
 	 return 64;
 }
 
-void connectib_icmd_congestion_log_dump(const struct connectib_icmd_congestion_log *ptr_struct, FILE* file) {
+void connectib_icmd_congestion_log_dump(const struct connectib_icmd_congestion_log *ptr_struct, FILE* file)
+{
 	connectib_icmd_congestion_log_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_port_sniffer_pack(const struct connectib_icmd_get_port_sniffer *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_port_sniffer_pack(const struct connectib_icmd_get_port_sniffer *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->sx_port1);
 
-	offset=40;
+	offset = 40;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->sx_port2);
 
-	offset=72;
+	offset = 72;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_port1);
 
-	offset=104;
+	offset = 104;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rx_port2);
 
 }
 
-void connectib_icmd_get_port_sniffer_unpack(struct connectib_icmd_get_port_sniffer *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_port_sniffer_unpack(struct connectib_icmd_get_port_sniffer *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	ptr_struct->sx_port1 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=40;
+	offset = 40;
 	ptr_struct->sx_port2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=72;
+	offset = 72;
 	ptr_struct->rx_port1 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=104;
+	offset = 104;
 	ptr_struct->rx_port2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
 }
 
-void connectib_icmd_get_port_sniffer_print(const struct connectib_icmd_get_port_sniffer *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_port_sniffer_print(const struct connectib_icmd_get_port_sniffer *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_get_port_sniffer ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_port1             : "UH_FMT"\n", ptr_struct->sx_port1);
+	fprintf(file, "sx_port1             : " UH_FMT "\n", ptr_struct->sx_port1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_port2             : "UH_FMT"\n", ptr_struct->sx_port2);
+	fprintf(file, "sx_port2             : " UH_FMT "\n", ptr_struct->sx_port2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_port1             : "UH_FMT"\n", ptr_struct->rx_port1);
+	fprintf(file, "rx_port1             : " UH_FMT "\n", ptr_struct->rx_port1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rx_port2             : "UH_FMT"\n", ptr_struct->rx_port2);
+	fprintf(file, "rx_port2             : " UH_FMT "\n", ptr_struct->rx_port2);
 
 }
 
-int connectib_icmd_get_port_sniffer_size(void){
+int connectib_icmd_get_port_sniffer_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_get_port_sniffer_dump(const struct connectib_icmd_get_port_sniffer *ptr_struct, FILE* file) {
+void connectib_icmd_get_port_sniffer_dump(const struct connectib_icmd_get_port_sniffer *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_port_sniffer_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_set_port_sniffer_pack(const struct connectib_icmd_set_port_sniffer *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_set_port_sniffer_pack(const struct connectib_icmd_set_port_sniffer *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=63;
+	offset = 63;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->sx_rx_);
 
-	offset=47;
+	offset = 47;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->attach_detach_);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port);
 
-	offset=104;
+	offset = 104;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->sniffer_qpn);
 
 }
 
-void connectib_icmd_set_port_sniffer_unpack(struct connectib_icmd_set_port_sniffer *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_set_port_sniffer_unpack(struct connectib_icmd_set_port_sniffer *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=63;
+	offset = 63;
 	ptr_struct->sx_rx_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=47;
+	offset = 47;
 	ptr_struct->attach_detach_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=104;
+	offset = 104;
 	ptr_struct->sniffer_qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
 }
 
-void connectib_icmd_set_port_sniffer_print(const struct connectib_icmd_set_port_sniffer *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_set_port_sniffer_print(const struct connectib_icmd_set_port_sniffer *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_set_port_sniffer ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sx_rx_               : "UH_FMT"\n", ptr_struct->sx_rx_);
+	fprintf(file, "sx_rx_               : " UH_FMT "\n", ptr_struct->sx_rx_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "attach_detach_       : "UH_FMT"\n", ptr_struct->attach_detach_);
+	fprintf(file, "attach_detach_       : " UH_FMT "\n", ptr_struct->attach_detach_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sniffer_qpn          : "UH_FMT"\n", ptr_struct->sniffer_qpn);
+	fprintf(file, "sniffer_qpn          : " UH_FMT "\n", ptr_struct->sniffer_qpn);
 
 }
 
-int connectib_icmd_set_port_sniffer_size(void){
+int connectib_icmd_set_port_sniffer_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_set_port_sniffer_dump(const struct connectib_icmd_set_port_sniffer *ptr_struct, FILE* file) {
+void connectib_icmd_set_port_sniffer_dump(const struct connectib_icmd_set_port_sniffer *ptr_struct, FILE* file)
+{
 	connectib_icmd_set_port_sniffer_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_special_qps_pack(const struct connectib_icmd_special_qps *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_special_qps_pack(const struct connectib_icmd_special_qps *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_special_qps_pack(&(ptr_struct->qps), ptr_buff + offset/8);
 
-	offset=2064;
+	offset = 1248;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->host_mng_qpn);
+
+	offset = 2064;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=2063;
+	offset = 2063;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->port);
 
 }
 
-void connectib_icmd_special_qps_unpack(struct connectib_icmd_special_qps *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_special_qps_unpack(struct connectib_icmd_special_qps *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_special_qps_unpack(&(ptr_struct->qps), ptr_buff + offset/8);
 
-	offset=2064;
+	offset = 1248;
+	ptr_struct->host_mng_qpn = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 2064;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=2063;
+	offset = 2063;
 	ptr_struct->port = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_special_qps_print(const struct connectib_icmd_special_qps *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_special_qps_print(const struct connectib_icmd_special_qps *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_special_qps ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -56282,130 +87795,141 @@ void connectib_icmd_special_qps_print(const struct connectib_icmd_special_qps *p
 	connectib_special_qps_print(&(ptr_struct->qps), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "host_mng_qpn         : " U32H_FMT "\n", ptr_struct->host_mng_qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port                 : "UH_FMT"\n", ptr_struct->port);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port                 : " UH_FMT "\n", ptr_struct->port);
 
 }
 
-int connectib_icmd_special_qps_size(void){
+int connectib_icmd_special_qps_size(void)
+{
 	 return 260;
 }
 
-void connectib_icmd_special_qps_dump(const struct connectib_icmd_special_qps *ptr_struct, FILE* file) {
+void connectib_icmd_special_qps_dump(const struct connectib_icmd_special_qps *ptr_struct, FILE* file)
+{
 	connectib_icmd_special_qps_print(ptr_struct, file, 0);
 }
 
-void connectib_eqn4type_pack(const struct connectib_eqn4type *ptr_struct, u_int8_t* ptr_buff){
+void connectib_eqn4type_pack(const struct connectib_eqn4type *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2080, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->eqn[i]);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2080, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->eqn[i]);
 	}
 
-	offset=2064;
+	offset = 2064;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
 }
 
-void connectib_eqn4type_unpack(struct connectib_eqn4type *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_eqn4type_unpack(struct connectib_eqn4type *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2080, 1);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2080, 1);
 	ptr_struct->eqn[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=2064;
+	offset = 2064;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_eqn4type_print(const struct connectib_eqn4type *ptr_struct, FILE* file, int indent_level){
+void connectib_eqn4type_print(const struct connectib_eqn4type *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_eqn4type ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 64; i++) {
+	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "eqn_%03d             : "U32H_FMT"\n", i, ptr_struct->eqn[i]);
+	fprintf(file, "eqn_%03d             : " U32H_FMT "\n", i, ptr_struct->eqn[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 }
 
-int connectib_eqn4type_size(void){
+int connectib_eqn4type_size(void)
+{
 	 return 260;
 }
 
-void connectib_eqn4type_dump(const struct connectib_eqn4type *ptr_struct, FILE* file) {
+void connectib_eqn4type_dump(const struct connectib_eqn4type *ptr_struct, FILE* file)
+{
 	connectib_eqn4type_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_cmdq_pack(const struct connectib_icmd_access_cmdq *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_cmdq_pack(const struct connectib_icmd_access_cmdq *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_cmdif_hdr_pack(&(ptr_struct->cmdq), ptr_buff + offset/8);
 
-	offset=528;
+	offset = 528;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=523;
+	offset = 523;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->cmd_ix);
 
 }
 
-void connectib_icmd_access_cmdq_unpack(struct connectib_icmd_access_cmdq *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_cmdq_unpack(struct connectib_icmd_access_cmdq *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_cmdif_hdr_unpack(&(ptr_struct->cmdq), ptr_buff + offset/8);
 
-	offset=528;
+	offset = 528;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=523;
+	offset = 523;
 	ptr_struct->cmd_ix = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
 }
 
-void connectib_icmd_access_cmdq_print(const struct connectib_icmd_access_cmdq *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_cmdq_print(const struct connectib_icmd_access_cmdq *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_access_cmdq ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -56414,133 +87938,141 @@ void connectib_icmd_access_cmdq_print(const struct connectib_icmd_access_cmdq *p
 	connectib_cmdif_hdr_print(&(ptr_struct->cmdq), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cmd_ix               : "UH_FMT"\n", ptr_struct->cmd_ix);
+	fprintf(file, "cmd_ix               : " UH_FMT "\n", ptr_struct->cmd_ix);
 
 }
 
-int connectib_icmd_access_cmdq_size(void){
+int connectib_icmd_access_cmdq_size(void)
+{
 	 return 72;
 }
 
-void connectib_icmd_access_cmdq_dump(const struct connectib_icmd_access_cmdq *ptr_struct, FILE* file) {
+void connectib_icmd_access_cmdq_dump(const struct connectib_icmd_access_cmdq *ptr_struct, FILE* file)
+{
 	connectib_icmd_access_cmdq_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_read_sx_wq_buffer_pack(const struct connectib_icmd_read_sx_wq_buffer *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_read_sx_wq_buffer_pack(const struct connectib_icmd_read_sx_wq_buffer *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 576, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data[i]);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 576, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
 	}
 
-	offset=539;
+	offset = 539;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->ec);
 
-	offset=571;
+	offset = 571;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->wqe_idx);
 
 }
 
-void connectib_icmd_read_sx_wq_buffer_unpack(struct connectib_icmd_read_sx_wq_buffer *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_sx_wq_buffer_unpack(struct connectib_icmd_read_sx_wq_buffer *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 576, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 576, 1);
 	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=539;
+	offset = 539;
 	ptr_struct->ec = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=571;
+	offset = 571;
 	ptr_struct->wqe_idx = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
 }
 
-void connectib_icmd_read_sx_wq_buffer_print(const struct connectib_icmd_read_sx_wq_buffer *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_sx_wq_buffer_print(const struct connectib_icmd_read_sx_wq_buffer *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_read_sx_wq_buffer ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 16; i++) {
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U32H_FMT"\n", i, ptr_struct->data[i]);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ec                   : "UH_FMT"\n", ptr_struct->ec);
+	fprintf(file, "ec                   : " UH_FMT "\n", ptr_struct->ec);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_idx              : "UH_FMT"\n", ptr_struct->wqe_idx);
+	fprintf(file, "wqe_idx              : " UH_FMT "\n", ptr_struct->wqe_idx);
 
 }
 
-int connectib_icmd_read_sx_wq_buffer_size(void){
+int connectib_icmd_read_sx_wq_buffer_size(void)
+{
 	 return 72;
 }
 
-void connectib_icmd_read_sx_wq_buffer_dump(const struct connectib_icmd_read_sx_wq_buffer *ptr_struct, FILE* file) {
+void connectib_icmd_read_sx_wq_buffer_dump(const struct connectib_icmd_read_sx_wq_buffer *ptr_struct, FILE* file)
+{
 	connectib_icmd_read_sx_wq_buffer_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_header_capture_pack(const struct connectib_icmd_header_capture *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_header_capture_pack(const struct connectib_icmd_header_capture *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_icmd_header_capture_headers_pack(&(ptr_struct->headers), ptr_buff + offset/8);
 
-	offset=1024;
+	offset = 1024;
 	connectib_icmd_header_capture_checks_pack(&(ptr_struct->checks), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_header_capture_unpack(struct connectib_icmd_header_capture *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_header_capture_unpack(struct connectib_icmd_header_capture *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_icmd_header_capture_headers_unpack(&(ptr_struct->headers), ptr_buff + offset/8);
 
-	offset=1024;
+	offset = 1024;
 	connectib_icmd_header_capture_checks_unpack(&(ptr_struct->checks), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_header_capture_print(const struct connectib_icmd_header_capture *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_header_capture_print(const struct connectib_icmd_header_capture *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_header_capture ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -56554,199 +88086,273 @@ void connectib_icmd_header_capture_print(const struct connectib_icmd_header_capt
 
 }
 
-int connectib_icmd_header_capture_size(void){
+int connectib_icmd_header_capture_size(void)
+{
 	 return 192;
 }
 
-void connectib_icmd_header_capture_dump(const struct connectib_icmd_header_capture *ptr_struct, FILE* file) {
+void connectib_icmd_header_capture_dump(const struct connectib_icmd_header_capture *ptr_struct, FILE* file)
+{
 	connectib_icmd_header_capture_print(ptr_struct, file, 0);
 }
 
-void connectib_print_icm_pack(const struct connectib_print_icm *ptr_struct, u_int8_t* ptr_buff){
+void connectib_print_icm_pack(const struct connectib_print_icm *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_specific_gvmi);
 
-	offset=30;
+	offset = 30;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->enable_specific_icm_type);
 
-	offset=48;
+	offset = 48;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->icm_res_type);
 
 }
 
-void connectib_print_icm_unpack(struct connectib_print_icm *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_print_icm_unpack(struct connectib_print_icm *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	ptr_struct->enable_specific_gvmi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=30;
+	offset = 30;
 	ptr_struct->enable_specific_icm_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=48;
+	offset = 48;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->icm_res_type = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_print_icm_print(const struct connectib_print_icm *ptr_struct, FILE* file, int indent_level){
+void connectib_print_icm_print(const struct connectib_print_icm *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_print_icm ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enable_specific_gvmi : "UH_FMT"\n", ptr_struct->enable_specific_gvmi);
+	fprintf(file, "enable_specific_gvmi : " UH_FMT "\n", ptr_struct->enable_specific_gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "enable_specific_icm_type : "UH_FMT"\n", ptr_struct->enable_specific_icm_type);
+	fprintf(file, "enable_specific_icm_type : " UH_FMT "\n", ptr_struct->enable_specific_icm_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "icm_res_type         : "UH_FMT"\n", ptr_struct->icm_res_type);
+	fprintf(file, "icm_res_type         : " UH_FMT "\n", ptr_struct->icm_res_type);
 
 }
 
-int connectib_print_icm_size(void){
+int connectib_print_icm_size(void)
+{
 	 return 8;
 }
 
-void connectib_print_icm_dump(const struct connectib_print_icm *ptr_struct, FILE* file) {
+void connectib_print_icm_dump(const struct connectib_print_icm *ptr_struct, FILE* file)
+{
 	connectib_print_icm_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_fw_reset_pack(const struct connectib_icmd_fw_reset *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_allowed_madifc_on_all_pfs_pack(const struct connectib_icmd_allowed_madifc_on_all_pfs *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->protection);
+
+	offset = 62;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->enable_disable);
+
+}
+
+void connectib_icmd_allowed_madifc_on_all_pfs_unpack(struct connectib_icmd_allowed_madifc_on_all_pfs *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->protection = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 62;
+	ptr_struct->enable_disable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+}
+
+void connectib_icmd_allowed_madifc_on_all_pfs_print(const struct connectib_icmd_allowed_madifc_on_all_pfs *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_allowed_madifc_on_all_pfs ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "protection           : " U32H_FMT "\n", ptr_struct->protection);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "enable_disable       : " UH_FMT "\n", ptr_struct->enable_disable);
+
+}
+
+int connectib_icmd_allowed_madifc_on_all_pfs_size(void)
+{
+	 return 8;
+}
+
+void connectib_icmd_allowed_madifc_on_all_pfs_dump(const struct connectib_icmd_allowed_madifc_on_all_pfs *ptr_struct, FILE* file)
+{
+	connectib_icmd_allowed_madifc_on_all_pfs_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_fw_reset_pack(const struct connectib_icmd_fw_reset *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->protection);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->protection);
 
-	offset=62;
+	offset = 62;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->reset_mode);
 
 }
 
-void connectib_icmd_fw_reset_unpack(struct connectib_icmd_fw_reset *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_fw_reset_unpack(struct connectib_icmd_fw_reset *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->protection = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=62;
+	offset = 62;
 	ptr_struct->reset_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
 }
 
-void connectib_icmd_fw_reset_print(const struct connectib_icmd_fw_reset *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_fw_reset_print(const struct connectib_icmd_fw_reset *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_fw_reset ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "protection           : "U32H_FMT"\n", ptr_struct->protection);
+	fprintf(file, "protection           : " U32H_FMT "\n", ptr_struct->protection);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reset_mode           : "UH_FMT"\n", ptr_struct->reset_mode);
+	fprintf(file, "reset_mode           : " UH_FMT "\n", ptr_struct->reset_mode);
 
 }
 
-int connectib_icmd_fw_reset_size(void){
+int connectib_icmd_fw_reset_size(void)
+{
 	 return 8;
 }
 
-void connectib_icmd_fw_reset_dump(const struct connectib_icmd_fw_reset *ptr_struct, FILE* file) {
+void connectib_icmd_fw_reset_dump(const struct connectib_icmd_fw_reset *ptr_struct, FILE* file)
+{
 	connectib_icmd_fw_reset_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_read_g_rse_slice_desc_pack(const struct connectib_icmd_read_g_rse_slice_desc *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_read_g_rse_slice_desc_pack(const struct connectib_icmd_read_g_rse_slice_desc *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_g_rse_hw_decoders_pack(&(ptr_struct->desc), ptr_buff + offset/8);
 
-	offset=2075;
+	offset = 2075;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->slice);
 
-	offset=2068;
+	offset = 2068;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->array_index);
 
-	offset=2104;
+	offset = 2104;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->desc_type);
 
 }
 
-void connectib_icmd_read_g_rse_slice_desc_unpack(struct connectib_icmd_read_g_rse_slice_desc *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_g_rse_slice_desc_unpack(struct connectib_icmd_read_g_rse_slice_desc *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_g_rse_hw_decoders_unpack(&(ptr_struct->desc), ptr_buff + offset/8);
 
-	offset=2075;
+	offset = 2075;
 	ptr_struct->slice = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=2068;
+	offset = 2068;
 	ptr_struct->array_index = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=2104;
+	offset = 2104;
 	ptr_struct->desc_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_icmd_read_g_rse_slice_desc_print(const struct connectib_icmd_read_g_rse_slice_desc *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_g_rse_slice_desc_print(const struct connectib_icmd_read_g_rse_slice_desc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_read_g_rse_slice_desc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -56755,154 +88361,173 @@ void connectib_icmd_read_g_rse_slice_desc_print(const struct connectib_icmd_read
 	connectib_g_rse_hw_decoders_print(&(ptr_struct->desc), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slice                : "UH_FMT"\n", ptr_struct->slice);
+	fprintf(file, "slice                : " UH_FMT "\n", ptr_struct->slice);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "array_index          : "UH_FMT"\n", ptr_struct->array_index);
+	fprintf(file, "array_index          : " UH_FMT "\n", ptr_struct->array_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "desc_type            : "UH_FMT"\n", ptr_struct->desc_type);
+	fprintf(file, "desc_type            : " UH_FMT "\n", ptr_struct->desc_type);
 
 }
 
-int connectib_icmd_read_g_rse_slice_desc_size(void){
+int connectib_icmd_read_g_rse_slice_desc_size(void)
+{
 	 return 264;
 }
 
-void connectib_icmd_read_g_rse_slice_desc_dump(const struct connectib_icmd_read_g_rse_slice_desc *ptr_struct, FILE* file) {
+void connectib_icmd_read_g_rse_slice_desc_dump(const struct connectib_icmd_read_g_rse_slice_desc *ptr_struct, FILE* file)
+{
 	connectib_icmd_read_g_rse_slice_desc_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_read_rx_slice_packet_pack(const struct connectib_icmd_read_rx_slice_packet *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_read_rx_slice_packet_pack(const struct connectib_icmd_read_rx_slice_packet *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 128; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 4192, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data[i]);
+	for (i = 0; i < 128; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 4192, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
 	}
 
-	offset=4116;
+	offset = 4116;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->packet_size);
 
-	offset=4155;
+	offset = 4155;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->slice);
 
-	offset=4180;
+	offset = 4180;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->size);
 
-	offset=4164;
+	offset = 4164;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 12, (u_int32_t)ptr_struct->offset_dw);
 
 }
 
-void connectib_icmd_read_rx_slice_packet_unpack(struct connectib_icmd_read_rx_slice_packet *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_rx_slice_packet_unpack(struct connectib_icmd_read_rx_slice_packet *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 128; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 4192, 1);
+	for (i = 0; i < 128; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 4192, 1);
 	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=4116;
+	offset = 4116;
 	ptr_struct->packet_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=4155;
+	offset = 4155;
 	ptr_struct->slice = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=4180;
+	offset = 4180;
 	ptr_struct->size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
-	offset=4164;
+	offset = 4164;
 	ptr_struct->offset_dw = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 12);
 
 }
 
-void connectib_icmd_read_rx_slice_packet_print(const struct connectib_icmd_read_rx_slice_packet *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_rx_slice_packet_print(const struct connectib_icmd_read_rx_slice_packet *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_read_rx_slice_packet ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 128; i++) {
+	for (i = 0; i < 128; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U32H_FMT"\n", i, ptr_struct->data[i]);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "packet_size          : "UH_FMT"\n", ptr_struct->packet_size);
+	fprintf(file, "packet_size          : " UH_FMT "\n", ptr_struct->packet_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slice                : "UH_FMT"\n", ptr_struct->slice);
+	fprintf(file, "slice                : " UH_FMT "\n", ptr_struct->slice);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "offset_dw            : "UH_FMT"\n", ptr_struct->offset_dw);
+	fprintf(file, "offset_dw            : " UH_FMT "\n", ptr_struct->offset_dw);
 
 }
 
-int connectib_icmd_read_rx_slice_packet_size(void){
+int connectib_icmd_read_rx_slice_packet_size(void)
+{
 	 return 524;
 }
 
-void connectib_icmd_read_rx_slice_packet_dump(const struct connectib_icmd_read_rx_slice_packet *ptr_struct, FILE* file) {
+void connectib_icmd_read_rx_slice_packet_dump(const struct connectib_icmd_read_rx_slice_packet *ptr_struct, FILE* file)
+{
 	connectib_icmd_read_rx_slice_packet_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_fw_info_pack(const struct connectib_icmd_get_fw_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_fw_info_pack(const struct connectib_icmd_get_fw_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_FW_VERSION_pack(&(ptr_struct->fw_version), ptr_buff + offset/8);
 
-	offset=144;
+	offset = 144;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->hash_signature);
 
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(184, 8, i, 288, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->psid[i]);
+	}
+
 }
 
-void connectib_icmd_get_fw_info_unpack(struct connectib_icmd_get_fw_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_fw_info_unpack(struct connectib_icmd_get_fw_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_FW_VERSION_unpack(&(ptr_struct->fw_version), ptr_buff + offset/8);
 
-	offset=144;
+	offset = 144;
 	ptr_struct->hash_signature = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(184, 8, i, 288, 1);
+	ptr_struct->psid[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
+
+	ptr_struct->psid[16] = '\0';
 }
 
-void connectib_icmd_get_fw_info_print(const struct connectib_icmd_get_fw_info *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_fw_info_print(const struct connectib_icmd_get_fw_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_get_fw_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -56911,455 +88536,587 @@ void connectib_icmd_get_fw_info_print(const struct connectib_icmd_get_fw_info *p
 	connectib_FW_VERSION_print(&(ptr_struct->fw_version), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hash_signature       : "UH_FMT"\n", ptr_struct->hash_signature);
+	fprintf(file, "hash_signature       : " UH_FMT "\n", ptr_struct->hash_signature);
 
+	fprintf(file, "psid                 : \"%s\"\n", ptr_struct->psid);
 }
 
-int connectib_icmd_get_fw_info_size(void){
-	 return 32;
+int connectib_icmd_get_fw_info_size(void)
+{
+	 return 36;
 }
 
-void connectib_icmd_get_fw_info_dump(const struct connectib_icmd_get_fw_info *ptr_struct, FILE* file) {
+void connectib_icmd_get_fw_info_dump(const struct connectib_icmd_get_fw_info *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_fw_info_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_link_leds_pack(const struct connectib_icmd_get_link_leds *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_link_leds_pack(const struct connectib_icmd_get_link_leds *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->port_number);
 
-	offset=63;
+	offset = 63;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->physical_link);
 
-	offset=55;
+	offset = 55;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->logical_link);
 
 }
 
-void connectib_icmd_get_link_leds_unpack(struct connectib_icmd_get_link_leds *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_link_leds_unpack(struct connectib_icmd_get_link_leds *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->port_number = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=63;
+	offset = 63;
 	ptr_struct->physical_link = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=55;
+	offset = 55;
 	ptr_struct->logical_link = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_icmd_get_link_leds_print(const struct connectib_icmd_get_link_leds *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_link_leds_print(const struct connectib_icmd_get_link_leds *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_get_link_leds ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "port_number          : "UH_FMT"\n", ptr_struct->port_number);
+	fprintf(file, "port_number          : " UH_FMT "\n", ptr_struct->port_number);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "physical_link        : "UH_FMT"\n", ptr_struct->physical_link);
+	fprintf(file, "physical_link        : " UH_FMT "\n", ptr_struct->physical_link);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "logical_link         : "UH_FMT"\n", ptr_struct->logical_link);
+	fprintf(file, "logical_link         : " UH_FMT "\n", ptr_struct->logical_link);
 
 }
 
-int connectib_icmd_get_link_leds_size(void){
+int connectib_icmd_get_link_leds_size(void)
+{
 	 return 8;
 }
 
-void connectib_icmd_get_link_leds_dump(const struct connectib_icmd_get_link_leds *ptr_struct, FILE* file) {
+void connectib_icmd_get_link_leds_dump(const struct connectib_icmd_get_link_leds *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_link_leds_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_boot_stage_pack(const struct connectib_icmd_get_boot_stage *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_boot_stage_pack(const struct connectib_icmd_get_boot_stage *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->boot_stage);
 
 }
 
-void connectib_icmd_get_boot_stage_unpack(struct connectib_icmd_get_boot_stage *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_boot_stage_unpack(struct connectib_icmd_get_boot_stage *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->boot_stage = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_icmd_get_boot_stage_print(const struct connectib_icmd_get_boot_stage *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_boot_stage_print(const struct connectib_icmd_get_boot_stage *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_get_boot_stage ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "boot_stage           : "UH_FMT"\n", ptr_struct->boot_stage);
+	fprintf(file, "boot_stage           : " UH_FMT "\n", ptr_struct->boot_stage);
 
 }
 
-int connectib_icmd_get_boot_stage_size(void){
+int connectib_icmd_get_boot_stage_size(void)
+{
 	 return 4;
 }
 
-void connectib_icmd_get_boot_stage_dump(const struct connectib_icmd_get_boot_stage *ptr_struct, FILE* file) {
+void connectib_icmd_get_boot_stage_dump(const struct connectib_icmd_get_boot_stage *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_boot_stage_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_get_irisc_heart_beat_pack(const struct connectib_icmd_get_irisc_heart_beat *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_irisc_heart_beat_pack(const struct connectib_icmd_get_irisc_heart_beat *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->irisc_heart_beat);
 
 }
 
-void connectib_icmd_get_irisc_heart_beat_unpack(struct connectib_icmd_get_irisc_heart_beat *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_get_irisc_heart_beat_unpack(struct connectib_icmd_get_irisc_heart_beat *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
+	offset = 24;
 	ptr_struct->irisc_heart_beat = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_icmd_get_irisc_heart_beat_print(const struct connectib_icmd_get_irisc_heart_beat *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_get_irisc_heart_beat_print(const struct connectib_icmd_get_irisc_heart_beat *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_get_irisc_heart_beat ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "irisc_heart_beat     : "UH_FMT"\n", ptr_struct->irisc_heart_beat);
+	fprintf(file, "irisc_heart_beat     : " UH_FMT "\n", ptr_struct->irisc_heart_beat);
 
 }
 
-int connectib_icmd_get_irisc_heart_beat_size(void){
+int connectib_icmd_get_irisc_heart_beat_size(void)
+{
 	 return 4;
 }
 
-void connectib_icmd_get_irisc_heart_beat_dump(const struct connectib_icmd_get_irisc_heart_beat *ptr_struct, FILE* file) {
+void connectib_icmd_get_irisc_heart_beat_dump(const struct connectib_icmd_get_irisc_heart_beat *ptr_struct, FILE* file)
+{
 	connectib_icmd_get_irisc_heart_beat_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_read_q_entry_pack(const struct connectib_icmd_read_q_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_read_q_entry_pack(const struct connectib_icmd_read_q_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 128; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 4192, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data[i]);
+	for (i = 0; i < 128; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 4192, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
 	}
 
-	offset=4112;
+	offset = 4112;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=4136;
+	offset = 4136;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->q_num);
 
-	offset=4128;
+	offset = 4128;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->q_type);
 
-	offset=4160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->index);
+	offset = 4160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->index);
 
 }
 
-void connectib_icmd_read_q_entry_unpack(struct connectib_icmd_read_q_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_read_q_entry_unpack(struct connectib_icmd_read_q_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 128; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 4192, 1);
+	for (i = 0; i < 128; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 4192, 1);
 	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=4112;
+	offset = 4112;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=4136;
+	offset = 4136;
 	ptr_struct->q_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=4128;
+	offset = 4128;
 	ptr_struct->q_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=4160;
+	offset = 4160;
 	ptr_struct->index = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_read_q_entry_print(const struct connectib_icmd_read_q_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_read_q_entry_print(const struct connectib_icmd_read_q_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_read_q_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 128; i++) {
+	for (i = 0; i < 128; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U32H_FMT"\n", i, ptr_struct->data[i]);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "q_num                : "UH_FMT"\n", ptr_struct->q_num);
+	fprintf(file, "q_num                : " UH_FMT "\n", ptr_struct->q_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "q_type               : "UH_FMT"\n", ptr_struct->q_type);
+	fprintf(file, "q_type               : " UH_FMT "\n", ptr_struct->q_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "index                : "U32H_FMT"\n", ptr_struct->index);
+	fprintf(file, "index                : " U32H_FMT "\n", ptr_struct->index);
 
 }
 
-int connectib_icmd_read_q_entry_size(void){
+int connectib_icmd_read_q_entry_size(void)
+{
 	 return 524;
 }
 
-void connectib_icmd_read_q_entry_dump(const struct connectib_icmd_read_q_entry *ptr_struct, FILE* file) {
+void connectib_icmd_read_q_entry_dump(const struct connectib_icmd_read_q_entry *ptr_struct, FILE* file)
+{
 	connectib_icmd_read_q_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_host_mem_pack(const struct connectib_icmd_access_host_mem *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_access_host_mem_pack(const struct connectib_icmd_access_host_mem *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2304, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data[i]);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2368, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
 	}
 
-	offset=2064;
+	offset = 2064;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=2048;
+	offset = 2048;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=2080;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->num_dwords);
+	offset = 2080;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->num_dwords);
 
-	offset=2112;
+	offset = 2112;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->addr);
 
-	offset=2176;
+	offset = 2176;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->key_or_ptr);
 
-	offset=2270;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->addr_type);
+	offset = 2268;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->addr_type);
 
-	offset=2240;
+	offset = 2240;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->l2_block_s);
 
+	offset = 2272;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->capi_pasid);
+
+	offset = 2312;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->cmas_ix);
+
+	offset = 2304;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->cmas_type);
+
 }
 
-void connectib_icmd_access_host_mem_unpack(struct connectib_icmd_access_host_mem *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_host_mem_unpack(struct connectib_icmd_access_host_mem *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 64; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 2304, 1);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2368, 1);
 	ptr_struct->data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=2064;
+	offset = 2064;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=2048;
+	offset = 2048;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=2080;
+	offset = 2080;
 	ptr_struct->num_dwords = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=2112;
+	offset = 2112;
 	ptr_struct->addr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=2176;
+	offset = 2176;
 	ptr_struct->key_or_ptr = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=2270;
-	ptr_struct->addr_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 2268;
+	ptr_struct->addr_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=2240;
+	offset = 2240;
 	ptr_struct->l2_block_s = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
+	offset = 2272;
+	ptr_struct->capi_pasid = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 2312;
+	ptr_struct->cmas_ix = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 2304;
+	ptr_struct->cmas_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
 }
 
-void connectib_icmd_access_host_mem_print(const struct connectib_icmd_access_host_mem *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_host_mem_print(const struct connectib_icmd_access_host_mem *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_access_host_mem ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 64; i++) {
+	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U32H_FMT"\n", i, ptr_struct->data[i]);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "num_dwords           : " U32H_FMT "\n", ptr_struct->num_dwords);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_dwords           : "U32H_FMT"\n", ptr_struct->num_dwords);
+	fprintf(file, "addr                 : " U64H_FMT "\n", ptr_struct->addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr                 : "U64H_FMT"\n", ptr_struct->addr);
+	fprintf(file, "key_or_ptr           : " U64H_FMT "\n", ptr_struct->key_or_ptr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "key_or_ptr           : "U64H_FMT"\n", ptr_struct->key_or_ptr);
+	fprintf(file, "addr_type            : " UH_FMT "\n", ptr_struct->addr_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "addr_type            : "UH_FMT"\n", ptr_struct->addr_type);
+	fprintf(file, "l2_block_s           : " UH_FMT "\n", ptr_struct->l2_block_s);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l2_block_s           : "UH_FMT"\n", ptr_struct->l2_block_s);
+	fprintf(file, "capi_pasid           : " U32H_FMT "\n", ptr_struct->capi_pasid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmas_ix              : " UH_FMT "\n", ptr_struct->cmas_ix);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cmas_type            : " UH_FMT "\n", ptr_struct->cmas_type);
 
 }
 
-int connectib_icmd_access_host_mem_size(void){
-	 return 288;
+int connectib_icmd_access_host_mem_size(void)
+{
+	 return 296;
 }
 
-void connectib_icmd_access_host_mem_dump(const struct connectib_icmd_access_host_mem *ptr_struct, FILE* file) {
+void connectib_icmd_access_host_mem_dump(const struct connectib_icmd_access_host_mem *ptr_struct, FILE* file)
+{
 	connectib_icmd_access_host_mem_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_access_icm_ctx_pack(const struct connectib_icmd_access_icm_ctx *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_get_pi_ci_pack(const struct connectib_icmd_get_pi_ci *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->pi_ci);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ctx_type);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ctx_num);
+
+}
+
+void connectib_icmd_get_pi_ci_unpack(struct connectib_icmd_get_pi_ci *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->pi_ci = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 48;
+	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
+	ptr_struct->ctx_type = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->ctx_num = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_icmd_get_pi_ci_print(const struct connectib_icmd_get_pi_ci *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_icmd_get_pi_ci ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pi_ci                : " U32H_FMT "\n", ptr_struct->pi_ci);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ctx_type             : " UH_FMT "\n", ptr_struct->ctx_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ctx_num              : " U32H_FMT "\n", ptr_struct->ctx_num);
+
+}
+
+int connectib_icmd_get_pi_ci_size(void)
+{
+	 return 12;
+}
+
+void connectib_icmd_get_pi_ci_dump(const struct connectib_icmd_get_pi_ci *ptr_struct, FILE* file)
+{
+	connectib_icmd_get_pi_ci_print(ptr_struct, file, 0);
+}
+
+void connectib_icmd_access_icm_ctx_pack(const struct connectib_icmd_access_icm_ctx *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_golan_hw_fw_ctx_pack(&(ptr_struct->ctx), ptr_buff + offset/8);
 
-	offset=528;
+	offset = 528;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=512;
+	offset = 512;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rw_);
 
-	offset=560;
+	offset = 560;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->ctx_type);
 
-	offset=576;
+	offset = 576;
 	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->ctx_num);
 
-	offset=640;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ctx_num2);
+	offset = 640;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ctx_num2);
 
 }
 
-void connectib_icmd_access_icm_ctx_unpack(struct connectib_icmd_access_icm_ctx *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_access_icm_ctx_unpack(struct connectib_icmd_access_icm_ctx *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_golan_hw_fw_ctx_unpack(&(ptr_struct->ctx), ptr_buff + offset/8);
 
-	offset=528;
+	offset = 528;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=512;
+	offset = 512;
 	ptr_struct->rw_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=560;
+	offset = 560;
 	ptr_struct->ctx_type = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=576;
+	offset = 576;
 	ptr_struct->ctx_num = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=640;
+	offset = 640;
 	ptr_struct->ctx_num2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_icmd_access_icm_ctx_print(const struct connectib_icmd_access_icm_ctx *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_access_icm_ctx_print(const struct connectib_icmd_access_icm_ctx *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_access_icm_ctx ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -57368,791 +89125,843 @@ void connectib_icmd_access_icm_ctx_print(const struct connectib_icmd_access_icm_
 	connectib_golan_hw_fw_ctx_print(&(ptr_struct->ctx), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rw_                  : "UH_FMT"\n", ptr_struct->rw_);
+	fprintf(file, "rw_                  : " UH_FMT "\n", ptr_struct->rw_);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ctx_type             : %s ("UH_FMT")\n", (ptr_struct->ctx_type == 95 ? (" MTT") : ((ptr_struct->ctx_type == 1 ? ("SQ_QP_LIST_REQ") : ((ptr_struct->ctx_type == 2 ? (" SQ_QP_LIST_RES") : ((ptr_struct->ctx_type == 3 ? (" BSF") : ((ptr_struct->ctx_type == 4 ? (" RDB") : ((ptr_struct->ctx_type == 5 ? (" EXT_RDB") : ((ptr_struct->ctx_type == 6 ? ("ICM_CRC") : ((ptr_struct->ctx_type == 7 ? ("QP_COMMON") : ((ptr_struct->ctx_type == 8 ? ("REQUESTOR_QPC") : ((ptr_struct->ctx_type = [...]
+	fprintf(file, "ctx_type             : %s (" UH_FMT ")\n", (ptr_struct->ctx_type == 95 ? (" MTT") : ((ptr_struct->ctx_type == 1 ? ("SQ_QP_LIST_REQ") : ((ptr_struct->ctx_type == 2 ? (" SQ_QP_LIST_RES") : ((ptr_struct->ctx_type == 3 ? (" BSF") : ((ptr_struct->ctx_type == 4 ? (" RDB") : ((ptr_struct->ctx_type == 5 ? (" EXT_RDB") : ((ptr_struct->ctx_type == 6 ? ("ICM_CRC") : ((ptr_struct->ctx_type == 7 ? ("QP_COMMON") : ((ptr_struct->ctx_type == 8 ? ("REQUESTOR_QPC") : ((ptr_struct->ctx_type [...]
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ctx_num              : "U64H_FMT"\n", ptr_struct->ctx_num);
+	fprintf(file, "ctx_num              : " U64H_FMT "\n", ptr_struct->ctx_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ctx_num2             : "U32H_FMT"\n", ptr_struct->ctx_num2);
+	fprintf(file, "ctx_num2             : " U32H_FMT "\n", ptr_struct->ctx_num2);
 
 }
 
-int connectib_icmd_access_icm_ctx_size(void){
+int connectib_icmd_access_icm_ctx_size(void)
+{
 	 return 96;
 }
 
-void connectib_icmd_access_icm_ctx_dump(const struct connectib_icmd_access_icm_ctx *ptr_struct, FILE* file) {
+void connectib_icmd_access_icm_ctx_dump(const struct connectib_icmd_access_icm_ctx *ptr_struct, FILE* file)
+{
 	connectib_icmd_access_icm_ctx_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_cmd_as_dwords_pack(const struct connectib_icmd_cmd_as_dwords *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_cmd_as_dwords_pack(const struct connectib_icmd_cmd_as_dwords *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 192; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 6144, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dword[i]);
+	for (i = 0; i < 192; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 6144, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dword[i]);
 	}
 
 }
 
-void connectib_icmd_cmd_as_dwords_unpack(struct connectib_icmd_cmd_as_dwords *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_cmd_as_dwords_unpack(struct connectib_icmd_cmd_as_dwords *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 192; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 6144, 1);
+	for (i = 0; i < 192; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 6144, 1);
 	ptr_struct->dword[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
 }
 
-void connectib_icmd_cmd_as_dwords_print(const struct connectib_icmd_cmd_as_dwords *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_cmd_as_dwords_print(const struct connectib_icmd_cmd_as_dwords *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_cmd_as_dwords ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 192; i++) {
+	for (i = 0; i < 192; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dword_%03d           : "U32H_FMT"\n", i, ptr_struct->dword[i]);
+	fprintf(file, "dword_%03d           : " U32H_FMT "\n", i, ptr_struct->dword[i]);
 	}
 
 }
 
-int connectib_icmd_cmd_as_dwords_size(void){
+int connectib_icmd_cmd_as_dwords_size(void)
+{
 	 return 768;
 }
 
-void connectib_icmd_cmd_as_dwords_dump(const struct connectib_icmd_cmd_as_dwords *ptr_struct, FILE* file) {
+void connectib_icmd_cmd_as_dwords_dump(const struct connectib_icmd_cmd_as_dwords *ptr_struct, FILE* file)
+{
 	connectib_icmd_cmd_as_dwords_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_cqe_64b_pack(const struct connectib_sw_cqe_64b *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sw_cqe_64b_pack(const struct connectib_sw_cqe_64b *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_5);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_5);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_4);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_4);
 
-	offset=80;
+	offset = 80;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->checksum);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rsvd_3);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ip_status);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ip_status);
 
-	offset=144;
+	offset = 144;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->slid_smac_47_32);
 
-	offset=128;
+	offset = 128;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vlan_ml_path);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->slid_smac_31_0);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->slid_smac_31_0);
 
-	offset=200;
+	offset = 200;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->rqpn);
 
-	offset=196;
+	offset = 196;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl_vlan_type);
 
-	offset=194;
+	offset = 194;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->g);
 
-	offset=193;
+	offset = 193;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fl);
 
-	offset=192;
+	offset = 192;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->rsvd_bit);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rss_val);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rss_val);
 
-	offset=264;
+	offset = 264;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->srq_num);
 
-	offset=256;
+	offset = 256;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rsvd_1);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->imm_inv_key);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->imm_inv_key);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_0);
+	offset = 336;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->application_info);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->byte_count);
+	offset = 328;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->application_opcode);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->timestamp_h);
+	offset = 320;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->application);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->timestamp_l);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->byte_count);
 
-	offset=456;
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->timestamp_h);
+
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->timestamp_l);
+
+	offset = 456;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
 
-	offset=448;
+	offset = 448;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->swqe_opcode_drop_cntr);
 
-	offset=511;
+	offset = 511;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->owner);
 
-	offset=510;
+	offset = 510;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->se);
 
-	offset=508;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->inline_scatter);
+	offset = 508;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->cqe_format);
 
-	offset=504;
+	offset = 504;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rwqe_opcode);
 
-	offset=496;
+	offset = 496;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
 
-	offset=480;
+	offset = 480;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->wqe_counter);
 
 }
 
-void connectib_sw_cqe_64b_unpack(struct connectib_sw_cqe_64b *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sw_cqe_64b_unpack(struct connectib_sw_cqe_64b *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->rsvd_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->rsvd_4 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=80;
+	offset = 80;
 	ptr_struct->checksum = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->rsvd_3 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->ip_status = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=144;
+	offset = 144;
 	ptr_struct->slid_smac_47_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->vlan_ml_path = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->slid_smac_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=200;
+	offset = 200;
 	ptr_struct->rqpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=196;
+	offset = 196;
 	ptr_struct->sl_vlan_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=194;
+	offset = 194;
 	ptr_struct->g = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=193;
+	offset = 193;
 	ptr_struct->fl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=192;
+	offset = 192;
 	ptr_struct->rsvd_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->rss_val = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=264;
+	offset = 264;
 	ptr_struct->srq_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=256;
+	offset = 256;
 	ptr_struct->rsvd_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=288;
+	offset = 288;
 	ptr_struct->imm_inv_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
-	ptr_struct->rsvd_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 336;
+	ptr_struct->application_info = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=352;
+	offset = 328;
+	ptr_struct->application_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 320;
+	ptr_struct->application = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 352;
 	ptr_struct->byte_count = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
+	offset = 384;
 	ptr_struct->timestamp_h = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=416;
+	offset = 416;
 	ptr_struct->timestamp_l = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=456;
+	offset = 456;
 	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=448;
+	offset = 448;
 	ptr_struct->swqe_opcode_drop_cntr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=511;
+	offset = 511;
 	ptr_struct->owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=510;
+	offset = 510;
 	ptr_struct->se = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=508;
-	ptr_struct->inline_scatter = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 508;
+	ptr_struct->cqe_format = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=504;
+	offset = 504;
 	ptr_struct->rwqe_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=496;
+	offset = 496;
 	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=480;
+	offset = 480;
 	ptr_struct->wqe_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_sw_cqe_64b_print(const struct connectib_sw_cqe_64b *ptr_struct, FILE* file, int indent_level){
+void connectib_sw_cqe_64b_print(const struct connectib_sw_cqe_64b *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_sw_cqe_64b ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_5               : "U32H_FMT"\n", ptr_struct->rsvd_5);
+	fprintf(file, "rsvd_5               : " U32H_FMT "\n", ptr_struct->rsvd_5);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rsvd_4               : " U32H_FMT "\n", ptr_struct->rsvd_4);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "checksum             : " UH_FMT "\n", ptr_struct->checksum);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_4               : "U32H_FMT"\n", ptr_struct->rsvd_4);
+	fprintf(file, "rsvd_3               : " UH_FMT "\n", ptr_struct->rsvd_3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "checksum             : "UH_FMT"\n", ptr_struct->checksum);
+	fprintf(file, "ip_status            : " U32H_FMT "\n", ptr_struct->ip_status);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_3               : "UH_FMT"\n", ptr_struct->rsvd_3);
+	fprintf(file, "slid_smac_47_32      : " UH_FMT "\n", ptr_struct->slid_smac_47_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ip_status            : "U32H_FMT"\n", ptr_struct->ip_status);
+	fprintf(file, "vlan_ml_path         : " UH_FMT "\n", ptr_struct->vlan_ml_path);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slid_smac_47_32      : "UH_FMT"\n", ptr_struct->slid_smac_47_32);
+	fprintf(file, "slid_smac_31_0       : " U32H_FMT "\n", ptr_struct->slid_smac_31_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vlan_ml_path         : "UH_FMT"\n", ptr_struct->vlan_ml_path);
+	fprintf(file, "rqpn                 : " UH_FMT "\n", ptr_struct->rqpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slid_smac_31_0       : "U32H_FMT"\n", ptr_struct->slid_smac_31_0);
+	fprintf(file, "sl_vlan_type         : " UH_FMT "\n", ptr_struct->sl_vlan_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rqpn                 : "UH_FMT"\n", ptr_struct->rqpn);
+	fprintf(file, "g                    : " UH_FMT "\n", ptr_struct->g);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl_vlan_type         : "UH_FMT"\n", ptr_struct->sl_vlan_type);
+	fprintf(file, "fl                   : " UH_FMT "\n", ptr_struct->fl);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "g                    : "UH_FMT"\n", ptr_struct->g);
+	fprintf(file, "rsvd_bit             : " UH_FMT "\n", ptr_struct->rsvd_bit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fl                   : "UH_FMT"\n", ptr_struct->fl);
+	fprintf(file, "rss_val              : " U32H_FMT "\n", ptr_struct->rss_val);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_bit             : "UH_FMT"\n", ptr_struct->rsvd_bit);
+	fprintf(file, "srq_num              : " UH_FMT "\n", ptr_struct->srq_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rss_val              : "U32H_FMT"\n", ptr_struct->rss_val);
+	fprintf(file, "rsvd_1               : " UH_FMT "\n", ptr_struct->rsvd_1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_num              : "UH_FMT"\n", ptr_struct->srq_num);
+	fprintf(file, "imm_inv_key          : " U32H_FMT "\n", ptr_struct->imm_inv_key);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_1               : "UH_FMT"\n", ptr_struct->rsvd_1);
+	fprintf(file, "application_info     : " UH_FMT "\n", ptr_struct->application_info);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "imm_inv_key          : "U32H_FMT"\n", ptr_struct->imm_inv_key);
+	fprintf(file, "application_opcode   : " UH_FMT "\n", ptr_struct->application_opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_0               : "U32H_FMT"\n", ptr_struct->rsvd_0);
+	fprintf(file, "application          : " UH_FMT "\n", ptr_struct->application);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_count           : "U32H_FMT"\n", ptr_struct->byte_count);
+	fprintf(file, "byte_count           : " U32H_FMT "\n", ptr_struct->byte_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_h          : "U32H_FMT"\n", ptr_struct->timestamp_h);
+	fprintf(file, "timestamp_h          : " U32H_FMT "\n", ptr_struct->timestamp_h);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_l          : "U32H_FMT"\n", ptr_struct->timestamp_l);
+	fprintf(file, "timestamp_l          : " U32H_FMT "\n", ptr_struct->timestamp_l);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_opcode_drop_cntr : "UH_FMT"\n", ptr_struct->swqe_opcode_drop_cntr);
+	fprintf(file, "swqe_opcode_drop_cntr : " UH_FMT "\n", ptr_struct->swqe_opcode_drop_cntr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "owner                : "UH_FMT"\n", ptr_struct->owner);
+	fprintf(file, "owner                : " UH_FMT "\n", ptr_struct->owner);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "se                   : "UH_FMT"\n", ptr_struct->se);
+	fprintf(file, "se                   : " UH_FMT "\n", ptr_struct->se);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_scatter       : "UH_FMT"\n", ptr_struct->inline_scatter);
+	fprintf(file, "cqe_format           : " UH_FMT "\n", ptr_struct->cqe_format);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_opcode          : "UH_FMT"\n", ptr_struct->rwqe_opcode);
+	fprintf(file, "rwqe_opcode          : " UH_FMT "\n", ptr_struct->rwqe_opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "UH_FMT"\n", ptr_struct->signature);
+	fprintf(file, "signature            : " UH_FMT "\n", ptr_struct->signature);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_counter          : "UH_FMT"\n", ptr_struct->wqe_counter);
+	fprintf(file, "wqe_counter          : " UH_FMT "\n", ptr_struct->wqe_counter);
 
 }
 
-int connectib_sw_cqe_64b_size(void){
+int connectib_sw_cqe_64b_size(void)
+{
 	 return 64;
 }
 
-void connectib_sw_cqe_64b_dump(const struct connectib_sw_cqe_64b *ptr_struct, FILE* file) {
+void connectib_sw_cqe_64b_dump(const struct connectib_sw_cqe_64b *ptr_struct, FILE* file)
+{
 	connectib_sw_cqe_64b_print(ptr_struct, file, 0);
 }
 
-void connectib_grh_inline_data_pack(const struct connectib_grh_inline_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_grh_inline_data_pack(const struct connectib_grh_inline_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->grh_inline_data[i]);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->grh_inline_data[i]);
 	}
 
 }
 
-void connectib_grh_inline_data_unpack(struct connectib_grh_inline_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_grh_inline_data_unpack(struct connectib_grh_inline_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(0, 32, i, 512, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 512, 1);
 	ptr_struct->grh_inline_data[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
 }
 
-void connectib_grh_inline_data_print(const struct connectib_grh_inline_data *ptr_struct, FILE* file, int indent_level){
+void connectib_grh_inline_data_print(const struct connectib_grh_inline_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_grh_inline_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
-	for (i=0; i < 16; i++) {
+	for (i = 0; i < 16; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh_inline_data_%03d : "U32H_FMT"\n", i, ptr_struct->grh_inline_data[i]);
+	fprintf(file, "grh_inline_data_%03d : " U32H_FMT "\n", i, ptr_struct->grh_inline_data[i]);
 	}
 
 }
 
-int connectib_grh_inline_data_size(void){
+int connectib_grh_inline_data_size(void)
+{
 	 return 64;
 }
 
-void connectib_grh_inline_data_dump(const struct connectib_grh_inline_data *ptr_struct, FILE* file) {
+void connectib_grh_inline_data_dump(const struct connectib_grh_inline_data *ptr_struct, FILE* file)
+{
 	connectib_grh_inline_data_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_eth_segment_pack(const struct connectib_wqe_eth_segment *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_eth_segment_pack(const struct connectib_wqe_eth_segment *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=50;
+	offset = 50;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 14, (u_int32_t)ptr_struct->mss);
 
-	offset=35;
+	offset = 35;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l3cs_inner);
 
-	offset=34;
+	offset = 34;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l4cs_inner);
 
-	offset=33;
+	offset = 33;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l3cs);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->l4cs);
 
-	offset=112;
+	offset = 112;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->inline_headers);
 
-	offset=102;
+	offset = 102;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->inline_header_size);
 
 }
 
-void connectib_wqe_eth_segment_unpack(struct connectib_wqe_eth_segment *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_eth_segment_unpack(struct connectib_wqe_eth_segment *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=50;
+	offset = 50;
 	ptr_struct->mss = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 14);
 
-	offset=35;
+	offset = 35;
 	ptr_struct->l3cs_inner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=34;
+	offset = 34;
 	ptr_struct->l4cs_inner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=33;
+	offset = 33;
 	ptr_struct->l3cs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->l4cs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=112;
+	offset = 112;
 	ptr_struct->inline_headers = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=102;
+	offset = 102;
 	ptr_struct->inline_header_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
 }
 
-void connectib_wqe_eth_segment_print(const struct connectib_wqe_eth_segment *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_eth_segment_print(const struct connectib_wqe_eth_segment *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_eth_segment ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mss                  : "UH_FMT"\n", ptr_struct->mss);
+	fprintf(file, "mss                  : " UH_FMT "\n", ptr_struct->mss);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l3cs_inner           : "UH_FMT"\n", ptr_struct->l3cs_inner);
+	fprintf(file, "l3cs_inner           : " UH_FMT "\n", ptr_struct->l3cs_inner);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l4cs_inner           : "UH_FMT"\n", ptr_struct->l4cs_inner);
+	fprintf(file, "l4cs_inner           : " UH_FMT "\n", ptr_struct->l4cs_inner);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l3cs                 : "UH_FMT"\n", ptr_struct->l3cs);
+	fprintf(file, "l3cs                 : " UH_FMT "\n", ptr_struct->l3cs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "l4cs                 : "UH_FMT"\n", ptr_struct->l4cs);
+	fprintf(file, "l4cs                 : " UH_FMT "\n", ptr_struct->l4cs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_headers       : "UH_FMT"\n", ptr_struct->inline_headers);
+	fprintf(file, "inline_headers       : " UH_FMT "\n", ptr_struct->inline_headers);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "inline_header_size   : "UH_FMT"\n", ptr_struct->inline_header_size);
+	fprintf(file, "inline_header_size   : " UH_FMT "\n", ptr_struct->inline_header_size);
 
 }
 
-int connectib_wqe_eth_segment_size(void){
+int connectib_wqe_eth_segment_size(void)
+{
 	 return 16;
 }
 
-void connectib_wqe_eth_segment_dump(const struct connectib_wqe_eth_segment *ptr_struct, FILE* file) {
+void connectib_wqe_eth_segment_dump(const struct connectib_wqe_eth_segment *ptr_struct, FILE* file)
+{
 	connectib_wqe_eth_segment_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_inline_header_pack(const struct connectib_wqe_inline_header *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_inline_header_pack(const struct connectib_wqe_inline_header *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=22;
+	offset = 22;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->byte_count);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wqe_inline);
 
 }
 
-void connectib_wqe_inline_header_unpack(struct connectib_wqe_inline_header *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_inline_header_unpack(struct connectib_wqe_inline_header *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=22;
+	offset = 22;
 	ptr_struct->byte_count = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 10);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->wqe_inline = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_wqe_inline_header_print(const struct connectib_wqe_inline_header *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_inline_header_print(const struct connectib_wqe_inline_header *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_inline_header ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_count           : "UH_FMT"\n", ptr_struct->byte_count);
+	fprintf(file, "byte_count           : " UH_FMT "\n", ptr_struct->byte_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_inline           : "UH_FMT"\n", ptr_struct->wqe_inline);
+	fprintf(file, "wqe_inline           : " UH_FMT "\n", ptr_struct->wqe_inline);
 
 }
 
-int connectib_wqe_inline_header_size(void){
+int connectib_wqe_inline_header_size(void)
+{
 	 return 4;
 }
 
-void connectib_wqe_inline_header_dump(const struct connectib_wqe_inline_header *ptr_struct, FILE* file) {
+void connectib_wqe_inline_header_dump(const struct connectib_wqe_inline_header *ptr_struct, FILE* file)
+{
 	connectib_wqe_inline_header_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_gather_scatter_entry_pack(const struct connectib_wqe_gather_scatter_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_gather_scatter_entry_pack(const struct connectib_wqe_gather_scatter_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=1;
+	offset = 1;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 31, (u_int32_t)ptr_struct->byte_count);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wqe_inline);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->local_key);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->local_key);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->local_address_63_32);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->local_address_63_32);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->local_address_31_0);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->local_address_31_0);
 
 }
 
-void connectib_wqe_gather_scatter_entry_unpack(struct connectib_wqe_gather_scatter_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_gather_scatter_entry_unpack(struct connectib_wqe_gather_scatter_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=1;
+	offset = 1;
 	ptr_struct->byte_count = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 31);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->wqe_inline = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->local_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->local_address_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->local_address_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_gather_scatter_entry_print(const struct connectib_wqe_gather_scatter_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_gather_scatter_entry_print(const struct connectib_wqe_gather_scatter_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_gather_scatter_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "byte_count           : "UH_FMT"\n", ptr_struct->byte_count);
+	fprintf(file, "byte_count           : " UH_FMT "\n", ptr_struct->byte_count);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_inline           : "UH_FMT"\n", ptr_struct->wqe_inline);
+	fprintf(file, "wqe_inline           : " UH_FMT "\n", ptr_struct->wqe_inline);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_key            : "U32H_FMT"\n", ptr_struct->local_key);
+	fprintf(file, "local_key            : " U32H_FMT "\n", ptr_struct->local_key);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_address_63_32  : "U32H_FMT"\n", ptr_struct->local_address_63_32);
+	fprintf(file, "local_address_63_32  : " U32H_FMT "\n", ptr_struct->local_address_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "local_address_31_0   : "U32H_FMT"\n", ptr_struct->local_address_31_0);
+	fprintf(file, "local_address_31_0   : " U32H_FMT "\n", ptr_struct->local_address_31_0);
 
 }
 
-int connectib_wqe_gather_scatter_entry_size(void){
+int connectib_wqe_gather_scatter_entry_size(void)
+{
 	 return 16;
 }
 
-void connectib_wqe_gather_scatter_entry_dump(const struct connectib_wqe_gather_scatter_entry *ptr_struct, FILE* file) {
+void connectib_wqe_gather_scatter_entry_dump(const struct connectib_wqe_gather_scatter_entry *ptr_struct, FILE* file)
+{
 	connectib_wqe_gather_scatter_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_srq_next_pack(const struct connectib_wqe_srq_next *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_srq_next_pack(const struct connectib_wqe_srq_next *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->next_wqe_index);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
 
 }
 
-void connectib_wqe_srq_next_unpack(struct connectib_wqe_srq_next *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_srq_next_unpack(struct connectib_wqe_srq_next *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=16;
+	offset = 16;
 	ptr_struct->next_wqe_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_wqe_srq_next_print(const struct connectib_wqe_srq_next *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_srq_next_print(const struct connectib_wqe_srq_next *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_srq_next ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "next_wqe_index       : "UH_FMT"\n", ptr_struct->next_wqe_index);
+	fprintf(file, "next_wqe_index       : " UH_FMT "\n", ptr_struct->next_wqe_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "UH_FMT"\n", ptr_struct->signature);
+	fprintf(file, "signature            : " UH_FMT "\n", ptr_struct->signature);
 
 }
 
-int connectib_wqe_srq_next_size(void){
+int connectib_wqe_srq_next_size(void)
+{
 	 return 16;
 }
 
-void connectib_wqe_srq_next_dump(const struct connectib_wqe_srq_next *ptr_struct, FILE* file) {
+void connectib_wqe_srq_next_dump(const struct connectib_wqe_srq_next *ptr_struct, FILE* file)
+{
 	connectib_wqe_srq_next_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_signature_pack(const struct connectib_wqe_signature *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_signature_pack(const struct connectib_wqe_signature *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
 
 }
 
-void connectib_wqe_signature_unpack(struct connectib_wqe_signature *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_signature_unpack(struct connectib_wqe_signature *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=32;
+	offset = 32;
 	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
 }
 
-void connectib_wqe_signature_print(const struct connectib_wqe_signature *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_signature_print(const struct connectib_wqe_signature *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_signature ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "UH_FMT"\n", ptr_struct->signature);
+	fprintf(file, "signature            : " UH_FMT "\n", ptr_struct->signature);
 
 }
 
-int connectib_wqe_signature_size(void){
+int connectib_wqe_signature_size(void)
+{
 	 return 16;
 }
 
-void connectib_wqe_signature_dump(const struct connectib_wqe_signature *ptr_struct, FILE* file) {
+void connectib_wqe_signature_dump(const struct connectib_wqe_signature *ptr_struct, FILE* file)
+{
 	connectib_wqe_signature_print(ptr_struct, file, 0);
 }
 
@@ -58166,11 +89975,13 @@ void connectib_wqe_extended_atomic_fetch_add_unpack(union connectib_wqe_extended
 	connectib_wqe_extended_atomic_fetch_add_128byte_unpack(&(ptr_struct->byte128), ptr_buff);
 }
 
-void connectib_wqe_extended_atomic_fetch_add_print(const union connectib_wqe_extended_atomic_fetch_add *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_fetch_add_print(const union connectib_wqe_extended_atomic_fetch_add *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_extended_atomic_fetch_add ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -58200,69 +90011,75 @@ void connectib_wqe_extended_atomic_fetch_add_print(const union connectib_wqe_ext
 
 }
 
-int connectib_wqe_extended_atomic_fetch_add_size(void){
+int connectib_wqe_extended_atomic_fetch_add_size(void)
+{
 	 return 256;
 }
 
-void connectib_wqe_extended_atomic_fetch_add_dump(const union connectib_wqe_extended_atomic_fetch_add *ptr_struct, FILE* file) {
+void connectib_wqe_extended_atomic_fetch_add_dump(const union connectib_wqe_extended_atomic_fetch_add *ptr_struct, FILE* file)
+{
 	connectib_wqe_extended_atomic_fetch_add_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_atomic_fetch_add_pack(const struct connectib_wqe_atomic_fetch_add *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_atomic_fetch_add_pack(const struct connectib_wqe_atomic_fetch_add *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->add_data_63_32);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->add_data_63_32);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->add_data_31_0);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->add_data_31_0);
 
 }
 
-void connectib_wqe_atomic_fetch_add_unpack(struct connectib_wqe_atomic_fetch_add *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_atomic_fetch_add_unpack(struct connectib_wqe_atomic_fetch_add *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->add_data_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->add_data_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_atomic_fetch_add_print(const struct connectib_wqe_atomic_fetch_add *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_atomic_fetch_add_print(const struct connectib_wqe_atomic_fetch_add *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_atomic_fetch_add ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data_63_32       : "U32H_FMT"\n", ptr_struct->add_data_63_32);
+	fprintf(file, "add_data_63_32       : " U32H_FMT "\n", ptr_struct->add_data_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "add_data_31_0        : "U32H_FMT"\n", ptr_struct->add_data_31_0);
+	fprintf(file, "add_data_31_0        : " U32H_FMT "\n", ptr_struct->add_data_31_0);
 
 }
 
-int connectib_wqe_atomic_fetch_add_size(void){
+int connectib_wqe_atomic_fetch_add_size(void)
+{
 	 return 16;
 }
 
-void connectib_wqe_atomic_fetch_add_dump(const struct connectib_wqe_atomic_fetch_add *ptr_struct, FILE* file) {
+void connectib_wqe_atomic_fetch_add_dump(const struct connectib_wqe_atomic_fetch_add *ptr_struct, FILE* file)
+{
 	connectib_wqe_atomic_fetch_add_print(ptr_struct, file, 0);
 }
 
@@ -58276,11 +90093,13 @@ void connectib_wqe_extended_atomic_cmp_swap_unpack(union connectib_wqe_extended_
 	connectib_wqe_extended_atomic_cmp_swap_128byte_unpack(&(ptr_struct->byte126), ptr_buff);
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_print(const union connectib_wqe_extended_atomic_cmp_swap *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_extended_atomic_cmp_swap_print(const union connectib_wqe_extended_atomic_cmp_swap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_extended_atomic_cmp_swap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -58310,777 +90129,949 @@ void connectib_wqe_extended_atomic_cmp_swap_print(const union connectib_wqe_exte
 
 }
 
-int connectib_wqe_extended_atomic_cmp_swap_size(void){
+int connectib_wqe_extended_atomic_cmp_swap_size(void)
+{
 	 return 512;
 }
 
-void connectib_wqe_extended_atomic_cmp_swap_dump(const union connectib_wqe_extended_atomic_cmp_swap *ptr_struct, FILE* file) {
+void connectib_wqe_extended_atomic_cmp_swap_dump(const union connectib_wqe_extended_atomic_cmp_swap *ptr_struct, FILE* file)
+{
 	connectib_wqe_extended_atomic_cmp_swap_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_atomic_cmp_swap_pack(const struct connectib_wqe_atomic_cmp_swap *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_atomic_cmp_swap_pack(const struct connectib_wqe_atomic_cmp_swap *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->swap_data_63_32);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swap_data_63_32);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->swap_data_31_0);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->swap_data_31_0);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->compare_data_63_32);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->compare_data_63_32);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->compare_data_31_0);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->compare_data_31_0);
 
 }
 
-void connectib_wqe_atomic_cmp_swap_unpack(struct connectib_wqe_atomic_cmp_swap *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_atomic_cmp_swap_unpack(struct connectib_wqe_atomic_cmp_swap *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->swap_data_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->swap_data_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->compare_data_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->compare_data_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_atomic_cmp_swap_print(const struct connectib_wqe_atomic_cmp_swap *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_atomic_cmp_swap_print(const struct connectib_wqe_atomic_cmp_swap *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_atomic_cmp_swap ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_63_32      : "U32H_FMT"\n", ptr_struct->swap_data_63_32);
+	fprintf(file, "swap_data_63_32      : " U32H_FMT "\n", ptr_struct->swap_data_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swap_data_31_0       : "U32H_FMT"\n", ptr_struct->swap_data_31_0);
+	fprintf(file, "swap_data_31_0       : " U32H_FMT "\n", ptr_struct->swap_data_31_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data_63_32   : "U32H_FMT"\n", ptr_struct->compare_data_63_32);
+	fprintf(file, "compare_data_63_32   : " U32H_FMT "\n", ptr_struct->compare_data_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "compare_data_31_0    : "U32H_FMT"\n", ptr_struct->compare_data_31_0);
+	fprintf(file, "compare_data_31_0    : " U32H_FMT "\n", ptr_struct->compare_data_31_0);
 
 }
 
-int connectib_wqe_atomic_cmp_swap_size(void){
+int connectib_wqe_atomic_cmp_swap_size(void)
+{
 	 return 16;
 }
 
-void connectib_wqe_atomic_cmp_swap_dump(const struct connectib_wqe_atomic_cmp_swap *ptr_struct, FILE* file) {
+void connectib_wqe_atomic_cmp_swap_dump(const struct connectib_wqe_atomic_cmp_swap *ptr_struct, FILE* file)
+{
 	connectib_wqe_atomic_cmp_swap_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_rdma_read_pack(const struct connectib_wqe_rdma_read *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_rdma_read_pack(const struct connectib_wqe_rdma_read *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->remote_virtual_address_63_32);
-
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->remote_virtual_address_31_0);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->remote_va);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->remote_key);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->remote_key);
 
 }
 
-void connectib_wqe_rdma_read_unpack(struct connectib_wqe_rdma_read *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_rdma_read_unpack(struct connectib_wqe_rdma_read *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->remote_virtual_address_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 0;
+	ptr_struct->remote_va = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
-	ptr_struct->remote_virtual_address_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
-
-	offset=64;
+	offset = 64;
 	ptr_struct->remote_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_rdma_read_print(const struct connectib_wqe_rdma_read *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_rdma_read_print(const struct connectib_wqe_rdma_read *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_rdma_read ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "remote_virtual_address_63_32 : "U32H_FMT"\n", ptr_struct->remote_virtual_address_63_32);
+	fprintf(file, "remote_va            : " U64H_FMT "\n", ptr_struct->remote_va);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "remote_virtual_address_31_0 : "U32H_FMT"\n", ptr_struct->remote_virtual_address_31_0);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "remote_key           : "U32H_FMT"\n", ptr_struct->remote_key);
+	fprintf(file, "remote_key           : " U32H_FMT "\n", ptr_struct->remote_key);
 
 }
 
-int connectib_wqe_rdma_read_size(void){
+int connectib_wqe_rdma_read_size(void)
+{
 	 return 16;
 }
 
-void connectib_wqe_rdma_read_dump(const struct connectib_wqe_rdma_read *ptr_struct, FILE* file) {
+void connectib_wqe_rdma_read_dump(const struct connectib_wqe_rdma_read *ptr_struct, FILE* file)
+{
 	connectib_wqe_rdma_read_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_address_vector_ext_pack(const struct connectib_wqe_address_vector_ext *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_address_vector_ext_pack(const struct connectib_wqe_address_vector_ext *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->auto_1);
 
-	offset=63;
+	offset = 63;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->auto_2);
 
-	offset=88;
+	offset = 88;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->hop_limit);
 
-	offset=80;
+	offset = 80;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->tclass);
 
-	offset=108;
+	offset = 108;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 20, (u_int32_t)ptr_struct->flow_label);
 
-	offset=100;
+	offset = 100;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->my_gid_index1);
 
-	offset=97;
+	offset = 97;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->grh);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rgid_127_96);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rgid_127_96);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rgid_95_64);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rgid_95_64);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rgid_63_32);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rgid_63_32);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rgid_31_0);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rgid_31_0);
 
 }
 
-void connectib_wqe_address_vector_ext_unpack(struct connectib_wqe_address_vector_ext *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_address_vector_ext_unpack(struct connectib_wqe_address_vector_ext *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	ptr_struct->auto_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=63;
+	offset = 63;
 	ptr_struct->auto_2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=88;
+	offset = 88;
 	ptr_struct->hop_limit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=80;
+	offset = 80;
 	ptr_struct->tclass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=108;
+	offset = 108;
 	ptr_struct->flow_label = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 20);
 
-	offset=100;
+	offset = 100;
 	ptr_struct->my_gid_index1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=97;
+	offset = 97;
 	ptr_struct->grh = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->rgid_127_96 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->rgid_95_64 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
+	offset = 192;
 	ptr_struct->rgid_63_32 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->rgid_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_address_vector_ext_print(const struct connectib_wqe_address_vector_ext *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_address_vector_ext_print(const struct connectib_wqe_address_vector_ext *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_address_vector_ext ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "auto_1               : "UH_FMT"\n", ptr_struct->auto_1);
+	fprintf(file, "auto_1               : " UH_FMT "\n", ptr_struct->auto_1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "auto_2               : "UH_FMT"\n", ptr_struct->auto_2);
+	fprintf(file, "auto_2               : " UH_FMT "\n", ptr_struct->auto_2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hop_limit            : "UH_FMT"\n", ptr_struct->hop_limit);
+	fprintf(file, "hop_limit            : " UH_FMT "\n", ptr_struct->hop_limit);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "tclass               : "UH_FMT"\n", ptr_struct->tclass);
+	fprintf(file, "tclass               : " UH_FMT "\n", ptr_struct->tclass);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flow_label           : "UH_FMT"\n", ptr_struct->flow_label);
+	fprintf(file, "flow_label           : " UH_FMT "\n", ptr_struct->flow_label);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "my_gid_index1        : "UH_FMT"\n", ptr_struct->my_gid_index1);
+	fprintf(file, "my_gid_index1        : " UH_FMT "\n", ptr_struct->my_gid_index1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "grh                  : "UH_FMT"\n", ptr_struct->grh);
+	fprintf(file, "grh                  : " UH_FMT "\n", ptr_struct->grh);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rgid_127_96          : "U32H_FMT"\n", ptr_struct->rgid_127_96);
+	fprintf(file, "rgid_127_96          : " U32H_FMT "\n", ptr_struct->rgid_127_96);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rgid_95_64           : "U32H_FMT"\n", ptr_struct->rgid_95_64);
+	fprintf(file, "rgid_95_64           : " U32H_FMT "\n", ptr_struct->rgid_95_64);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rgid_63_32           : "U32H_FMT"\n", ptr_struct->rgid_63_32);
+	fprintf(file, "rgid_63_32           : " U32H_FMT "\n", ptr_struct->rgid_63_32);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rgid_31_0            : "U32H_FMT"\n", ptr_struct->rgid_31_0);
+	fprintf(file, "rgid_31_0            : " U32H_FMT "\n", ptr_struct->rgid_31_0);
 
 }
 
-int connectib_wqe_address_vector_ext_size(void){
+int connectib_wqe_address_vector_ext_size(void)
+{
 	 return 32;
 }
 
-void connectib_wqe_address_vector_ext_dump(const struct connectib_wqe_address_vector_ext *ptr_struct, FILE* file) {
+void connectib_wqe_address_vector_ext_dump(const struct connectib_wqe_address_vector_ext *ptr_struct, FILE* file)
+{
 	connectib_wqe_address_vector_ext_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_address_vector_basic_pack(const struct connectib_wqe_address_vector_basic *ptr_struct, u_int8_t* ptr_buff){
+void connectib_wqe_address_vector_basic_pack(const struct connectib_wqe_address_vector_basic *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dca_key_63_32_qkey);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dca_key_63_32_qkey);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dca_key_31_0);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dca_key_31_0);
 
-	offset=72;
+	offset = 72;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->destination_qp_dct);
 
-	offset=68;
+	offset = 68;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reverse_sl);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ext);
 
-	offset=112;
+	offset = 112;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rlid_15_0);
 
-	offset=104;
+	offset = 104;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->slid);
 
-	offset=100;
+	offset = 100;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
 
-	offset=96;
+	offset = 96;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->static_rate);
 
 }
 
-void connectib_wqe_address_vector_basic_unpack(struct connectib_wqe_address_vector_basic *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_wqe_address_vector_basic_unpack(struct connectib_wqe_address_vector_basic *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->dca_key_63_32_qkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->dca_key_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=72;
+	offset = 72;
 	ptr_struct->destination_qp_dct = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=68;
+	offset = 68;
 	ptr_struct->reverse_sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->ext = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=112;
+	offset = 112;
 	ptr_struct->rlid_15_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=104;
+	offset = 104;
 	ptr_struct->slid = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=100;
+	offset = 100;
 	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->static_rate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
 }
 
-void connectib_wqe_address_vector_basic_print(const struct connectib_wqe_address_vector_basic *ptr_struct, FILE* file, int indent_level){
+void connectib_wqe_address_vector_basic_print(const struct connectib_wqe_address_vector_basic *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_wqe_address_vector_basic ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dca_key_63_32_qkey   : " U32H_FMT "\n", ptr_struct->dca_key_63_32_qkey);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dca_key_31_0         : " U32H_FMT "\n", ptr_struct->dca_key_31_0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "destination_qp_dct   : " UH_FMT "\n", ptr_struct->destination_qp_dct);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reverse_sl           : " UH_FMT "\n", ptr_struct->reverse_sl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ext                  : " UH_FMT "\n", ptr_struct->ext);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rlid_15_0            : " UH_FMT "\n", ptr_struct->rlid_15_0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "slid                 : " UH_FMT "\n", ptr_struct->slid);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sl                   : " UH_FMT "\n", ptr_struct->sl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "static_rate          : " UH_FMT "\n", ptr_struct->static_rate);
+
+}
+
+int connectib_wqe_address_vector_basic_size(void)
+{
+	 return 16;
+}
+
+void connectib_wqe_address_vector_basic_dump(const struct connectib_wqe_address_vector_basic *ptr_struct, FILE* file)
+{
+	connectib_wqe_address_vector_basic_print(ptr_struct, file, 0);
+}
+
+void connectib_wqe_xrc_pack(const struct connectib_wqe_xrc *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->xrc);
+
+}
+
+void connectib_wqe_xrc_unpack(struct connectib_wqe_xrc *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->xrc = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+}
+
+void connectib_wqe_xrc_print(const struct connectib_wqe_xrc *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_wqe_xrc ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "xrc                  : " UH_FMT "\n", ptr_struct->xrc);
+
+}
+
+int connectib_wqe_xrc_size(void)
+{
+	 return 16;
+}
+
+void connectib_wqe_xrc_dump(const struct connectib_wqe_xrc *ptr_struct, FILE* file)
+{
+	connectib_wqe_xrc_print(ptr_struct, file, 0);
+}
+
+void connectib_wqe_mlx_pack(const struct connectib_wqe_mlx *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 44;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
+
+	offset = 40;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->static_rate);
+
+	offset = 37;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fl);
+
+	offset = 36;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ic);
+
+	offset = 35;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fc);
+
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->slr);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vl15);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->v);
+
+	offset = 80;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dmac_dlid_47_32);
+
+	offset = 64;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vlan);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->dmac_dlid_31_0);
+
+}
+
+void connectib_wqe_mlx_unpack(struct connectib_wqe_mlx *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 44;
+	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 40;
+	ptr_struct->static_rate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 37;
+	ptr_struct->fl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 36;
+	ptr_struct->ic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 35;
+	ptr_struct->fc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 34;
+	ptr_struct->slr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 33;
+	ptr_struct->vl15 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->v = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 80;
+	ptr_struct->dmac_dlid_47_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->vlan = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 96;
+	ptr_struct->dmac_dlid_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_wqe_mlx_print(const struct connectib_wqe_mlx *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_wqe_mlx ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sl                   : " UH_FMT "\n", ptr_struct->sl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "static_rate          : " UH_FMT "\n", ptr_struct->static_rate);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fl                   : " UH_FMT "\n", ptr_struct->fl);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ic                   : " UH_FMT "\n", ptr_struct->ic);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "fc                   : " UH_FMT "\n", ptr_struct->fc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "slr                  : " UH_FMT "\n", ptr_struct->slr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vl15                 : " UH_FMT "\n", ptr_struct->vl15);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "v                    : " UH_FMT "\n", ptr_struct->v);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dmac_dlid_47_32      : " UH_FMT "\n", ptr_struct->dmac_dlid_47_32);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vlan                 : " UH_FMT "\n", ptr_struct->vlan);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "dmac_dlid_31_0       : " U32H_FMT "\n", ptr_struct->dmac_dlid_31_0);
+
+}
+
+int connectib_wqe_mlx_size(void)
+{
+	 return 16;
+}
+
+void connectib_wqe_mlx_dump(const struct connectib_wqe_mlx *ptr_struct, FILE* file)
+{
+	connectib_wqe_mlx_print(ptr_struct, file, 0);
+}
+
+void connectib_wqe_control_pack(const struct connectib_wqe_control *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->opcode);
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->wqe_index);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->opc_mod);
+
+	offset = 58;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->ds);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
+
+	offset = 95;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->interrupt);
+
+	offset = 94;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->se);
+
+	offset = 92;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ce);
+
+	offset = 91;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nop);
+
+	offset = 88;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->fm);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->immediate_invalidation_key);
+
+}
+
+void connectib_wqe_control_unpack(struct connectib_wqe_control *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 8;
+	ptr_struct->wqe_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 0;
+	ptr_struct->opc_mod = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 58;
+	ptr_struct->ds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
+
+	offset = 32;
+	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 95;
+	ptr_struct->interrupt = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 94;
+	ptr_struct->se = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 92;
+	ptr_struct->ce = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 91;
+	ptr_struct->nop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 88;
+	ptr_struct->fm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 96;
+	ptr_struct->immediate_invalidation_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+}
+
+void connectib_wqe_control_print(const struct connectib_wqe_control *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== connectib_wqe_control ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dca_key_63_32_qkey   : "U32H_FMT"\n", ptr_struct->dca_key_63_32_qkey);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dca_key_31_0         : "U32H_FMT"\n", ptr_struct->dca_key_31_0);
+	fprintf(file, "wqe_index            : " UH_FMT "\n", ptr_struct->wqe_index);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "destination_qp_dct   : "UH_FMT"\n", ptr_struct->destination_qp_dct);
+	fprintf(file, "opc_mod              : " UH_FMT "\n", ptr_struct->opc_mod);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "reverse_sl           : "UH_FMT"\n", ptr_struct->reverse_sl);
+	fprintf(file, "ds                   : " UH_FMT "\n", ptr_struct->ds);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ext                  : "UH_FMT"\n", ptr_struct->ext);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rlid_15_0            : "UH_FMT"\n", ptr_struct->rlid_15_0);
+	fprintf(file, "interrupt            : " UH_FMT "\n", ptr_struct->interrupt);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slid                 : "UH_FMT"\n", ptr_struct->slid);
+	fprintf(file, "se                   : " UH_FMT "\n", ptr_struct->se);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
+	fprintf(file, "ce                   : " UH_FMT "\n", ptr_struct->ce);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "static_rate          : "UH_FMT"\n", ptr_struct->static_rate);
+	fprintf(file, "nop                  : " UH_FMT "\n", ptr_struct->nop);
 
-}
-
-int connectib_wqe_address_vector_basic_size(void){
-	 return 16;
-}
-
-void connectib_wqe_address_vector_basic_dump(const struct connectib_wqe_address_vector_basic *ptr_struct, FILE* file) {
-	connectib_wqe_address_vector_basic_print(ptr_struct, file, 0);
-}
-
-void connectib_wqe_xrc_pack(const struct connectib_wqe_xrc *ptr_struct, u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->xrc);
-
-}
-
-void connectib_wqe_xrc_unpack(struct connectib_wqe_xrc *ptr_struct, const u_int8_t* ptr_buff){
-	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
-	(void)offset;
-	(void)i;
-	(void)ptr_struct;
-	(void)ptr_buff;
-
-	offset=8;
-	ptr_struct->xrc = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-}
-
-void connectib_wqe_xrc_print(const struct connectib_wqe_xrc *ptr_struct, FILE* file, int indent_level){
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_xrc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
-	(void)file;
-	(void)indent_level;
+	fprintf(file, "fm                   : " UH_FMT "\n", ptr_struct->fm);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "xrc                  : "UH_FMT"\n", ptr_struct->xrc);
+	fprintf(file, "immediate_invalidation_key : " U32H_FMT "\n", ptr_struct->immediate_invalidation_key);
 
 }
 
-int connectib_wqe_xrc_size(void){
+int connectib_wqe_control_size(void)
+{
 	 return 16;
 }
 
-void connectib_wqe_xrc_dump(const struct connectib_wqe_xrc *ptr_struct, FILE* file) {
-	connectib_wqe_xrc_print(ptr_struct, file, 0);
+void connectib_wqe_control_dump(const struct connectib_wqe_control *ptr_struct, FILE* file)
+{
+	connectib_wqe_control_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_mlx_pack(const struct connectib_wqe_mlx *ptr_struct, u_int8_t* ptr_buff){
+void connectib_public_keys_pack(const struct connectib_public_keys *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=44;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sl);
-
-	offset=40;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->static_rate);
-
-	offset=37;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fl);
-
-	offset=36;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->ic);
-
-	offset=35;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fc);
-
-	offset=34;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->slr);
-
-	offset=33;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->vl15);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->v);
-
-	offset=80;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->dmac_dlid_47_32);
-
-	offset=64;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vlan);
-
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->dmac_dlid_31_0);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 2304, i, 18432, 1);
+	connectib_file_public_keys_pack(&(ptr_struct->file_public_keys[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_wqe_mlx_unpack(struct connectib_wqe_mlx *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_public_keys_unpack(struct connectib_public_keys *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=44;
-	ptr_struct->sl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=40;
-	ptr_struct->static_rate = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
-
-	offset=37;
-	ptr_struct->fl = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=36;
-	ptr_struct->ic = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=35;
-	ptr_struct->fc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=34;
-	ptr_struct->slr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=33;
-	ptr_struct->vl15 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=32;
-	ptr_struct->v = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=80;
-	ptr_struct->dmac_dlid_47_32 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=64;
-	ptr_struct->vlan = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=96;
-	ptr_struct->dmac_dlid_31_0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 8; i++) {
+	offset = adb2c_calc_array_field_address(0, 2304, i, 18432, 1);
+	connectib_file_public_keys_unpack(&(ptr_struct->file_public_keys[i]), ptr_buff + offset/8);
+	}
 
 }
 
-void connectib_wqe_mlx_print(const struct connectib_wqe_mlx *ptr_struct, FILE* file, int indent_level){
+void connectib_public_keys_print(const struct connectib_public_keys *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_mlx ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_public_keys ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 8; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sl                   : "UH_FMT"\n", ptr_struct->sl);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "static_rate          : "UH_FMT"\n", ptr_struct->static_rate);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fl                   : "UH_FMT"\n", ptr_struct->fl);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ic                   : "UH_FMT"\n", ptr_struct->ic);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fc                   : "UH_FMT"\n", ptr_struct->fc);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "slr                  : "UH_FMT"\n", ptr_struct->slr);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vl15                 : "UH_FMT"\n", ptr_struct->vl15);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "v                    : "UH_FMT"\n", ptr_struct->v);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dmac_dlid_47_32      : "UH_FMT"\n", ptr_struct->dmac_dlid_47_32);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vlan                 : "UH_FMT"\n", ptr_struct->vlan);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dmac_dlid_31_0       : "U32H_FMT"\n", ptr_struct->dmac_dlid_31_0);
+	fprintf(file, "file_public_keys_%03d:\n", i);
+	connectib_file_public_keys_print(&(ptr_struct->file_public_keys[i]), file, indent_level + 1);
+	}
 
 }
 
-int connectib_wqe_mlx_size(void){
-	 return 16;
+int connectib_public_keys_size(void)
+{
+	 return 2304;
 }
 
-void connectib_wqe_mlx_dump(const struct connectib_wqe_mlx *ptr_struct, FILE* file) {
-	connectib_wqe_mlx_print(ptr_struct, file, 0);
+void connectib_public_keys_dump(const struct connectib_public_keys *ptr_struct, FILE* file)
+{
+	connectib_public_keys_print(ptr_struct, file, 0);
 }
 
-void connectib_wqe_control_pack(const struct connectib_wqe_control *ptr_struct, u_int8_t* ptr_buff){
+void connectib_image_signature_pack(const struct connectib_image_signature *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->opcode);
-
-	offset=8;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->wqe_index);
-
-	offset=0;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->opc_mod);
-
-	offset=58;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 6, (u_int32_t)ptr_struct->ds);
-
-	offset=32;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
-
-	offset=95;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->interrupt);
-
-	offset=94;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->se);
-
-	offset=92;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->ce);
-
-	offset=91;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nop);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2560, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature_uuid[i]);
+	}
 
-	offset=88;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->fm);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 2560, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->keypair_uuid[i]);
+	}
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->immediate_invalidation_key);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 2560, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature[i]);
+	}
 
 }
 
-void connectib_wqe_control_unpack(struct connectib_wqe_control *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_image_signature_unpack(struct connectib_image_signature *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=24;
-	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=8;
-	ptr_struct->wqe_index = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
-
-	offset=0;
-	ptr_struct->opc_mod = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
-
-	offset=58;
-	ptr_struct->ds = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 6);
-
-	offset=32;
-	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
-
-	offset=95;
-	ptr_struct->interrupt = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=94;
-	ptr_struct->se = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
-
-	offset=92;
-	ptr_struct->ce = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
-
-	offset=91;
-	ptr_struct->nop = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2560, 1);
+	ptr_struct->signature_uuid[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=88;
-	ptr_struct->fm = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 2560, 1);
+	ptr_struct->keypair_uuid[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
-	offset=96;
-	ptr_struct->immediate_invalidation_key = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 2560, 1);
+	ptr_struct->signature[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
 
 }
 
-void connectib_wqe_control_print(const struct connectib_wqe_control *ptr_struct, FILE* file, int indent_level){
+void connectib_image_signature_print(const struct connectib_image_signature *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "======== connectib_wqe_control ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	fprintf(file, "======== connectib_image_signature ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : "UH_FMT"\n", ptr_struct->opcode);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_index            : "UH_FMT"\n", ptr_struct->wqe_index);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opc_mod              : "UH_FMT"\n", ptr_struct->opc_mod);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ds                   : "UH_FMT"\n", ptr_struct->ds);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "interrupt            : "UH_FMT"\n", ptr_struct->interrupt);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "se                   : "UH_FMT"\n", ptr_struct->se);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ce                   : "UH_FMT"\n", ptr_struct->ce);
-
-	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "nop                  : "UH_FMT"\n", ptr_struct->nop);
+	fprintf(file, "signature_uuid_%03d  : " U32H_FMT "\n", i, ptr_struct->signature_uuid[i]);
+	}
 
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fm                   : "UH_FMT"\n", ptr_struct->fm);
+	fprintf(file, "keypair_uuid_%03d    : " U32H_FMT "\n", i, ptr_struct->keypair_uuid[i]);
+	}
 
+	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "immediate_invalidation_key : "U32H_FMT"\n", ptr_struct->immediate_invalidation_key);
+	fprintf(file, "signature_%03d       : " U32H_FMT "\n", i, ptr_struct->signature[i]);
+	}
 
 }
 
-int connectib_wqe_control_size(void){
-	 return 16;
+int connectib_image_signature_size(void)
+{
+	 return 320;
 }
 
-void connectib_wqe_control_dump(const struct connectib_wqe_control *ptr_struct, FILE* file) {
-	connectib_wqe_control_print(ptr_struct, file, 0);
+void connectib_image_signature_dump(const struct connectib_image_signature *ptr_struct, FILE* file)
+{
+	connectib_image_signature_print(ptr_struct, file, 0);
 }
 
-void connectib_nv_data_pack(const struct connectib_nv_data *ptr_struct, u_int8_t* ptr_buff){
+void connectib_nv_data_pack(const struct connectib_nv_data *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_nv_config_header_pack(&(ptr_struct->header), ptr_buff + offset/8);
 
 }
 
-void connectib_nv_data_unpack(struct connectib_nv_data *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_nv_data_unpack(struct connectib_nv_data *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_nv_config_header_unpack(&(ptr_struct->header), ptr_buff + offset/8);
 
 }
 
-void connectib_nv_data_print(const struct connectib_nv_data *ptr_struct, FILE* file, int indent_level){
+void connectib_nv_data_print(const struct connectib_nv_data *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_nv_data ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -59090,103 +91081,125 @@ void connectib_nv_data_print(const struct connectib_nv_data *ptr_struct, FILE* f
 
 }
 
-int connectib_nv_data_size(void){
+int connectib_nv_data_size(void)
+{
 	 return 65536;
 }
 
-void connectib_nv_data_dump(const struct connectib_nv_data *ptr_struct, FILE* file) {
+void connectib_nv_data_dump(const struct connectib_nv_data *ptr_struct, FILE* file)
+{
 	connectib_nv_data_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_boot_config_pack(const struct connectib_hw_boot_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_boot_config_pack(const struct connectib_hw_boot_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->manufacture_info_address);
 
-	offset=40;
+	offset = 40;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->ro_manufacture_info_address);
 
-	offset=72;
+	offset = 72;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->vpd_info_address_1);
 
-	offset=104;
+	offset = 104;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->vpd_info_address_2);
 
-	offset=128;
+	offset = 103;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->aux_power_indication_gpio_en);
+
+	offset = 96;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->aux_power_indication_gpio_offset);
+
+	offset = 128;
 	connectib_vpd_eeprom_info_pack(&(ptr_struct->vpd_eeprom), ptr_buff + offset/8);
 
-	offset=192;
+	offset = 192;
 	connectib_code_coverage_control_pack(&(ptr_struct->code_coverage), ptr_buff + offset/8);
 
-	offset=256;
+	offset = 256;
 	connectib_pcie_cfg_golan_pack(&(ptr_struct->pcie_cfg), ptr_buff + offset/8);
 
-	offset=1792;
+	offset = 1792;
 	connectib_fw_image_pack(&(ptr_struct->fw_image), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_boot_config_unpack(struct connectib_hw_boot_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_boot_config_unpack(struct connectib_hw_boot_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	ptr_struct->manufacture_info_address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=40;
+	offset = 40;
 	ptr_struct->ro_manufacture_info_address = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=72;
+	offset = 72;
 	ptr_struct->vpd_info_address_1 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=104;
+	offset = 104;
 	ptr_struct->vpd_info_address_2 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=128;
+	offset = 103;
+	ptr_struct->aux_power_indication_gpio_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 96;
+	ptr_struct->aux_power_indication_gpio_offset = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
+
+	offset = 128;
 	connectib_vpd_eeprom_info_unpack(&(ptr_struct->vpd_eeprom), ptr_buff + offset/8);
 
-	offset=192;
+	offset = 192;
 	connectib_code_coverage_control_unpack(&(ptr_struct->code_coverage), ptr_buff + offset/8);
 
-	offset=256;
+	offset = 256;
 	connectib_pcie_cfg_golan_unpack(&(ptr_struct->pcie_cfg), ptr_buff + offset/8);
 
-	offset=1792;
+	offset = 1792;
 	connectib_fw_image_unpack(&(ptr_struct->fw_image), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_boot_config_print(const struct connectib_hw_boot_config *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_boot_config_print(const struct connectib_hw_boot_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_hw_boot_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "manufacture_info_address : "UH_FMT"\n", ptr_struct->manufacture_info_address);
+	fprintf(file, "manufacture_info_address : " UH_FMT "\n", ptr_struct->manufacture_info_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ro_manufacture_info_address : " UH_FMT "\n", ptr_struct->ro_manufacture_info_address);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vpd_info_address_1   : " UH_FMT "\n", ptr_struct->vpd_info_address_1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ro_manufacture_info_address : "UH_FMT"\n", ptr_struct->ro_manufacture_info_address);
+	fprintf(file, "vpd_info_address_2   : " UH_FMT "\n", ptr_struct->vpd_info_address_2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_info_address_1   : "UH_FMT"\n", ptr_struct->vpd_info_address_1);
+	fprintf(file, "aux_power_indication_gpio_en : " UH_FMT "\n", ptr_struct->aux_power_indication_gpio_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vpd_info_address_2   : "UH_FMT"\n", ptr_struct->vpd_info_address_2);
+	fprintf(file, "aux_power_indication_gpio_offset : " UH_FMT "\n", ptr_struct->aux_power_indication_gpio_offset);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "vpd_eeprom:\n");
@@ -59206,83 +91219,87 @@ void connectib_hw_boot_config_print(const struct connectib_hw_boot_config *ptr_s
 
 }
 
-int connectib_hw_boot_config_size(void){
-	 return 256;
+int connectib_hw_boot_config_size(void)
+{
+	 return 320;
 }
 
-void connectib_hw_boot_config_dump(const struct connectib_hw_boot_config *ptr_struct, FILE* file) {
+void connectib_hw_boot_config_dump(const struct connectib_hw_boot_config *ptr_struct, FILE* file)
+{
 	connectib_hw_boot_config_print(ptr_struct, file, 0);
 }
 
-void connectib_hw_main_config_pack(const struct connectib_hw_main_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_hw_main_config_pack(const struct connectib_hw_main_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_port_serdes_pack(&(ptr_struct->ports_serdes), ptr_buff + offset/8);
 
-	offset=14336;
+	offset = 14336;
 	connectib_power_pack(&(ptr_struct->power), ptr_buff + offset/8);
 
-	offset=14464;
+	offset = 14464;
 	connectib_system_mng_pack(&(ptr_struct->system_mng), ptr_buff + offset/8);
 
-	offset=14496;
+	offset = 14496;
 	connectib_thermal_config_golan_pack(&(ptr_struct->thermal), ptr_buff + offset/8);
 
-	offset=15360;
+	offset = 15360;
 	connectib_module_config_pack(&(ptr_struct->module), ptr_buff + offset/8);
 
-	offset=15424;
+	offset = 15424;
 	connectib_i2c_devices_db_pack(&(ptr_struct->i2c), ptr_buff + offset/8);
 
-	offset=16064;
+	offset = 16064;
 	connectib_ini_gpios_golan_pack(&(ptr_struct->gpios), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_main_config_unpack(struct connectib_hw_main_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_hw_main_config_unpack(struct connectib_hw_main_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_port_serdes_unpack(&(ptr_struct->ports_serdes), ptr_buff + offset/8);
 
-	offset=14336;
+	offset = 14336;
 	connectib_power_unpack(&(ptr_struct->power), ptr_buff + offset/8);
 
-	offset=14464;
+	offset = 14464;
 	connectib_system_mng_unpack(&(ptr_struct->system_mng), ptr_buff + offset/8);
 
-	offset=14496;
+	offset = 14496;
 	connectib_thermal_config_golan_unpack(&(ptr_struct->thermal), ptr_buff + offset/8);
 
-	offset=15360;
+	offset = 15360;
 	connectib_module_config_unpack(&(ptr_struct->module), ptr_buff + offset/8);
 
-	offset=15424;
+	offset = 15424;
 	connectib_i2c_devices_db_unpack(&(ptr_struct->i2c), ptr_buff + offset/8);
 
-	offset=16064;
+	offset = 16064;
 	connectib_ini_gpios_golan_unpack(&(ptr_struct->gpios), ptr_buff + offset/8);
 
 }
 
-void connectib_hw_main_config_print(const struct connectib_hw_main_config *ptr_struct, FILE* file, int indent_level){
+void connectib_hw_main_config_print(const struct connectib_hw_main_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_hw_main_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -59316,89 +91333,93 @@ void connectib_hw_main_config_print(const struct connectib_hw_main_config *ptr_s
 
 }
 
-int connectib_hw_main_config_size(void){
+int connectib_hw_main_config_size(void)
+{
 	 return 2816;
 }
 
-void connectib_hw_main_config_dump(const struct connectib_hw_main_config *ptr_struct, FILE* file) {
+void connectib_hw_main_config_dump(const struct connectib_hw_main_config *ptr_struct, FILE* file)
+{
 	connectib_hw_main_config_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_boot_config_pack(const struct connectib_fw_boot_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_boot_config_pack(const struct connectib_fw_boot_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_FW_VERSION_pack(&(ptr_struct->fw_version), ptr_buff + offset/8);
 
-	offset=128;
+	offset = 128;
 	connectib_multi_function_pack(&(ptr_struct->multi_function), ptr_buff + offset/8);
 
-	offset=224;
+	offset = 224;
 	connectib_pcie_transaction_pack(&(ptr_struct->pcie_transaction), ptr_buff + offset/8);
 
-	offset=256;
+	offset = 288;
 	connectib_pci_cfg_pack(&(ptr_struct->pcie_cfg_data), ptr_buff + offset/8);
 
-	offset=4352;
+	offset = 4384;
 	connectib_pci_cfg_pack(&(ptr_struct->pcie_cfg_mask), ptr_buff + offset/8);
 
-	offset=8448;
+	offset = 8480;
 	connectib_pf_vf_cfg_space_pack(&(ptr_struct->pf_vf_cfg_data), ptr_buff + offset/8);
 
-	offset=8672;
+	offset = 8704;
 	connectib_pcie_power_management_pack(&(ptr_struct->pcie_power_management), ptr_buff + offset/8);
 
-	offset=8704;
+	offset = 8736;
 	connectib_nv_config_boot_pack(&(ptr_struct->nv_config), ptr_buff + offset/8);
 
 }
 
-void connectib_fw_boot_config_unpack(struct connectib_fw_boot_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_boot_config_unpack(struct connectib_fw_boot_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_FW_VERSION_unpack(&(ptr_struct->fw_version), ptr_buff + offset/8);
 
-	offset=128;
+	offset = 128;
 	connectib_multi_function_unpack(&(ptr_struct->multi_function), ptr_buff + offset/8);
 
-	offset=224;
+	offset = 224;
 	connectib_pcie_transaction_unpack(&(ptr_struct->pcie_transaction), ptr_buff + offset/8);
 
-	offset=256;
+	offset = 288;
 	connectib_pci_cfg_unpack(&(ptr_struct->pcie_cfg_data), ptr_buff + offset/8);
 
-	offset=4352;
+	offset = 4384;
 	connectib_pci_cfg_unpack(&(ptr_struct->pcie_cfg_mask), ptr_buff + offset/8);
 
-	offset=8448;
+	offset = 8480;
 	connectib_pf_vf_cfg_space_unpack(&(ptr_struct->pf_vf_cfg_data), ptr_buff + offset/8);
 
-	offset=8672;
+	offset = 8704;
 	connectib_pcie_power_management_unpack(&(ptr_struct->pcie_power_management), ptr_buff + offset/8);
 
-	offset=8704;
+	offset = 8736;
 	connectib_nv_config_boot_unpack(&(ptr_struct->nv_config), ptr_buff + offset/8);
 
 }
 
-void connectib_fw_boot_config_print(const struct connectib_fw_boot_config *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_boot_config_print(const struct connectib_fw_boot_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_fw_boot_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -59436,94 +91457,113 @@ void connectib_fw_boot_config_print(const struct connectib_fw_boot_config *ptr_s
 
 }
 
-int connectib_fw_boot_config_size(void){
-	 return 1152;
+int connectib_fw_boot_config_size(void)
+{
+	 return 1216;
 }
 
-void connectib_fw_boot_config_dump(const struct connectib_fw_boot_config *ptr_struct, FILE* file) {
+void connectib_fw_boot_config_dump(const struct connectib_fw_boot_config *ptr_struct, FILE* file)
+{
 	connectib_fw_boot_config_print(ptr_struct, file, 0);
 }
 
-void connectib_fw_main_config_pack(const struct connectib_fw_main_config *ptr_struct, u_int8_t* ptr_buff){
+void connectib_fw_main_config_pack(const struct connectib_fw_main_config *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=61;
+	offset = 61;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->log_max_num_rdbs);
 
-	offset=128;
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_max_atomic_size);
+
+	offset = 128;
 	connectib_static_config_pack(&(ptr_struct->static_config), ptr_buff + offset/8);
 
-	offset=256;
+	offset = 256;
 	connectib_leds_blink_patterns_pack(&(ptr_struct->leds_blink_pattern), ptr_buff + offset/8);
 
-	offset=1536;
+	offset = 1536;
 	connectib_customization_pack(&(ptr_struct->customization), ptr_buff + offset/8);
 
-	offset=2048;
+	offset = 2048;
 	connectib_management_pack(&(ptr_struct->management), ptr_buff + offset/8);
 
-	offset=4096;
+	offset = 5120;
 	connectib_host_management_pack(&(ptr_struct->host_management), ptr_buff + offset/8);
 
-	offset=6656;
+	offset = 6144;
 	connectib_phy_fw_main_config_pack(&(ptr_struct->phy_fw_main_config), ptr_buff + offset/8);
 
-	offset=12160;
+	offset = 11904;
 	connectib_nv_config_main_pack(&(ptr_struct->nv_config), ptr_buff + offset/8);
 
+	offset = 20096;
+	connectib_secure_fw_pack(&(ptr_struct->secure_fw), ptr_buff + offset/8);
+
 }
 
-void connectib_fw_main_config_unpack(struct connectib_fw_main_config *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_fw_main_config_unpack(struct connectib_fw_main_config *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=61;
+	offset = 61;
 	ptr_struct->log_max_num_rdbs = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=128;
+	offset = 56;
+	ptr_struct->log_max_atomic_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
+
+	offset = 128;
 	connectib_static_config_unpack(&(ptr_struct->static_config), ptr_buff + offset/8);
 
-	offset=256;
+	offset = 256;
 	connectib_leds_blink_patterns_unpack(&(ptr_struct->leds_blink_pattern), ptr_buff + offset/8);
 
-	offset=1536;
+	offset = 1536;
 	connectib_customization_unpack(&(ptr_struct->customization), ptr_buff + offset/8);
 
-	offset=2048;
+	offset = 2048;
 	connectib_management_unpack(&(ptr_struct->management), ptr_buff + offset/8);
 
-	offset=4096;
+	offset = 5120;
 	connectib_host_management_unpack(&(ptr_struct->host_management), ptr_buff + offset/8);
 
-	offset=6656;
+	offset = 6144;
 	connectib_phy_fw_main_config_unpack(&(ptr_struct->phy_fw_main_config), ptr_buff + offset/8);
 
-	offset=12160;
+	offset = 11904;
 	connectib_nv_config_main_unpack(&(ptr_struct->nv_config), ptr_buff + offset/8);
 
+	offset = 20096;
+	connectib_secure_fw_unpack(&(ptr_struct->secure_fw), ptr_buff + offset/8);
+
 }
 
-void connectib_fw_main_config_print(const struct connectib_fw_main_config *ptr_struct, FILE* file, int indent_level){
+void connectib_fw_main_config_print(const struct connectib_fw_main_config *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_fw_main_config ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "log_max_num_rdbs     : "UH_FMT"\n", ptr_struct->log_max_num_rdbs);
+	fprintf(file, "log_max_num_rdbs     : " UH_FMT "\n", ptr_struct->log_max_num_rdbs);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log_max_atomic_size  : " UH_FMT "\n", ptr_struct->log_max_atomic_size);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "static_config:\n");
@@ -59553,90 +91593,98 @@ void connectib_fw_main_config_print(const struct connectib_fw_main_config *ptr_s
 	fprintf(file, "nv_config:\n");
 	connectib_nv_config_main_print(&(ptr_struct->nv_config), file, indent_level + 1);
 
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "secure_fw:\n");
+	connectib_secure_fw_print(&(ptr_struct->secure_fw), file, indent_level + 1);
+
 }
 
-int connectib_fw_main_config_size(void){
-	 return 1776;
+int connectib_fw_main_config_size(void)
+{
+	 return 4096;
 }
 
-void connectib_fw_main_config_dump(const struct connectib_fw_main_config *ptr_struct, FILE* file) {
+void connectib_fw_main_config_dump(const struct connectib_fw_main_config *ptr_struct, FILE* file)
+{
 	connectib_fw_main_config_print(ptr_struct, file, 0);
 }
 
-void connectib_mfg_info_pack(const struct connectib_mfg_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_mfg_info_pack(const struct connectib_mfg_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(24, 8, i, 2560, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 2560, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->psid[i]);
 	}
 
-	offset=255;
+	offset = 255;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->guids_override_en);
 
-	offset=232;
+	offset = 232;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor_version);
 
-	offset=224;
+	offset = 224;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->major_version);
 
-	offset=256;
+	offset = 256;
 	connectib_guids_pack(&(ptr_struct->guids), ptr_buff + offset/8);
 
 }
 
-void connectib_mfg_info_unpack(struct connectib_mfg_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_mfg_info_unpack(struct connectib_mfg_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(24, 8, i, 2560, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(24, 8, i, 2560, 1);
 	ptr_struct->psid[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->psid[16] = '\0';
-	offset=255;
+	offset = 255;
 	ptr_struct->guids_override_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=232;
+	offset = 232;
 	ptr_struct->minor_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->major_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=256;
+	offset = 256;
 	connectib_guids_unpack(&(ptr_struct->guids), ptr_buff + offset/8);
 
 }
 
-void connectib_mfg_info_print(const struct connectib_mfg_info *ptr_struct, FILE* file, int indent_level){
+void connectib_mfg_info_print(const struct connectib_mfg_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_mfg_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	fprintf(file, "psid                 : \"%s\"\n", ptr_struct->psid);
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "guids_override_en    : "UH_FMT"\n", ptr_struct->guids_override_en);
+	fprintf(file, "guids_override_en    : " UH_FMT "\n", ptr_struct->guids_override_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor_version        : "UH_FMT"\n", ptr_struct->minor_version);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major_version        : "UH_FMT"\n", ptr_struct->major_version);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "guids:\n");
@@ -59644,140 +91692,229 @@ void connectib_mfg_info_print(const struct connectib_mfg_info *ptr_struct, FILE*
 
 }
 
-int connectib_mfg_info_size(void){
+int connectib_mfg_info_size(void)
+{
 	 return 320;
 }
 
-void connectib_mfg_info_dump(const struct connectib_mfg_info *ptr_struct, FILE* file) {
+void connectib_mfg_info_dump(const struct connectib_mfg_info *ptr_struct, FILE* file)
+{
 	connectib_mfg_info_print(ptr_struct, file, 0);
 }
 
-void connectib_image_info_pack(const struct connectib_image_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_image_info_pack(const struct connectib_image_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 22;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signed_vendor_nvconfig_files);
+
+	offset = 21;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signed_mlnx_nvconfig_files);
+
+	offset = 20;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->frc_supported);
+
+	offset = 19;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cs_tokens_supported);
+
+	offset = 18;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->debug_fw);
+
+	offset = 17;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->signed_fw);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->secured_fw);
+
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor_version);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->major_version);
 
-	offset=32;
+	offset = 32;
 	connectib_FW_VERSION_pack(&(ptr_struct->FW_VERSION), ptr_buff + offset/8);
 
-	offset=160;
+	offset = 160;
 	connectib_TRIPPLE_VERSION_pack(&(ptr_struct->mic_version), ptr_buff + offset/8);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(312, 8, i, 8192, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(312, 8, i, 8192, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->psid[i]);
 	}
 
-	offset=432;
+	offset = 432;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vsd_vendor_id);
 
-	for (i=0; i < 208; i++) {
-	offset=adb2c_calc_array_field_address(472, 8, i, 8192, 1);
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(472, 8, i, 8192, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vsd[i]);
 	}
 
-	offset=2112;
+	offset = 2112;
 	connectib_image_size_pack(&(ptr_struct->image_size), ptr_buff + offset/8);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(2240, 32, i, 8192, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->supported_hw_id[i]);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2240, 32, i, 8192, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->supported_hw_id[i]);
 	}
 
-	offset=2368;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->ini_file_num);
+	offset = 2368;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ini_file_num);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(3608, 8, i, 8192, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(3608, 8, i, 8192, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->prod_ver[i]);
 	}
 
-	offset=6144;
+	offset = 6144;
 	connectib_module_versions_pack(&(ptr_struct->module_versions), ptr_buff + offset/8);
 
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(6680, 8, i, 8192, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->spare_part[i]);
+	}
+
+	for (i = 0; i < 24; i++) {
+	offset = adb2c_calc_array_field_address(6776, 8, i, 8192, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->product_id[i]);
+	}
+
 }
 
-void connectib_image_info_unpack(struct connectib_image_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_image_info_unpack(struct connectib_image_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 22;
+	ptr_struct->signed_vendor_nvconfig_files = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 21;
+	ptr_struct->signed_mlnx_nvconfig_files = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 20;
+	ptr_struct->frc_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 19;
+	ptr_struct->cs_tokens_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 18;
+	ptr_struct->debug_fw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 17;
+	ptr_struct->signed_fw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 16;
+	ptr_struct->secured_fw = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 8;
 	ptr_struct->minor_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->major_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=32;
+	offset = 32;
 	connectib_FW_VERSION_unpack(&(ptr_struct->FW_VERSION), ptr_buff + offset/8);
 
-	offset=160;
+	offset = 160;
 	connectib_TRIPPLE_VERSION_unpack(&(ptr_struct->mic_version), ptr_buff + offset/8);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(312, 8, i, 8192, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(312, 8, i, 8192, 1);
 	ptr_struct->psid[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->psid[16] = '\0';
-	offset=432;
+	offset = 432;
 	ptr_struct->vsd_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 208; i++) {
-	offset=adb2c_calc_array_field_address(472, 8, i, 8192, 1);
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(472, 8, i, 8192, 1);
 	ptr_struct->vsd[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->vsd[208] = '\0';
-	offset=2112;
+	offset = 2112;
 	connectib_image_size_unpack(&(ptr_struct->image_size), ptr_buff + offset/8);
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(2240, 32, i, 8192, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2240, 32, i, 8192, 1);
 	ptr_struct->supported_hw_id[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 	}
 
-	offset=2368;
+	offset = 2368;
 	ptr_struct->ini_file_num = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	for (i=0; i < 16; i++) {
-	offset=adb2c_calc_array_field_address(3608, 8, i, 8192, 1);
+	for (i = 0; i < 16; i++) {
+	offset = adb2c_calc_array_field_address(3608, 8, i, 8192, 1);
 	ptr_struct->prod_ver[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->prod_ver[16] = '\0';
-	offset=6144;
+	offset = 6144;
 	connectib_module_versions_unpack(&(ptr_struct->module_versions), ptr_buff + offset/8);
 
+	for (i = 0; i < 12; i++) {
+	offset = adb2c_calc_array_field_address(6680, 8, i, 8192, 1);
+	ptr_struct->spare_part[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
+
+	ptr_struct->spare_part[12] = '\0';
+	for (i = 0; i < 24; i++) {
+	offset = adb2c_calc_array_field_address(6776, 8, i, 8192, 1);
+	ptr_struct->product_id[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
+
+	ptr_struct->product_id[24] = '\0';
 }
 
-void connectib_image_info_print(const struct connectib_image_info *ptr_struct, FILE* file, int indent_level){
+void connectib_image_info_print(const struct connectib_image_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_image_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor_version        : "UH_FMT"\n", ptr_struct->minor_version);
+	fprintf(file, "signed_vendor_nvconfig_files : " UH_FMT "\n", ptr_struct->signed_vendor_nvconfig_files);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signed_mlnx_nvconfig_files : " UH_FMT "\n", ptr_struct->signed_mlnx_nvconfig_files);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "frc_supported        : " UH_FMT "\n", ptr_struct->frc_supported);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cs_tokens_supported  : " UH_FMT "\n", ptr_struct->cs_tokens_supported);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "debug_fw             : " UH_FMT "\n", ptr_struct->debug_fw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signed_fw            : " UH_FMT "\n", ptr_struct->signed_fw);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major_version        : "UH_FMT"\n", ptr_struct->major_version);
+	fprintf(file, "secured_fw           : " UH_FMT "\n", ptr_struct->secured_fw);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "FW_VERSION:\n");
@@ -59789,162 +91926,168 @@ void connectib_image_info_print(const struct connectib_image_info *ptr_struct, F
 
 	fprintf(file, "psid                 : \"%s\"\n", ptr_struct->psid);
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vsd_vendor_id        : "UH_FMT"\n", ptr_struct->vsd_vendor_id);
+	fprintf(file, "vsd_vendor_id        : " UH_FMT "\n", ptr_struct->vsd_vendor_id);
 
 	fprintf(file, "vsd                  : \"%s\"\n", ptr_struct->vsd);
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "image_size:\n");
 	connectib_image_size_print(&(ptr_struct->image_size), file, indent_level + 1);
 
-	for (i=0; i < 4; i++) {
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "supported_hw_id_%03d : "U32H_FMT"\n", i, ptr_struct->supported_hw_id[i]);
+	fprintf(file, "supported_hw_id_%03d : " U32H_FMT "\n", i, ptr_struct->supported_hw_id[i]);
 	}
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "ini_file_num         : "U32H_FMT"\n", ptr_struct->ini_file_num);
+	fprintf(file, "ini_file_num         : " U32H_FMT "\n", ptr_struct->ini_file_num);
 
 	fprintf(file, "prod_ver             : \"%s\"\n", ptr_struct->prod_ver);
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "module_versions:\n");
 	connectib_module_versions_print(&(ptr_struct->module_versions), file, indent_level + 1);
 
+	fprintf(file, "spare_part           : \"%s\"\n", ptr_struct->spare_part);
+	fprintf(file, "product_id           : \"%s\"\n", ptr_struct->product_id);
 }
 
-int connectib_image_info_size(void){
+int connectib_image_info_size(void)
+{
 	 return 1024;
 }
 
-void connectib_image_info_dump(const struct connectib_image_info *ptr_struct, FILE* file) {
+void connectib_image_info_dump(const struct connectib_image_info *ptr_struct, FILE* file)
+{
 	connectib_image_info_print(ptr_struct, file, 0);
 }
 
-void connectib_device_info_pack(const struct connectib_device_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_device_info_pack(const struct connectib_device_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature0);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature0);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature1);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature1);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature2);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature2);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature3);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature3);
 
-	offset=152;
+	offset = 152;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor_version);
 
-	offset=143;
+	offset = 143;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->major_version);
 
-	offset=256;
+	offset = 256;
 	connectib_guids_pack(&(ptr_struct->guids), ptr_buff + offset/8);
 
-	offset=880;
+	offset = 880;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vsd_vendor_id);
 
-	for (i=0; i < 208; i++) {
-	offset=adb2c_calc_array_field_address(920, 8, i, 4096, 1);
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(920, 8, i, 4096, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vsd[i]);
 	}
 
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
 	connectib_operation_key_pack(&(ptr_struct->keys[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_device_info_unpack(struct connectib_device_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_device_info_unpack(struct connectib_device_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->signature0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->signature1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->signature2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->signature3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=152;
+	offset = 152;
 	ptr_struct->minor_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=143;
+	offset = 143;
 	ptr_struct->major_version = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
-	offset=256;
+	offset = 256;
 	connectib_guids_unpack(&(ptr_struct->guids), ptr_buff + offset/8);
 
-	offset=880;
+	offset = 880;
 	ptr_struct->vsd_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	for (i=0; i < 208; i++) {
-	offset=adb2c_calc_array_field_address(920, 8, i, 4096, 1);
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(920, 8, i, 4096, 1);
 	ptr_struct->vsd[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
 	ptr_struct->vsd[208] = '\0';
-	for (i=0; i < 4; i++) {
-	offset=adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
 	connectib_operation_key_unpack(&(ptr_struct->keys[i]), ptr_buff + offset/8);
 	}
 
 }
 
-void connectib_device_info_print(const struct connectib_device_info *ptr_struct, FILE* file, int indent_level){
+void connectib_device_info_print(const struct connectib_device_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_device_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature0           : "U32H_FMT"\n", ptr_struct->signature0);
+	fprintf(file, "signature0           : " U32H_FMT "\n", ptr_struct->signature0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature1           : "U32H_FMT"\n", ptr_struct->signature1);
+	fprintf(file, "signature1           : " U32H_FMT "\n", ptr_struct->signature1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature2           : "U32H_FMT"\n", ptr_struct->signature2);
+	fprintf(file, "signature2           : " U32H_FMT "\n", ptr_struct->signature2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature3           : "U32H_FMT"\n", ptr_struct->signature3);
+	fprintf(file, "signature3           : " U32H_FMT "\n", ptr_struct->signature3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor_version        : "UH_FMT"\n", ptr_struct->minor_version);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major_version        : "UH_FMT"\n", ptr_struct->major_version);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "guids:\n");
 	connectib_guids_print(&(ptr_struct->guids), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vsd_vendor_id        : "UH_FMT"\n", ptr_struct->vsd_vendor_id);
+	fprintf(file, "vsd_vendor_id        : " UH_FMT "\n", ptr_struct->vsd_vendor_id);
 
 	fprintf(file, "vsd                  : \"%s\"\n", ptr_struct->vsd);
-	for (i=0; i < 4; i++) {
+	for (i = 0; i < 4; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "keys_%03d:\n", i);
 	connectib_operation_key_print(&(ptr_struct->keys[i]), file, indent_level + 1);
@@ -59952,11 +92095,13 @@ void connectib_device_info_print(const struct connectib_device_info *ptr_struct,
 
 }
 
-int connectib_device_info_size(void){
+int connectib_device_info_size(void)
+{
 	 return 512;
 }
 
-void connectib_device_info_dump(const struct connectib_device_info *ptr_struct, FILE* file) {
+void connectib_device_info_dump(const struct connectib_device_info *ptr_struct, FILE* file)
+{
 	connectib_device_info_print(ptr_struct, file, 0);
 }
 
@@ -59970,11 +92115,13 @@ void connectib_dtoc_pointers_unpack(union connectib_dtoc_pointers *ptr_struct, c
 	connectib_toc_data_unpack(&(ptr_struct->mfg_info), ptr_buff);
 }
 
-void connectib_dtoc_pointers_print(const union connectib_dtoc_pointers *ptr_struct, FILE* file, int indent_level){
+void connectib_dtoc_pointers_print(const union connectib_dtoc_pointers *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_dtoc_pointers ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -60000,53 +92147,57 @@ void connectib_dtoc_pointers_print(const union connectib_dtoc_pointers *ptr_stru
 
 }
 
-int connectib_dtoc_pointers_size(void){
+int connectib_dtoc_pointers_size(void)
+{
 	 return 256;
 }
 
-void connectib_dtoc_pointers_dump(const union connectib_dtoc_pointers *ptr_struct, FILE* file) {
+void connectib_dtoc_pointers_dump(const union connectib_dtoc_pointers *ptr_struct, FILE* file)
+{
 	connectib_dtoc_pointers_print(ptr_struct, file, 0);
 }
 
-void connectib_reset_info_pack(const struct connectib_reset_info *ptr_struct, u_int8_t* ptr_buff){
+void connectib_reset_info_pack(const struct connectib_reset_info *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_reset_capabilities_pack(&(ptr_struct->rst_cap_mask), ptr_buff + offset/8);
 
-	offset=128;
+	offset = 128;
 	connectib_rst_api_ver_pack(&(ptr_struct->rst_api_ver), ptr_buff + offset/8);
 
 }
 
-void connectib_reset_info_unpack(struct connectib_reset_info *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_reset_info_unpack(struct connectib_reset_info *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_reset_capabilities_unpack(&(ptr_struct->rst_cap_mask), ptr_buff + offset/8);
 
-	offset=128;
+	offset = 128;
 	connectib_rst_api_ver_unpack(&(ptr_struct->rst_api_ver), ptr_buff + offset/8);
 
 }
 
-void connectib_reset_info_print(const struct connectib_reset_info *ptr_struct, FILE* file, int indent_level){
+void connectib_reset_info_print(const struct connectib_reset_info *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_reset_info ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -60060,451 +92211,481 @@ void connectib_reset_info_print(const struct connectib_reset_info *ptr_struct, F
 
 }
 
-int connectib_reset_info_size(void){
+int connectib_reset_info_size(void)
+{
 	 return 256;
 }
 
-void connectib_reset_info_dump(const struct connectib_reset_info *ptr_struct, FILE* file) {
+void connectib_reset_info_dump(const struct connectib_reset_info *ptr_struct, FILE* file)
+{
 	connectib_reset_info_print(ptr_struct, file, 0);
 }
 
-void connectib_boot_record_golan_pack(const struct connectib_boot_record_golan *ptr_struct, u_int8_t* ptr_buff){
+void connectib_boot_record_golan_pack(const struct connectib_boot_record_golan *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
+	offset = 28;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->flash_div);
 
-	offset=27;
+	offset = 27;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->hot_reset_enable);
 
-	offset=26;
+	offset = 26;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->wait_lock);
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->perst_action);
 
-	offset=17;
+	offset = 17;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->core_f);
 
-	offset=15;
+	offset = 15;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->core_pd);
 
-	offset=13;
+	offset = 13;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->core_od);
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->core_r);
 
-	offset=7;
+	offset = 7;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->core_bypass);
 
-	offset=6;
+	offset = 6;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->core_from_pex);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->parity_reserved0);
 
-	offset=47;
+	offset = 47;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->temp_gpio_mask);
 
-	offset=43;
+	offset = 43;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->temp_fatal_mask);
 
-	offset=40;
+	offset = 40;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->gpio_pull_en);
 
-	offset=33;
+	offset = 33;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->pll_debug);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->parity_reserved1);
 
-	offset=92;
+	offset = 92;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mbist_group_size);
 
-	offset=89;
+	offset = 89;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->mbist_unit_size);
 
-	offset=87;
+	offset = 87;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->mbist_en);
 
-	offset=80;
+	offset = 80;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->lbist_capture_delay);
 
-	offset=73;
+	offset = 73;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 7, (u_int32_t)ptr_struct->i2c_slave_addr);
 
-	offset=72;
+	offset = 72;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->i2c_slave_en);
 
-	offset=71;
+	offset = 71;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->fuse_enable);
 
-	offset=65;
+	offset = 65;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->pll_stabilize);
 
-	offset=64;
+	offset = 64;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->parity_reserved2);
 
-	offset=112;
+	offset = 112;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->lbist_pat_cnt_lsb);
 
-	offset=106;
+	offset = 106;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->lbist_capture);
 
-	offset=105;
+	offset = 105;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lbist_capt_2);
 
-	offset=102;
+	offset = 102;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->lbist_shift_clk_divider);
 
-	offset=98;
+	offset = 98;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->lbist_capture_last);
 
-	offset=97;
+	offset = 97;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->lbist_en);
 
-	offset=96;
+	offset = 96;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->parity_reserved3);
 
 }
 
-void connectib_boot_record_golan_unpack(struct connectib_boot_record_golan *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_boot_record_golan_unpack(struct connectib_boot_record_golan *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=28;
+	offset = 28;
 	ptr_struct->flash_div = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=27;
+	offset = 27;
 	ptr_struct->hot_reset_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=26;
+	offset = 26;
 	ptr_struct->wait_lock = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=24;
+	offset = 24;
 	ptr_struct->perst_action = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=17;
+	offset = 17;
 	ptr_struct->core_f = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=15;
+	offset = 15;
 	ptr_struct->core_pd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=13;
+	offset = 13;
 	ptr_struct->core_od = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=8;
+	offset = 8;
 	ptr_struct->core_r = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=7;
+	offset = 7;
 	ptr_struct->core_bypass = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=6;
+	offset = 6;
 	ptr_struct->core_from_pex = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->parity_reserved0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=47;
+	offset = 47;
 	ptr_struct->temp_gpio_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=43;
+	offset = 43;
 	ptr_struct->temp_fatal_mask = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=40;
+	offset = 40;
 	ptr_struct->gpio_pull_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=33;
+	offset = 33;
 	ptr_struct->pll_debug = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->parity_reserved1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=92;
+	offset = 92;
 	ptr_struct->mbist_group_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=89;
+	offset = 89;
 	ptr_struct->mbist_unit_size = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=87;
+	offset = 87;
 	ptr_struct->mbist_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=80;
+	offset = 80;
 	ptr_struct->lbist_capture_delay = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=73;
+	offset = 73;
 	ptr_struct->i2c_slave_addr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 7);
 
-	offset=72;
+	offset = 72;
 	ptr_struct->i2c_slave_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=71;
+	offset = 71;
 	ptr_struct->fuse_enable = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=65;
+	offset = 65;
 	ptr_struct->pll_stabilize = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->parity_reserved2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=112;
+	offset = 112;
 	ptr_struct->lbist_pat_cnt_lsb = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=106;
+	offset = 106;
 	ptr_struct->lbist_capture = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=105;
+	offset = 105;
 	ptr_struct->lbist_capt_2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=102;
+	offset = 102;
 	ptr_struct->lbist_shift_clk_divider = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=98;
+	offset = 98;
 	ptr_struct->lbist_capture_last = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=97;
+	offset = 97;
 	ptr_struct->lbist_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->parity_reserved3 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 }
 
-void connectib_boot_record_golan_print(const struct connectib_boot_record_golan *ptr_struct, FILE* file, int indent_level){
+void connectib_boot_record_golan_print(const struct connectib_boot_record_golan *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_boot_record_golan ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flash_div            : "UH_FMT"\n", ptr_struct->flash_div);
+	fprintf(file, "flash_div            : " UH_FMT "\n", ptr_struct->flash_div);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hot_reset_enable     : "UH_FMT"\n", ptr_struct->hot_reset_enable);
+	fprintf(file, "hot_reset_enable     : " UH_FMT "\n", ptr_struct->hot_reset_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wait_lock            : "UH_FMT"\n", ptr_struct->wait_lock);
+	fprintf(file, "wait_lock            : " UH_FMT "\n", ptr_struct->wait_lock);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "perst_action         : "UH_FMT"\n", ptr_struct->perst_action);
+	fprintf(file, "perst_action         : " UH_FMT "\n", ptr_struct->perst_action);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_f               : "UH_FMT"\n", ptr_struct->core_f);
+	fprintf(file, "core_f               : " UH_FMT "\n", ptr_struct->core_f);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_pd              : "UH_FMT"\n", ptr_struct->core_pd);
+	fprintf(file, "core_pd              : " UH_FMT "\n", ptr_struct->core_pd);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_od              : "UH_FMT"\n", ptr_struct->core_od);
+	fprintf(file, "core_od              : " UH_FMT "\n", ptr_struct->core_od);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_r               : "UH_FMT"\n", ptr_struct->core_r);
+	fprintf(file, "core_r               : " UH_FMT "\n", ptr_struct->core_r);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_bypass          : "UH_FMT"\n", ptr_struct->core_bypass);
+	fprintf(file, "core_bypass          : " UH_FMT "\n", ptr_struct->core_bypass);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "core_from_pex        : "UH_FMT"\n", ptr_struct->core_from_pex);
+	fprintf(file, "core_from_pex        : " UH_FMT "\n", ptr_struct->core_from_pex);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parity_reserved0     : "UH_FMT"\n", ptr_struct->parity_reserved0);
+	fprintf(file, "parity_reserved0     : " UH_FMT "\n", ptr_struct->parity_reserved0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "temp_gpio_mask       : "UH_FMT"\n", ptr_struct->temp_gpio_mask);
+	fprintf(file, "temp_gpio_mask       : " UH_FMT "\n", ptr_struct->temp_gpio_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "temp_fatal_mask      : "UH_FMT"\n", ptr_struct->temp_fatal_mask);
+	fprintf(file, "temp_fatal_mask      : " UH_FMT "\n", ptr_struct->temp_fatal_mask);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gpio_pull_en         : "UH_FMT"\n", ptr_struct->gpio_pull_en);
+	fprintf(file, "gpio_pull_en         : " UH_FMT "\n", ptr_struct->gpio_pull_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pll_debug            : "UH_FMT"\n", ptr_struct->pll_debug);
+	fprintf(file, "pll_debug            : " UH_FMT "\n", ptr_struct->pll_debug);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parity_reserved1     : "UH_FMT"\n", ptr_struct->parity_reserved1);
+	fprintf(file, "parity_reserved1     : " UH_FMT "\n", ptr_struct->parity_reserved1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mbist_group_size     : "UH_FMT"\n", ptr_struct->mbist_group_size);
+	fprintf(file, "mbist_group_size     : " UH_FMT "\n", ptr_struct->mbist_group_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mbist_unit_size      : "UH_FMT"\n", ptr_struct->mbist_unit_size);
+	fprintf(file, "mbist_unit_size      : " UH_FMT "\n", ptr_struct->mbist_unit_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mbist_en             : "UH_FMT"\n", ptr_struct->mbist_en);
+	fprintf(file, "mbist_en             : " UH_FMT "\n", ptr_struct->mbist_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lbist_capture_delay  : "UH_FMT"\n", ptr_struct->lbist_capture_delay);
+	fprintf(file, "lbist_capture_delay  : " UH_FMT "\n", ptr_struct->lbist_capture_delay);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_slave_addr       : "UH_FMT"\n", ptr_struct->i2c_slave_addr);
+	fprintf(file, "i2c_slave_addr       : " UH_FMT "\n", ptr_struct->i2c_slave_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "i2c_slave_en         : "UH_FMT"\n", ptr_struct->i2c_slave_en);
+	fprintf(file, "i2c_slave_en         : " UH_FMT "\n", ptr_struct->i2c_slave_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fuse_enable          : "UH_FMT"\n", ptr_struct->fuse_enable);
+	fprintf(file, "fuse_enable          : " UH_FMT "\n", ptr_struct->fuse_enable);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pll_stabilize        : "UH_FMT"\n", ptr_struct->pll_stabilize);
+	fprintf(file, "pll_stabilize        : " UH_FMT "\n", ptr_struct->pll_stabilize);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parity_reserved2     : "UH_FMT"\n", ptr_struct->parity_reserved2);
+	fprintf(file, "parity_reserved2     : " UH_FMT "\n", ptr_struct->parity_reserved2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lbist_pat_cnt_lsb    : "UH_FMT"\n", ptr_struct->lbist_pat_cnt_lsb);
+	fprintf(file, "lbist_pat_cnt_lsb    : " UH_FMT "\n", ptr_struct->lbist_pat_cnt_lsb);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lbist_capture        : "UH_FMT"\n", ptr_struct->lbist_capture);
+	fprintf(file, "lbist_capture        : " UH_FMT "\n", ptr_struct->lbist_capture);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lbist_capt_2         : "UH_FMT"\n", ptr_struct->lbist_capt_2);
+	fprintf(file, "lbist_capt_2         : " UH_FMT "\n", ptr_struct->lbist_capt_2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lbist_shift_clk_divider : "UH_FMT"\n", ptr_struct->lbist_shift_clk_divider);
+	fprintf(file, "lbist_shift_clk_divider : " UH_FMT "\n", ptr_struct->lbist_shift_clk_divider);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lbist_capture_last   : "UH_FMT"\n", ptr_struct->lbist_capture_last);
+	fprintf(file, "lbist_capture_last   : " UH_FMT "\n", ptr_struct->lbist_capture_last);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "lbist_en             : "UH_FMT"\n", ptr_struct->lbist_en);
+	fprintf(file, "lbist_en             : " UH_FMT "\n", ptr_struct->lbist_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "parity_reserved3     : "UH_FMT"\n", ptr_struct->parity_reserved3);
+	fprintf(file, "parity_reserved3     : " UH_FMT "\n", ptr_struct->parity_reserved3);
 
 }
 
-int connectib_boot_record_golan_size(void){
+int connectib_boot_record_golan_size(void)
+{
 	 return 16;
 }
 
-void connectib_boot_record_golan_dump(const struct connectib_boot_record_golan *ptr_struct, FILE* file) {
+void connectib_boot_record_golan_dump(const struct connectib_boot_record_golan *ptr_struct, FILE* file)
+{
 	connectib_boot_record_golan_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_ctrl_pack(const struct connectib_icmd_ctrl *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_ctrl_pack(const struct connectib_icmd_ctrl *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->destructive_op_unlock);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->destructive_op_unlock);
 
-	offset=48;
+	offset = 48;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->gvmi);
 
-	offset=47;
+	offset = 47;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->public_icmd);
 
-	offset=127;
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->state);
+
+	offset = 72;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->syndrome);
+
+	offset = 127;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->busy);
 
-	offset=112;
+	offset = 112;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->status);
 
-	offset=96;
+	offset = 96;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->opcode);
 
 }
 
-void connectib_icmd_ctrl_unpack(struct connectib_icmd_ctrl *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_ctrl_unpack(struct connectib_icmd_ctrl *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->destructive_op_unlock = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=48;
+	offset = 48;
 	ptr_struct->gvmi = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=47;
+	offset = 47;
 	ptr_struct->public_icmd = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=127;
+	offset = 32;
+	ptr_struct->state = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 72;
+	ptr_struct->syndrome = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
+
+	offset = 127;
 	ptr_struct->busy = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=112;
+	offset = 112;
 	ptr_struct->status = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->opcode = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_icmd_ctrl_print(const struct connectib_icmd_ctrl *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_ctrl_print(const struct connectib_icmd_ctrl *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_ctrl ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "destructive_op_unlock : "U32H_FMT"\n", ptr_struct->destructive_op_unlock);
+	fprintf(file, "destructive_op_unlock : " U32H_FMT "\n", ptr_struct->destructive_op_unlock);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "gvmi                 : " UH_FMT "\n", ptr_struct->gvmi);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "gvmi                 : "UH_FMT"\n", ptr_struct->gvmi);
+	fprintf(file, "public_icmd          : " UH_FMT "\n", ptr_struct->public_icmd);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "public_icmd          : "UH_FMT"\n", ptr_struct->public_icmd);
+	fprintf(file, "state                : " UH_FMT "\n", ptr_struct->state);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "busy                 : "UH_FMT"\n", ptr_struct->busy);
+	fprintf(file, "syndrome             : " UH_FMT "\n", ptr_struct->syndrome);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "status               : "UH_FMT"\n", ptr_struct->status);
+	fprintf(file, "busy                 : " UH_FMT "\n", ptr_struct->busy);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : %s ("UH_FMT")\n", (ptr_struct->opcode == 0 ? ("ICMD_NONE") : ((ptr_struct->opcode == 4096 ? ("OPCODE_MNG_MMINIT") : ((ptr_struct->opcode == 24577 ? ("ICMD_OPCODE_PHY_UC_DO_CONTINUE") : ((ptr_struct->opcode == 24578 ? (" ICMD_OPCODE_PHY_UC_DO_STEP") : ((ptr_struct->opcode == 24579 ? ("ICMD_OPCODE_PHY_UC_SET_DEL_BP") : ((ptr_struct->opcode == 24580 ? ("ICMD_OPCODE_PHY_UC_SET_GET_DATA") : ((ptr_struct->opcode == 24581 ? ("ICMD_OPCODE_PHY_UC_GET_ARRAY_P [...]
+	fprintf(file, "status               : " UH_FMT "\n", ptr_struct->status);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "opcode               : %s (" UH_FMT ")\n", (ptr_struct->opcode == 0 ? ("ICMD_NONE") : ((ptr_struct->opcode == 4096 ? (" OPCODE_MNG_MMINIT") : ((ptr_struct->opcode == 4097 ? (" ICMD_OPCODE_MNG_GPIO_FUNC") : ((ptr_struct->opcode == 0 ? (" ICMD_NONE") : ((ptr_struct->opcode == 4098 ? (" OPCODE_MNG_TEMP_HOOK") : ((ptr_struct->opcode == 8192 ? (" ICMD_OPCODE_PRE_DEFINE_MODULE_DB") : ((ptr_struct->opcode == 10240 ? (" ICMD_OPCODE_GET_FW_DRIVER_VERSION") : ((ptr_struct->opcode = [...]
 
 }
 
-int connectib_icmd_ctrl_size(void){
+int connectib_icmd_ctrl_size(void)
+{
 	 return 16;
 }
 
-void connectib_icmd_ctrl_dump(const struct connectib_icmd_ctrl *ptr_struct, FILE* file) {
+void connectib_icmd_ctrl_dump(const struct connectib_icmd_ctrl *ptr_struct, FILE* file)
+{
 	connectib_icmd_ctrl_print(ptr_struct, file, 0);
 }
 
 void connectib_icmd_cmd_pack(const union connectib_icmd_cmd *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_icmd_get_pf_ctx_pack(&(ptr_struct->get_pf_ctx), ptr_buff);
+	connectib_icmd_get_gvmi_rl_ctx_ix_pack(&(ptr_struct->get_gvmi_rl_ctx_ix), ptr_buff);
 }
 
 void connectib_icmd_cmd_unpack(union connectib_icmd_cmd *ptr_struct, const u_int8_t* ptr_buff)
 {
-	connectib_icmd_get_pf_ctx_unpack(&(ptr_struct->get_pf_ctx), ptr_buff);
+	connectib_icmd_get_gvmi_rl_ctx_ix_unpack(&(ptr_struct->get_gvmi_rl_ctx_ix), ptr_buff);
 }
 
-void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd_cmd ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -60517,6 +92698,10 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_access_icm_ctx_print(&(ptr_struct->access_icm_ctx), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "get_pi_ci:\n");
+	connectib_icmd_get_pi_ci_print(&(ptr_struct->get_pi_ci), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "access_icm_line:\n");
 	connectib_icmd_access_icm_line_print(&(ptr_struct->access_icm_line), file, indent_level + 1);
 
@@ -60557,6 +92742,10 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_fw_reset_print(&(ptr_struct->fw_reset), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "allowed_pfs_madifc:\n");
+	connectib_icmd_allowed_madifc_on_all_pfs_print(&(ptr_struct->allowed_pfs_madifc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "debug_print_icm:\n");
 	connectib_print_icm_print(&(ptr_struct->debug_print_icm), file, indent_level + 1);
 
@@ -60597,6 +92786,14 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_write_dc_cnak_lid_print(&(ptr_struct->write_dc_cnak_lid), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "update_rq_ci:\n");
+	connectib_icmd_update_rq_ci_print(&(ptr_struct->update_rq_ci), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ud_to_raw:\n");
+	connectib_icmd_ud_to_raw_print(&(ptr_struct->ud_to_raw), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "config_cc:\n");
 	connectib_icmd_config_cc_print(&(ptr_struct->config_cc), file, indent_level + 1);
 
@@ -60613,10 +92810,18 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_get_open_resources_print(&(ptr_struct->get_open_resources), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "get_highest_index:\n");
+	connectib_icmd_get_highest_index_print(&(ptr_struct->get_highest_index), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "debug_fw_tracer:\n");
 	connectib_icmd_debug_fw_tracer_print(&(ptr_struct->debug_fw_tracer), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "execute_fw_log:\n");
+	connectib_icmd_execute_fw_log_print(&(ptr_struct->execute_fw_log), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "grepper:\n");
 	connectib_icmd_grepper_print(&(ptr_struct->grepper), file, indent_level + 1);
 
@@ -60633,6 +92838,10 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_cable_info_print(&(ptr_struct->cable_info), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "emad_mcia:\n");
+	connectib_icmd_emad_mcia_print(&(ptr_struct->emad_mcia), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "get_icm_res_prop:\n");
 	connectib_icmd_get_icm_res_prop_print(&(ptr_struct->get_icm_res_prop), file, indent_level + 1);
 
@@ -60653,8 +92862,16 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_get_icm_ctx_addr_print(&(ptr_struct->get_icm_ctx_addr), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "query_capabilities:\n");
+	connectib_icmd_query_capabilities_print(&(ptr_struct->query_capabilities), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "kdnet_ctrl:\n");
+	connectib_icmd_kdnet_ctrl_print(&(ptr_struct->kdnet_ctrl), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "access_register:\n");
-	connectib_reg_access_ext_cmd_print(&(ptr_struct->access_register), file, indent_level + 1);
+	connectib_icmd_generic_access_register_print(&(ptr_struct->access_register), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "check_sqpc_status:\n");
@@ -60673,8 +92890,8 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_access_icm_line_print(&(ptr_struct->read_icmc_tag), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dc_params:\n");
-	connectib_icmd_dc_params_print(&(ptr_struct->dc_params), file, indent_level + 1);
+	fprintf(file, "read_icmc_tags_and_info:\n");
+	connectib_icmd_read_icmc_tags_and_info_print(&(ptr_struct->read_icmc_tags_and_info), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "dc_config:\n");
@@ -60685,6 +92902,10 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_itrace_print(&(ptr_struct->set_itrace), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "init_ncsi:\n");
+	connectib_init_ncsi_print(&(ptr_struct->init_ncsi), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "init_ocsd:\n");
 	connectib_icmd_init_ocsd_print(&(ptr_struct->init_ocsd), file, indent_level + 1);
 
@@ -60721,14 +92942,18 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_stop_toggler_print(&(ptr_struct->stop_toggler), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "stress_testing:\n");
-	connectib_icmd_stress_testing_print(&(ptr_struct->stress_testing), file, indent_level + 1);
+	fprintf(file, "error_flow_trigger:\n");
+	connectib_icmd_error_flow_trigger_print(&(ptr_struct->error_flow_trigger), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "pcie_ver_data:\n");
 	connectib_icmd_pcie_ver_data_print(&(ptr_struct->pcie_ver_data), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ver_data:\n");
+	connectib_icmd_ver_data_print(&(ptr_struct->ver_data), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "push_db:\n");
 	connectib_icmd_push_db_print(&(ptr_struct->push_db), file, indent_level + 1);
 
@@ -60757,6 +92982,22 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_get_gvmi_via_vsec_print(&(ptr_struct->get_gvmi_via_vsec), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "xport_config:\n");
+	connectib_icmd_xport_xonfig_print(&(ptr_struct->xport_config), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nv_ram_rw_tlv:\n");
+	connectib_icmd_nvcfg_rw_tlv_print(&(ptr_struct->nv_ram_rw_tlv), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_toolpf_tracer:\n");
+	connectib_icmd_set_toolpf_tracer_print(&(ptr_struct->set_toolpf_tracer), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "enable_tools_pf:\n");
+	connectib_icmd_enable_tools_pf_print(&(ptr_struct->enable_tools_pf), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "access_register_paos:\n");
 	connectib_icmd_access_register_paos_print(&(ptr_struct->access_register_paos), file, indent_level + 1);
 
@@ -60773,6 +93014,18 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_access_register_slrg_print(&(ptr_struct->access_register_slrg), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_register_pptt:\n");
+	connectib_icmd_access_register_pptt_print(&(ptr_struct->access_register_pptt), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_register_pprt:\n");
+	connectib_icmd_access_register_pprt_print(&(ptr_struct->access_register_pprt), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_register_ppaos:\n");
+	connectib_icmd_access_register_ppaos_print(&(ptr_struct->access_register_ppaos), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "access_register_ptas:\n");
 	connectib_icmd_access_register_ptas_print(&(ptr_struct->access_register_ptas), file, indent_level + 1);
 
@@ -60781,6 +93034,22 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_access_register_ppamp_print(&(ptr_struct->access_register_ppamp), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_register_pplr:\n");
+	connectib_icmd_access_register_pplr_print(&(ptr_struct->access_register_pplr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_register_pplm:\n");
+	connectib_icmd_access_register_pplm_print(&(ptr_struct->access_register_pplm), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_register_plpc:\n");
+	connectib_icmd_access_register_plpc_print(&(ptr_struct->access_register_plpc), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "access_register_mlcr:\n");
+	connectib_icmd_access_register_mlcr_print(&(ptr_struct->access_register_mlcr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "access_register_pmtu:\n");
 	connectib_icmd_access_register_pmtu_print(&(ptr_struct->access_register_pmtu), file, indent_level + 1);
 
@@ -60789,6 +93058,14 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_access_reg_ptys_print(&(ptr_struct->access_register_ptys), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "restore_phy_registers:\n");
+	connectib_restore_phy_registers_print(&(ptr_struct->restore_phy_registers), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "measure_frequency:\n");
+	connectib_icmd_measure_frequency_print(&(ptr_struct->measure_frequency), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "access_register_ppcnt:\n");
 	connectib_icmd_access_register_ppcnt_print(&(ptr_struct->access_register_ppcnt), file, indent_level + 1);
 
@@ -60797,6 +93074,14 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_set_get_port_cntr_print(&(ptr_struct->set_get_port_counter), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "led_cmd:\n");
+	connectib_icmd_led_cmd_print(&(ptr_struct->led_cmd), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "led_control_mad:\n");
+	connectib_icmd_led_control_mad_print(&(ptr_struct->led_control_mad), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "get_ft_list:\n");
 	connectib_icmd_get_ft_list_print(&(ptr_struct->get_ft_list), file, indent_level + 1);
 
@@ -60833,6 +93118,14 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_read_ste_print(&(ptr_struct->read_ste), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "steering_info:\n");
+	connectib_icmd_get_steering_info_print(&(ptr_struct->steering_info), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "parse_icm_address:\n");
+	connectib_icmd_parse_icm_address_print(&(ptr_struct->parse_icm_address), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "access_register_pvlc:\n");
 	connectib_icmd_access_register_pvlc_print(&(ptr_struct->access_register_pvlc), file, indent_level + 1);
 
@@ -60841,794 +93134,920 @@ void connectib_icmd_cmd_print(const union connectib_icmd_cmd *ptr_struct, FILE*
 	connectib_icmd_general_fault_injector_print(&(ptr_struct->general_fault_injector), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mini_flow_activator:\n");
+	connectib_icmd_mini_flow_activator_print(&(ptr_struct->mini_flow_activator), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "calc_sqn:\n");
+	connectib_icmd_debug_calc_sqn_print(&(ptr_struct->calc_sqn), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "read_write_varb_ctx:\n");
+	connectib_icmd_read_write_varb_ctx_print(&(ptr_struct->read_write_varb_ctx), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "gen_assert:\n");
 	connectib_icmd_gen_assert_print(&(ptr_struct->gen_assert), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "set_oc_int:\n");
+	connectib_icmd_set_oc_int_print(&(ptr_struct->set_oc_int), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "get_fw_driver_ver:\n");
+	connectib_icmd_get_fw_driver_version_print(&(ptr_struct->get_fw_driver_ver), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pmlp_query:\n");
+	connectib_icmd_pmlp_query_print(&(ptr_struct->pmlp_query), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "pre_define_module_db:\n");
+	connectib_icmd_pre_define_module_db_print(&(ptr_struct->pre_define_module_db), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ocbb_rndc_get_core_api:\n");
+	connectib_icmd_ocbb_rndc_get_core_api_print(&(ptr_struct->ocbb_rndc_get_core_api), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ocbb_get_pci_api:\n");
+	connectib_icmd_ocbb_get_pci_api_print(&(ptr_struct->ocbb_get_pci_api), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "get_pf_ctx:\n");
 	connectib_icmd_get_pf_ctx_print(&(ptr_struct->get_pf_ctx), file, indent_level + 1);
 
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "debug_pf_mac:\n");
+	connectib_icmd_set_get_debug_pf_mac_print(&(ptr_struct->debug_pf_mac), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nodnic_queue_info:\n");
+	connectib_icmd_access_register_nodnic_queue_info_print(&(ptr_struct->nodnic_queue_info), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "temp_warn_gen:\n");
+	connectib_icmd_temp_warn_gen_event_print(&(ptr_struct->temp_warn_gen), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "detect_gvmi_in_hw:\n");
+	connectib_icmd_detect_gvmi_in_qpc_and_icmc_print(&(ptr_struct->detect_gvmi_in_hw), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "internal_query_cap:\n");
+	connectib_icmd_internal_query_cap_print(&(ptr_struct->internal_query_cap), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "map_event_eq:\n");
+	connectib_icmd_map_event_eq_print(&(ptr_struct->map_event_eq), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "get_packet_pacing_debug_info:\n");
+	connectib_icmd_get_packet_pacing_debug_info_print(&(ptr_struct->get_packet_pacing_debug_info), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "port_admin_state_mng:\n");
+	connectib_icmd_port_admin_state_mng_print(&(ptr_struct->port_admin_state_mng), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "asn1_force_port_state:\n");
+	connectib_icmd_asn1_force_port_state_print(&(ptr_struct->asn1_force_port_state), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "mh_sync:\n");
+	connectib_icmd_mh_sync_print(&(ptr_struct->mh_sync), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rw_gvmi_fw_ctx:\n");
+	connectib_icmd_rw_gvmi_fw_ctx_print(&(ptr_struct->rw_gvmi_fw_ctx), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "drop_counter_read:\n");
+	connectib_icmd_drop_counter_read_print(&(ptr_struct->drop_counter_read), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "sysport:\n");
+	connectib_icmd_sysport_print(&(ptr_struct->sysport), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "get_gvmi_rl_ctx_ix:\n");
+	connectib_icmd_get_gvmi_rl_ctx_ix_print(&(ptr_struct->get_gvmi_rl_ctx_ix), file, indent_level + 1);
+
 }
 
-int connectib_icmd_cmd_size(void){
+int connectib_icmd_cmd_size(void)
+{
 	 return 768;
 }
 
-void connectib_icmd_cmd_dump(const union connectib_icmd_cmd *ptr_struct, FILE* file) {
+void connectib_icmd_cmd_dump(const union connectib_icmd_cmd *ptr_struct, FILE* file)
+{
 	connectib_icmd_cmd_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_cqe_sigerr_pack(const struct connectib_sw_cqe_sigerr *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sw_cqe_sigerr_pack(const struct connectib_sw_cqe_sigerr *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_9);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_9);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_8);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_8);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_7);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_7);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_6);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_6);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->expected_trans_sig);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->expected_trans_sig);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->actual_trans_sig);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->actual_trans_sig);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->expected_ref_tag);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->expected_ref_tag);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->actual_ref_tag);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->actual_ref_tag);
 
-	offset=272;
+	offset = 272;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rsvd_5);
 
-	offset=256;
+	offset = 256;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->syndrome);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->mkey);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->mkey);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->sig_err_byte_h);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sig_err_byte_h);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->sig_err_byte_l);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->sig_err_byte_l);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_4);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_4);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_3);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_3);
 
-	offset=456;
+	offset = 456;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
 
-	offset=448;
+	offset = 448;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rsvd_2);
 
-	offset=511;
+	offset = 511;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->owner);
 
-	offset=508;
+	offset = 508;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rsvd_0);
 
-	offset=504;
+	offset = 504;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->opcode);
 
-	offset=496;
+	offset = 496;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
 
-	offset=480;
+	offset = 480;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rsvd_1);
 
 }
 
-void connectib_sw_cqe_sigerr_unpack(struct connectib_sw_cqe_sigerr *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sw_cqe_sigerr_unpack(struct connectib_sw_cqe_sigerr *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->rsvd_9 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->rsvd_8 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->rsvd_7 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->rsvd_6 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->expected_trans_sig = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->actual_trans_sig = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
+	offset = 192;
 	ptr_struct->expected_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->actual_ref_tag = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=272;
+	offset = 272;
 	ptr_struct->rsvd_5 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=256;
+	offset = 256;
 	ptr_struct->syndrome = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=288;
+	offset = 288;
 	ptr_struct->mkey = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
+	offset = 320;
 	ptr_struct->sig_err_byte_h = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
+	offset = 352;
 	ptr_struct->sig_err_byte_l = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
+	offset = 384;
 	ptr_struct->rsvd_4 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=416;
+	offset = 416;
 	ptr_struct->rsvd_3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=456;
+	offset = 456;
 	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=448;
+	offset = 448;
 	ptr_struct->rsvd_2 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=511;
+	offset = 511;
 	ptr_struct->owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=508;
+	offset = 508;
 	ptr_struct->rsvd_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=504;
+	offset = 504;
 	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=496;
+	offset = 496;
 	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=480;
+	offset = 480;
 	ptr_struct->rsvd_1 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_sw_cqe_sigerr_print(const struct connectib_sw_cqe_sigerr *ptr_struct, FILE* file, int indent_level){
+void connectib_sw_cqe_sigerr_print(const struct connectib_sw_cqe_sigerr *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_sw_cqe_sigerr ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_9               : "U32H_FMT"\n", ptr_struct->rsvd_9);
+	fprintf(file, "rsvd_9               : " U32H_FMT "\n", ptr_struct->rsvd_9);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_8               : "U32H_FMT"\n", ptr_struct->rsvd_8);
+	fprintf(file, "rsvd_8               : " U32H_FMT "\n", ptr_struct->rsvd_8);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_7               : "U32H_FMT"\n", ptr_struct->rsvd_7);
+	fprintf(file, "rsvd_7               : " U32H_FMT "\n", ptr_struct->rsvd_7);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_6               : "U32H_FMT"\n", ptr_struct->rsvd_6);
+	fprintf(file, "rsvd_6               : " U32H_FMT "\n", ptr_struct->rsvd_6);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_trans_sig   : "U32H_FMT"\n", ptr_struct->expected_trans_sig);
+	fprintf(file, "expected_trans_sig   : " U32H_FMT "\n", ptr_struct->expected_trans_sig);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "actual_trans_sig     : "U32H_FMT"\n", ptr_struct->actual_trans_sig);
+	fprintf(file, "actual_trans_sig     : " U32H_FMT "\n", ptr_struct->actual_trans_sig);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "expected_ref_tag     : "U32H_FMT"\n", ptr_struct->expected_ref_tag);
+	fprintf(file, "expected_ref_tag     : " U32H_FMT "\n", ptr_struct->expected_ref_tag);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "actual_ref_tag       : "U32H_FMT"\n", ptr_struct->actual_ref_tag);
+	fprintf(file, "actual_ref_tag       : " U32H_FMT "\n", ptr_struct->actual_ref_tag);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_5               : "UH_FMT"\n", ptr_struct->rsvd_5);
+	fprintf(file, "rsvd_5               : " UH_FMT "\n", ptr_struct->rsvd_5);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "syndrome             : "UH_FMT"\n", ptr_struct->syndrome);
+	fprintf(file, "syndrome             : " UH_FMT "\n", ptr_struct->syndrome);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mkey                 : "U32H_FMT"\n", ptr_struct->mkey);
+	fprintf(file, "mkey                 : " U32H_FMT "\n", ptr_struct->mkey);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sig_err_byte_h       : "U32H_FMT"\n", ptr_struct->sig_err_byte_h);
+	fprintf(file, "sig_err_byte_h       : " U32H_FMT "\n", ptr_struct->sig_err_byte_h);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sig_err_byte_l       : "U32H_FMT"\n", ptr_struct->sig_err_byte_l);
+	fprintf(file, "sig_err_byte_l       : " U32H_FMT "\n", ptr_struct->sig_err_byte_l);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_4               : "U32H_FMT"\n", ptr_struct->rsvd_4);
+	fprintf(file, "rsvd_4               : " U32H_FMT "\n", ptr_struct->rsvd_4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_3               : "U32H_FMT"\n", ptr_struct->rsvd_3);
+	fprintf(file, "rsvd_3               : " U32H_FMT "\n", ptr_struct->rsvd_3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_2               : "UH_FMT"\n", ptr_struct->rsvd_2);
+	fprintf(file, "rsvd_2               : " UH_FMT "\n", ptr_struct->rsvd_2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "owner                : "UH_FMT"\n", ptr_struct->owner);
+	fprintf(file, "owner                : " UH_FMT "\n", ptr_struct->owner);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_0               : "UH_FMT"\n", ptr_struct->rsvd_0);
+	fprintf(file, "rsvd_0               : " UH_FMT "\n", ptr_struct->rsvd_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : "UH_FMT"\n", ptr_struct->opcode);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "UH_FMT"\n", ptr_struct->signature);
+	fprintf(file, "signature            : " UH_FMT "\n", ptr_struct->signature);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_1               : "UH_FMT"\n", ptr_struct->rsvd_1);
+	fprintf(file, "rsvd_1               : " UH_FMT "\n", ptr_struct->rsvd_1);
 
 }
 
-int connectib_sw_cqe_sigerr_size(void){
+int connectib_sw_cqe_sigerr_size(void)
+{
 	 return 64;
 }
 
-void connectib_sw_cqe_sigerr_dump(const struct connectib_sw_cqe_sigerr *ptr_struct, FILE* file) {
+void connectib_sw_cqe_sigerr_dump(const struct connectib_sw_cqe_sigerr *ptr_struct, FILE* file)
+{
 	connectib_sw_cqe_sigerr_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_cqe_resize_pack(const struct connectib_sw_cqe_resize *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sw_cqe_resize_pack(const struct connectib_sw_cqe_resize *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_14);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_14);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_13);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_13);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_12);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_12);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_11);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_11);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_10);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_10);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_9);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_9);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_8);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_8);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_7);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_7);
 
-	offset=256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_6);
+	offset = 256;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_6);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_5);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_5);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_4);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_4);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_3);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_3);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->timestamp_h);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->timestamp_h);
 
-	offset=416;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->timestamp_l);
+	offset = 416;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->timestamp_l);
 
-	offset=448;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_2);
+	offset = 448;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_2);
 
-	offset=511;
+	offset = 511;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->owner);
 
-	offset=508;
+	offset = 508;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rsvd_1);
 
-	offset=504;
+	offset = 504;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->opcode);
 
-	offset=496;
+	offset = 496;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
 
-	offset=480;
+	offset = 480;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rsvd_0);
 
 }
 
-void connectib_sw_cqe_resize_unpack(struct connectib_sw_cqe_resize *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sw_cqe_resize_unpack(struct connectib_sw_cqe_resize *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->rsvd_14 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->rsvd_13 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->rsvd_12 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->rsvd_11 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->rsvd_10 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->rsvd_9 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
+	offset = 192;
 	ptr_struct->rsvd_8 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->rsvd_7 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=256;
+	offset = 256;
 	ptr_struct->rsvd_6 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=288;
+	offset = 288;
 	ptr_struct->rsvd_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
+	offset = 320;
 	ptr_struct->rsvd_4 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
+	offset = 352;
 	ptr_struct->rsvd_3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
+	offset = 384;
 	ptr_struct->timestamp_h = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=416;
+	offset = 416;
 	ptr_struct->timestamp_l = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=448;
+	offset = 448;
 	ptr_struct->rsvd_2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=511;
+	offset = 511;
 	ptr_struct->owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=508;
+	offset = 508;
 	ptr_struct->rsvd_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=504;
+	offset = 504;
 	ptr_struct->opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=496;
+	offset = 496;
 	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=480;
+	offset = 480;
 	ptr_struct->rsvd_0 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_sw_cqe_resize_print(const struct connectib_sw_cqe_resize *ptr_struct, FILE* file, int indent_level){
+void connectib_sw_cqe_resize_print(const struct connectib_sw_cqe_resize *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_sw_cqe_resize ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_14              : "U32H_FMT"\n", ptr_struct->rsvd_14);
+	fprintf(file, "rsvd_14              : " U32H_FMT "\n", ptr_struct->rsvd_14);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_13              : "U32H_FMT"\n", ptr_struct->rsvd_13);
+	fprintf(file, "rsvd_13              : " U32H_FMT "\n", ptr_struct->rsvd_13);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_12              : "U32H_FMT"\n", ptr_struct->rsvd_12);
+	fprintf(file, "rsvd_12              : " U32H_FMT "\n", ptr_struct->rsvd_12);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_11              : "U32H_FMT"\n", ptr_struct->rsvd_11);
+	fprintf(file, "rsvd_11              : " U32H_FMT "\n", ptr_struct->rsvd_11);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_10              : "U32H_FMT"\n", ptr_struct->rsvd_10);
+	fprintf(file, "rsvd_10              : " U32H_FMT "\n", ptr_struct->rsvd_10);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_9               : "U32H_FMT"\n", ptr_struct->rsvd_9);
+	fprintf(file, "rsvd_9               : " U32H_FMT "\n", ptr_struct->rsvd_9);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_8               : "U32H_FMT"\n", ptr_struct->rsvd_8);
+	fprintf(file, "rsvd_8               : " U32H_FMT "\n", ptr_struct->rsvd_8);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_7               : "U32H_FMT"\n", ptr_struct->rsvd_7);
+	fprintf(file, "rsvd_7               : " U32H_FMT "\n", ptr_struct->rsvd_7);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_6               : "U32H_FMT"\n", ptr_struct->rsvd_6);
+	fprintf(file, "rsvd_6               : " U32H_FMT "\n", ptr_struct->rsvd_6);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_5               : "U32H_FMT"\n", ptr_struct->rsvd_5);
+	fprintf(file, "rsvd_5               : " U32H_FMT "\n", ptr_struct->rsvd_5);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_4               : "U32H_FMT"\n", ptr_struct->rsvd_4);
+	fprintf(file, "rsvd_4               : " U32H_FMT "\n", ptr_struct->rsvd_4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_3               : "U32H_FMT"\n", ptr_struct->rsvd_3);
+	fprintf(file, "rsvd_3               : " U32H_FMT "\n", ptr_struct->rsvd_3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_h          : "U32H_FMT"\n", ptr_struct->timestamp_h);
+	fprintf(file, "timestamp_h          : " U32H_FMT "\n", ptr_struct->timestamp_h);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "timestamp_l          : "U32H_FMT"\n", ptr_struct->timestamp_l);
+	fprintf(file, "timestamp_l          : " U32H_FMT "\n", ptr_struct->timestamp_l);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_2               : "U32H_FMT"\n", ptr_struct->rsvd_2);
+	fprintf(file, "rsvd_2               : " U32H_FMT "\n", ptr_struct->rsvd_2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "owner                : "UH_FMT"\n", ptr_struct->owner);
+	fprintf(file, "owner                : " UH_FMT "\n", ptr_struct->owner);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_1               : "UH_FMT"\n", ptr_struct->rsvd_1);
+	fprintf(file, "rsvd_1               : " UH_FMT "\n", ptr_struct->rsvd_1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "opcode               : "UH_FMT"\n", ptr_struct->opcode);
+	fprintf(file, "opcode               : " UH_FMT "\n", ptr_struct->opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "UH_FMT"\n", ptr_struct->signature);
+	fprintf(file, "signature            : " UH_FMT "\n", ptr_struct->signature);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_0               : "UH_FMT"\n", ptr_struct->rsvd_0);
+	fprintf(file, "rsvd_0               : " UH_FMT "\n", ptr_struct->rsvd_0);
 
 }
 
-int connectib_sw_cqe_resize_size(void){
+int connectib_sw_cqe_resize_size(void)
+{
 	 return 64;
 }
 
-void connectib_sw_cqe_resize_dump(const struct connectib_sw_cqe_resize *ptr_struct, FILE* file) {
+void connectib_sw_cqe_resize_dump(const struct connectib_sw_cqe_resize *ptr_struct, FILE* file)
+{
 	connectib_sw_cqe_resize_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_cqe_error_pack(const struct connectib_sw_cqe_error *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sw_cqe_error_pack(const struct connectib_sw_cqe_error *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_14);
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->wqe_id);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->rsvd_14);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_13);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_13);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_12);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_12);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_11);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_11);
 
-	offset=128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_10);
+	offset = 128;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_10);
 
-	offset=160;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_9);
+	offset = 160;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_9);
 
-	offset=192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_8);
+	offset = 192;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_8);
 
-	offset=224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_7);
+	offset = 224;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_7);
 
-	offset=264;
+	offset = 264;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->srq_num);
 
-	offset=256;
+	offset = 256;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->rsvd_6);
 
-	offset=288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_5);
+	offset = 288;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_5);
 
-	offset=320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_4);
+	offset = 320;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_4);
 
-	offset=352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_3);
+	offset = 352;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->byte_cnt);
 
-	offset=384;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->rsvd_2);
+	offset = 384;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_2);
 
-	offset=440;
+	offset = 440;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->syndrome);
 
-	offset=432;
+	offset = 432;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vendor_error_syndrome);
 
-	offset=428;
+	offset = 428;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rsvd_1);
 
-	offset=424;
+	offset = 424;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->hw_syndrome_type);
 
-	offset=416;
+	offset = 416;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vendor_hw_syndrome);
 
-	offset=456;
+	offset = 456;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 24, (u_int32_t)ptr_struct->qpn);
 
-	offset=448;
+	offset = 448;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->swqe_opcode_drop_cntr);
 
-	offset=511;
+	offset = 511;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->owner);
 
-	offset=508;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->rsvd_0);
+	offset = 510;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->se);
+
+	offset = 508;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->rsvd_0);
 
-	offset=504;
+	offset = 504;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->rwqe_opcode);
 
-	offset=496;
+	offset = 496;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->signature);
 
-	offset=480;
+	offset = 480;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->wqe_counter);
 
 }
 
-void connectib_sw_cqe_error_unpack(struct connectib_sw_cqe_error *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sw_cqe_error_unpack(struct connectib_sw_cqe_error *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	ptr_struct->rsvd_14 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 16;
+	ptr_struct->wqe_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=32;
+	offset = 0;
+	ptr_struct->rsvd_14 = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 32;
 	ptr_struct->rsvd_13 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->rsvd_12 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->rsvd_11 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=128;
+	offset = 128;
 	ptr_struct->rsvd_10 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->rsvd_9 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=192;
+	offset = 192;
 	ptr_struct->rsvd_8 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=224;
+	offset = 224;
 	ptr_struct->rsvd_7 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=264;
+	offset = 264;
 	ptr_struct->srq_num = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=256;
+	offset = 256;
 	ptr_struct->rsvd_6 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=288;
+	offset = 288;
 	ptr_struct->rsvd_5 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=320;
+	offset = 320;
 	ptr_struct->rsvd_4 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=352;
-	ptr_struct->rsvd_3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	offset = 352;
+	ptr_struct->byte_cnt = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=384;
+	offset = 384;
 	ptr_struct->rsvd_2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=440;
+	offset = 440;
 	ptr_struct->syndrome = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=432;
+	offset = 432;
 	ptr_struct->vendor_error_syndrome = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=428;
+	offset = 428;
 	ptr_struct->rsvd_1 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=424;
+	offset = 424;
 	ptr_struct->hw_syndrome_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=416;
+	offset = 416;
 	ptr_struct->vendor_hw_syndrome = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=456;
+	offset = 456;
 	ptr_struct->qpn = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 24);
 
-	offset=448;
+	offset = 448;
 	ptr_struct->swqe_opcode_drop_cntr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=511;
+	offset = 511;
 	ptr_struct->owner = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=508;
-	ptr_struct->rsvd_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+	offset = 510;
+	ptr_struct->se = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=504;
+	offset = 508;
+	ptr_struct->rsvd_0 = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 504;
 	ptr_struct->rwqe_opcode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=496;
+	offset = 496;
 	ptr_struct->signature = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=480;
+	offset = 480;
 	ptr_struct->wqe_counter = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_sw_cqe_error_print(const struct connectib_sw_cqe_error *ptr_struct, FILE* file, int indent_level){
+void connectib_sw_cqe_error_print(const struct connectib_sw_cqe_error *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_sw_cqe_error ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_14              : "U32H_FMT"\n", ptr_struct->rsvd_14);
+	fprintf(file, "wqe_id               : " UH_FMT "\n", ptr_struct->wqe_id);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rsvd_14              : " UH_FMT "\n", ptr_struct->rsvd_14);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "rsvd_13              : " U32H_FMT "\n", ptr_struct->rsvd_13);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_13              : "U32H_FMT"\n", ptr_struct->rsvd_13);
+	fprintf(file, "rsvd_12              : " U32H_FMT "\n", ptr_struct->rsvd_12);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_12              : "U32H_FMT"\n", ptr_struct->rsvd_12);
+	fprintf(file, "rsvd_11              : " U32H_FMT "\n", ptr_struct->rsvd_11);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_11              : "U32H_FMT"\n", ptr_struct->rsvd_11);
+	fprintf(file, "rsvd_10              : " U32H_FMT "\n", ptr_struct->rsvd_10);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_10              : "U32H_FMT"\n", ptr_struct->rsvd_10);
+	fprintf(file, "rsvd_9               : " U32H_FMT "\n", ptr_struct->rsvd_9);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_9               : "U32H_FMT"\n", ptr_struct->rsvd_9);
+	fprintf(file, "rsvd_8               : " U32H_FMT "\n", ptr_struct->rsvd_8);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_8               : "U32H_FMT"\n", ptr_struct->rsvd_8);
+	fprintf(file, "rsvd_7               : " U32H_FMT "\n", ptr_struct->rsvd_7);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_7               : "U32H_FMT"\n", ptr_struct->rsvd_7);
+	fprintf(file, "srq_num              : " UH_FMT "\n", ptr_struct->srq_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "srq_num              : "UH_FMT"\n", ptr_struct->srq_num);
+	fprintf(file, "rsvd_6               : " UH_FMT "\n", ptr_struct->rsvd_6);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_6               : "UH_FMT"\n", ptr_struct->rsvd_6);
+	fprintf(file, "rsvd_5               : " U32H_FMT "\n", ptr_struct->rsvd_5);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_5               : "U32H_FMT"\n", ptr_struct->rsvd_5);
+	fprintf(file, "rsvd_4               : " U32H_FMT "\n", ptr_struct->rsvd_4);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_4               : "U32H_FMT"\n", ptr_struct->rsvd_4);
+	fprintf(file, "byte_cnt             : " U32H_FMT "\n", ptr_struct->byte_cnt);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_3               : "U32H_FMT"\n", ptr_struct->rsvd_3);
+	fprintf(file, "rsvd_2               : " U32H_FMT "\n", ptr_struct->rsvd_2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_2               : "U32H_FMT"\n", ptr_struct->rsvd_2);
+	fprintf(file, "syndrome             : " UH_FMT "\n", ptr_struct->syndrome);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "syndrome             : "UH_FMT"\n", ptr_struct->syndrome);
+	fprintf(file, "vendor_error_syndrome : " UH_FMT "\n", ptr_struct->vendor_error_syndrome);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vendor_error_syndrome : "UH_FMT"\n", ptr_struct->vendor_error_syndrome);
+	fprintf(file, "rsvd_1               : " UH_FMT "\n", ptr_struct->rsvd_1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_1               : "UH_FMT"\n", ptr_struct->rsvd_1);
+	fprintf(file, "hw_syndrome_type     : " UH_FMT "\n", ptr_struct->hw_syndrome_type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "hw_syndrome_type     : "UH_FMT"\n", ptr_struct->hw_syndrome_type);
+	fprintf(file, "vendor_hw_syndrome   : " UH_FMT "\n", ptr_struct->vendor_hw_syndrome);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vendor_hw_syndrome   : "UH_FMT"\n", ptr_struct->vendor_hw_syndrome);
+	fprintf(file, "qpn                  : " UH_FMT "\n", ptr_struct->qpn);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "qpn                  : "UH_FMT"\n", ptr_struct->qpn);
+	fprintf(file, "swqe_opcode_drop_cntr : " UH_FMT "\n", ptr_struct->swqe_opcode_drop_cntr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "swqe_opcode_drop_cntr : "UH_FMT"\n", ptr_struct->swqe_opcode_drop_cntr);
+	fprintf(file, "owner                : " UH_FMT "\n", ptr_struct->owner);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "owner                : "UH_FMT"\n", ptr_struct->owner);
+	fprintf(file, "se                   : " UH_FMT "\n", ptr_struct->se);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rsvd_0               : "UH_FMT"\n", ptr_struct->rsvd_0);
+	fprintf(file, "rsvd_0               : " UH_FMT "\n", ptr_struct->rsvd_0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "rwqe_opcode          : "UH_FMT"\n", ptr_struct->rwqe_opcode);
+	fprintf(file, "rwqe_opcode          : " UH_FMT "\n", ptr_struct->rwqe_opcode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature            : "UH_FMT"\n", ptr_struct->signature);
+	fprintf(file, "signature            : " UH_FMT "\n", ptr_struct->signature);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "wqe_counter          : "UH_FMT"\n", ptr_struct->wqe_counter);
+	fprintf(file, "wqe_counter          : " UH_FMT "\n", ptr_struct->wqe_counter);
 
 }
 
-int connectib_sw_cqe_error_size(void){
+int connectib_sw_cqe_error_size(void)
+{
 	 return 64;
 }
 
-void connectib_sw_cqe_error_dump(const struct connectib_sw_cqe_error *ptr_struct, FILE* file) {
+void connectib_sw_cqe_error_dump(const struct connectib_sw_cqe_error *ptr_struct, FILE* file)
+{
 	connectib_sw_cqe_error_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_cqe_128b_pack(const struct connectib_sw_cqe_128b *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sw_cqe_128b_pack(const struct connectib_sw_cqe_128b *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_grh_inline_data_pack(&(ptr_struct->grh_inline_data), ptr_buff + offset/8);
 
-	offset=512;
+	offset = 512;
 	connectib_sw_cqe_64b_pack(&(ptr_struct->cqe_64b), ptr_buff + offset/8);
 
 }
 
-void connectib_sw_cqe_128b_unpack(struct connectib_sw_cqe_128b *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sw_cqe_128b_unpack(struct connectib_sw_cqe_128b *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_grh_inline_data_unpack(&(ptr_struct->grh_inline_data), ptr_buff + offset/8);
 
-	offset=512;
+	offset = 512;
 	connectib_sw_cqe_64b_unpack(&(ptr_struct->cqe_64b), ptr_buff + offset/8);
 
 }
 
-void connectib_sw_cqe_128b_print(const struct connectib_sw_cqe_128b *ptr_struct, FILE* file, int indent_level){
+void connectib_sw_cqe_128b_print(const struct connectib_sw_cqe_128b *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_sw_cqe_128b ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -61642,373 +94061,385 @@ void connectib_sw_cqe_128b_print(const struct connectib_sw_cqe_128b *ptr_struct,
 
 }
 
-int connectib_sw_cqe_128b_size(void){
+int connectib_sw_cqe_128b_size(void)
+{
 	 return 128;
 }
 
-void connectib_sw_cqe_128b_dump(const struct connectib_sw_cqe_128b *ptr_struct, FILE* file) {
+void connectib_sw_cqe_128b_dump(const struct connectib_sw_cqe_128b *ptr_struct, FILE* file)
+{
 	connectib_sw_cqe_128b_print(ptr_struct, file, 0);
 }
 
-void connectib_itoc_entry_pack(const struct connectib_itoc_entry *ptr_struct, u_int8_t* ptr_buff){
+void connectib_itoc_entry_pack(const struct connectib_itoc_entry *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 22, (u_int32_t)ptr_struct->size);
 
-	offset=0;
+	offset = 0;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->type);
 
-	offset=34;
+	offset = 34;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->param0);
 
-	offset=33;
+	offset = 33;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cache_line_crc);
 
-	offset=32;
+	offset = 32;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->zipped_image);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->param1);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->param1);
 
-	offset=161;
+	offset = 161;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->flash_addr);
 
-	offset=160;
+	offset = 160;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->relative_addr);
 
-	offset=208;
+	offset = 208;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->section_crc);
 
-	offset=207;
+	offset = 207;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->no_crc);
 
-	offset=206;
+	offset = 206;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->device_data);
 
-	offset=240;
+	offset = 240;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->itoc_entry_crc);
 
 }
 
-void connectib_itoc_entry_unpack(struct connectib_itoc_entry *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_itoc_entry_unpack(struct connectib_itoc_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=8;
+	offset = 8;
 	ptr_struct->size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 22);
 
-	offset=0;
+	offset = 0;
 	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=34;
+	offset = 34;
 	ptr_struct->param0 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
 
-	offset=33;
+	offset = 33;
 	ptr_struct->cache_line_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->zipped_image = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->param1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=161;
+	offset = 161;
 	ptr_struct->flash_addr = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
 
-	offset=160;
+	offset = 160;
 	ptr_struct->relative_addr = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=208;
+	offset = 208;
 	ptr_struct->section_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
-	offset=207;
+	offset = 207;
 	ptr_struct->no_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=206;
+	offset = 206;
 	ptr_struct->device_data = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=240;
+	offset = 240;
 	ptr_struct->itoc_entry_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_itoc_entry_print(const struct connectib_itoc_entry *ptr_struct, FILE* file, int indent_level){
+void connectib_itoc_entry_print(const struct connectib_itoc_entry *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_itoc_entry ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "type                 : "UH_FMT"\n", ptr_struct->type);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "param0               : "UH_FMT"\n", ptr_struct->param0);
+	fprintf(file, "param0               : " UH_FMT "\n", ptr_struct->param0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "cache_line_crc       : "UH_FMT"\n", ptr_struct->cache_line_crc);
+	fprintf(file, "cache_line_crc       : " UH_FMT "\n", ptr_struct->cache_line_crc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "zipped_image         : "UH_FMT"\n", ptr_struct->zipped_image);
+	fprintf(file, "zipped_image         : " UH_FMT "\n", ptr_struct->zipped_image);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "param1               : "U32H_FMT"\n", ptr_struct->param1);
+	fprintf(file, "param1               : " U32H_FMT "\n", ptr_struct->param1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flash_addr           : "UH_FMT"\n", ptr_struct->flash_addr);
+	fprintf(file, "flash_addr           : " UH_FMT "\n", ptr_struct->flash_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "relative_addr        : "UH_FMT"\n", ptr_struct->relative_addr);
+	fprintf(file, "relative_addr        : " UH_FMT "\n", ptr_struct->relative_addr);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "section_crc          : "UH_FMT"\n", ptr_struct->section_crc);
+	fprintf(file, "section_crc          : " UH_FMT "\n", ptr_struct->section_crc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "no_crc               : "UH_FMT"\n", ptr_struct->no_crc);
+	fprintf(file, "no_crc               : " UH_FMT "\n", ptr_struct->no_crc);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "device_data          : "UH_FMT"\n", ptr_struct->device_data);
+	fprintf(file, "device_data          : " UH_FMT "\n", ptr_struct->device_data);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "itoc_entry_crc       : "UH_FMT"\n", ptr_struct->itoc_entry_crc);
+	fprintf(file, "itoc_entry_crc       : " UH_FMT "\n", ptr_struct->itoc_entry_crc);
 
 }
 
-int connectib_itoc_entry_size(void){
+int connectib_itoc_entry_size(void)
+{
 	 return 32;
 }
 
-void connectib_itoc_entry_dump(const struct connectib_itoc_entry *ptr_struct, FILE* file) {
+void connectib_itoc_entry_dump(const struct connectib_itoc_entry *ptr_struct, FILE* file)
+{
 	connectib_itoc_entry_print(ptr_struct, file, 0);
 }
 
-void connectib_itoc_header_pack(const struct connectib_itoc_header *ptr_struct, u_int8_t* ptr_buff){
+void connectib_itoc_header_pack(const struct connectib_itoc_header *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature0);
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature0);
 
-	offset=32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature1);
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature1);
 
-	offset=64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature2);
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature2);
 
-	offset=96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature3);
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature3);
 
-	offset=152;
+	offset = 152;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->version);
 
-	offset=240;
+	offset = 240;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->itoc_entry_crc);
 
 }
 
-void connectib_itoc_header_unpack(struct connectib_itoc_header *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_itoc_header_unpack(struct connectib_itoc_header *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	ptr_struct->signature0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=32;
+	offset = 32;
 	ptr_struct->signature1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=64;
+	offset = 64;
 	ptr_struct->signature2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=96;
+	offset = 96;
 	ptr_struct->signature3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
 
-	offset=152;
+	offset = 152;
 	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 
-	offset=240;
+	offset = 240;
 	ptr_struct->itoc_entry_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
 
 }
 
-void connectib_itoc_header_print(const struct connectib_itoc_header *ptr_struct, FILE* file, int indent_level){
+void connectib_itoc_header_print(const struct connectib_itoc_header *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_itoc_header ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature0           : "U32H_FMT"\n", ptr_struct->signature0);
+	fprintf(file, "signature0           : " U32H_FMT "\n", ptr_struct->signature0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature1           : "U32H_FMT"\n", ptr_struct->signature1);
+	fprintf(file, "signature1           : " U32H_FMT "\n", ptr_struct->signature1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature2           : "U32H_FMT"\n", ptr_struct->signature2);
+	fprintf(file, "signature2           : " U32H_FMT "\n", ptr_struct->signature2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature3           : "U32H_FMT"\n", ptr_struct->signature3);
+	fprintf(file, "signature3           : " U32H_FMT "\n", ptr_struct->signature3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "version              : "UH_FMT"\n", ptr_struct->version);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "itoc_entry_crc       : "UH_FMT"\n", ptr_struct->itoc_entry_crc);
+	fprintf(file, "itoc_entry_crc       : " UH_FMT "\n", ptr_struct->itoc_entry_crc);
 
 }
 
-int connectib_itoc_header_size(void){
+int connectib_itoc_header_size(void)
+{
 	 return 32;
 }
 
-void connectib_itoc_header_dump(const struct connectib_itoc_header *ptr_struct, FILE* file) {
+void connectib_itoc_header_dump(const struct connectib_itoc_header *ptr_struct, FILE* file)
+{
 	connectib_itoc_header_print(ptr_struct, file, 0);
 }
 
-void connectib_sw_wqe_pack(const struct connectib_sw_wqe *ptr_struct, u_int8_t* ptr_buff){
+void connectib_sw_wqe_pack(const struct connectib_sw_wqe *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_wqe_control_pack(&(ptr_struct->conrtol), ptr_buff + offset/8);
 
-	offset=128;
+	offset = 128;
 	connectib_wqe_mlx_pack(&(ptr_struct->mlx), ptr_buff + offset/8);
 
-	offset=256;
+	offset = 256;
 	connectib_wqe_xrc_pack(&(ptr_struct->xrc), ptr_buff + offset/8);
 
-	offset=384;
+	offset = 384;
 	connectib_wqe_address_vector_basic_pack(&(ptr_struct->address_vector_basic), ptr_buff + offset/8);
 
-	offset=512;
+	offset = 512;
 	connectib_wqe_address_vector_ext_pack(&(ptr_struct->address_vector_ext), ptr_buff + offset/8);
 
-	offset=768;
+	offset = 768;
 	connectib_wqe_rdma_read_pack(&(ptr_struct->rdma_read), ptr_buff + offset/8);
 
-	offset=896;
+	offset = 896;
 	connectib_wqe_atomic_cmp_swap_pack(&(ptr_struct->atomic_cmp_swap), ptr_buff + offset/8);
 
-	offset=1024;
+	offset = 1024;
 	connectib_wqe_extended_atomic_cmp_swap_pack(&(ptr_struct->ext_atom_cmp_swap), ptr_buff + offset/8);
 
-	offset=5120;
+	offset = 5120;
 	connectib_wqe_atomic_fetch_add_pack(&(ptr_struct->atomic_fetch_add), ptr_buff + offset/8);
 
-	offset=5248;
+	offset = 5248;
 	connectib_wqe_extended_atomic_fetch_add_pack(&(ptr_struct->ext_atom_fetch_add), ptr_buff + offset/8);
 
-	offset=7296;
+	offset = 7296;
 	connectib_wqe_signature_pack(&(ptr_struct->signature), ptr_buff + offset/8);
 
-	offset=7424;
+	offset = 7424;
 	connectib_wqe_srq_next_pack(&(ptr_struct->srq_next), ptr_buff + offset/8);
 
-	offset=7552;
+	offset = 7552;
 	connectib_wqe_gather_scatter_entry_pack(&(ptr_struct->gather_scatter_entry), ptr_buff + offset/8);
 
-	offset=7680;
+	offset = 7680;
 	connectib_wqe_inline_header_pack(&(ptr_struct->inline_header), ptr_buff + offset/8);
 
-	offset=7808;
+	offset = 7808;
 	connectib_wqe_eth_segment_pack(&(ptr_struct->eth_segment), ptr_buff + offset/8);
 
 }
 
-void connectib_sw_wqe_unpack(struct connectib_sw_wqe *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_sw_wqe_unpack(struct connectib_sw_wqe *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_wqe_control_unpack(&(ptr_struct->conrtol), ptr_buff + offset/8);
 
-	offset=128;
+	offset = 128;
 	connectib_wqe_mlx_unpack(&(ptr_struct->mlx), ptr_buff + offset/8);
 
-	offset=256;
+	offset = 256;
 	connectib_wqe_xrc_unpack(&(ptr_struct->xrc), ptr_buff + offset/8);
 
-	offset=384;
+	offset = 384;
 	connectib_wqe_address_vector_basic_unpack(&(ptr_struct->address_vector_basic), ptr_buff + offset/8);
 
-	offset=512;
+	offset = 512;
 	connectib_wqe_address_vector_ext_unpack(&(ptr_struct->address_vector_ext), ptr_buff + offset/8);
 
-	offset=768;
+	offset = 768;
 	connectib_wqe_rdma_read_unpack(&(ptr_struct->rdma_read), ptr_buff + offset/8);
 
-	offset=896;
+	offset = 896;
 	connectib_wqe_atomic_cmp_swap_unpack(&(ptr_struct->atomic_cmp_swap), ptr_buff + offset/8);
 
-	offset=1024;
+	offset = 1024;
 	connectib_wqe_extended_atomic_cmp_swap_unpack(&(ptr_struct->ext_atom_cmp_swap), ptr_buff + offset/8);
 
-	offset=5120;
+	offset = 5120;
 	connectib_wqe_atomic_fetch_add_unpack(&(ptr_struct->atomic_fetch_add), ptr_buff + offset/8);
 
-	offset=5248;
+	offset = 5248;
 	connectib_wqe_extended_atomic_fetch_add_unpack(&(ptr_struct->ext_atom_fetch_add), ptr_buff + offset/8);
 
-	offset=7296;
+	offset = 7296;
 	connectib_wqe_signature_unpack(&(ptr_struct->signature), ptr_buff + offset/8);
 
-	offset=7424;
+	offset = 7424;
 	connectib_wqe_srq_next_unpack(&(ptr_struct->srq_next), ptr_buff + offset/8);
 
-	offset=7552;
+	offset = 7552;
 	connectib_wqe_gather_scatter_entry_unpack(&(ptr_struct->gather_scatter_entry), ptr_buff + offset/8);
 
-	offset=7680;
+	offset = 7680;
 	connectib_wqe_inline_header_unpack(&(ptr_struct->inline_header), ptr_buff + offset/8);
 
-	offset=7808;
+	offset = 7808;
 	connectib_wqe_eth_segment_unpack(&(ptr_struct->eth_segment), ptr_buff + offset/8);
 
 }
 
-void connectib_sw_wqe_print(const struct connectib_sw_wqe *ptr_struct, FILE* file, int indent_level){
+void connectib_sw_wqe_print(const struct connectib_sw_wqe *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_sw_wqe ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -62074,29 +94505,33 @@ void connectib_sw_wqe_print(const struct connectib_sw_wqe *ptr_struct, FILE* fil
 
 }
 
-int connectib_sw_wqe_size(void){
+int connectib_sw_wqe_size(void)
+{
 	 return 1024;
 }
 
-void connectib_sw_wqe_dump(const struct connectib_sw_wqe *ptr_struct, FILE* file) {
+void connectib_sw_wqe_dump(const struct connectib_sw_wqe *ptr_struct, FILE* file)
+{
 	connectib_sw_wqe_print(ptr_struct, file, 0);
 }
 
 void connectib_ini_pack(const union connectib_ini *ptr_struct, u_int8_t* ptr_buff)
 {
-	connectib_nv_data_pack(&(ptr_struct->fw_nv_log), ptr_buff);
+	connectib_public_keys_pack(&(ptr_struct->public_keys), ptr_buff);
 }
 
 void connectib_ini_unpack(union connectib_ini *ptr_struct, const u_int8_t* ptr_buff)
 {
-	connectib_nv_data_unpack(&(ptr_struct->fw_nv_log), ptr_buff);
+	connectib_public_keys_unpack(&(ptr_struct->public_keys), ptr_buff);
 }
 
-void connectib_ini_print(const union connectib_ini *ptr_struct, FILE* file, int indent_level){
+void connectib_ini_print(const union connectib_ini *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_ini ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -62152,293 +94587,309 @@ void connectib_ini_print(const union connectib_ini *ptr_struct, FILE* file, int
 	fprintf(file, "fw_nv_log:\n");
 	connectib_nv_data_print(&(ptr_struct->fw_nv_log), file, indent_level + 1);
 
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "image_signature:\n");
+	connectib_image_signature_print(&(ptr_struct->image_signature), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "public_keys:\n");
+	connectib_public_keys_print(&(ptr_struct->public_keys), file, indent_level + 1);
+
 }
 
-int connectib_ini_size(void){
+int connectib_ini_size(void)
+{
 	 return 65536;
 }
 
-void connectib_ini_dump(const union connectib_ini *ptr_struct, FILE* file) {
+void connectib_ini_dump(const union connectib_ini *ptr_struct, FILE* file)
+{
 	connectib_ini_print(ptr_struct, file, 0);
 }
 
-void connectib_a2d_pack(const struct connectib_a2d *ptr_struct, u_int8_t* ptr_buff){
+void connectib_a2d_pack(const struct connectib_a2d *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->power_up);
 
-	offset=28;
+	offset = 28;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->clock_div);
 
-	offset=24;
+	offset = 24;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->probe_sel);
 
-	offset=22;
+	offset = 22;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->measure_mode);
 
-	offset=19;
+	offset = 19;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->clock_sel);
 
-	offset=18;
+	offset = 18;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->measure_polarity);
 
-	offset=62;
+	offset = 62;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->pad_out_sel);
 
-	offset=61;
+	offset = 61;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spike_direction);
 
-	offset=57;
+	offset = 57;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->dynamic_range);
 
-	offset=51;
+	offset = 51;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->measure_serdes_probe);
 
-	offset=50;
+	offset = 50;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->thermal_protect_en);
 
-	offset=85;
+	offset = 85;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->measure_value);
 
-	offset=84;
+	offset = 84;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->circuit_binary_done);
 
-	offset=83;
+	offset = 83;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->a2d_compare);
 
-	offset=82;
+	offset = 82;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->spike_detect);
 
-	offset=123;
+	offset = 123;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->stabilization_time);
 
-	offset=149;
+	offset = 149;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->measure_min);
 
-	offset=148;
+	offset = 148;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->measure_compare);
 
-	offset=181;
+	offset = 181;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->measure_max);
 
-	offset=213;
+	offset = 213;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->protect_value);
 
-	offset=212;
+	offset = 212;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->protect_polarity);
 
-	offset=245;
+	offset = 245;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 11, (u_int32_t)ptr_struct->calib_value);
 
 }
 
-void connectib_a2d_unpack(struct connectib_a2d *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_a2d_unpack(struct connectib_a2d *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=31;
+	offset = 31;
 	ptr_struct->power_up = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=28;
+	offset = 28;
 	ptr_struct->clock_div = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=24;
+	offset = 24;
 	ptr_struct->probe_sel = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
-	offset=22;
+	offset = 22;
 	ptr_struct->measure_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=19;
+	offset = 19;
 	ptr_struct->clock_sel = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=18;
+	offset = 18;
 	ptr_struct->measure_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=62;
+	offset = 62;
 	ptr_struct->pad_out_sel = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
-	offset=61;
+	offset = 61;
 	ptr_struct->spike_direction = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=57;
+	offset = 57;
 	ptr_struct->dynamic_range = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=51;
+	offset = 51;
 	ptr_struct->measure_serdes_probe = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
-	offset=50;
+	offset = 50;
 	ptr_struct->thermal_protect_en = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=85;
+	offset = 85;
 	ptr_struct->measure_value = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=84;
+	offset = 84;
 	ptr_struct->circuit_binary_done = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=83;
+	offset = 83;
 	ptr_struct->a2d_compare = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=82;
+	offset = 82;
 	ptr_struct->spike_detect = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=123;
+	offset = 123;
 	ptr_struct->stabilization_time = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
 
-	offset=149;
+	offset = 149;
 	ptr_struct->measure_min = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=148;
+	offset = 148;
 	ptr_struct->measure_compare = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=181;
+	offset = 181;
 	ptr_struct->measure_max = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=213;
+	offset = 213;
 	ptr_struct->protect_value = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
-	offset=212;
+	offset = 212;
 	ptr_struct->protect_polarity = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset=245;
+	offset = 245;
 	ptr_struct->calib_value = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 11);
 
 }
 
-void connectib_a2d_print(const struct connectib_a2d *ptr_struct, FILE* file, int indent_level){
+void connectib_a2d_print(const struct connectib_a2d *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_a2d ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "power_up             : "UH_FMT"\n", ptr_struct->power_up);
+	fprintf(file, "power_up             : " UH_FMT "\n", ptr_struct->power_up);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "clock_div            : "UH_FMT"\n", ptr_struct->clock_div);
+	fprintf(file, "clock_div            : " UH_FMT "\n", ptr_struct->clock_div);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "probe_sel            : "UH_FMT"\n", ptr_struct->probe_sel);
+	fprintf(file, "probe_sel            : " UH_FMT "\n", ptr_struct->probe_sel);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "measure_mode         : "UH_FMT"\n", ptr_struct->measure_mode);
+	fprintf(file, "measure_mode         : " UH_FMT "\n", ptr_struct->measure_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "clock_sel            : "UH_FMT"\n", ptr_struct->clock_sel);
+	fprintf(file, "clock_sel            : " UH_FMT "\n", ptr_struct->clock_sel);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "measure_polarity     : "UH_FMT"\n", ptr_struct->measure_polarity);
+	fprintf(file, "measure_polarity     : " UH_FMT "\n", ptr_struct->measure_polarity);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "pad_out_sel          : "UH_FMT"\n", ptr_struct->pad_out_sel);
+	fprintf(file, "pad_out_sel          : " UH_FMT "\n", ptr_struct->pad_out_sel);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spike_direction      : "UH_FMT"\n", ptr_struct->spike_direction);
+	fprintf(file, "spike_direction      : " UH_FMT "\n", ptr_struct->spike_direction);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "dynamic_range        : "UH_FMT"\n", ptr_struct->dynamic_range);
+	fprintf(file, "dynamic_range        : " UH_FMT "\n", ptr_struct->dynamic_range);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "measure_serdes_probe : "UH_FMT"\n", ptr_struct->measure_serdes_probe);
+	fprintf(file, "measure_serdes_probe : " UH_FMT "\n", ptr_struct->measure_serdes_probe);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "thermal_protect_en   : "UH_FMT"\n", ptr_struct->thermal_protect_en);
+	fprintf(file, "thermal_protect_en   : " UH_FMT "\n", ptr_struct->thermal_protect_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "measure_value        : "UH_FMT"\n", ptr_struct->measure_value);
+	fprintf(file, "measure_value        : " UH_FMT "\n", ptr_struct->measure_value);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "circuit_binary_done  : "UH_FMT"\n", ptr_struct->circuit_binary_done);
+	fprintf(file, "circuit_binary_done  : " UH_FMT "\n", ptr_struct->circuit_binary_done);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "a2d_compare          : "UH_FMT"\n", ptr_struct->a2d_compare);
+	fprintf(file, "a2d_compare          : " UH_FMT "\n", ptr_struct->a2d_compare);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "spike_detect         : "UH_FMT"\n", ptr_struct->spike_detect);
+	fprintf(file, "spike_detect         : " UH_FMT "\n", ptr_struct->spike_detect);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "stabilization_time   : "UH_FMT"\n", ptr_struct->stabilization_time);
+	fprintf(file, "stabilization_time   : " UH_FMT "\n", ptr_struct->stabilization_time);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "measure_min          : "UH_FMT"\n", ptr_struct->measure_min);
+	fprintf(file, "measure_min          : " UH_FMT "\n", ptr_struct->measure_min);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "measure_compare      : "UH_FMT"\n", ptr_struct->measure_compare);
+	fprintf(file, "measure_compare      : " UH_FMT "\n", ptr_struct->measure_compare);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "measure_max          : "UH_FMT"\n", ptr_struct->measure_max);
+	fprintf(file, "measure_max          : " UH_FMT "\n", ptr_struct->measure_max);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "protect_value        : "UH_FMT"\n", ptr_struct->protect_value);
+	fprintf(file, "protect_value        : " UH_FMT "\n", ptr_struct->protect_value);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "protect_polarity     : "UH_FMT"\n", ptr_struct->protect_polarity);
+	fprintf(file, "protect_polarity     : " UH_FMT "\n", ptr_struct->protect_polarity);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "calib_value          : "UH_FMT"\n", ptr_struct->calib_value);
+	fprintf(file, "calib_value          : " UH_FMT "\n", ptr_struct->calib_value);
 
 }
 
-int connectib_a2d_size(void){
+int connectib_a2d_size(void)
+{
 	 return 32;
 }
 
-void connectib_a2d_dump(const struct connectib_a2d *ptr_struct, FILE* file) {
+void connectib_a2d_dump(const struct connectib_a2d *ptr_struct, FILE* file)
+{
 	connectib_a2d_print(ptr_struct, file, 0);
 }
 
-void connectib_icmd_pack(const struct connectib_icmd *ptr_struct, u_int8_t* ptr_buff){
+void connectib_icmd_pack(const struct connectib_icmd *ptr_struct, u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_icmd_cmd_pack(&(ptr_struct->cmd), ptr_buff + offset/8);
 
-	offset=8064;
+	offset = 8064;
 	connectib_icmd_ctrl_pack(&(ptr_struct->ctrl), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_unpack(struct connectib_icmd *ptr_struct, const u_int8_t* ptr_buff){
+void connectib_icmd_unpack(struct connectib_icmd *ptr_struct, const u_int8_t* ptr_buff)
+{
 	u_int32_t offset;
-	int i=0;
-	u_int8_t val=0;
-	(void)val;
+	int i = 0;
 	(void)offset;
 	(void)i;
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset=0;
+	offset = 0;
 	connectib_icmd_cmd_unpack(&(ptr_struct->cmd), ptr_buff + offset/8);
 
-	offset=8064;
+	offset = 8064;
 	connectib_icmd_ctrl_unpack(&(ptr_struct->ctrl), ptr_buff + offset/8);
 
 }
 
-void connectib_icmd_print(const struct connectib_icmd *ptr_struct, FILE* file, int indent_level){
+void connectib_icmd_print(const struct connectib_icmd *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_icmd ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -62452,11 +94903,13 @@ void connectib_icmd_print(const struct connectib_icmd *ptr_struct, FILE* file, i
 
 }
 
-int connectib_icmd_size(void){
+int connectib_icmd_size(void)
+{
 	 return 1024;
 }
 
-void connectib_icmd_dump(const struct connectib_icmd *ptr_struct, FILE* file) {
+void connectib_icmd_dump(const struct connectib_icmd *ptr_struct, FILE* file)
+{
 	connectib_icmd_print(ptr_struct, file, 0);
 }
 
@@ -62470,11 +94923,13 @@ void connectib_sw_cqe_unpack(union connectib_sw_cqe *ptr_struct, const u_int8_t*
 	connectib_sw_cqe_sigerr_unpack(&(ptr_struct->cqe_sigerr), ptr_buff);
 }
 
-void connectib_sw_cqe_print(const union connectib_sw_cqe *ptr_struct, FILE* file, int indent_level){
+void connectib_sw_cqe_print(const union connectib_sw_cqe *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_sw_cqe ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -62500,11 +94955,13 @@ void connectib_sw_cqe_print(const union connectib_sw_cqe *ptr_struct, FILE* file
 
 }
 
-int connectib_sw_cqe_size(void){
+int connectib_sw_cqe_size(void)
+{
 	 return 128;
 }
 
-void connectib_sw_cqe_dump(const union connectib_sw_cqe *ptr_struct, FILE* file) {
+void connectib_sw_cqe_dump(const union connectib_sw_cqe *ptr_struct, FILE* file)
+{
 	connectib_sw_cqe_print(ptr_struct, file, 0);
 }
 
@@ -62518,11 +94975,13 @@ void connectib_itoc_unpack(union connectib_itoc *ptr_struct, const u_int8_t* ptr
 	connectib_itoc_entry_unpack(&(ptr_struct->entry), ptr_buff);
 }
 
-void connectib_itoc_print(const union connectib_itoc *ptr_struct, FILE* file, int indent_level){
+void connectib_itoc_print(const union connectib_itoc *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_itoc ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -62536,11 +94995,13 @@ void connectib_itoc_print(const union connectib_itoc *ptr_struct, FILE* file, in
 
 }
 
-int connectib_itoc_size(void){
+int connectib_itoc_size(void)
+{
 	 return 32;
 }
 
-void connectib_itoc_dump(const union connectib_itoc *ptr_struct, FILE* file) {
+void connectib_itoc_dump(const union connectib_itoc *ptr_struct, FILE* file)
+{
 	connectib_itoc_print(ptr_struct, file, 0);
 }
 
@@ -62554,11 +95015,13 @@ void connectib_connectib_Nodes_unpack(union connectib_connectib_Nodes *ptr_struc
 	connectib_sw_eqe_unpack(&(ptr_struct->sw_eqe), ptr_buff);
 }
 
-void connectib_connectib_Nodes_print(const union connectib_connectib_Nodes *ptr_struct, FILE* file, int indent_level){
+void connectib_connectib_Nodes_print(const union connectib_connectib_Nodes *ptr_struct, FILE* file, int indent_level)
+{
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "======== connectib_connectib_Nodes ========\n");
-	int i=0;
-	(void)i;(void)ptr_struct;
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
 	(void)file;
 	(void)indent_level;
 
@@ -62600,11 +95063,13 @@ void connectib_connectib_Nodes_print(const union connectib_connectib_Nodes *ptr_
 
 }
 
-int connectib_connectib_Nodes_size(void){
+int connectib_connectib_Nodes_size(void)
+{
 	 return 65536;
 }
 
-void connectib_connectib_Nodes_dump(const union connectib_connectib_Nodes *ptr_struct, FILE* file) {
+void connectib_connectib_Nodes_dump(const union connectib_connectib_Nodes *ptr_struct, FILE* file)
+{
 	connectib_connectib_Nodes_print(ptr_struct, file, 0);
 }
 
diff --git a/tools_layouts/connectib_layouts.h b/tools_layouts/connectib_layouts.h
index 320752a..9aeb646 100644
--- a/tools_layouts/connectib_layouts.h
+++ b/tools_layouts/connectib_layouts.h
@@ -29,12 +29,13 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
+ 
 
 /***
- *** This file was generated at "2015-06-17 12:05:31"
- *** by:
- ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/connectib/connectib.adb --file-prefix connectib --prefix connectib_
- ***/
+         *** This file was generated at "2017-03-19 12:09:18"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/connectib/connectib.adb --file-prefix connectib --prefix connectib_
+         ***/
 #ifndef CONNECTIB_LAYOUTS_H
 #define CONNECTIB_LAYOUTS_H
 
@@ -44,11 +45,82 @@ extern "C" {
 #endif
 
 #include "adb_to_c_utils.h"/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_cmdif_ctx_special_qp_commands_uapp {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - uapp_qp_buf_id */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t uapp_qp_buf_id;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - used when qp is attached to xrq- MUST BE AT LAST DWORD OF SPECIAL CTX */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t sw_wq_mkn;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - used when qp is attached to xrq- MUST BE AT LAST DWORD OF SPECIAL CTX */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t num_nim_indicies_allocated;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_cmdif_ctx_special_qp_commands_underlay {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t ste_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_regular_qp_eth {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - points to head qp that holds the rq state */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t rq_head_qpn;
+	/* Description -  */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t lag_tx_port_affinity;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_regular_qp_ipoib {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t underlay_qp_ste_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+union connectib_cmdif_ctx_special_qp_commands_inner {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_cmdif_ctx_special_qp_commands_underlay underlay_qp;
+	/* Description -  */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_cmdif_ctx_special_qp_commands_uapp uapp;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_pmlp_code_style_lane {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t module_num;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to a local port. */
+	/* 0x0.16 - 0x0.17 */
+	 u_int8_t module_lane;
+};
+
+/* Description -   */
 /* Size in bytes - 4 */
 struct connectib_dw {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t dw;
 };
 
@@ -57,13 +129,13 @@ struct connectib_dw {
 struct connectib_nv_tlv_type_nvlog {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t parameter_index;
 	/* Description -  */
-	/* 0.16 - 0.23 */
+	/* 0x0.16 - 0x0.23 */
 	 u_int8_t sub_class;
 	/* Description -  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t class_;
 };
 
@@ -72,16 +144,16 @@ struct connectib_nv_tlv_type_nvlog {
 struct connectib_nv_tlv_type_eswitch {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t parameter_index;
 	/* Description -  */
-	/* 0.16 - 0.17 */
+	/* 0x0.16 - 0x0.17 */
 	 u_int8_t port;
 	/* Description -  */
-	/* 0.18 - 0.23 */
+	/* 0x0.18 - 0x0.23 */
 	 u_int8_t host;
 	/* Description -  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t class_;
 };
 
@@ -90,16 +162,16 @@ struct connectib_nv_tlv_type_eswitch {
 struct connectib_nv_tlv_type_per_host {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.9 */
+	/* 0x0.0 - 0x0.9 */
 	 u_int16_t parameter_index;
 	/* Description -  */
-	/* 0.10 - 0.17 */
+	/* 0x0.10 - 0x0.17 */
 	 u_int8_t function;
 	/* Description -  */
-	/* 0.18 - 0.23 */
+	/* 0x0.18 - 0x0.23 */
 	 u_int8_t host;
 	/* Description -  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t class_;
 };
 
@@ -108,16 +180,16 @@ struct connectib_nv_tlv_type_per_host {
 struct connectib_nv_tlv_type_bmc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.12 */
+	/* 0x0.0 - 0x0.12 */
 	 u_int16_t parameter_index;
 	/* Description -  */
-	/* 0.13 - 0.17 */
+	/* 0x0.13 - 0x0.17 */
 	 u_int8_t channel;
 	/* Description -  */
-	/* 0.18 - 0.23 */
+	/* 0x0.18 - 0x0.23 */
 	 u_int8_t host;
 	/* Description -  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t class_;
 };
 
@@ -126,13 +198,13 @@ struct connectib_nv_tlv_type_bmc {
 struct connectib_nv_tlv_type_physical_port {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t parameter_index;
 	/* Description -  */
-	/* 0.16 - 0.23 */
+	/* 0x0.16 - 0x0.23 */
 	 u_int8_t port;
 	/* Description -  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t class_;
 };
 
@@ -141,18115 +213,24442 @@ struct connectib_nv_tlv_type_physical_port {
 struct connectib_nv_tlv_type_global {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
+	/* 0x0.0 - 0x0.23 */
 	 u_int32_t parameter_index;
 	/* Description -  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t class_;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_uint64 {
+/* Size in bytes - 4 */
+union connectib_regular_qp_sub_type {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t hi;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_regular_qp_ipoib ipoib;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t lo;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_regular_qp_eth eth;
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_dcr_qp {
+struct connectib_cmdif_ctx_special_qp_commands_other {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t gb_first_psn;
+	/* Description - next sqn to allocate pages in sq qplist hop3  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t next_sqn_for_4page_allocate;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.23 */
-	 u_int32_t gb_last_psn;
-	/* Description -  */
-	/* 4.24 - 4.24 */
-	 u_int8_t is_gb;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 8.23 */
-	 u_int32_t reconnect_ack_psn;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - tells when DCR cleanup turned off the heartbeat of this DCR */
-	/* 12.0 - 16.31 */
-	 u_int32_t dcr_heartbeat_clr_timestamp;
+	/* 0x4.0 - 0x10.31 */
+	 union connectib_cmdif_ctx_special_qp_commands_inner inner;
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_regular_qp {
+struct connectib_cmdif_ctx_special_qp_commands_rts2rts {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Counter for retries (FW attempts recovery) on DS_EXCEEDS_PI error. this is a WA for and ordering issue seen with recovery DBs getting wrong PI */
-	/* 0.0 - 0.3 */
-	 u_int8_t ds_exceeds_pi_retries;
-	/* Description - 0 - idle, 1 - pending, 2- armed */
-	/* 0.4 - 0.5 */
-	 u_int8_t dc_access_key_violation_count_state;
-	/* Description - automatic path migration state
-    APM_STATE_ARMED = 0x0,
-    APM_STATE_REARM = 0x1,
-    APM_STATE_MIGRATED = 0x3
- */
-	/* 0.6 - 0.7 */
-	 u_int8_t pm_state;
-	/* Description - is current requester retransmission first wqe rdma read */
-	/* 0.10 - 0.10 */
-	 u_int8_t req_retrans_is_rdma_read;
-	/* Description - issi=1 and old user lib, getting user_index=ffffff from sw */
-	/* 0.11 - 0.11 */
-	 u_int8_t invalid_user_index;
-	/* Description -  */
-	/* 0.16 - 0.19 */
-	 u_int8_t xport_retry_counter;
-	/* Description -  */
-	/* 0.20 - 0.23 */
-	 u_int8_t xport_retry_limit;
-	/* Description -  */
-	/* 0.24 - 0.27 */
-	 u_int8_t rnr_retry_counter;
-	/* Description -  */
-	/* 0.28 - 4.31 */
-	 u_int8_t rnr_retry_limit;
+	/* Description - rts2rts:  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t new_cqn_rcv;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - points to head qp that holds the rq state */
-	/* 4.0 - 4.23 */
-	 u_int32_t rq_head_qpn;
-	/* Description - indicate command is waiting. indicate the slot num. */
-	/* 4.24 - 8.31 */
-	 u_int8_t cmdif_entry_ix;
+	/* Description - rts2rts:  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t new_srqn_rmpn;
+	/* Description - rts2rts:  */
+	/* 0x4.24 - 0x4.27 */
+	 u_int8_t srq_cre_type;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t dc_access_key_violation_count;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 12.23 */
-	 u_int32_t sw_uar;
+	/* Description - rts2rts: union params2assign_u qp_params */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t qp_params;
 };
 
 /* Description -   */
-/* Size in bytes - 1 */
-struct connectib_schedint_cause {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t clear_all_causes;
+/* Size in bytes - 36 */
+struct connectib_pmlp_code_style {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0 - unmap local port
+1 - x1 (lane 0 is used)
+2 - x2 (lanes 0,1 are used)
+4 - x4 (lanes 0,  1,2 and 3 are used)
+Other - reserved */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t width;
+	/* Description - Local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t schedint_destroy_qp;
+	/* 0x4.0 - 0x14.31 */
+	 struct connectib_pmlp_code_style_lane local_lane[4];
+};
+
+/* Description -   */
+/* Size in bytes - 36 */
+struct connectib_pmlp_prm_style {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0 - unmap local port
+1 - x1 (lane 0 is used)
+2 - x2 (lanes 0,1 are used)
+4 - x4 (lanes 0,  1,2 and 3 are used)
+Other - reserved */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t width;
+	/* Description - Local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t schedint_qp_flush;
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t module0;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to a local port. */
+	/* 0x4.16 - 0x4.17 */
+	 u_int8_t lane0;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t schedint_apm;
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t module1;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to a local port. */
+	/* 0x8.16 - 0x8.17 */
+	 u_int8_t lane1;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t schedint_duplicate;
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t module2;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to a local port. */
+	/* 0xc.16 - 0xc.17 */
+	 u_int8_t lane2;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t schedint_ud_sl_diff;
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t module3;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to a local port. */
+	/* 0x10.16 - 0x10.17 */
+	 u_int8_t lane3;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_hw_msix_context_data0 {
+/* Size in bytes - 16 */
+struct connectib_register_access_data_reduced {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t data;
+	/* Description - Real size can be larger than 0x20. Size is extracted from TLV */
+	/* 0x0.0 - 0x10.31 */
+	 u_int32_t dword[4];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_ste_tag_generic_headers {
+/* Size in bytes - 12 */
+struct connectib_nv_tlv_hdr {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.28 - 4.31 */
-	 u_int8_t dword_select_valid;
+	/* Description - Size of configuration item data in bytes (not including header). Must be between 0 and 256 */
+	/* 0x0.0 - 0x0.8 */
+	 u_int16_t length;
+	/* Description - tlv writer host index */
+	/* 0x0.9 - 0x0.11 */
+	 u_int8_t writer_host_id;
+	/* Description - Configuration item version - defines the data structure following the header (together with the type field). See configuration items definitions */
+	/* 0x0.12 - 0x0.15 */
+	 u_int8_t version;
+	/* Description - Writer ID */
+	/* 0x0.16 - 0x0.20 */
+	 u_int8_t writer_id;
+	/* Description - Choose - read current values or user defined values: 0x0 - user defined values
+ 0x1 - current values ( values that are loaded in last boot)
+ */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t read_current;
+	/* Description - Choose - read default values or user defined values: 0x0 - user defined values
+ 0x1 - default values
+ */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t read_default;
+	/* Description - Controls the read operation of non-FW entities.
+0 - TLV can be read.
+1 - TLV cannot be read */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t rd_en;
+	/* Description - Enables overwriting a TLV by lower priorities.
+00 - Only written during equal or higher priority.
+01 - Allowed to be over-written by the next level priority.
+10 - Allowed to be overwritten at any stage */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t ovr_en;
+	/* Description - Encodes the storage element Header Format
+00 - Only Header is protected by CRC
+01 - Header and Data are protected by CRC
+10 - reserved
+11 - reserved */
+	/* 0x0.26 - 0x0.27 */
+	 u_int8_t header_type;
+	/* Description - Defines the allowed access to the data element
+00 - Written only during Mellanox production stage
+01 - Written during Mellanox production and OEM production stage
+10 - written at any stage
+11 - Reserved */
+	/* 0x0.28 - 0x0.29 */
+	 u_int8_t priority;
+	/* Description - Encodes the data element validity
+11 - Free (no data esists)
+10 - Valid data
+00 - Invalidated data element, should be skipped
+01 - Illegal, treated as Invalidated data element */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t valid;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t dword_select;
+	/* Description - Configuration item type */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t type;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Encodes the data integrity check of the data element.
+Note: in some elements only encodes the header into the CRC16, as defined in the header type field */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t crc16;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_ste_tag_port {
+/* Size in bytes - 4 */
+union connectib_nv_tlv_type {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t port;
-	/* Description -  */
-	/* 0.12 - 0.12 */
-	 u_int8_t grh;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_tlv_type_global global;
 	/* Description -  */
-	/* 0.13 - 0.13 */
-	 u_int8_t bth;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_tlv_type_physical_port physical_port;
 	/* Description -  */
-	/* 0.14 - 0.15 */
-	 u_int8_t qp_type;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_tlv_type_bmc bmc;
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t sx_sniffer;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_tlv_type_per_host per_host;
 	/* Description -  */
-	/* 0.29 - 0.29 */
-	 u_int8_t force_lb;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_tlv_type_eswitch eswitch;
 	/* Description -  */
-	/* 0.30 - 0.30 */
-	 u_int8_t func_lb;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_tlv_type_nvlog nvlog;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t multicast;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_dw as_dw;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_ste_tag_source_gvmi_qp {
+/* Size in bytes - 32 */
+struct connectib_register_access_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t source_gvmi;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.23 */
-	 u_int32_t source_qp;
-	/* Description -  */
-	/* 4.24 - 4.24 */
-	 u_int8_t source_is_requestor;
+	/* Description - Real size can be larger than 0x20. Size is extracted from TLV */
+	/* 0x0.0 - 0x20.31 */
+	 u_int32_t dword[8];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_ste_tag_ib_l4 {
+/* Size in bytes - 12 */
+struct connectib_mfba_header {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t dest_qp;
+	/* Description - Flash Select */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t fs;
+	/* Description - Parallel */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t p;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t pkey;
+	/* Description - Transaction size */
+	/* 0x4.0 - 0x4.8 */
+	 u_int16_t size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - address in bytes */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t address;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_ste_tag_ib_l3 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -   */
-	/* 0.0 - 4.31 */
-	 u_int32_t dgid_127_96;
+/* Size in bytes - 12 */
+struct connectib_pmmp_sfp_protocol_override_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 10G Ethernet Compliance Codes
+Override byte3 per SFF-8472:
+Bit 7 - 10G Base-ER 
+Bit 6 - 10G Base-LRM 
+Bit 5 - 10G Base-LR 
+Bit 4 - 10G Base-SR */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t tengig_ethernet_compliance_code;
+	/* Description - SFP+ Cable Technology
+Override byte8 per SFF-8472:
+Bit 3 - Active Cable
+Bit 2 - Passive Cable */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t cable_technology;
+	/* Description - Override byte12 per SFF-8472
+The nominal bit (signaling) rate (BR, nominal) is specified in 
+units of 100 MBd, rounded off to the nearest 100 MBd.
+A value of FFh indicates the bit rate is greater than 25.0Gb/s */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t bit_rate;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -   */
-	/* 4.0 - 8.31 */
-	 u_int32_t dgid_95_64;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -   */
-	/* 8.0 - 12.31 */
-	 u_int32_t dgid_63_32;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -   */
-	/* 12.0 - 16.31 */
-	 u_int32_t dgid_31_0;
+	/* Description - Ethernet Compliance Codes 
+Override byte6 per SFF-8472:
+Bit 7 - BASE-PX 
+Bit 6 - BASE-BX10 
+Bit 5 - 100BASE-FX 
+Bit 4 - 100BASE-LX/LX10 
+Bit 3 - 1000BASE-T 
+Bit 2 - 1000BASE-CX 
+Bit 1 - 1000BASE-LX 
+Bit 0 - 1000BASE-SX */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t ethernet_compliance_code;
+	/* Description - Extended Specification Compliance Codes (25GE) 
+Override byte36 per SFF-8472:
+0 - Unspecified
+1 - 100G AOC (Active Optical Cable) or 25GAUI C2M AOC 
+with FEC
+2 - 100GBASE-SR4 or 25GBASE-SR
+3 - 100GBASE-LR4 or 25GBASE-LR
+4 - 100GBASE-ER4 or 25GBASE-ER
+5 - 100GBASE-SR10
+6 - 100G CWDM4
+7 - 100G PSM4 Parallel SMF
+8 - 100G ACC (Active Copper Cable) or 25GAUI C2M ACC. 
+with FEC
+11 - 100GBASE-CR4 or 25GBASE-CR CA-L
+12 - 25GBASE-CR CA-S
+13 - 25GBASE-CR CA-N
+16 - 40GBASE-ER4
+17 - 4 x 10GBASE-SR
+18 - 40G PSM4 Parallel SMF
+19 - G959.1 profile P1I1-2D1 (10709 MBd, 2km, 1310nm SM)
+20 - G959.1 profile P1S1-2D2 (10709 MBd, 40km, 1550nm SM)
+21 - G959.1 profile P1L1-2D2 (10709 MBd, 80km, 1550nm SM)
+22 - 10GBASE-T with SFI electrical interface
+23 - 100G CLR4
+24 - 100G AOC or 25GAUI C2M AOC. No FEC
+25 - 100G ACC or 25GAUI C2M ACC. No FEC */
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t ext_ethernet_compliance_code;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_ste_tag_ib_l3_extended {
+/* Size in bytes - 12 */
+struct connectib_pmmp_qsfp_protocol_override_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Ethernet Compliance Codes bit mask (10/40G/100G)
+Override byte131 per SFF-8636:
+Bit 7 - Extended Specification Compliance valid
+Bit 6 - 10GBASE-LRM
+Bit 5 - 10GBASE-LR
+Bit 4 - 10GBASE-SR
+Bit 3 - 40GBASE-CR4
+Bit 2 - 40GBASE-SR4
+Bit 1 - 40GBASE-LR4
+Bit 0 - 40G Active Cable (XLPPI) */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t ethernet_compliance_code;
+	/* Description - Override of byte113 per SFF-8636:
+Bit 6-4 (Far End):
+0 - Far end is unspecified
+1 - Cable with single far end with 4 channels implemented, or 
+separable module with 4-channel connector
+2 - Cable with single far end with 2 channels implemented, or 
+separable module with 2-channel connector
+3 - Cable with single far end with 1 channel implemented, or sep
+arable module with 1-channel connector
+4 - 4 far ends with 1 channel implemented in each (i.e. 4x1 break 
+out)
+5 - 2 far ends with 2 channels implemented in each (i.e. 2x2 
+break out)
+6 - 2 far ends with 1 channel implemented in each (i.e. 2x1 break 
+out)
+Bit 3-0 (Near End)
+Bit 0 - Channel 1 implementation 
+Bit 1 - Channel 2 implementation
+Bit 2 - Channel 3 implementation
+Bit 3 - Channel 4 implementation
+for each channel:
+0 - Channel implemented 
+1 - Channel not - implemented */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t cable_breakout;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Gigabit Ethernet Compliance Codes 
+Override byte134 per SFF-8636:
+Bit 3 - 1000BASE-T
+Bit 2 - 1000BASE-CX
+Bit 1 - 1000BASE-LX
+Bit 0 - 1000BASE-SX */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t giga_ethernet_compliance_code;
+	/* Description - Extended Specification Compliance Codes 
+Override byte192 per SFF-8636:
+0 - Unspecified
+1 - 100G AOC (Active Optical Cable) or 25GAUI C2M AOC 
+with FEC
+2 - 100GBASE-SR4 or 25GBASE-SR
+3 - 100GBASE-LR4 or 25GBASE-LR
+4 - 100GBASE-ER4 or 25GBASE-ER
+5 - 100GBASE-SR10
+6 - 100G CWDM4
+7 - 100G PSM4 Parallel SMF
+8 - 100G ACC (Active Copper Cable) or 25GAUI C2M ACC. 
+with FEC
+11 - 100GBASE-CR4 or 25GBASE-CR CA-L
+12 - 25GBASE-CR CA-S
+13 - 25GBASE-CR CA-N
+16 - 40GBASE-ER4
+17 - 4 x 10GBASE-SR
+18 - 40G PSM4 Parallel SMF
+19 - G959.1 profile P1I1-2D1 (10709 MBd, 2km, 1310nm SM)
+20 - G959.1 profile P1S1-2D2 (10709 MBd, 40km, 1550nm SM)
+21 - G959.1 profile P1L1-2D2 (10709 MBd, 80km, 1550nm SM)
+22 - 10GBASE-T with SFI electrical interface
+23 - 100G CLR4
+24 - 100G AOC or 25GAUI C2M AOC. No FEC
+25 - 100G ACC or 25GAUI C2M ACC. No FEC */
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t ext_ethernet_compliance_code;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+struct connectib_pcie_timers_states {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.19 */
-	 u_int32_t flow_label;
-	/* Description -  */
-	/* 0.20 - 0.23 */
-	 u_int8_t sl;
-	/* Description -  */
-	/* 0.24 - 4.31 */
-	 u_int8_t traffic_class;
+	/* Description - [Internal] 
+Life time counter - can't be cleared. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t life_time_counter_high;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t pkey;
-	/* Description -  */
-	/* 4.28 - 4.28 */
-	 u_int8_t dceth_complete;
-	/* Description -  */
-	/* 4.29 - 4.29 */
-	 u_int8_t deth_complete;
-	/* Description -  */
-	/* 4.30 - 4.30 */
-	 u_int8_t bth_complete;
-	/* Description -  */
-	/* 4.31 - 8.31 */
-	 u_int8_t ip_version;
+	/* Description - [Internal] 
+Life time counter - can't be cleared. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t life_time_counter_low;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 8.0 - 12.31 */
-	 u_int32_t qkey_dc_access_key_63_32;
+	/* Description - Time form start until FW boot image starts running in 
+usec. 
+Note: can't be cleared. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t time_to_boot_image_start;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 12.0 - 16.31 */
-	 u_int32_t qkey_dc_access_key_31_0;
+	/* Description - Time form start until FW pci_link image starts running 
+in usec. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t time_to_link_image;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Time it took FW to do calibration in usec. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t calibration_time;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Time form start until FW handle first prest */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t time_to_first_perst;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Time form start until first transition to LTSSM.Detect_Q */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t time_to_detect_state;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Time form start until first transition to LTSSM.L0 */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t time_to_l0;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Time form start until crs is enabled */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t time_to_crs_en;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - Time form start until FW plastic image starts running in 
+usec. */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t time_to_plastic_image_start;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Time form start until FW iron image starts running in 
+usec. */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t time_to_iron_image_start;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - Number of persts arrived */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t perst_handler;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - Number of times LTSSM entered L1 flow */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t times_in_l1;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - Number of times LTSSM entered L23 flow */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t times_in_l23;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - Number of moves for DL_active to DL_down */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t dl_down;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - Number of configuration requests that FW handled in 
+less then 1 usec */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t config_cycle1usec;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - Number of configuration requests that FW handled 
+within 2 to 7 usec */
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t config_cycle2to7usec;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - Number of configuration requests that FW handled 
+within 8 to 15 usec */
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t config_cycle8to15usec;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - Number of configuration requests that FW handled 
+within 16 to 63 usec */
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t config_cycle16to63usec;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - Number of configuration requests that FW handled took 
+more than 64 usec */
+	/* 0x4c.0 - 0x50.31 */
+	 u_int32_t config_cycle64usec;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - Number of correctable error msg sent */
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t correctable_err_msg_sent;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description - Number of Non-Fatal error msg sent */
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t non_fatal_err_msg_sent;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - Number of Fatal error msg sent */
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t fatal_err_msg_sent;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_ste_tag_ib_l2 {
+/* Size in bytes - 248 */
+struct connectib_pcie_lanes_counters {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - [Internal] 
+Life time counter - can't be cleared. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t life_time_counter_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - [Internal] 
+Life time counter - can't be cleared. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t life_time_counter_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Number of errors detected on logical lane 0 */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t error_counter_lane0;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Number of errors detected on logical lane 1 */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t error_counter_lane1;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Number of errors detected on logical lane 2 */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t error_counter_lane2;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Number of errors detected on logical lane 3 */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t error_counter_lane3;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Number of errors detected on logical lane 4 */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t error_counter_lane4;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Number of errors detected on logical lane 5 */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t error_counter_lane5;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Number of errors detected on logical lane 6 */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t error_counter_lane6;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - Number of errors detected on logical lane 7 */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t error_counter_lane7;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Number of errors detected on logical lane 8 */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t error_counter_lane8;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - Number of errors detected on logical lane 9 */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t error_counter_lane9;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - Number of errors detected on logical lane 10 */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t error_counter_lane10;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - Number of errors detected on logical lane 11 */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t error_counter_lane11;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - Number of errors detected on logical lane 12 */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t error_counter_lane12;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - Number of errors detected on logical lane 13 */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t error_counter_lane13;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - Number of errors detected on logical lane 14 */
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t error_counter_lane14;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - Number of errors detected on logical lane 15 */
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t error_counter_lane15;
+};
+
+/* Description -   */
+/* Size in bytes - 200 */
+struct connectib_pcie_perf_counters {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Life time counter - can't be cleared. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t life_time_counter_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Life time counter - can't be cleared. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t life_time_counter_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Number of transitions to recovery due to Framing errors 
+and CRC
+ 
+(dlp and tlp) errors. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t rx_errors;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Number of transitions to recovery due to EIEOS and TS 
+errors. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t tx_errors;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t dlid;
-	/* Description -  */
-	/* 0.16 - 0.16 */
-	 u_int8_t grh;
-	/* Description -  */
-	/* 0.17 - 0.17 */
-	 u_int8_t bth;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t l0_to_recovery_eieos;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 0.18 - 0.19 */
-	 u_int8_t qp_type;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t l0_to_recovery_ts;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.20 - 0.23 */
-	 u_int8_t sl;
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t l0_to_recovery_framing;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t multicast;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t l0_to_recovery_retrain;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.19 */
-	 u_int32_t flow_label;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t crc_error_dllp;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwh_ethertype;
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t crc_error_tlp;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_ste_tag_bulk {
+/* Size in bytes - 248 */
+struct connectib_phys_layer_stat_cntrs {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -   */
-	/* 0.0 - 4.31 */
-	 u_int32_t tag_127_96;
+	/* Description - The time passed since the last counters clear event in 
+msec. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t time_since_last_clear_high;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -   */
-	/* 4.0 - 8.31 */
-	 u_int32_t tag_95_64;
+	/* Description - The time passed since the last counters clear event in 
+msec. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t time_since_last_clear_low;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -   */
-	/* 8.0 - 12.31 */
-	 u_int32_t tag_63_32;
+	/* Description - This counter provides information on the total amount of 
+traffic (bits) received. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t phy_received_bits_high;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -   */
-	/* 12.0 - 16.31 */
-	 u_int32_t tag_31_0;
+	/* Description - This counter provides information on the total amount of 
+traffic (bits) received. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t phy_received_bits_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - This counter provides information on errors bits that 
+wasn't corrected by FEC correction algorithm or that 
+FEC is not active. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t phy_symbol_errors_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - This counter provides information on errors bits that 
+wasn't corrected by FEC correction algorithm or that 
+FEC is not active. */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t phy_symbol_errors_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Corrected bits by FEC engine. */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t phy_corrected_bits_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Corrected bits by FEC engine. */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t phy_corrected_bits_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - TBD */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t phy_corrected_bits_lane0_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - TBD */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t phy_corrected_bits_lane0_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - TBD */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t phy_corrected_bits_lane1_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - TBD */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t phy_corrected_bits_lane1_low;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - TBD */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t phy_corrected_bits_lane2_high;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - TBD */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t phy_corrected_bits_lane2_low;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - TBD */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t phy_corrected_bits_lane3_high;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - TBD */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t phy_corrected_bits_lane3_low;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - Raw_BER = 
+raw_ber_coef*
+10^(-
+raw_ber_magnitude) */
+	/* 0x60.0 - 0x60.3 */
+	 u_int8_t raw_ber_coef;
+	/* Description - Raw_BER = 
+raw_ber_coef*
+10^(-
+raw_ber_magnitude) */
+	/* 0x60.8 - 0x60.15 */
+	 u_int8_t raw_ber_magnitude;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
+	/* Description - Effective_BER = 
+effective_ber_coef*
+10^(-
+effective_ber_magnitude) */
+	/* 0x64.0 - 0x64.3 */
+	 u_int8_t effective_ber_coef;
+	/* Description - Effective_BER = 
+effective_ber_coef*
+10^(-
+effective_ber_magnitude) */
+	/* 0x64.8 - 0x64.15 */
+	 u_int8_t effective_ber_magnitude;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_hw_transaction_pdf {
+/* Size in bytes - 248 */
+struct connectib_eth_per_traffic_congestion_grp_data_layout {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.17 - 0.17 */
-	 u_int8_t invert_data_bits;
-	/* Description - NO_DESCR */
-	/* 0.18 - 0.18 */
-	 u_int8_t swap_data_bits;
-	/* Description - NO_DESCR */
-	/* 0.19 - 0.19 */
-	 u_int8_t seed;
-	/* Description - NO_DESCR */
-	/* 0.20 - 0.20 */
-	 u_int8_t swap_crc_bytes;
-	/* Description - NO_DESCR */
-	/* 0.21 - 0.21 */
-	 u_int8_t swap_crc_bits;
-	/* Description - NO_DESCR */
-	/* 0.22 - 0.22 */
-	 u_int8_t invert_crc;
-	/* Description - NO_DESCR */
-	/* 0.23 - 0.23 */
-	 u_int8_t sig_zones_covered;
-	/* Description - NO_DESCR */
-	/* 0.24 - 4.31 */
-	 u_int8_t sig_type;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t wred_discard_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t wred_discard_low;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_hw_pdf_decoder {
+/* Size in bytes - 248 */
+struct connectib_ib_port_counters {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.17 - 0.17 */
-	 u_int8_t invert_data_bits;
-	/* Description - NO_DESCR */
-	/* 0.18 - 0.18 */
-	 u_int8_t swap_data_bits;
-	/* Description - NO_DESCR */
-	/* 0.19 - 0.19 */
-	 u_int8_t seed;
-	/* Description - NO_DESCR */
-	/* 0.20 - 0.20 */
-	 u_int8_t swap_crc_bytes;
-	/* Description - NO_DESCR */
-	/* 0.21 - 0.21 */
-	 u_int8_t swap_crc_bits;
-	/* Description - NO_DESCR */
-	/* 0.22 - 0.22 */
-	 u_int8_t invert_crc;
-	/* Description - NO_DESCR */
-	/* 0.23 - 0.23 */
-	 u_int8_t regular;
-	/* Description - NO_DESCR */
-	/* 0.24 - 4.31 */
-	 u_int8_t sig_type;
+	/* Description - Total number of times the Port Training state machine has failed the link error recovery process and downed the link. Refer to the InfiniBand Architecture Specification, Volume 2, Link/Phy Interface. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t link_downed_counter;
+	/* Description - Total number of times the Port Training state machine has successfully completed the link error recovery. */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t link_error_recovery_counter;
+	/* Description - Total number of minor link errors detected on one or more physical lanes. */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t symbol_error_counter;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 4.15 */
-	 u_int16_t dif_app_tag_bit_check_en;
-	/* Description - NO_DESCR */
-	/* 4.16 - 4.17 */
-	 u_int8_t dif_guard_check_type;
-	/* Description - NO_DESCR */
-	/* 4.18 - 4.19 */
-	 u_int8_t dif_learn_mode;
-	/* Description - NO_DESCR */
-	/* 4.20 - 4.20 */
-	 u_int8_t dif_learn_app_tag;
-	/* Description - NO_DESCR */
-	/* 4.21 - 4.21 */
-	 u_int8_t dif_learn_ref_tag;
-	/* Description - NO_DESCR */
-	/* 4.22 - 4.22 */
-	 u_int8_t dif_inc_ref_tag;
+	/* Description - Total number of packets marked with the EBP delimiter received on the port. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t port_rcv_remote_physical_errors;
+	/* Description - Total number of packets containing an error that were received on the port. */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t port_rcv_errors;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t port_xmit_discards;
+	/* Description - Total number of packets received on the port that were discarded because they could not be forwarded by the switch relay. */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t port_rcv_switch_relay_errors;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The number of times that OverrunErrors consecutive flow control update periods occurred., each having at least one overrun error. */
+	/* 0xc.0 - 0xc.3 */
+	 u_int8_t excessive_buffer_overrun_errors;
+	/* Description - The number of times that the count of local physical errors exceeded the threshold */
+	/* 0xc.4 - 0xc.7 */
+	 u_int8_t local_link_integrity_errors;
+	/* Description - Total number of packets received on the port that are discarded. */
+	/* 0xc.16 - 0xc.23 */
+	 u_int8_t port_rcv_constraint_errors;
+	/* Description - Total number of packets not transmitted from the port for the following reasons: " FilterRawOutbound is true and packet is raw " PartitionEnforcementOutbound is true and packet fails partition key check or IP version check */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t port_xmit_constraint_errors;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Number of incoming VL15 packets dropped due to resource limitations (e.g., lack of buffers) in the port */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t vl15_dropped;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Optional; shall be zero if not implemented. Total number of data octets, divided by 4, transmitted on all VLs from the port. This includes all octets between (and not including) the start of packet delimiter and the VCRC, and may include packets containing errors. */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t port_xmit_data;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Optional; shall be zero if not implemented. Total number of data octets, divided by 4, received on all VLs at the port. This includes all octets between (and not including) the start of packet delimiter and the VCRC, and may include packets containing errors. */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t port_rcv_data;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Optional; shall be zero if not implemented. Total number of packets transmitted on all VLs from the port. */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t port_xmit_pkts;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Optional; shall be zero if not implemented. Total number of packets, including packets containing errors */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t port_rcv_pkts;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - If ClassPortInfo:CapabilityMask.PortCountersXmitWaitSupported
+is set to 1, the number of ticks during which the port
+selected by PortSelect had data to transmit but no data was sent
+during the entire tick either because of insufficient credits or
+because of lack of arbitration.
+Otherwise, undefined. */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t port_xmit_wait;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_serdes_conf_tx_set_ini {
+/* Size in bytes - 248 */
+struct connectib_llr_counters {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The total number of cells recieved (including bad cells) */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t llr_rx_cells_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.6 */
-	 u_int8_t ob_preemp_pre;
-	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t pre_polarity;
-	/* Description -  */
-	/* 0.8 - 0.14 */
-	 u_int8_t ob_preemp_post;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t llr_rx_cells_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The total number of bad cells recieved (including CRC error) */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t llr_rx_error_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t post_polarity;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t llr_rx_error_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The total number of cells recieved with CRC error */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t llr_rx_crc_error_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 0.16 - 0.22 */
-	 u_int8_t ob_preemp_main;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t llr_rx_crc_error_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - The total number of cells transmitted (including retransmitted cells) */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t llr_tx_cells_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 0.23 - 0.23 */
-	 u_int8_t main_polarity;
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t llr_tx_cells_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The total number of cells retransmitted */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t llr_tx_ret_cells_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.24 - 0.25 */
-	 u_int8_t preemp_mode;
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t llr_tx_ret_cells_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - The total number of retransmission events */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t llr_tx_ret_events_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 0.26 - 0.29 */
-	 u_int8_t ob_bias;
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t llr_tx_ret_events_low;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_serdes_conf_rx_set_ini {
+/* Size in bytes - 248 */
+struct connectib_discard_cntrs_grp_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t slicer_ind_en;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t ingress_general_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.8 - 0.11 */
-	 u_int8_t slicer1_enable;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t ingress_general_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.12 - 0.15 */
-	 u_int8_t slicer2_enable;
-	/* Description -  */
-	/* 0.16 - 0.23 */
-	 u_int8_t ffe_tap0;
-	/* Description -  */
-	/* 0.24 - 4.31 */
-	 u_int8_t ffe_tap1;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.7 */
-	 u_int8_t ffe_tap2;
-	/* Description -  */
-	/* 4.8 - 4.15 */
-	 u_int8_t ffe_tap3;
-	/* Description -  */
-	/* 4.16 - 4.23 */
-	 u_int8_t ffe_tap4;
-};
-
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_aba_index {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t ingress_policy_engine_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.5 */
-	 u_int8_t aba_index0_start;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t ingress_policy_engine_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.6 - 0.11 */
-	 u_int8_t aba_index0_end;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t ingress_vlan_membership_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 0.12 - 0.17 */
-	 u_int8_t aba_index0;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t ingress_vlan_membership_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.18 - 0.23 */
-	 u_int8_t aba_index1_start;
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t ingress_tag_frame_type_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 0.24 - 0.29 */
-	 u_int8_t aba_index1_end;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t ingress_tag_frame_type_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.5 */
-	 u_int8_t aba_index1;
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t egress_vlan_membership_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 4.6 - 4.11 */
-	 u_int8_t aba_index2_start;
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t egress_vlan_membership_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 4.12 - 4.17 */
-	 u_int8_t aba_index2_end;
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t loopback_filter_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 4.18 - 4.23 */
-	 u_int8_t aba_index2;
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t loopback_filter_low;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 4.24 - 4.29 */
-	 u_int8_t aba_index3_start;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t egress_general_high;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.5 */
-	 u_int8_t aba_index3_end;
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t egress_general_low;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 8.6 - 8.11 */
-	 u_int8_t aba_index3;
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t egress_link_down_high;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 8.12 - 8.17 */
-	 u_int8_t aba_index4_start;
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t egress_link_down_low;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 8.18 - 8.23 */
-	 u_int8_t aba_index4_end;
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t egress_hoq_high;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
 	/* Description -  */
-	/* 8.24 - 8.29 */
-	 u_int8_t aba_index4;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t egress_hoq_low;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.5 */
-	 u_int8_t aba_index5_start;
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t port_isolation_high;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
 	/* Description -  */
-	/* 12.6 - 12.11 */
-	 u_int8_t aba_index5_end;
+	/* 0x4c.0 - 0x50.31 */
+	 u_int32_t port_isolation_low;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
 	/* Description -  */
-	/* 12.12 - 12.17 */
-	 u_int8_t aba_index5;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-union connectib_nv_tlv_type {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t egress_policy_engine_high;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_nv_tlv_type_global global;
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t egress_policy_engine_low;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_nv_tlv_type_physical_port physical_port;
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t ingress_tx_link_down_high;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_nv_tlv_type_bmc bmc;
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t ingress_tx_link_down_low;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_nv_tlv_type_per_host per_host;
+	/* 0x60.0 - 0x64.31 */
+	 u_int32_t egress_stp_filter_high;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_nv_tlv_type_eswitch eswitch;
+	/* 0x64.0 - 0x68.31 */
+	 u_int32_t egress_stp_filter_low;
+/*---------------- DWORD[26] (Offset 0x68) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_nv_tlv_type_nvlog nvlog;
+	/* 0x68.0 - 0x6c.31 */
+	 u_int32_t egress_hoq_stall_high;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_dw as_dw;
-};
-
-/* Description -   */
-/* Size in bytes - 32 */
-struct connectib_register_access_data {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Real size can be larger than 0x20. Size is extracted from TLV */
-	/* 0.0 - 32.31 */
-	 u_int32_t dword[8];
-};
-
-/* Description -   */
-/* Size in bytes - 12 */
-struct connectib_nv_tlv_hdr {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Size of configuration item data in bytes (not including header). Must be between 0 and 256 */
-	/* 0.0 - 0.8 */
-	 u_int16_t length;
-	/* Description - 0-FW writes the configuration item directly to persistent storage.
-1-FW writes the configuration item to a temporary non-persistent area, until an NVCT (non-volatile commit) operation is called */
-	/* 0.11 - 0.11 */
-	 u_int8_t shadow;
-	/* Description - Configuration item version - defines the data structure following the header (together with the type field). See configuration items definitions */
-	/* 0.12 - 0.15 */
-	 u_int8_t version;
-	/* Description - Controls the read operation of non-FW entities.
-0 - TLV can be read.
-1 - TLV cannot be read */
-	/* 0.23 - 0.23 */
-	 u_int8_t rd_en;
-	/* Description - Enables overwriting a TLV by lower priorities.
-00 - Only written during equal or higher priority.
-01 - Allowed to be over-written by the next level priority.
-10 - Allowed to be overwritten at any stage */
-	/* 0.24 - 0.25 */
-	 u_int8_t ovr_en;
-	/* Description - Encodes the storage element Header Format
-00 - Only Header is protected by CRC
-01 - Header and Data are protected by CRC
-10 - reserved
-11 - reserved */
-	/* 0.26 - 0.27 */
-	 u_int8_t header_type;
-	/* Description - Defines the allowed access to the data element
-00 - Written only during Mellanox production stage
-01 - Written during Mellanox production and OEM production stage
-10 - written at any stage
-11 - Reserved */
-	/* 0.28 - 0.29 */
-	 u_int8_t priority;
-	/* Description - Encodes the data element validity
-11 - Free (no data esists)
-10 - Valid data
-00 - Invalidated data element, should be skipped
-01 - Illegal, treated as Invalidated data element */
-	/* 0.30 - 4.31 */
-	 u_int8_t valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Configuration item type */
-	/* 4.0 - 8.31 */
-	 u_int32_t type;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Encodes the data integrity check of the data element.
-Note: in some elements only encodes the header into the CRC16, as defined in the header type field */
-	/* 8.0 - 8.15 */
-	 u_int16_t crc16;
+	/* 0x6c.0 - 0x70.31 */
+	 u_int32_t egress_hoq_stall_low;
 };
 
 /* Description -   */
-/* Size in bytes - 12 */
-struct connectib_mfba_header {
+/* Size in bytes - 200 */
+struct connectib_phys_layer_cntrs {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Flash Select */
-	/* 0.4 - 0.5 */
-	 u_int8_t fs;
-	/* Description - Parallel */
-	/* 0.8 - 0.8 */
-	 u_int8_t p;
+	/* Description - The time passed since the last counters clear event in 
+msec. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t time_since_last_clear_high;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Transaction size */
-	/* 4.0 - 4.8 */
-	 u_int16_t size;
+	/* Description - The time passed since the last counters clear event in 
+msec. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t time_since_last_clear_low;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - address in bytes */
-	/* 8.0 - 8.23 */
-	 u_int32_t address;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_fw_ref_count {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.27 */
-	 u_int32_t ref_counter;
-	/* Description - 0x0 - not valid, 0x1 - valid, 0x2 - valid qp, 0x3 - valid sq, 0x4 - valid rq, 0x5 - valid srq, 0x6 - valid rmp, 0x7 - valid tip, 0x8 valid dct */
-	/* 0.28 - 4.31 */
-	 u_int8_t ref_valid_cre_type;
-};
-
-/* Description -   */
-/* Size in bytes - 8 */
-struct connectib_tir_dmfs {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - resource index of the head STE of TIR context */
-	/* 0.0 - 8.31 */
-	 u_int64_t ste_ix;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_rx_hash_field_select {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Bitmask which sets which packets headers fields should be 
-selected for RX Hash.
-Each bit represents a field as described below
-0: SRC_IP
-1: DST_IP
-2: L4_SPORT
-3: L4_DPORT
-4: IPSEC_SPI
-5-29: reserved
-Only packets which contain the enabled fields can be delivered 
-to that TIR, this must be done with proper Flow Table rules.
-For example if L4_SPORT is enabled and l4_protocol_type == 
-TCP only TCP packets are allowed to reach this TIR.
-Notice that if this field refers to tunneling packets only tunneling 
-packets with proper inner headers are allowed to reach this TIR. */
-	/* 0.0 - 0.29 */
-	 u_int32_t selected_fields;
-	/* Description - This field sets the L4 protocol type (TCP or UDP) L4_SPORT 
-and L4_DPORT fields refer to:
-0: TCP
-1: UDP
-If both L4_SPORT and L4_DPORT are disabled this field is 
-ignored and it doesn't impact the RX hash behavior. */
-	/* 0.30 - 0.30 */
-	 u_int8_t l4_prot_type;
-	/* Description - This field sets the L3 protocol type (IPv4 or IPv6) SRC_IP and 
-DST_IP fields refer to:
-0: IPv4
-1: IPv6
-If both SRC_IP and DST_IP are disabled this field is ignored and 
-it doesn't impact the RX hash behavior. */
-	/* 0.31 - 4.31 */
-	 u_int8_t l3_prot_type;
-};
-
-/* Description -   */
-/* Size in bytes - 16 */
-union connectib_fw_qpc_special {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_regular_qp regular_qp;
-	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_dcr_qp dcr_qp;
-};
-
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_fw_qpc_q {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -   FW_QP_STATE_RESET     = 0,
-  FW_QP_STATE_INIT      = 1,
-  FW_QP_STATE_RTR_UNUSED       = 2,
-  FW_QP_STATE_RTS_UNUSED       = 3,
-  FW_QP_STATE_SQER_UNUSED      = 4,
-  FW_QP_STATE_SQD_UNUSED       = 5,
-  FW_QP_STATE_ERR       = 6,
-  FW_QP_STATE_DRAINING_UNUSED  = 7,
-  FW_QP_STATE_BUSY_UNUSED      = 8,
-  FW_QP_STATE_SUSPENDED_UNUSED = 9,
-  FW_QP_STATE_READY     = 10,
-  FW_QP_STATE_FLUSHING  = 11,
-  FW_QP_STATE_CHILLING  = 12,
-  FW_QP_STATE_NACK      = 13
- */
-	/* 0.0 - 0.7 */
-	 u_int8_t qp_state;
-	/* Description -  */
-	/* 0.8 - 0.15 */
-	 struct connectib_schedint_cause schedint_cause;
-	/* Description -  */
-	/* 0.16 - 0.16 */
-	 u_int8_t sxdc_valid;
-	/* Description -  */
-	/* 0.17 - 0.17 */
-	 u_int8_t qpc_valid;
-	/* Description - relevant for DCT only. DCT_CLEANUP_IDLE = 0
- DCT_CLEANUP_DCRS_NOT_FOUND = 1
- DCT_CLEANUP_DCRS_FOUND = 2 */
-	/* 0.18 - 0.19 */
+	/* Description - Perf.PortCounters(SymbolErrorCounter)
+ = Perf.Port
+Counters(UnknownSymbol) */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t symbol_errors_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Perf.PortCounters(SymbolErrorCounter)
+ = Perf.Port
+Counters(UnknownSymbol) */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t symbol_errors_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Perf.PortExtendedSpeedsCounters(SynchHeaderError
+Counter) */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t sync_headers_errors_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Perf.PortExtendedSpeedsCounters(SynchHeaderError
+Counter) */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t sync_headers_errors_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(ErrorDetectionPerLane0Counter) / BIP error 
+counter, lane 0
+In PRBS test mode, indicates the number of PRBS errors 
+on lane 0 */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t edpl_bip_errors_lane0_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(ErrorDetectionPerLane0Counter) / BIP error 
+counter, lane 0
+In PRBS test mode, indicates the number of PRBS errors 
+on lane 0 */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t edpl_bip_errors_lane0_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(ErrorDetectionPerLane1Counter) / BIP error 
+counter, lane 1
+In PRBS test mode, indicates the number of PRBS errors 
+on lane 1 */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t edpl_bip_errors_lane1_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(ErrorDetectionPerLane1Counter) / BIP error 
+counter, lane 1
+In PRBS test mode, indicates the number of PRBS errors 
+on lane 1 */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t edpl_bip_errors_lane1_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(ErrorDetectionPerLane2Counter) / BIP error 
+counter, lane 2
+In PRBS test mode, indicates the number of PRBS errors 
+on lane 2 */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t edpl_bip_errors_lane2_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(ErrorDetectionPerLane2Counter) / BIP error 
+counter, lane 2
+In PRBS test mode, indicates the number of PRBS errors 
+on lane 2 */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t edpl_bip_errors_lane2_low;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(ErrorDetectionPerLane3Counter) / BIP error 
+counter, lane 3
+In PRBS test mode, indicates the number of PRBS errors 
+on lane 3 */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t edpl_bip_errors_lane3_high;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(ErrorDetectionPerLane3Counter) / BIP error 
+counter, lane 3
+In PRBS test mode, indicates the number of PRBS errors 
+on lane 3 */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t edpl_bip_errors_lane3_low;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane0) */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t fc_fec_corrected_blocks_lane0_high;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane0) */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t fc_fec_corrected_blocks_lane0_low;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane1) */
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t fc_fec_corrected_blocks_lane1_high;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane1) */
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t fc_fec_corrected_blocks_lane1_low;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane2) */
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t fc_fec_corrected_blocks_lane2_high;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane2) */
+	/* 0x4c.0 - 0x50.31 */
+	 u_int32_t fc_fec_corrected_blocks_lane2_low;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane3) */
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t fc_fec_corrected_blocks_lane3_high;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane3) */
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t fc_fec_corrected_blocks_lane3_low;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane0) */
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t fc_fec_uncorrectable_blocks_lane0_high;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane0) */
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t fc_fec_uncorrectable_blocks_lane0_low;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane1) */
+	/* 0x60.0 - 0x64.31 */
+	 u_int32_t fc_fec_uncorrectable_blocks_lane1_high;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane1) */
+	/* 0x64.0 - 0x68.31 */
+	 u_int32_t fc_fec_uncorrectable_blocks_lane1_low;
+/*---------------- DWORD[26] (Offset 0x68) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane2) */
+	/* 0x68.0 - 0x6c.31 */
+	 u_int32_t fc_fec_uncorrectable_blocks_lane2_high;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane2) */
+	/* 0x6c.0 - 0x70.31 */
+	 u_int32_t fc_fec_uncorrectable_blocks_lane2_low;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane3) */
+	/* 0x70.0 - 0x74.31 */
+	 u_int32_t fc_fec_uncorrectable_blocks_lane3_high;
+/*---------------- DWORD[29] (Offset 0x74) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+sCounters(FECCorrectableBlockCounterLane3) */
+	/* 0x74.0 - 0x78.31 */
+	 u_int32_t fc_fec_uncorrectable_blocks_lane3_low;
+/*---------------- DWORD[30] (Offset 0x78) ----------------*/
+	/* Description - Perf.PortExtendedSpeedsCounters(FECCorrecable
+BlockCounter) */
+	/* 0x78.0 - 0x7c.31 */
+	 u_int32_t rs_fec_corrected_blocks_high;
+/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
+	/* Description - Perf.PortExtendedSpeedsCounters(FECCorrecable
+BlockCounter) */
+	/* 0x7c.0 - 0x80.31 */
+	 u_int32_t rs_fec_corrected_blocks_low;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* Description - Perf.PortExtendedSpeedsCounters(FEUncorrecable
+BlockCounter) */
+	/* 0x80.0 - 0x84.31 */
+	 u_int32_t rs_fec_uncorrectable_blocks_high;
+/*---------------- DWORD[33] (Offset 0x84) ----------------*/
+	/* Description - Perf.PortExtendedSpeedsCounters(FEUncorrecable
+BlockCounter) */
+	/* 0x84.0 - 0x88.31 */
+	 u_int32_t rs_fec_uncorrectable_blocks_low;
+/*---------------- DWORD[34] (Offset 0x88) ----------------*/
+	/* Description - The number of RS-FEC blocks received that had no 
+errors.
+Note: Total rs_fec blocks received = 
+rs_fec_corrected_blocks + rs_fec_uncorrectable_blocks 
++ rs_fec_no_errors_blocks */
+	/* 0x88.0 - 0x8c.31 */
+	 u_int32_t rs_fec_no_errors_blocks_high;
+/*---------------- DWORD[35] (Offset 0x8c) ----------------*/
+	/* Description - The number of RS-FEC blocks received that had no 
+errors.
+Note: Total rs_fec blocks received = 
+rs_fec_corrected_blocks + rs_fec_uncorrectable_blocks 
++ rs_fec_no_errors_blocks */
+	/* 0x8c.0 - 0x90.31 */
+	 u_int32_t rs_fec_no_errors_blocks_low;
+/*---------------- DWORD[36] (Offset 0x90) ----------------*/
+	/* Description - The number of corrected RS-FEC blocks received that 
+had exactly 1 error symbol. 
+Note: A FEC block that is counted by 
+rs_fec_single_error_blocks is counted also by 
+rs_fec_corrected_blocks */
+	/* 0x90.0 - 0x94.31 */
+	 u_int32_t rs_fec_single_error_blocks_high;
+/*---------------- DWORD[37] (Offset 0x94) ----------------*/
+	/* Description - The number of corrected RS-FEC blocks received that 
+had exactly 1 error symbol. 
+Note: A FEC block that is counted by 
+rs_fec_single_error_blocks is counted also by 
+rs_fec_corrected_blocks */
+	/* 0x94.0 - 0x98.31 */
+	 u_int32_t rs_fec_single_error_blocks_low;
+/*---------------- DWORD[38] (Offset 0x98) ----------------*/
+	/* Description - Perf.PortExtendedSpeedCounters(PortFECCorrect
+edSymbolCounter) */
+	/* 0x98.0 - 0x9c.31 */
+	 u_int32_t rs_fec_corrected_symbols_total_high;
+/*---------------- DWORD[39] (Offset 0x9c) ----------------*/
+	/* Description - Perf.PortExtendedSpeedCounters(PortFECCorrect
+edSymbolCounter) */
+	/* 0x9c.0 - 0xa0.31 */
+	 u_int32_t rs_fec_corrected_symbols_total_low;
+/*---------------- DWORD[40] (Offset 0xa0) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+Counters(FECCorrectedSymbolCounterLane0) */
+	/* 0xa0.0 - 0xa4.31 */
+	 u_int32_t rs_fec_corrected_symbols_lane0_high;
+/*---------------- DWORD[41] (Offset 0xa4) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+Counters(FECCorrectedSymbolCounterLane0) */
+	/* 0xa4.0 - 0xa8.31 */
+	 u_int32_t rs_fec_corrected_symbols_lane0_low;
+/*---------------- DWORD[42] (Offset 0xa8) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+Counters(FECCorrectedSymbolCounterLane1) */
+	/* 0xa8.0 - 0xac.31 */
+	 u_int32_t rs_fec_corrected_symbols_lane1_high;
+/*---------------- DWORD[43] (Offset 0xac) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+Counters(FECCorrectedSymbolCounterLane1) */
+	/* 0xac.0 - 0xb0.31 */
+	 u_int32_t rs_fec_corrected_symbols_lane1_low;
+/*---------------- DWORD[44] (Offset 0xb0) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+Counters(FECCorrectedSymbolCounterLane2) */
+	/* 0xb0.0 - 0xb4.31 */
+	 u_int32_t rs_fec_corrected_symbols_lane2_high;
+/*---------------- DWORD[45] (Offset 0xb4) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+Counters(FECCorrectedSymbolCounterLane2) */
+	/* 0xb4.0 - 0xb8.31 */
+	 u_int32_t rs_fec_corrected_symbols_lane2_low;
+/*---------------- DWORD[46] (Offset 0xb8) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+Counters(FECCorrectedSymbolCounterLane3) */
+	/* 0xb8.0 - 0xbc.31 */
+	 u_int32_t rs_fec_corrected_symbols_lane3_high;
+/*---------------- DWORD[47] (Offset 0xbc) ----------------*/
+	/* Description - Perf.PortExtendedSpeed
+Counters(FECCorrectedSymbolCounterLane3) */
+	/* 0xbc.0 - 0xc0.31 */
+	 u_int32_t rs_fec_corrected_symbols_lane3_low;
+/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
+	/* Description - Perf.PortCounters(LinkDownedCounter) */
+	/* 0xc0.0 - 0xc4.31 */
+	 u_int32_t link_down_events;
+/*---------------- DWORD[49] (Offset 0xc4) ----------------*/
+	/* Description - Perf.PortCounters(LinkErrorRecoveryCounter) */
+	/* 0xc4.0 - 0xc8.31 */
+	 u_int32_t successful_recovery_events;
+};
+
+/* Description -   */
+/* Size in bytes - 56 */
+struct connectib_correct_on_demand_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The number of all rewind events */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t rewind_counter_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The number of all rewind events */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t rewind_counter_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The amount of data that were rewinded */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t data_rewinded_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The amount of data that were rewinded */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t data_rewinded_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The amount of packets that were rewinded */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t pkt_rewinded_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - The amount of packets that were rewinded */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t pkt_rewinded_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - The total number of received data - both good and rewinded data */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t total_rcv_data_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - The total number of received data - both good and rewinded data */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t total_rcv_data_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The total number of received packets - both good and rewinded packets */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t total_rcv_pkt_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - The total number of received packets - both good and rewinded packets */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t total_rcv_pkt_low;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+struct connectib_eth_per_traffic_grp_data_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Contains the transmit queue depth in bytes on traffic class selected 
+by 
+traffic_class
+ of the port selected by 
+local_port
+. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t transmit_queue_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Contains the transmit queue depth in bytes on traffic class selected 
+by 
+traffic_class
+ of the port selected by 
+local_port
+. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t transmit_queue_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t no_buffer_discard_uc_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t no_buffer_discard_uc_low;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+struct connectib_eth_per_prio_grp_data_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The total number of octets received, including framing characters. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t rx_octets_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The total number of octets received, including framing characters. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t rx_octets_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The total number of packets received for this priority (including control 
+frames). */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t rx_frames_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - The total number of packets received for this priority (including control 
+frames). */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t rx_frames_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - The total number of octets transmitted, including framing characters. */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t tx_octets_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - The total number of octets transmitted, including framing characters. */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t tx_octets_low;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - The total number of packets transmitted. */
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t tx_frames_high;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - The total number of packets transmitted. */
+	/* 0x4c.0 - 0x50.31 */
+	 u_int32_t tx_frames_low;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - The total number of PAUSE frames received from the far-end port. */
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t rx_pause_high;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description - The total number of PAUSE frames received from the far-end port. */
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t rx_pause_low;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - The total time in microseconds that transmission of packets to the far-end 
+port have been paused. */
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t rx_pause_duration_high;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description - The total time in microseconds that transmission of packets to the far-end 
+port have been paused. */
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t rx_pause_duration_low;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - The total number of PAUSE frames sent to the far-end port. */
+	/* 0x60.0 - 0x64.31 */
+	 u_int32_t tx_pause_high;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
+	/* Description - The total number of PAUSE frames sent to the far-end port. */
+	/* 0x64.0 - 0x68.31 */
+	 u_int32_t tx_pause_low;
+/*---------------- DWORD[26] (Offset 0x68) ----------------*/
+	/* Description - The total time in microseconds that the far-end port have been requested 
+to paused. */
+	/* 0x68.0 - 0x6c.31 */
+	 u_int32_t tx_pause_duration_high;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
+	/* Description - The total time in microseconds that the far-end port have been requested 
+to paused. */
+	/* 0x6c.0 - 0x70.31 */
+	 u_int32_t tx_pause_duration_low;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* Description - Counts the number of transitions from Xoff to Xon. */
+	/* 0x70.0 - 0x74.31 */
+	 u_int32_t rx_pause_transition_high;
+/*---------------- DWORD[29] (Offset 0x74) ----------------*/
+	/* Description - Counts the number of transitions from Xoff to Xon. */
+	/* 0x74.0 - 0x78.31 */
+	 u_int32_t rx_pause_transition_low;
+/*---------------- DWORD[30] (Offset 0x78) ----------------*/
+	/* Description - The number of inbound packets which were chosen to be dis
+carded even though no errors had been detected to prevent 
+their being deliverable to a higher-layer protocol. */
+	/* 0x78.0 - 0x7c.31 */
+	 u_int32_t rx_discards_high;
+/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
+	/* Description - The number of inbound packets which were chosen to be dis
+carded even though no errors had been detected to prevent 
+their being deliverable to a higher-layer protocol. */
+	/* 0x7c.0 - 0x80.31 */
+	 u_int32_t rx_discards_low;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* Description -  */
+	/* 0x80.0 - 0x84.31 */
+	 u_int32_t device_stall_minor_watermark_cnt_high;
+/*---------------- DWORD[33] (Offset 0x84) ----------------*/
+	/* Description -  */
+	/* 0x84.0 - 0x88.31 */
+	 u_int32_t device_stall_minor_watermark_cnt_low;
+/*---------------- DWORD[34] (Offset 0x88) ----------------*/
+	/* Description -  */
+	/* 0x88.0 - 0x8c.31 */
+	 u_int32_t device_stall_critical_watermark_cnt_high;
+/*---------------- DWORD[35] (Offset 0x8c) ----------------*/
+	/* Description -  */
+	/* 0x8c.0 - 0x90.31 */
+	 u_int32_t device_stall_critical_watermark_cnt_low;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+struct connectib_eth_extended_cntrs_grp_data_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The number of ticks during which the port selected had data to 
+transmit but no data was sent during the entire tick either because 
+of insufficient credits or because of lack of arbitration.
+A tick is a multiple of the time needed to transfer one byte on a 
+single lane, that is, the symbol time. 
+For example, for links operating at IBA SDR (single data rate), 
+the symbol time is 4nsec. independent of the width of the link. 
+For links operating at Ethernet 10GE on a single lane or 40GE on 
+4 lanes, the symbol time is 0.8nSec. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t port_transmit_wait_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The number of ticks during which the port selected had data to 
+transmit but no data was sent during the entire tick either because 
+of insufficient credits or because of lack of arbitration.
+A tick is a multiple of the time needed to transfer one byte on a 
+single lane, that is, the symbol time. 
+For example, for links operating at IBA SDR (single data rate), 
+the symbol time is 4nsec. independent of the width of the link. 
+For links operating at Ethernet 10GE on a single lane or 40GE on 
+4 lanes, the symbol time is 0.8nSec. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t port_transmit_wait_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t ecn_marked_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t ecn_marked_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t no_buffer_discard_mc_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t no_buffer_discard_mc_low;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+struct connectib_eth_3635_cntrs_grp_data_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - A count of frames received that are not an integral number 
+of octets in length and do not pass the FCS check. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t dot3stats_alignment_errors_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - A count of frames received that are not an integral number 
+of octets in length and do not pass the FCS check. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t dot3stats_alignment_errors_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - A count of frames received that are an integral number of 
+octets in length but do not pass the FCS check. This count 
+does not include frames received with frame-too-long or 
+frame-too-short errors. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t dot3stats_fcs_errors_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - A count of frames received that are an integral number of 
+octets in length but do not pass the FCS check. This count 
+does not include frames received with frame-too-long or 
+frame-too-short errors. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t dot3stats_fcs_errors_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - A count of frames that are involved in a single collision, 
+and are subsequently transmitted successfully.
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t dot3stats_single_collision_frames_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - A count of frames that are involved in a single collision, 
+and are subsequently transmitted successfully.
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t dot3stats_single_collision_frames_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - A count of frames that are involved in more than one colli
+sion and are subsequently transmitted successfully. 
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t dot3stats_multiple_collision_frames_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - A count of frames that are involved in more than one colli
+sion and are subsequently transmitted successfully. 
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t dot3stats_multiple_collision_frames_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - A count of times that the SQE TEST ERROR is received 
+on a particular interface.
+This counter does not increment on interfaces operating at 
+speeds greater than 10 Mb/s, or on interfaces operating in 
+full-duplex mode. */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t dot3stats_sqe_test_errors_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - A count of times that the SQE TEST ERROR is received 
+on a particular interface.
+This counter does not increment on interfaces operating at 
+speeds greater than 10 Mb/s, or on interfaces operating in 
+full-duplex mode. */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t dot3stats_sqe_test_errors_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - A count of frames for which the first transmission attempt 
+on a particular interface is delayed because the medium is 
+busy. 
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t dot3stats_deferred_transmissions_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - A count of frames for which the first transmission attempt 
+on a particular interface is delayed because the medium is 
+busy. 
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t dot3stats_deferred_transmissions_low;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - The number of times that a collision is detected on a par
+ticular interface later than one slotTime into the transmis
+sion of a packet.
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t dot3stats_late_collisions_high;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - The number of times that a collision is detected on a par
+ticular interface later than one slotTime into the transmis
+sion of a packet.
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t dot3stats_late_collisions_low;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - A count of frames for which transmission on a particular 
+interface fails due to excessive collisions.
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t dot3stats_excessive_collisions_high;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - A count of frames for which transmission on a particular 
+interface fails due to excessive collisions.
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t dot3stats_excessive_collisions_low;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - A count of frames for which transmission failed and were 
+discarded even though no errors had been detected to pre
+vent their being deliverable to a higher-layer protocol. */
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t dot3stats_internal_mac_transmit_errors_high;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - A count of frames for which transmission failed and were 
+discarded even though no errors had been detected to pre
+vent their being deliverable to a higher-layer protocol. */
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t dot3stats_internal_mac_transmit_errors_low;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - The number of times that the carrier sense condition was 
+lost or never asserted when attempting to transmit a frame 
+on a particular interface. 
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t dot3stats_carrier_sense_errors_high;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - The number of times that the carrier sense condition was 
+lost or never asserted when attempting to transmit a frame 
+on a particular interface. 
+This counter does not increment when the interface is 
+operating in full-duplex mode. */
+	/* 0x4c.0 - 0x50.31 */
+	 u_int32_t dot3stats_carrier_sense_errors_low;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - A count of frames received that exceed the maximum per
+mitted frame size. */
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t dot3stats_frame_too_longs_high;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description - A count of frames received that exceed the maximum per
+mitted frame size. */
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t dot3stats_frame_too_longs_low;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - A count of frames for which reception failed and were dis
+carded even though no errors had been detected to prevent 
+their being deliverable to a higher-layer protocol. */
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t dot3stats_internal_mac_receive_errors_high;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description - A count of frames for which reception failed and were dis
+carded even though no errors had been detected to prevent 
+their being deliverable to a higher-layer protocol. */
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t dot3stats_internal_mac_receive_errors_low;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - The number of times the receiving media is non-idle (a 
+carrier event) for a period of time equal to or greater than 
+minFrameSize, and during which there was at least one 
+occurrence of an event that causes the PHY to indicate 
+"Receive Error". */
+	/* 0x60.0 - 0x64.31 */
+	 u_int32_t dot3stats_symbol_errors_high;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
+	/* Description - The number of times the receiving media is non-idle (a 
+carrier event) for a period of time equal to or greater than 
+minFrameSize, and during which there was at least one 
+occurrence of an event that causes the PHY to indicate 
+"Receive Error". */
+	/* 0x64.0 - 0x68.31 */
+	 u_int32_t dot3stats_symbol_errors_low;
+/*---------------- DWORD[26] (Offset 0x68) ----------------*/
+	/* Description - A count of MAC Control frames received that contain an 
+opcode that is not supported. */
+	/* 0x68.0 - 0x6c.31 */
+	 u_int32_t dot3control_in_unknown_opcodes_high;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
+	/* Description - A count of MAC Control frames received that contain an 
+opcode that is not supported. */
+	/* 0x6c.0 - 0x70.31 */
+	 u_int32_t dot3control_in_unknown_opcodes_low;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* Description - A count of MAC Control frames received with an opcode 
+indicating the PAUSE operation. */
+	/* 0x70.0 - 0x74.31 */
+	 u_int32_t dot3in_pause_frames_high;
+/*---------------- DWORD[29] (Offset 0x74) ----------------*/
+	/* Description - A count of MAC Control frames received with an opcode 
+indicating the PAUSE operation. */
+	/* 0x74.0 - 0x78.31 */
+	 u_int32_t dot3in_pause_frames_low;
+/*---------------- DWORD[30] (Offset 0x78) ----------------*/
+	/* Description - A count of MAC Control frames transmitted with an 
+opcode indicating the PAUSE operation. */
+	/* 0x78.0 - 0x7c.31 */
+	 u_int32_t dot3out_pause_frames_high;
+/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
+	/* Description - A count of MAC Control frames transmitted with an 
+opcode indicating the PAUSE operation. */
+	/* 0x7c.0 - 0x80.31 */
+	 u_int32_t dot3out_pause_frames_low;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+struct connectib_eth_2819_cntrs_grp_data_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The total number of events in which packets were 
+dropped by the probe due to lack of resources. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t ether_stats_drop_events_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The total number of events in which packets were 
+dropped by the probe due to lack of resources. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t ether_stats_drop_events_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The total number of octets of data (including those in 
+bad packets) received (excluding framing bits but 
+including FCS octets). */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t ether_stats_octets_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The total number of octets of data (including those in 
+bad packets) received (excluding framing bits but 
+including FCS octets). */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t ether_stats_octets_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The total number of packets (including bad packets, 
+broadcast packets, and multicast packets) received. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t ether_stats_pkts_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - The total number of packets (including bad packets, 
+broadcast packets, and multicast packets) received. */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t ether_stats_pkts_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - The total number of good packets received that were 
+directed to the broadcast address. 
+Note: This does not include multicast packets. */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t ether_stats_broadcast_pkts_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - The total number of good packets received that were 
+directed to the broadcast address. 
+Note: This does not include multicast packets. */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t ether_stats_broadcast_pkts_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The total number of good packets received that were 
+directed to a multicast MAC address. 
+Note: This number does not include packets directed 
+to the broadcast address. */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t ether_stats_multicast_pkts_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - The total number of good packets received that were 
+directed to a multicast MAC address. 
+Note: This number does not include packets directed 
+to the broadcast address. */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t ether_stats_multicast_pkts_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - The total number of packets received that had a length 
+(excluding framing bits, but including FCS octets) of 
+between 64 and MTU
+ octets, inclusive, but had either 
+a bad frame check sequence (FCS) with an integral 
+number of octets (FCS error) or a bad FCS with a 
+non-integral number of octets (alignment error). */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t ether_stats_crc_align_errors_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - The total number of packets received that had a length 
+(excluding framing bits, but including FCS octets) of 
+between 64 and MTU
+ octets, inclusive, but had either 
+a bad frame check sequence (FCS) with an integral 
+number of octets (FCS error) or a bad FCS with a 
+non-integral number of octets (alignment error). */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t ether_stats_crc_align_errors_low;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - The total number of packets received that were less 
+than 64 octets long (excluding framing bits, but 
+including FCS octets) and were otherwise well 
+formed. */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t ether_stats_undersize_pkts_high;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - The total number of packets received that were less 
+than 64 octets long (excluding framing bits, but 
+including FCS octets) and were otherwise well 
+formed. */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t ether_stats_undersize_pkts_low;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - The total number of packets received that were longer 
+than MTU octets (excluding framing bits, but includ
+ing FCS octets) but were otherwise well formed. */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t ether_stats_oversize_pkts_high;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - The total number of packets received that were longer 
+than MTU octets (excluding framing bits, but includ
+ing FCS octets) but were otherwise well formed. */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t ether_stats_oversize_pkts_low;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - The total number of packets received that were less 
+than 64 octets in length (excluding framing bits but 
+including FCS octets) and had either a bad FCS with 
+an integral number of octets (FCS error) or a bad FCS 
+with a non-integral number of octets (alignment 
+error). */
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t ether_stats_fragments_high;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - The total number of packets received that were less 
+than 64 octets in length (excluding framing bits but 
+including FCS octets) and had either a bad FCS with 
+an integral number of octets (FCS error) or a bad FCS 
+with a non-integral number of octets (alignment 
+error). */
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t ether_stats_fragments_low;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - The total number of packets received that were longer 
+than MTU octets (excluding framing bits, but includ
+ing FCS octets), and had either a bad FCS with an 
+integral number of octets (FCS error) or a bad FCS 
+with a non-integral number of octets (alignment 
+error). */
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t ether_stats_jabbers_high;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - The total number of packets received that were longer 
+than MTU octets (excluding framing bits, but includ
+ing FCS octets), and had either a bad FCS with an 
+integral number of octets (FCS error) or a bad FCS 
+with a non-integral number of octets (alignment 
+error). */
+	/* 0x4c.0 - 0x50.31 */
+	 u_int32_t ether_stats_jabbers_low;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - The best estimate of the total number of collisions on 
+this Ethernet segment. */
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t ether_stats_collisions_high;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description - The best estimate of the total number of collisions on 
+this Ethernet segment. */
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t ether_stats_collisions_low;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were 64 octets in length (excluding 
+framing bits but including FCS octets). */
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t ether_stats_pkts64octets_high;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were 64 octets in length (excluding 
+framing bits but including FCS octets). */
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t ether_stats_pkts64octets_low;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 65 and 127 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x60.0 - 0x64.31 */
+	 u_int32_t ether_stats_pkts65to127octets_high;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 65 and 127 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x64.0 - 0x68.31 */
+	 u_int32_t ether_stats_pkts65to127octets_low;
+/*---------------- DWORD[26] (Offset 0x68) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 128 and 255 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x68.0 - 0x6c.31 */
+	 u_int32_t ether_stats_pkts128to255octets_high;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 128 and 255 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x6c.0 - 0x70.31 */
+	 u_int32_t ether_stats_pkts128to255octets_low;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 256 and 511 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x70.0 - 0x74.31 */
+	 u_int32_t ether_stats_pkts256to511octets_high;
+/*---------------- DWORD[29] (Offset 0x74) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 256 and 511 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x74.0 - 0x78.31 */
+	 u_int32_t ether_stats_pkts256to511octets_low;
+/*---------------- DWORD[30] (Offset 0x78) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 512 and 1023 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x78.0 - 0x7c.31 */
+	 u_int32_t ether_stats_pkts512to1023octets_high;
+/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 512 and 1023 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x7c.0 - 0x80.31 */
+	 u_int32_t ether_stats_pkts512to1023octets_low;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1024 and 1518 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x80.0 - 0x84.31 */
+	 u_int32_t ether_stats_pkts1024to1518octets_high;
+/*---------------- DWORD[33] (Offset 0x84) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1024 and 1518 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x84.0 - 0x88.31 */
+	 u_int32_t ether_stats_pkts1024to1518octets_low;
+/*---------------- DWORD[34] (Offset 0x88) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1519 and 2047 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x88.0 - 0x8c.31 */
+	 u_int32_t ether_stats_pkts1519to2047octets_high;
+/*---------------- DWORD[35] (Offset 0x8c) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1519 and 2047 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x8c.0 - 0x90.31 */
+	 u_int32_t ether_stats_pkts1519to2047octets_low;
+/*---------------- DWORD[36] (Offset 0x90) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1519 and 2047 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x90.0 - 0x94.31 */
+	 u_int32_t ether_stats_pkts2048to4095octets_high;
+/*---------------- DWORD[37] (Offset 0x94) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1519 and 2047 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x94.0 - 0x98.31 */
+	 u_int32_t ether_stats_pkts2048to4095octets_low;
+/*---------------- DWORD[38] (Offset 0x98) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1519 and 2047 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x98.0 - 0x9c.31 */
+	 u_int32_t ether_stats_pkts4096to8191octets_high;
+/*---------------- DWORD[39] (Offset 0x9c) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1519 and 2047 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0x9c.0 - 0xa0.31 */
+	 u_int32_t ether_stats_pkts4096to8191octets_low;
+/*---------------- DWORD[40] (Offset 0xa0) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1519 and 2047 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0xa0.0 - 0xa4.31 */
+	 u_int32_t ether_stats_pkts8192to10239octets_high;
+/*---------------- DWORD[41] (Offset 0xa4) ----------------*/
+	/* Description - The total number of packets (including bad packets) 
+received that were between 1519 and 2047 octets in 
+length (excluding framing bits but including FCS 
+octets). */
+	/* 0xa4.0 - 0xa8.31 */
+	 u_int32_t ether_stats_pkts8192to10239octets_low;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+struct connectib_eth_2863_cntrs_grp_data_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The total number of octets received, including framing charac
+ters. Including MAC control frames. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t if_in_octets_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The total number of octets received, including framing charac
+ters. Including MAC control frames. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t if_in_octets_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The number of packets successfully received, which were not 
+addressed to a multicast or broadcast MAC address. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t if_in_ucast_pkts_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The number of packets successfully received, which were not 
+addressed to a multicast or broadcast MAC address. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t if_in_ucast_pkts_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The number of inbound packets which were chosen to be dis
+carded even though no errors had been detected to prevent 
+their being deliverable to a higher-layer protocol. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t if_in_discards_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - The number of inbound packets which were chosen to be dis
+carded even though no errors had been detected to prevent 
+their being deliverable to a higher-layer protocol. */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t if_in_discards_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - The number of inbound packets that contained errors prevent
+ing them from being deliverable to a higher-layer protocol. */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t if_in_errors_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - The number of inbound packets that contained errors prevent
+ing them from being deliverable to a higher-layer protocol. */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t if_in_errors_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The number of packets received via the interface which were 
+discarded because of an unknown or unsupported protocol. */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t if_in_unknown_protos_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - The number of packets received via the interface which were 
+discarded because of an unknown or unsupported protocol. */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t if_in_unknown_protos_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - The total number of octets transmitted out of the interface, 
+including framing characters. */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t if_out_octets_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - The total number of octets transmitted out of the interface, 
+including framing characters. */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t if_out_octets_low;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - The total number of packets that higher-level protocols 
+requested be transmitted and were not addressed to a multicast 
+or broadcast MAC address, including those that were discarded 
+or not sent. */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t if_out_ucast_pkts_high;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - The total number of packets that higher-level protocols 
+requested be transmitted and were not addressed to a multicast 
+or broadcast MAC address, including those that were discarded 
+or not sent. */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t if_out_ucast_pkts_low;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - The number of outbound packets which were chosen to be dis
+carded, even though no errors had been detected to prevent 
+their being transmitted. */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t if_out_discards_high;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - The number of outbound packets which were chosen to be dis
+carded, even though no errors had been detected to prevent 
+their being transmitted. */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t if_out_discards_low;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - The number of outbound packets that could not be transmitted 
+because of errors. */
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t if_out_errors_high;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - The number of outbound packets that could not be transmitted 
+because of errors. */
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t if_out_errors_low;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - The number of packets successfully received, which were 
+addressed to a multicast MAC address. */
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t if_in_multicast_pkts_high;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - The number of packets successfully received, which were 
+addressed to a multicast MAC address. */
+	/* 0x4c.0 - 0x50.31 */
+	 u_int32_t if_in_multicast_pkts_low;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - The number of packets successfully received, which were 
+addressed to a broadcast MAC address. */
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t if_in_broadcast_pkts_high;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description - The number of packets successfully received, which were 
+addressed to a broadcast MAC address. */
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t if_in_broadcast_pkts_low;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - The total number of packets that higher-level protocols 
+requested be transmitted, and which were addressed to a multi
+cast MAC address, including those that were discarded or not 
+sent. */
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t if_out_multicast_pkts_high;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description - The total number of packets that higher-level protocols 
+requested be transmitted, and which were addressed to a multi
+cast MAC address, including those that were discarded or not 
+sent. */
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t if_out_multicast_pkts_low;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - The total number of packets that higher-level protocols 
+requested be transmitted, and which were addressed to a broad
+cast MAC address, including those that were discarded or not 
+sent. */
+	/* 0x60.0 - 0x64.31 */
+	 u_int32_t if_out_broadcast_pkts_high;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
+	/* Description - The total number of packets that higher-level protocols 
+requested be transmitted, and which were addressed to a broad
+cast MAC address, including those that were discarded or not 
+sent. */
+	/* 0x64.0 - 0x68.31 */
+	 u_int32_t if_out_broadcast_pkts_low;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+struct connectib_eth_802_3_cntrs_grp_data_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - A count of frames that are successfully transmitted. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t a_frames_transmitted_ok_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - A count of frames that are successfully transmitted. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t a_frames_transmitted_ok_low;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - A count of frames that are successfully received. This 
+does not include frames received with frame-too-long, 
+frame check sequence (FCS), length or alignment errors, 
+or frames lost due to other MAC errors. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t a_frames_received_ok_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - A count of frames that are successfully received. This 
+does not include frames received with frame-too-long, 
+frame check sequence (FCS), length or alignment errors, 
+or frames lost due to other MAC errors. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t a_frames_received_ok_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - A count of receive frames that are an integral number of 
+octets in length and do not pass the FCS check. This 
+does not include frames received with frame-too-long, or 
+frame-too-short (frame fragment) errors. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t a_frame_check_sequence_errors_high;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - A count of receive frames that are an integral number of 
+octets in length and do not pass the FCS check. This 
+does not include frames received with frame-too-long, or 
+frame-too-short (frame fragment) errors. */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t a_frame_check_sequence_errors_low;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - A count of frames that are not an integral number of 
+octets in length and do not pass the FCS check. */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t a_alignment_errors_high;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - A count of frames that are not an integral number of 
+octets in length and do not pass the FCS check. */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t a_alignment_errors_low;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - A count of data and padding octets of frames that are 
+successfully transmitted. */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t a_octets_transmitted_ok_high;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - A count of data and padding octets of frames that are 
+successfully transmitted. */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t a_octets_transmitted_ok_low;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - A count of data and padding octets in frames that are 
+successfully received. This does not include octets in 
+frames received with frame-too-long, FCS, length or 
+alignment errors, or frames lost due to other MAC 
+errors. */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t a_octets_received_ok_high;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - A count of data and padding octets in frames that are 
+successfully received. This does not include octets in 
+frames received with frame-too-long, FCS, length or 
+alignment errors, or frames lost due to other MAC 
+errors. */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t a_octets_received_ok_low;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - A count of frames that are successfully transmitted to a 
+group destination address other than broadcast. */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t a_multicast_frames_xmitted_ok_high;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - A count of frames that are successfully transmitted to a 
+group destination address other than broadcast. */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t a_multicast_frames_xmitted_ok_low;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - A count of the frames that were successfully transmitted 
+to the broadcast address. Frames transmitted to multicast 
+addresses are not broadcast frames and are excluded. */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t a_broadcast_frames_xmitted_ok_high;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - A count of the frames that were successfully transmitted 
+to the broadcast address. Frames transmitted to multicast 
+addresses are not broadcast frames and are excluded. */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t a_broadcast_frames_xmitted_ok_low;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - A count of frames that are successfully received and 
+directed to an active nonbroadcast group address. This 
+does not include frames received with frame-too-long, 
+FCS, length or alignment errors, or frames lost due to 
+internal MAC sublayer error. */
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t a_multicast_frames_received_ok_high;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - A count of frames that are successfully received and 
+directed to an active nonbroadcast group address. This 
+does not include frames received with frame-too-long, 
+FCS, length or alignment errors, or frames lost due to 
+internal MAC sublayer error. */
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t a_multicast_frames_received_ok_low;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - A count of the frames that were successfully transmitted 
+to the broadcast address. Frames transmitted to multicast 
+addresses are not broadcast frames and are excluded. */
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t a_broadcast_frames_recieved_ok_high;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - A count of the frames that were successfully transmitted 
+to the broadcast address. Frames transmitted to multicast 
+addresses are not broadcast frames and are excluded. */
+	/* 0x4c.0 - 0x50.31 */
+	 u_int32_t a_broadcast_frames_recieved_ok_low;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - A count of frames with a length/type field value between 
+the minimum unpadded MAC client data size and the 
+maximum allowed MAC client data size, inclusive, that 
+does not match the number of MAC client data octets 
+received. The counter also increments for frames whose 
+length/type field value is less than the minimum allowed 
+unpadded MAC client data size and the number of MAC 
+client data octets received is greater than the minimum 
+unpadded MAC client data size. */
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t a_in_range_length_errors_high;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description - A count of frames with a length/type field value between 
+the minimum unpadded MAC client data size and the 
+maximum allowed MAC client data size, inclusive, that 
+does not match the number of MAC client data octets 
+received. The counter also increments for frames whose 
+length/type field value is less than the minimum allowed 
+unpadded MAC client data size and the number of MAC 
+client data octets received is greater than the minimum 
+unpadded MAC client data size. */
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t a_in_range_length_errors_low;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - A count of frames with a length field value greater than 
+the maximum allowed LLC data size. */
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t a_out_of_range_length_field_high;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description - A count of frames with a length field value greater than 
+the maximum allowed LLC data size. */
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t a_out_of_range_length_field_low;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - A count of frames received that exceed the maximum 
+permitted frame size by IEEE 802.3 (
+MTU size). */
+	/* 0x60.0 - 0x64.31 */
+	 u_int32_t a_frame_too_long_errors_high;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
+	/* Description - A count of frames received that exceed the maximum 
+permitted frame size by IEEE 802.3 (
+MTU size). */
+	/* 0x64.0 - 0x68.31 */
+	 u_int32_t a_frame_too_long_errors_low;
+/*---------------- DWORD[26] (Offset 0x68) ----------------*/
+	/* Description - For full duplex operation at 1000 Mb/s, it is a count of 
+the number of times the receiving media is non-idle (a 
+carrier event) for a period of time equal to or greater than 
+minFrameSize, and during which there was at least one 
+occurrence of an event that causes the PHY to indicate 
+"Data reception error". */
+	/* 0x68.0 - 0x6c.31 */
+	 u_int32_t a_symbol_error_during_carrier_high;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
+	/* Description - For full duplex operation at 1000 Mb/s, it is a count of 
+the number of times the receiving media is non-idle (a 
+carrier event) for a period of time equal to or greater than 
+minFrameSize, and during which there was at least one 
+occurrence of an event that causes the PHY to indicate 
+"Data reception error". */
+	/* 0x6c.0 - 0x70.31 */
+	 u_int32_t a_symbol_error_during_carrier_low;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* Description - A count of MAC Control frames passed to the MAC 
+sublayer for transmission. */
+	/* 0x70.0 - 0x74.31 */
+	 u_int32_t a_mac_control_frames_transmitted_high;
+/*---------------- DWORD[29] (Offset 0x74) ----------------*/
+	/* Description - A count of MAC Control frames passed to the MAC 
+sublayer for transmission. */
+	/* 0x74.0 - 0x78.31 */
+	 u_int32_t a_mac_control_frames_transmitted_low;
+/*---------------- DWORD[30] (Offset 0x78) ----------------*/
+	/* Description - A count of MAC Control frames passed by the MAC 
+sublayer to the MAC Control sublayer. */
+	/* 0x78.0 - 0x7c.31 */
+	 u_int32_t a_mac_control_frames_received_high;
+/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
+	/* Description - A count of MAC Control frames passed by the MAC 
+sublayer to the MAC Control sublayer. */
+	/* 0x7c.0 - 0x80.31 */
+	 u_int32_t a_mac_control_frames_received_low;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* Description - A count of MAC Control frames received that contain an 
+opcode that is not supported by the device. */
+	/* 0x80.0 - 0x84.31 */
+	 u_int32_t a_unsupported_opcodes_received_high;
+/*---------------- DWORD[33] (Offset 0x84) ----------------*/
+	/* Description - A count of MAC Control frames received that contain an 
+opcode that is not supported by the device. */
+	/* 0x84.0 - 0x88.31 */
+	 u_int32_t a_unsupported_opcodes_received_low;
+/*---------------- DWORD[34] (Offset 0x88) ----------------*/
+	/* Description - A count of MAC PAUSE frames passed by the MAC 
+sublayer to the MAC Control sublayer. */
+	/* 0x88.0 - 0x8c.31 */
+	 u_int32_t a_pause_mac_ctrl_frames_received_high;
+/*---------------- DWORD[35] (Offset 0x8c) ----------------*/
+	/* Description - A count of MAC PAUSE frames passed by the MAC 
+sublayer to the MAC Control sublayer. */
+	/* 0x8c.0 - 0x90.31 */
+	 u_int32_t a_pause_mac_ctrl_frames_received_low;
+/*---------------- DWORD[36] (Offset 0x90) ----------------*/
+	/* Description - A count of PAUSE frames passed to the MAC sublayer 
+for transmission. */
+	/* 0x90.0 - 0x94.31 */
+	 u_int32_t a_pause_mac_ctrl_frames_transmitted_high;
+/*---------------- DWORD[37] (Offset 0x94) ----------------*/
+	/* Description - A count of PAUSE frames passed to the MAC sublayer 
+for transmission. */
+	/* 0x94.0 - 0x98.31 */
+	 u_int32_t a_pause_mac_ctrl_frames_transmitted_low;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_dct_qp {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0 - idle, 1 - pending, 2- armed */
+	/* 0x0.0 - 0x0.1 */
+	 u_int8_t dc_access_key_violation_count_state;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t dc_access_key_violation_count;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_dcr_qp {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t gb_first_psn;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t gb_last_psn;
+	/* Description -  */
+	/* 0x4.24 - 0x4.24 */
+	 u_int8_t is_gb;
+	/* Description -  */
+	/* 0x4.25 - 0x4.25 */
+	 u_int8_t drtl_cause_dcr_cleanup;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t reconnect_ack_psn;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - tells when DCR cleanup turned off the heartbeat of this DCR */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t dcr_heartbeat_clr_timestamp;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_regular_qp {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Counter for retries (FW attempts recovery) on DS_EXCEEDS_PI error. this is a WA for and ordering issue seen with recovery DBs getting wrong PI */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t ds_exceeds_pi_retries;
+	/* Description - is current requester retransmission first wqe rdma read */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t req_retrans_is_rdma_read;
+	/* Description - deth qpn was taken from SW */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t use_deth_sqpn;
+	/* Description - automatic path migration state
+    APM_STATE_ARMED = 0x0,
+    APM_STATE_REARM = 0x1,
+    APM_STATE_MIGRATED = 0x3
+ */
+	/* 0x0.6 - 0x0.7 */
+	 u_int8_t pm_state;
+	/* Description -  */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t xport_retry_counter;
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t xport_retry_limit;
+	/* Description -  */
+	/* 0x0.24 - 0x0.27 */
+	 u_int8_t rnr_retry_counter;
+	/* Description -  */
+	/* 0x0.28 - 0x0.31 */
+	 u_int8_t rnr_retry_limit;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t sw_uar;
+	/* Description - exponential backoff retry log */
+	/* 0x4.24 - 0x4.27 */
+	 u_int8_t log_rtm;
+	/* Description - exponential backoff retry log */
+	/* 0x4.28 - 0x4.31 */
+	 u_int8_t sw_log_rtm;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 union connectib_regular_qp_sub_type sub_type_fields;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t ib_ft_root_id;
+	/* Description -  */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t sw_xport_retry_limit;
+};
+
+/* Description -   */
+/* Size in bytes - 1 */
+struct connectib_schedint_cause {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t clear_all_causes;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t schedint_destroy_qp;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t schedint_qp_flush;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t schedint_apm;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t schedint_duplicate;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t schedint_sl_diff;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t schedint_pp_diff;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_fw_qpc_ib {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t oldest_non_acked_psn;
+	/* Description - issi=1 and old user lib, getting user_index=ffffff from sw */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t invalid_user_index;
+	/* Description - is max read atomic in reduced state */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t max_read_atomic_reduced;
+	/* Description - 0 - none. 1 - basic. 2 - enhanced */
+	/* 0x0.26 - 0x0.27 */
+	 u_int8_t ulp_stateless_offload_mode;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_fw_qpc_eth {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t tis_num;
+	/* Description -  */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t sq_in_lb_block;
+	/* Description -  */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t reg_umr;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_hw_msix_context_data0 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t data;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_ste_tag_generic_headers {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.28 - 0x0.31 */
+	 u_int8_t dword_select_valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t dword_select;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_ste_tag_port {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t port;
+	/* Description -  */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t grh;
+	/* Description -  */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t bth;
+	/* Description -  */
+	/* 0x0.14 - 0x0.15 */
+	 u_int8_t qp_type;
+	/* Description -  */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t sx_sniffer;
+	/* Description -  */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t force_lb;
+	/* Description -  */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t func_lb;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t multicast;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_ste_tag_source_gvmi_qp {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t source_gvmi;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t source_qp;
+	/* Description -  */
+	/* 0x4.24 - 0x4.24 */
+	 u_int8_t source_is_requestor;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_ste_tag_ib_l4 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t dest_qp;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t pkey;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_ste_tag_ib_l3 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -   */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t dgid_127_96;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -   */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t dgid_95_64;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -   */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t dgid_63_32;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -   */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t dgid_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_ste_tag_ib_l3_extended {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.19 */
+	 u_int32_t flow_label;
+	/* Description -  */
+	/* 0x0.20 - 0x0.23 */
+	 u_int8_t sl;
+	/* Description -  */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t traffic_class;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t pkey;
+	/* Description -  */
+	/* 0x4.28 - 0x4.28 */
+	 u_int8_t dceth_complete;
+	/* Description -  */
+	/* 0x4.29 - 0x4.29 */
+	 u_int8_t deth_complete;
+	/* Description -  */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t bth_complete;
+	/* Description -  */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t ip_version;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t qkey_dc_access_key_63_32;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t qkey_dc_access_key_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_ste_tag_ib_l2 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t dlid;
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t grh;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t bth;
+	/* Description -  */
+	/* 0x0.18 - 0x0.19 */
+	 u_int8_t qp_type;
+	/* Description -  */
+	/* 0x0.20 - 0x0.23 */
+	 u_int8_t sl;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t multicast;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.19 */
+	 u_int32_t flow_label;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t rwh_ethertype;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_ste_tag_bulk {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -   */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t tag_127_96;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -   */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t tag_95_64;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -   */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t tag_63_32;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -   */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t tag_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_hw_transaction_pdf {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t invert_data_bits;
+	/* Description - NO_DESCR */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t swap_data_bits;
+	/* Description - NO_DESCR */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t seed;
+	/* Description - NO_DESCR */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t swap_crc_bytes;
+	/* Description - NO_DESCR */
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t swap_crc_bits;
+	/* Description - NO_DESCR */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t invert_crc;
+	/* Description - NO_DESCR */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t sig_zones_covered;
+	/* Description - NO_DESCR */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t sig_type;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_hw_pdf_decoder {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t invert_data_bits;
+	/* Description - NO_DESCR */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t swap_data_bits;
+	/* Description - NO_DESCR */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t seed;
+	/* Description - NO_DESCR */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t swap_crc_bytes;
+	/* Description - NO_DESCR */
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t swap_crc_bits;
+	/* Description - NO_DESCR */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t invert_crc;
+	/* Description - NO_DESCR */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t regular;
+	/* Description - NO_DESCR */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t sig_type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t dif_app_tag_bit_check_en;
+	/* Description - NO_DESCR */
+	/* 0x4.16 - 0x4.17 */
+	 u_int8_t dif_guard_check_type;
+	/* Description - NO_DESCR */
+	/* 0x4.18 - 0x4.19 */
+	 u_int8_t dif_learn_mode;
+	/* Description - NO_DESCR */
+	/* 0x4.20 - 0x4.20 */
+	 u_int8_t dif_learn_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x4.21 - 0x4.21 */
+	 u_int8_t dif_learn_ref_tag;
+	/* Description - NO_DESCR */
+	/* 0x4.22 - 0x4.22 */
+	 u_int8_t dif_inc_ref_tag;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_serdes_conf_tx_set_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.6 */
+	 u_int8_t ob_preemp_pre;
+	/* Description -  */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t pre_polarity;
+	/* Description -  */
+	/* 0x0.8 - 0x0.14 */
+	 u_int8_t ob_preemp_post;
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t post_polarity;
+	/* Description -  */
+	/* 0x0.16 - 0x0.22 */
+	 u_int8_t ob_preemp_main;
+	/* Description -  */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t main_polarity;
+	/* Description -  */
+	/* 0x0.24 - 0x0.25 */
+	 u_int8_t preemp_mode;
+	/* Description -  */
+	/* 0x0.26 - 0x0.29 */
+	 u_int8_t ob_bias;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_serdes_conf_rx_set_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t slicer_ind_en;
+	/* Description -  */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t slicer1_enable;
+	/* Description -  */
+	/* 0x0.12 - 0x0.15 */
+	 u_int8_t slicer2_enable;
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t ffe_tap0;
+	/* Description -  */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t ffe_tap1;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t ffe_tap2;
+	/* Description -  */
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t ffe_tap3;
+	/* Description -  */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t ffe_tap4;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_aba_index {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t aba_index0_start;
+	/* Description -  */
+	/* 0x0.6 - 0x0.11 */
+	 u_int8_t aba_index0_end;
+	/* Description -  */
+	/* 0x0.12 - 0x0.17 */
+	 u_int8_t aba_index0;
+	/* Description -  */
+	/* 0x0.18 - 0x0.23 */
+	 u_int8_t aba_index1_start;
+	/* Description -  */
+	/* 0x0.24 - 0x0.29 */
+	 u_int8_t aba_index1_end;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.5 */
+	 u_int8_t aba_index1;
+	/* Description -  */
+	/* 0x4.6 - 0x4.11 */
+	 u_int8_t aba_index2_start;
+	/* Description -  */
+	/* 0x4.12 - 0x4.17 */
+	 u_int8_t aba_index2_end;
+	/* Description -  */
+	/* 0x4.18 - 0x4.23 */
+	 u_int8_t aba_index2;
+	/* Description -  */
+	/* 0x4.24 - 0x4.29 */
+	 u_int8_t aba_index3_start;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.5 */
+	 u_int8_t aba_index3_end;
+	/* Description -  */
+	/* 0x8.6 - 0x8.11 */
+	 u_int8_t aba_index3;
+	/* Description -  */
+	/* 0x8.12 - 0x8.17 */
+	 u_int8_t aba_index4_start;
+	/* Description -  */
+	/* 0x8.18 - 0x8.23 */
+	 u_int8_t aba_index4_end;
+	/* Description -  */
+	/* 0x8.24 - 0x8.29 */
+	 u_int8_t aba_index4;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.5 */
+	 u_int8_t aba_index5_start;
+	/* Description -  */
+	/* 0xc.6 - 0xc.11 */
+	 u_int8_t aba_index5_end;
+	/* Description -  */
+	/* 0xc.12 - 0xc.17 */
+	 u_int8_t aba_index5;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+union connectib_cmdif_ctx_special_qp_commands_specific {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_cmdif_ctx_special_qp_commands_rts2rts rts2rts;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_cmdif_ctx_special_qp_commands_other other;
+};
+
+/* Description -   */
+/* Size in bytes - 24 */
+struct connectib_pmcr_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_mpein_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - PCIE index number
+Reserved when access is from the host */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t pcie_index;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t capability_mask;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Max Link Speed:
+Bit 0 - 2.5G (Gen1)
+Bit 1 - 5G (Gen2)
+Bit 2 - 8G (Gen3)
+Bit 4- 16G (Gen4) */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t link_speed_enabled;
+	/* Description - Maximum Link Width enabled:
+0 - 1x
+1 - 2x
+2 - 4x
+3 - 8x
+4 - 16x */
+	/* 0x8.16 - 0x8.23 */
+	 u_int8_t link_width_enabled;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Current Link Speed:
+Bit 0 - 2.5G (Gen1)
+Bit 1 - 5G (Gen2)
+Bit 2 - 8G (Gen3)
+Bit 4- 16G (Gen4) */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t link_speed_active;
+	/* Description - Negotiated Link Width, pcie_link_width active:
+0 - 1x
+1 - 2x
+2 - 4x
+3 - 8x
+4 - 16x */
+	/* 0xc.16 - 0xc.23 */
+	 u_int8_t link_width_active;
+	/* Description - The physical lane position of logical lane0 */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t lane0_physical_position;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Number of Total Virtual Functions (for all PFs) */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t num_of_vfs;
+	/* Description - Number of Physical Functions (PFs) */
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t num_of_pfs;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Bus Device Function - only for function0 */
+	/* 0x14.16 - 0x14.31 */
+	 u_int16_t bdf0;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Reversal mode of the link:
+0 - straight 
+1 - reversal
+Note: together with 
+lane0_physical_position
+ provide the physical 
+lane. */
+	/* 0x18.0 - 0x18.0 */
+	 u_int8_t lane_reversal;
+	/* Description - Indicates the specific type of this PCI 
+Express Function. Note that 
+different Functions in a multi-Function device can generally be of 
+different types.
+0 - 
+PCI Express Endpoint port
+5 - Upstream port
+6 - Downstream port */
+	/* 0x18.12 - 0x18.15 */
+	 u_int8_t port_type;
+	/* Description - Max payload size in bytes:
+0 - 128B
+1 - 256B
+2 - 512B
+3 - 1024B
+4 - 2048B
+5 - 4096B */
+	/* 0x18.24 - 0x18.27 */
+	 u_int8_t max_payload_size;
+	/* Description - Max read request size in bytes:
+0 - 128B
+1 - 256B
+2 - 512B
+3 - 1024B
+4 - 2048B
+5 - 4096B */
+	/* 0x18.28 - 0x18.31 */
+	 u_int8_t max_read_request_size;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - [Internal] Indicates the status of the PCIE state machine:
+0x00 - Disable TS1
+0x01 - Disable Ack
+0x02 - Disable Wait
+0x10 - RESET
+0x20 - Loop Back Master Active
+0x21 - Loop Back Master Exit
+0x31 - Loop Back Slave Entry
+0x32 - Loop Back Slave Align
+0x33 - Loop Back Slave EB Threshold
+0x34 - Loop Back Slave Active
+0x35 - Loop Back Slave Idle
+0x36 - Loop Back Slave Exit
+0x40 - Detect Quiet
+0x41 - Detect Active 1
+0x42 - Detect Active 2
+0x50 - Polling Active 
+0x51 - Polling Compliance Entry 
+0x52 - Polling Compliance 
+0x53 - Polling Compliance Exit
+0x54 - Polling Config
+0x60 - Config Width Start
+0x61 - Config Width Ack
+0x62 - Config Lane Wait
+0x63 - Config Lane Ack
+0x64 - Config Complete
+0x65 - Config Idle
+0x70 - L0_UP
+0x71:0x7F - L0s 
+0x80 - L1 ENTER
+0x81 - L1 ACTIVE
+0x90 - L1 EXIT
+0xA0 - Recover Receiver Lock 
+0xA1 - Recover Speed 
+0xA2 - Recover Config 
+0xA2 - Recover Idle 
+0xA5 - Recover ESpeed 
+0xA8 - Recover Equalization Phase 0
+0xA9 - Recover Equalization Phase 1
+0xAA - Recover Equalization Phase 2
+0xAB - Recover Equalization Phase 3
+0xAC - Recover Equalization Idle
+0xB0 - Force TS1
+0xC0 - Force TS2
+0xD0 - Force IDLE
+0xE0 - Force COMP
+0xF0 - Force disable */
+	/* 0x24.8 - 0x24.15 */
+	 u_int8_t port_state;
+	/* Description - device_status bit mask:
+Bit 0 - Correctable error
+Bit 1 - Non-Fatal Error detection 
+Bit 2 - Fatal Error detected
+Bit 3 - Unsupported request detected
+Bit 4 - AUX power 
+Bit 5 - Transaction Pending */
+	/* 0x24.16 - 0x24.31 */
+	 u_int16_t device_status;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - [Internal] receiver detect result bit mask per lane */
+	/* 0x28.0 - 0x28.15 */
+	 u_int16_t receiver_detect_result;
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_mvts {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - A SET operation with this flag set will only check if the new timestamp can be configured without updating NVRAM */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t check_timestamp_flag;
+	/* Description - A GET operation with this flag set, will return the running FW version instead */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t running_flag;
+	/* Description - A SET operation with this flag on will clear the running and other bank timestamps */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t clear_all_ts_flag;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - fw_version_major */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t fw_ver_major;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - fw version subminor */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t fw_ver_subminor;
+	/* Description - fw_version_minor */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t fw_ver_minor;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Timestamp day     - 2 packed BCD */
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t ts_day;
+	/* Description - Timestamp month   - 2 packed BCD */
+	/* 0xc.8 - 0xc.15 */
+	 u_int8_t ts_month;
+	/* Description - Timestamp year    - 4 packed BCD */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t ts_year;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Timestamp seconds - 2 packed BCD */
+	/* 0x10.8 - 0x10.15 */
+	 u_int8_t ts_seconds;
+	/* Description - Timestamp minotes - 2 packed BCD */
+	/* 0x10.16 - 0x10.23 */
+	 u_int8_t ts_minutes;
+	/* Description - Timestamp hour    - 2 packed BCD */
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t ts_hour;
+};
+
+/* Description -   */
+/* Size in bytes - 36 */
+union connectib_pmlp {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x24.31 */
+	 struct connectib_pmlp_prm_style prm_style;
+	/* Description -  */
+	/* 0x0.0 - 0x24.31 */
+	 struct connectib_pmlp_code_style code_style;
+};
+
+/* Description -   */
+/* Size in bytes - 24 */
+struct connectib_pplm_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The port"s active Profile ID. 
+0xFF - unassigned - set when Media based port profile is set and no 
+medium is connected. */
+	/* 0x8.8 - 0x8.15 */
+	 u_int8_t active_port_profile;
+	/* Description - Valid when Media based port profile is cleared, used to set the static port"s 
+profile index. */
+	/* 0x8.16 - 0x8.23 */
+	 u_int8_t static_port_profile;
+	/* Description - Port profile modes (bitmask):
+Bit 0 - Port type based port profile
+When set the profile will be selected according to the connected port type. 
+When cleared the port"s profile will be set according to the static_port_pro
+file field 
+Bit 1 - Legacy / IB spec profile enable (default set)
+When set, the IB spec / legacy profile will be applied on the port when con
+nected to a peer non-Mellanox or legacy port.
+Note, when Legacy / IB spec profile enable bit is cleared, some of the con
+figurations may not be supported by the peer port and will be ignored in the 
+negotiation.
+Bit 2 - Ethernet Enhanced FEC (default cleared)
+TBD exact text - 
+When auto mode (no override) is set on Mellanox links 
+select the FEC based on the profile including Mellanox Phy modes
+ 
+Bits 7:3 - Reserved */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t port_profile_mode;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Active FEC (bitmask)
+Bit 0 - No FEC
+Bit 1 - Firecode FEC
+Bit 2 - Standard RS-FEC - RS(528,514)
+Bit 3 - Standard LL RS-FEC - RS(271,257)
+[Internal] Bit 4 - Mellanox Strong RS-FEC - RS(277,257)
+[Internal] Bit 5 - Mellanox LL RS-FEC - RS(163,155)
+[Internal] Bit 6- Correct On Demand (COD) */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t fec_mode_active;
+	/* Description - Active Retransmission (bitmask)
+Bit 0 - LLR
+Bit 1 - PLR */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t retransmission_active;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - 10GE/40GE Ethernet FEC override capability bitmask:
+Bit 0 - No-FEC
+Bit 1- Firecode FEC
+Bit 2- Reserved
+Bit 3- Reserved */
+	/* 0x10.0 - 0x10.3 */
+	 u_int8_t fec_override_cap_10g_40g;
+	/* Description - 25GE Ethernet FEC override capability bitmask:
+Bit 0 - No-FEC
+Bit 1- Firecode FEC
+Bit 2- RS-FEC
+Bit 3- Reserved */
+	/* 0x10.4 - 0x10.7 */
+	 u_int8_t fec_override_cap_25g;
+	/* Description - 50GE Ethernet FEC override capability bitmask:
+Bit 0 - No-FEC
+Bit 1- Firecode FEC
+Bit 2- RS-FEC
+Bit 3- Reserved */
+	/* 0x10.8 - 0x10.11 */
+	 u_int8_t fec_override_cap_50g;
+	/* Description - 100GE Ethernet FEC override capability bitmask:
+Bit 0 - No-FEC
+Bit 1 - Reserved
+Bit 2 - RS-FEC(528,514)
+Bit 3 - Reserved */
+	/* 0x10.12 - 0x10.15 */
+	 u_int8_t fec_override_cap_100g;
+	/* Description - 56GE Ethernet FEC override capability bitmask:
+Bit 0 - No-FEC
+Bit 1 - Firecode FEC
+Bit 2 - Reserved
+Bit 3 - Reserved */
+	/* 0x10.16 - 0x10.19 */
+	 u_int8_t fec_override_cap_56g;
+	/* Description - RS-FEC correction bypass override capability:
+0 - NO correction bypass
+1 - RS-FEC correction bypass */
+	/* 0x10.28 - 0x10.31 */
+	 u_int8_t rs_fec_correction_bypass_cap;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - 10GE/40GE Ethernet FEC override admin, see 10g_40g_fec_override_cap.
+0 - Auto, no override
+1 - No FEC
+2 - Firecode FEC */
+	/* 0x14.0 - 0x14.3 */
+	 u_int8_t fec_override_admin_10g_40g;
+	/* Description - 25GE Ethernet FEC override admin, see 25g_fec_override_cap.
+0 - Auto, no override
+1 - No FEC
+2 - Firecode FEC
+4 - RS-FEC
+Note: 
+25g_fec_override_admin
+ and 
+50g_fec_override_admin
+ must be set 
+with the same value. */
+	/* 0x14.4 - 0x14.7 */
+	 u_int8_t fec_override_admin_25g;
+	/* Description - 50GE Ethernet FEC override admin, see 50g_fec_override_cap.
+0 - Auto, no override
+1 - No FEC
+2 - Firecode FEC
+4 - RS-FEC
+Note: 
+25g_fec_override_admin
+ and 
+50g_fec_override_admin
+ must be set 
+with the same value. */
+	/* 0x14.8 - 0x14.11 */
+	 u_int8_t fec_override_admin_50g;
+	/* Description - 100GE Ethernet FEC override admin, see 100g_fec_override_cap.
+0 - Auto, no override
+1 - No FEC
+4 - RS-FEC */
+	/* 0x14.12 - 0x14.15 */
+	 u_int8_t fec_override_admin_100g;
+	/* Description - 56GE Ethernet FEC override admin, see 56g_fec_override_cap.
+0 - Auto, no override
+1 - No FEC
+2 - Firecode FEC */
+	/* 0x14.16 - 0x14.19 */
+	 u_int8_t fec_override_admin_56g;
+	/* Description - RS-FEC correction bypass override admin:
+0 - Auto, no override 
+1 - NO correction bypass
+2 - RS-FEC correction bypass */
+	/* 0x14.28 - 0x14.31 */
+	 u_int8_t rs_fec_correction_bypass_admin;
+};
+
+/* Description -   */
+/* Size in bytes - 40 */
+struct connectib_plpc_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Protocol Mask. Indicates which of the protocol data is valid
+Bit 0: InfiniBand
+Bit 2: Ethernet
+Note: setting multiple bits will apply the setting to all the set protocols */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t proto_mask;
+	/* Description - Profile ID (bitmask)
+Bit 0 - IB spec / legacy (See profiles description)
+Bit 1 - Internal ports (Backplane)
+Bit 2 - Passive copper - Short
+Bit 3 - Passive copper - Medium
+Bit 4 - Passive copper - Long
+Bit 5 - Active optics / copper short reach (<30m)
+Bit 6 - Optics long reach (>30m)
+Bit 7 - NO-FEC
+Bit 8 - FEC-ON
+Bit 9 - User defined 1 (not supported)
+Bit 10-11 - Reserved
+Note: setting multiple bits will apply the setting to multiple profile ids.
+Note: Short, Medium, Long are functions of the cable length and attenua
+tion. */
+	/* 0x0.16 - 0x0.27 */
+	 u_int16_t profile_id;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Per lane speed (bitmask)
+Bit 0 - Reserved
+Bit 1 - Reserved
+Bit 2 - Reserved
+Bit 3 - FDR10 (10GE / 40GE)
+Bit 4 - FDR (56GE)
+Bit 5 - EDR (25GE / 50GE / 100GE)
+Note: setting multiple bits will apply the setting to all the set speeds */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t lane_speed;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - FEC decision policy:
+0 - optimize robustness
+1 - optimize latency
+2 - optimize bandwidth */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t fec_mode_policy;
+	/* Description - Link Performance Based FEC
+When set, only FEC types that are applicable for the link performance will 
+be used. When cleared, the link performance is ignored for the FEC selec
+tion and the FEC is selected only according to the policy. If the selected 
+FEC is not applicable for the link performance, the speed may be consid
+ered as non-operational. */
+	/* 0x8.8 - 0x8.8 */
+	 u_int8_t lpbf;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - FEC capability (bitmask)
+Bit 0 - No FEC
+Bit 1 - Firecode FEC
+Bit 2 - Standard RS-FEC - RS(528,514)
+Bit 3 - Standard LL RS-FEC - RS(271,257)
+Bit 4 - Mellanox Strong RS-FEC - RS(277,257)
+Bit 5 - Mellanox LL RS-FEC - RS(163,155)
+Bit 6 - Correct on Demand (COD) */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t fec_mode_capability;
+	/* Description - Retransmission capability (bitmask)
+Bit 0 - LLR
+Bit 1 - PLR */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t retransmission_capability;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - FEC s
+upport admin (bitmask)
+Valid only for Mellanox Phy only, when cleared peer ports requests to 
+enable the FEC mode will be ignored.
+Uses the same encoding as fec_mode_capability.
+Writing 0 to the filed keeps the current setting. */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t fec_mode_support_admin;
+	/* Description - Retransmission support admin (bitmask)
+When cleared peer ports requests to enable the retransmission mode will be 
+ignored.
+Uses the same encoding as retransmission_capability. */
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t retransmission_support_admin;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - FEC request admin (bitmask)
+Sets the FEC modes which are administratively enabled.
+Uses the same encoding as retransmission_capability.
+Writing 0 to the filed keeps the current setting.
+The fec_mode_request_admin must be a subset of fec_mode_support_ad
+min */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t fec_mode_request_admin;
+	/* Description - Retransmission request admin (bitmask)
+Sets the retransmission modes which are administratively enabled.
+Uses the same encoding as retransmission_capability.
+The retransmission_request_admin must be a subset of retransmission_sup
+port_admin */
+	/* 0x14.24 - 0x14.31 */
+	 u_int8_t retransmission_request_admin;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_pplr_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_project_nvgn {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t nv_pointer;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x1c.31 */
+	 struct connectib_nv_tlv_hdr tlv_header;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x2c.31 */
+	 struct connectib_register_access_data_reduced tlv_data;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_project_nvia {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - ALL - all NVRAM parameters-0, NVLOG-1 */
+	/* 0x0.0 - 0x0.2 */
+	 u_int8_t target;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_project_nvgc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NVDA read factory settings, 0=unsupported, 1=supported */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t nvda_read_factory_settings;
+	/* Description - NVDA read current settings, 0=unsupported, 1=supported */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t nvda_read_current_settings;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_project_nvqc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Configuration item type */
+	/* 0x0.0 - 0x4.31 */
+	 union connectib_nv_tlv_type type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t support_rd;
+	/* Description -  */
+	/* 0x4.1 - 0x4.1 */
+	 u_int8_t support_wr;
+	/* Description -  */
+	/* 0x4.4 - 0x4.7 */
+	 u_int8_t version;
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_project_nvda {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_nv_tlv_hdr tlv_header;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x2c.31 */
+	 struct connectib_register_access_data nvda_data;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_pmtu_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Local port number. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Maximum MTU supported on the port (Read Only).
+MTU depends on the port type. When port type (Eth/IB/FC) is configured, 
+the relevant MTU is reported. When the port type is not configured, the 
+minimum between the 
+max_mtu
+ for the different types (Eth/IB/FC) is 
+reported. */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t max_mtu;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Administratively configured MTU on the port. Must be smaller or equal to 
+max_mtu
+. */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t admin_mtu;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Operational MTU. This is the actual MTU configured on the ports. Packets 
+exceeding this size will be dropped.
+Note: In Ethernet or FC, 
+oper_mtu
+ is equal to 
+admin_mtu
+. In InfiniBand, 
+the actual operational MTU is reported which may be smaller than 
+admin
+_mtu
+. */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t oper_mtu;
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_pamp_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_ppaos_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_pprt_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_pptt_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 40 */
+struct connectib_slrg_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_ptas_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_sltp_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 40 */
+struct connectib_slrp_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_paos_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Port operational state:
+1 - up
+2 - down
+4 - down by port failure (transitioned by the hardware) */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t oper_status;
+	/* Description - Port administrative state (the desired state of the interface):
+1 - up
+2 - down by configuration
+3 - up once - if the port goes up and then down, the operational 
+status should go to "down by port failure" and can only go back 
+up upon explicit command
+4 - disabled by system - this mode cannot be set by the software, 
+only by the hardware.
+[Internal] Default should come from ini. Up for unmanaged sys
+tems and Down for managed
+[Internal] For InfiniBand ports, this holds the local admin status. 
+SM status does not overide this one and should be held in a tem
+porary register.
+[Internal] if 
+ext_down_admin is in test_mode 
+admin_status 
+must 
+remain down. */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t admin_status;
+	/* Description - Local port number. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+	/* Description - For HCA: must always be 0.
+Switch partition ID with which to associate the port.
+Switch partitions are numbered from 0 to 7 inclusively.
+The 
+swid
+ field is only valid when the 
+local_port
+ is the router port. 
+In this case, the 
+swid
+ indicates which of the router ports to config
+ure/query. */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t swid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Event generation on operational state change:
+0
+ - Do not generate event
+1
+ - Generate Event 
+2
+ - Generate Single Event
+Not Supported for HCA. */
+	/* 0x4.0 - 0x4.1 */
+	 u_int8_t e;
+	/* Description - Event update enable. If this bit is set, event generation will be 
+updated based on the 
+e
+ field. Only relevant on Set operations.
+Not Supported for HCA. */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t ee;
+	/* Description - Admin state update enable. If this bit is set, admin state will be 
+updated based on 
+admin_state
+ field. Only relevant on Set() opera
+tions. */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t ase;
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_mjtag {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Size of operation - relevant for JTAG interface access com
+mands only, indicating the number of transaction bytes to exe
+cute. Maximum size supported is 40.
+Note:
+ when size=0, no operation is performed (clock is not tog
+gled). The 
+tdo
+ is sampled and provided in the response at 
+jtag_transaction_set_0
+. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t size;
+	/* Description - Command sequence number - to prevent re-execution of the 
+same command due to command retransmission, this command 
+includes a sequence number.
+The enable and disable commands MUST be issues with 
+sequence_number
+ = 0 while any JTAG access command must 
+increase the 
+sequence_number
+ by 1 (the first JTAG access com
+mand should start at 
+sequence_number
+ = 1). */
+	/* 0x0.24 - 0x0.27 */
+	 u_int8_t sequence_number;
+	/* Description - Command
+0 - JTAG interface disable - JTAG interface is disabled
+1 - JTAG interface enable - enabling JTAG interface
+2 - JTAG interface access */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t cmd;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Transactions */
+	/* 0x4.0 - 0x2c.31 */
+	 u_int32_t dword[10];
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_mqis_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Type of information string to be queried:
+0x0: VPD
+0x1: MODEL_NAME
+0x2: MODEL_DESCRIPTION
+other values are reserved. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t info_type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Total size of the information string, according to 
+info_type
+. 
+Value given in bytes. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t info_length;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Number of bytes requested. The device returns the number 
+of bytes actually read. */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t read_length;
+	/* Description - Offset in bytes of the first byte requested to read. */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t read_offset;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Information string accessed, according to 
+info_type
+. If the 
+information is not available, a NULL string is returned. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t info_string[1];
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_mcda_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Update handle registered when the FSM was activated. */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t update_handle;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Offset of accessed address relative to component start. 
+Accesses must be in accordance to 
+log_mcda_word_size
+ in 
+Table 671, "
+MCQI CAPABILITIES Info Layout
+," on 
+page 758 */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t offset;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Size of the data accessed, given in bytes */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t size;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Data block accessed */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t data[1];
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_mcc_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Command to be executed by the FSM
+0x1: LOCK_UPDATE_HANDLE
+0x2: RELEASE_UPDATE_HANDLE 
+0x3: UPDATE_COMPONENT
+0x4: VERIFY_COMPONENT
+0x5: ACTIVATE_COMPONENET 
+0x6: ACTIVATE
+0x7: READ_COMPONENT
+0x8: CANCEL
+0x9: CHECK_UPDATE_HANDLE
+0xA: FORCE_HANDLE_RELEASE
+0xB: READ_PENDING_COMPONENT
+Other values are reserved. Applicable for write operation 
+only. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t instruction;
+	/* Description - The number of seconds elapsed since the update_handle 
+owner last issued a command. The time saturates at 0xFFF. */
+	/* 0x0.16 - 0x0.27 */
+	 u_int16_t time_elapsed_since_last_cmd;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Index of the accessed component. Valid for 
+UPDATE_COMPONENT, ACTIVATE_COMPONENET, 
+READ_COMPONENT and READ_PENDING_COMPO
+NENT instructions. Otherwise, this field is reserved. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t component_index;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Token representing the current flow executed by the FSM.
+See 
+"Update Handle" on page 429 */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t update_handle;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Current Update FSM state, See 
+"FSM States" on page 
+431
+ 
+0x0: IDLE
+0x1: LOCKED
+0x2: INITIALIZE
+0x3: DOWNLOAD
+0x4: VERIFY
+0x5: APPLY
+0x6: ACTIVATE
+0x7: UPLOAD
+0x8: UPLOAD_PENDING
+Other values are reserved */
+	/* 0xc.0 - 0xc.3 */
+	 u_int8_t control_state;
+	/* Description - Indicates the successful completion of the 
+instruction
+, or 
+the reason it failed. See 
+"Error Handling" on page 431
+0x0: OK
+0x1: ERROR
+0x2: REJECTED_DIGEST_ERR
+0x3: REJECTED_NOT_APPLICABLE
+0x4: REJECTED_UNKNOWN_KEY
+0x5: REJECTED_AUTH_FAILED
+0x6: REJECTED_UNSIGNED
+0x7: REJECTED_KEY_NOT_APPLICABLE
+0x8: REJECTED_BAD_FORMAT
+0x9: BLOCKED_PENDING_RESET
+Other values should be treated as an unknown error. */
+	/* 0xc.8 - 0xc.15 */
+	 u_int8_t error_code;
+	/* Description - Indicates the estimated progress status of the current opera
+tion executed by the FSM. Valid values are 0..100.
+101 indicates that progress reporting is not supported for 
+this update state. */
+	/* 0xc.16 - 0xc.22 */
+	 u_int8_t control_progress;
+	/* Description - For 
+handle_owner_type
+ BMC, command-interface and 
+ICMD, indicates the identifier of the host of the handle 
+owner.
+Otherwise reserved */
+	/* 0xc.24 - 0xc.27 */
+	 u_int8_t handle_owner_host_id;
+	/* Description - Type of entity holding the update handle:
+0x0: unspecified
+0x1: Chassis BMC
+0x2: MAD
+0x3: BMC
+0x4: command interface
+0x5: ICMD 
+Other values are reserved. */
+	/* 0xc.28 - 0xc.31 */
+	 u_int8_t handle_owner_type;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Component size in bytes. 
+Valid for UPDATE_COMPONENT instruction. Specifying 
+the size may shorten the update time.
+Value 0x0 means that size is unspecified. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t component_size;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_mcqi_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Component index gathered by 
+"MCQS - Management 
+Component Query Status" */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t component_index;
+	/* Description - When set, the register will return information about the 
+pending component (if available) */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t read_pending_component;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Component properties set.
+0x0: CAPABILITIES
+0x1: VERSION
+0x5: ACTIVATION_METHOD
+Other values are reserved */
+	/* 0x8.0 - 0x8.4 */
+	 u_int8_t info_type;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Properties set structure size, given in bytes. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t info_size;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The requested/returned data offset from the section start, 
+given in bytes.
+Must be DWORD aligned. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t offset;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - The requested/returned data size, given in bytes. 
+If 
+data_size
+ is not DWORD aligned, the last bytes are zero 
+padded. */
+	/* 0x14.0 - 0x14.15 */
+	 u_int16_t data_size;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Properties set structure according to 
+info_type
+.
+CAPABILITIES - See 
+Table 671, "
+MCQI CAPABILITIES 
+Info Layout
+," on page 758
+VERSION - See 
+Table 673, "
+MCQI VERSION Info Lay
+out
+," on page 760
+ACTIVATION_METHOD - See 
+Table 677, "
+MCQI ACTI
+VATION_METHOD Info Layout
+," on page 761 */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t data[1];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_mcqs_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Component Index. Values range from 1 to the last compo
+nent indicated by 
+last_index_flag
+. */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t component_index;
+	/* Description - When set, this component is the last component (highest 
+component_index
+). */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t last_index_flag;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - This field uniquely identifies a specific component type. 
+0x1: BOOT_IMG_CX4
+0x2: RUNTIME_IMG_CX4
+0x3: USER_NVCONFIG
+0x4: OEM_NVCONFIG
+0x5: MLNX_NVCONFIG
+0x6: CS_TOKEN
+0x7: DBG_TOKEN
+0x8: DEV_INFO
+0x9: PACKAGE_INFO
+Other values are reserved */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t identifier;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Component statue in update flow, see 
+"Component update 
+state" on page 428
+: 
+0x0: IDLE
+0x1: IN_PROGRESS
+0x2: APPLIED
+0x3: ACTIVE 
+0x4: ACTIVE_PENDING_RESET
+0x5: FAILED
+0x6: CANCELED
+0x7: BUSY
+Other values are reserved */
+	/* 0x8.0 - 0x8.3 */
+	 u_int8_t component_update_state;
+	/* Description - The status of the component:
+0x0: NOT_PRESENT - The component is supported by the 
+device but, currently not present
+0x1: PRESENT - This component is present.
+0x2: IN_USE - The component is present and currently in 
+use.
+Other values are reserved */
+	/* 0x8.4 - 0x8.8 */
+	 u_int8_t component_status;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - For 
+last_update_state_changer_type
+ BMC, command-
+interface and ICMD, indicates the identifier of the host of 
+the handle owner. Otherwise reserved. */
+	/* 0xc.24 - 0xc.27 */
+	 u_int8_t last_update_state_changer_host_id;
+	/* Description - Indicates which entity was the last to change the 
+compo
+nent_update_state
+ of this component.
+0x0: unspecified
+0x1: Chassis BMC
+0x2: MAD
+0x3: BMC
+0x4: command interface
+0x5: ICMD
+Other values are reserved */
+	/* 0xc.28 - 0xc.31 */
+	 u_int8_t last_update_state_changer_type;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_mfbe {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Flash Select */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t fs;
+	/* Description - Parallel */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t p;
+	/* Description - erase a 64KB bulk */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t bulk_64kb_erase;
+	/* Description - erase a 32KB bulk */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t bulk_32kb_erase;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - address in bytes */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t address;
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_project_mfba {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_mfba_header mfba_header;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x2c.31 */
+	 struct connectib_register_access_data mfba_data;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_register_misc_counters {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - When performing a WRITE operation - , the counter select bitmask deter
+mines which registers are set:
+Bit 0 - ECC
+Bit 1 - LDB silent drop */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t counter_select;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Counts number of arrays which encountered a bit error */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t ecc;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Counts number of packets silently dropped due to LDB error */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t ldb_silent_drop;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_mtmp {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Sensors index to access */
+	/* 0x0.0 - 0x0.6 */
+	 u_int8_t sensor_index;
+	/* Description - query the internal diodes */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t internal_diodes_query;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Temperature reading from the sensor. Reading in 0.125 Celsius degrees. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t temperature;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The highest measured temperature from the sensor. */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t max_temperture;
+	/* Description - Max Temperature Reset - clears the value of the max temperature register */
+	/* 0x8.30 - 0x8.30 */
+	 u_int8_t mtr;
+	/* Description - Max Temperature Enable - enables measuring the max temperature on a sensor */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t mte;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - If the sensor temperature measurement is above the threshold (and events are enabled), an event
+will be generated */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t temperature_threshold_hi;
+	/* Description - Temperature Event Enable
+00 - Do not generate event
+01 - Generate Event
+10 - Generate single event */
+	/* 0xc.30 - 0xc.31 */
+	 u_int8_t tee;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t temperature_threshold_lo;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t name_hi;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t name_lo;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_register_mfrl {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - on Read, required reset level. On write, minimum requested reset level
+ 0-Full ISFU
+ 1-Driver down but link is up
+ 2-driver and link down
+ 3-driver down, link down pci disable/enable
+ 7-server warm reboot
+ 8-server cold reboot */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t reset_level;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_register_mfai {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t address;
+	/* Description - if set make image permamnent */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t permanent;
+	/* Description - if set use address */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t use_address;
+	/* Description - if set use image id and not address */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t use_image_id;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t image_id;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_mfpa {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Flash Select */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t fs;
+	/* Description - Parallel */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t p;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - address in bytes */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t boot_address;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - number of flash devices connected */
+	/* 0x10.0 - 0x10.3 */
+	 u_int8_t flash_num;
+	/* Description - If set, MFMC register supports setting write protect with sub-sector blocks
+Sub-sector block size is available in MFMC.sub_sector_protect_size */
+	/* 0x10.16 - 0x10.16 */
+	 u_int8_t sub_sector_wrp_en;
+	/* Description - If set, MFMC register supports setting write protect with sector blocks
+Sector block size is available in MFMC.sector_protect_size */
+	/* 0x10.17 - 0x10.17 */
+	 u_int8_t sector_wrp_en;
+	/* Description - supports 64KB bulk erase operation */
+	/* 0x10.29 - 0x10.29 */
+	 u_int8_t bulk_64kb_erase_en;
+	/* Description - supports 32KB bulk erase operation */
+	/* 0x10.30 - 0x10.30 */
+	 u_int8_t bulk_32kb_erase_en;
+	/* Description - reflection of wip bit from flash */
+	/* 0x10.31 - 0x10.31 */
+	 u_int8_t wip;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Flash JEDEC ID */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t jedec_id;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Flash sectore size */
+	/* 0x18.0 - 0x18.9 */
+	 u_int16_t sector_size;
+	/* Description -  */
+	/* 0x18.16 - 0x18.23 */
+	 u_int8_t block_allignment;
+	/* Description -  */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t block_size;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Bitmask indicates which capabilities are supported.
+Bit 15-0: reserved
+Bit 16: Set write protect supported (register MFMC supports setting write protection)
+Bit 17: quad enable read write is supported (register MFMC supports setting quad enable)
+Bit 18: set dummy cycle supported (register MFMC supports setting dummy cycles) */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t capability_mask;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_fpga_shell_caps {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Total size of shared QP buffer size in granularity of 2 KB. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t total_rcv_credits;
+	/* Description - Maximum number of supported QPs. */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t max_num_qps;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - If set, RC transport service is supported. */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t rc;
+	/* Description - If set, UC transport service is supported. */
+	/* 0x4.1 - 0x4.1 */
+	 u_int8_t uc;
+	/* Description - If set, UD transport service is supported. */
+	/* 0x4.2 - 0x4.2 */
+	 u_int8_t ud;
+	/* Description - If set, DC transport service is supported. */
+	/* 0x4.3 - 0x4.3 */
+	 u_int8_t dc;
+	/* Description - If set, RDMA READ operation is supported. */
+	/* 0x4.8 - 0x4.8 */
+	 u_int8_t rre;
+	/* Description - If set, RDMA WRITE operation is supported. */
+	/* 0x4.9 - 0x4.9 */
+	 u_int8_t rwe;
+	/* Description - If set, RDMA atomic operation is supported. */
+	/* 0x4.10 - 0x4.10 */
+	 u_int8_t rae;
+	/* Description - Bit mask indicates which QP types are supported
+Bit 0: Shell_qp - Shell QP supported
+Bit 1: Sandbox_qp - Sandbox QP supported */
+	/* 0x4.16 - 0x4.17 */
+	 u_int8_t qp_type;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Log (base 2) of the DDR size in granularity of GB. */
+	/* 0x8.0 - 0x8.5 */
+	 u_int8_t log_ddr_size;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The maximum size of message size supported by FPGA Shell QP. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t max_fpga_qp_msg_size;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+union connectib_pmmp_sfp_protocol_override_layout_auto {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_pmmp_sfp_protocol_override_layout pmmp_sfp_protocol_override_layout;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+union connectib_pmmp_qsfp_protocol_override_layout_auto {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_pmmp_qsfp_protocol_override_layout pmmp_qsfp_protocol_override_layout;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0xc8.31 */
+	 struct connectib_pcie_perf_counters pcie_perf_counters;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_pcie_lanes_counters pcie_lanes_counters;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_pcie_timers_states pcie_timers_states;
+};
+
+/* Description -   */
+/* Size in bytes - 248 */
+union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_eth_802_3_cntrs_grp_data_layout eth_802_3_cntrs_grp_data_layout;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_eth_2863_cntrs_grp_data_layout eth_2863_cntrs_grp_data_layout;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_eth_2819_cntrs_grp_data_layout eth_2819_cntrs_grp_data_layout;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_eth_3635_cntrs_grp_data_layout eth_3635_cntrs_grp_data_layout;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_eth_extended_cntrs_grp_data_layout eth_extended_cntrs_grp_data_layout;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_eth_per_prio_grp_data_layout eth_per_prio_grp_data_layout;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_eth_per_traffic_grp_data_layout eth_per_traffic_grp_data_layout;
+	/* Description -  */
+	/* 0x0.0 - 0x38.31 */
+	 struct connectib_correct_on_demand_layout correct_on_demand;
+	/* Description -  */
+	/* 0x0.0 - 0xc8.31 */
+	 struct connectib_phys_layer_cntrs phys_layer_cntrs;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_discard_cntrs_grp_data discard;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_llr_counters llr_counters;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_ib_port_counters ib_port_counters;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_eth_per_traffic_congestion_grp_data_layout eth_per_traffic_congestion_grp_data_layout;
+	/* Description -  */
+	/* 0x0.0 - 0xf8.31 */
+	 struct connectib_phys_layer_stat_cntrs phys_layer_stat_cntrs;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_access_register_unit_perf_counters_data_line {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t value;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_access_register_unit_perf_counters_cfg_line {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Counter selector configuration.
+If set to 0 on even-numbered selectors, extends the consecutively (odd-numbered) counter to 64 bits.
+If set to 0 on odd-numbered selectors, count core clock cycles. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t select;
+	/* Description - 0 = SKIP: do not modify this counter selector
+1 = SET: set this counter selector, and reset the counter */
+	/* 0x0.12 - 0x0.15 */
+	 u_int8_t cmd;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_node_description {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 u_int32_t d[16];
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_application_prio_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - According to 802.1Q application priority TLV */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t protocol_id;
+	/* Description - According to 802.1Q application priority TLV */
+	/* 0x0.16 - 0x0.18 */
+	 u_int8_t sel;
+	/* Description - This field is reserved when HCA_CAP.num_ports ==1. 
+ See Table 739, 
+"
+QUERY_HCA_CAP Input Structure Layout
+," on page 801
+. 
+According to 
+802.1Q application priority TLV */
+	/* 0x0.21 - 0x0.23 */
+	 u_int8_t priority;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_tc_qos_configuration {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The percentage of bandwidth guaranteed to TClass within its TClass Group */
+	/* 0x0.0 - 0x0.6 */
+	 u_int8_t bw_allocation;
+	/* Description - TClass Group assigned to a TClass. */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t group;
+	/* Description - Rate limit update. Enables update of the rate limiter (with the max_bw_units, max_bw_value) */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t r;
+	/* Description - Bandwidth allocation update. Enables update of the ETS bandwidth allocation (with the bw_allocation). */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t b;
+	/* Description - Group update. Enables update of the group assigned to the TClass. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t g;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The maximal bandwidth allowed for the use TClass */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t max_bw_value;
+	/* Description - 0 - rate limiter disbled, 0b0011 - 100 Mbps, 0b0100 - 1 Gbps  */
+	/* 0x4.16 - 0x4.19 */
+	 u_int8_t max_bw_units;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_fw_ref_count {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.27 */
+	 u_int32_t ref_counter;
+	/* Description - NOT_VALID = 0x0
+MISC = 0x1
+QP = 0x2
+SQ = 0x3
+MEMORY_RQ = 0x4
+SRQ = 0x5
+XRC_SRQ = 0x6
+RMP = 0x7
+TIR = 0x8
+TIS = 0x9
+DCT = 0xa
+NO_LRO_QP = 0xb */
+	/* 0x0.28 - 0x0.31 */
+	 u_int8_t ref_valid_cre_type;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_mac_address_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Upper bits of mac address. */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t mac_addr_47_32;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Lower bits of mac address. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t mac_addr_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_tir_dmfs {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - resource index of the STE of TIR context */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t tir_ste_ix;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - resource index of the hash filter */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t hash_filter_base_ix;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - resource index of the hash entries */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t hash_entries_base_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_rx_hash_field_select {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Bitmask which sets which packets headers fields should be 
+selected for RX Hash.
+Each bit represents a field as described below
+0: SRC_IP
+1: DST_IP
+2: L4_SPORT
+3: L4_DPORT
+4: IPSEC_SPI
+5-29: reserved
+Only packets which contain the enabled fields can be delivered 
+to that TIR, this must be done with proper Flow Table rules.
+For example if L4_SPORT is enabled and l4_protocol_type == 
+TCP only TCP packets are allowed to reach this TIR.
+Note that if this field refers to tunneling packets only tunneling 
+packets with proper inner headers are allowed to reach this TIR. */
+	/* 0x0.0 - 0x0.29 */
+	 u_int32_t selected_fields;
+	/* Description - This field sets the L4 protocol type (TCP or UDP) L4_SPORT 
+and L4_DPORT fields refer to:
+0: TCP
+1: UDP
+If both L4_SPORT and L4_DPORT are disabled this field is 
+ignored and it does not impact the RX hash behavior. */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t l4_prot_type;
+	/* Description - This field sets the L3 protocol type (IPv4 or IPv6) SRC_IP and 
+DST_IP fields refer to:
+0: IPv4
+1: IPv6
+If both SRC_IP and DST_IP are disabled this field is ignored and 
+it does not impact the RX hash behavior. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t l3_prot_type;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+union connectib_fw_qpc_special {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_regular_qp regular_qp;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_dcr_qp dcr_qp;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_dct_qp dct_qp;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_fw_qpc_q {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -   FW_QP_STATE_RESET     = 0,
+  FW_QP_STATE_INIT      = 1,
+  FW_QP_STATE_RTR_UNUSED       = 2,
+  FW_QP_STATE_RTS_UNUSED       = 3,
+  FW_QP_STATE_SQER_UNUSED      = 4,
+  FW_QP_STATE_SQD_UNUSED       = 5,
+  FW_QP_STATE_ERR       = 6,
+  FW_QP_STATE_DRAINING_UNUSED  = 7,
+  FW_QP_STATE_BUSY_UNUSED      = 8,
+  FW_QP_STATE_SUSPENDED_UNUSED = 9,
+  FW_QP_STATE_READY     = 10,
+  FW_QP_STATE_FLUSHING  = 11,
+  FW_QP_STATE_CHILLING  = 12,
+  FW_QP_STATE_NACK      = 13
+ */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t qp_state;
+	/* Description -  */
+	/* 0x0.8 - 0x0.15 */
+	 struct connectib_schedint_cause schedint_cause;
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t sxdc_valid;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t qpc_valid;
+	/* Description - relevant for DCT only. DCT_CLEANUP_IDLE = 0
+ DCT_CLEANUP_DCRS_NOT_FOUND = 1
+ DCT_CLEANUP_DCRS_FOUND = 2 */
+	/* 0x0.18 - 0x0.19 */
 	 u_int8_t dct_cleanup_state;
 	/* Description -  */
-	/* 0.20 - 0.20 */
-	 u_int8_t qp_in_linked_list;
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t qp_in_linked_list;
+	/* Description -  */
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t cmdif_awaiting;
+	/* Description - kill qp arbiter was disabled as part of duplicate_sx_flush flow */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t dup_sx_flush_kill_qp_arb_disabled;
+	/* Description -  */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t broken_wq_buffer;
+	/* Description -  */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t broken_cq;
+	/* Description -  */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t catas_event_generated;
+	/* Description -  */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t last_wqe_event_generated;
+	/* Description -  */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t async_event_generated;
+	/* Description -  */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t flushed_in_error;
+	/* Description -  */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t sl_diff_flow_done;
+	/* Description -  */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t all_connections_closed_event_req;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t disable_flushed_in_error;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t packet_pacing_rate_limit_index;
+	/* Description - extends rx heartbeat for use with ODP */
+	/* 0x4.8 - 0x4.8 */
+	 u_int8_t rx_heartbeat_odp_ext;
+	/* Description - extends rx heartbeat */
+	/* 0x4.9 - 0x4.9 */
+	 u_int8_t rx_heartbeat_gnrl_ext;
+	/* Description - extends rx heartbeat */
+	/* 0x4.10 - 0x4.10 */
+	 u_int8_t rx_heartbeat_retry_cntr_ext;
+	/* Description - extends sx heartbeat for use with ODP */
+	/* 0x4.12 - 0x4.12 */
+	 u_int8_t sx_heartbeat_odp_ext;
+	/* Description - extends sx heartbeat */
+	/* 0x4.13 - 0x4.13 */
+	 u_int8_t sx_heartbeat_gnrl_ext;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t vendor_syndrome;
+	/* Description -  */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t hw_syndrome;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.4 */
+	 u_int8_t trap_reason;
+	/* Description - for DCR cleanup */
+	/* 0xc.5 - 0xc.5 */
+	 u_int8_t connect_sent_to_ctrl_dct;
+	/* Description - QP generated all needed events, or does need to */
+	/* 0xc.6 - 0xc.6 */
+	 u_int8_t needed_events_generated;
+	/* Description - used in responder only */
+	/* 0xc.8 - 0xc.11 */
+	 u_int8_t retransmission_state;
+	/* Description -  */
+	/* 0xc.12 - 0xc.12 */
+	 u_int8_t rx_fault_event_fired;
+	/* Description -  */
+	/* 0xc.14 - 0xc.14 */
+	 u_int8_t sx_fault_event_fired;
+	/* Description - (fw_trap_reason = SET_LIMIT) -> limit value.For DCR, requestor is used for odp gvmi */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t trap_data_odp_gvmi;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+union connectib_fw_qpc_ts_special {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_qpc_eth eth_qp;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_qpc_ib ib_qp;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_fw_xrqc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t num_offloads;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.4 */
+	 u_int8_t nsq_log_page_size;
+	/* Description -  */
+	/* 0x4.8 - 0x4.12 */
+	 u_int8_t ncq_log_page_size;
+	/* Description -  */
+	/* 0x4.16 - 0x4.20 */
+	 u_int8_t stg_log_page_size;
+	/* Description -  */
+	/* 0x4.24 - 0x4.28 */
+	 u_int8_t memory_page_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t tgt_num;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - notice this cq num is 16 bit field */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t send_cq_num;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t ioccsize;
+	/* Description -  */
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t log_match_list_size;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+union connectib_hw_msix_context_data {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_hw_msix_context_data0 regular;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_steering_qp_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t qp_number;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t force_responder;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+union connectib_hw_ste_tag {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_ste_tag_bulk bulk;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_ste_tag_ib_l2 ibl2;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_ste_tag_ib_l3_extended ibl3_extended;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_ste_tag_ib_l3 ibl3;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_ste_tag_ib_l4 ibl4;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_ste_tag_source_gvmi_qp source_gvmi_qp;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_ste_tag_port port;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_ste_tag_generic_headers generic_headers;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+union connectib_hw_pdf_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_hw_pdf_decoder pdf_decoder;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_hw_transaction_pdf transaction_pdf;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_dc_access_key_63_32 {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description -  */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_dc_access_key_31_0 {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_tclass {
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description -  */
+	/* 0x34.24 - 0x34.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_context_number {
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description -  */
+	/* 0x34.0 - 0x34.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_hop_limit {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.24 - 0x30.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_cq_number {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x30.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_ts {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.28 - 0x2c.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_ipd {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.24 - 0x2c.27 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_my_gid_mac_index {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.16 - 0x2c.23 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_extended_atomic {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.12 - 0x2c.15 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_pkey_table_index {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x2c.11 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_counter_index {
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.24 - 0x28.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_srq_number {
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.0 - 0x28.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_atomic_like_write {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.31 - 0x24.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_my_lid {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.24 - 0x24.30 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_qp_valid {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.23 - 0x24.23 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_max_read_atomic {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.20 - 0x24.22 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_flow_label {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.0 - 0x24.19 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_grh_bit {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.27 - 0x20.27 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_port_number {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.26 - 0x20.26 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_adaptive_routing {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.25 - 0x20.25 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_tcu_trap {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.24 - 0x20.24 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_tcu_drop {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.23 - 0x20.23 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_dc_access_key_log_num_byte {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.20 - 0x20.22 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_fast_path {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.19 - 0x20.19 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_mtu {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.16 - 0x20.18 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_read_enable {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.15 - 0x20.15 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_send_with_invalidate_enable {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.14 - 0x20.14 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_ignore_pkey_check {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.13 - 0x20.13 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_max_message_size {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.8 - 0x20.12 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_inline_scatter {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.6 - 0x20.7 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_write_enable {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.5 - 0x20.5 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_rnr_timer {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x20.4 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_dct_complete_to_64B_eyald {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_qp_valid {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_grh_to_cqe {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_drop_my_self_multicast {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_ack_type {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.28 - 0x0.30 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_e2e_credits_enabled {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_no_direct_access {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_post_receive_slave_enable {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_atomic_like_write {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_write_enable {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_max_read_atomic {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.20 - 0x0.22 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_extended_atomic {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_ignore_pkey_check {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_send_with_invalidate_enable {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_read_enable {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_fast_path {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_check_source_uc_lb {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_check_source_mc_lb {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_check_source_gvmi {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_inline_scatter {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.6 - 0x0.7 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rwq_type {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_last_opcode {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_fw_link_type {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_check_source_uc_wire {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_write_rkey {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rx_heartbeat {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.28 - 0x8.30 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_e2e_fetch_enable {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.27 - 0x8.27 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_tcu_drop {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.26 - 0x8.26 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_can_use_reserved_lkey {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.25 - 0x8.25 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_tcu_trap {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.24 - 0x8.24 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rnr_timer {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.16 - 0x8.20 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rwqe_limit_event {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rwqe_consumer_index {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rcyclic_producer {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rwqe_producer_index {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_qp_state {
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rdb_write_pointer {
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.24 - 0x14.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_first_non_acked_psn {
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rcyclic_consumer {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_msn {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_dct_number {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_cq_number {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_expected_psn {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.8 - 0x20.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_flush_syndrom {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x20.7 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_counter_index {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.24 - 0x24.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_always_zero {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.23 - 0x24.23 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rdb_read_pointer {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.0 - 0x24.7 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_rx_length_committed {
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.8 - 0x28.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_ts {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.28 - 0x2c.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_sx_heartbeat {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.27 - 0x2c.27 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_sqn {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.16 - 0x2c.26 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_dct_gvmi {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x2c.15 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_no_wqe_drop_count {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x2c.15 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_write_va_63_32 {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_write_va_31_0 {
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description -  */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_srq_number {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description -  */
+	/* 0x38.0 - 0x38.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_next_dcr {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description -  */
+	/* 0x38.0 - 0x38.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_mpi_uar {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.8 - 0x3c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_responder_session_id {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.8 - 0x3c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_xrc_domain {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.8 - 0x3c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_dcr_connected {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.2 - 0x3c.2 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_e2e_pa_63_32 {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description -  */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_e2e_pa_31_2 {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.2 - 0x3c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_check_source_mc_wire {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.1 - 0x3c.1 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_r_qpc_connection_state {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.0 - 0x3c.1 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_pf_vf_vpd {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.16 - 0x0.30 */
+	 u_int16_t vpd_address;
+	/* Description - NO_DESCR */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t F;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t vpd_data;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_pf_vf_sriov {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t vf_enable;
+	/* Description - RO */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t vf_migration_en;
+	/* Description - RO */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t vf_migration_int_en;
+	/* Description - NO_DESCR */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t vf_mse;
+	/* Description - NO_DESCR */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t ari_capable_hierarchy;
+	/* Description - log value of system page size mask. no need to store more than 1 bit */
+	/* 0x0.8 - 0x0.12 */
+	 u_int8_t log_system_page_size;
+	/* Description - number of vfs in this sr */
+	/* 0x0.16 - 0x0.25 */
+	 u_int16_t num_vfs;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - just a place holder */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t not_in_use;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_serdes_conf_preset_tx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_serdes_conf_tx_set_ini set[16];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_serdes_active_tx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_serdes_conf_tx_set_ini set[4];
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_serdes_active_rx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_serdes_conf_rx_set_ini set[4];
+};
+
+/* Description -   */
+/* Size in bytes - 40 */
+struct connectib_serdes_force_tx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x28.31 */
+	 struct connectib_serdes_conf_tx_set_ini set[10];
+};
+
+/* Description -   */
+/* Size in bytes - 80 */
+struct connectib_serdes_force_rx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x50.31 */
+	 struct connectib_serdes_conf_rx_set_ini set[10];
+};
+
+/* Description -   */
+/* Size in bytes - 128 */
+struct connectib_serdes_conf_aba_tx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x80.31 */
+	 struct connectib_serdes_conf_tx_set_ini set[32];
+};
+
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_serdes_conf_aba_rx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_serdes_conf_rx_set_ini set[32];
+};
+
+/* Description -   */
+/* Size in bytes - 128 */
+struct connectib_serdes_conf_autoneg_tx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x80.31 */
+	 struct connectib_serdes_conf_tx_set_ini set[32];
+};
+
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_serdes_conf_autoneg_rx_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_serdes_conf_rx_set_ini set[32];
+};
+
+/* Description -   */
+/* Size in bytes - 48 */
+struct connectib_aba_indexes {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_aba_index encode_64_66;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - node is not in use, exist only for future demand */
+	/* 0x10.0 - 0x20.31 */
+	 struct connectib_aba_index encode_8_10;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x30.31 */
+	 struct connectib_aba_index encode_8_10_legacy;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_serdes_param_mask_per_proto_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t rx;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_pf_array_default_ones {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.31 - 0x8.30 */
+	 u_int8_t ix[64];
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_nv_ets_tcN_config_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - See QETCR bw_allocation field. Valid values are 1-100. */
+	/* 0x0.0 - 0x0.6 */
+	 u_int8_t bw_allocation;
+	/* Description - See group in the QETCR register */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t group;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - See max_bw_value in the QETCR register. */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t max_bw_value;
+	/* Description - See max_bw_unit in the QETCR register.
+0x0: DISABLED - rate lim
+it
+0x3: HUNDREDS_MBPS - max_bw_value is in 100 Mbps units
+ 
+iter disabled
+0x4: GBPS - max_bw_value is in 1 Gbps unit
+s */
+	/* 0x4.16 - 0x4.19 */
+	 u_int8_t max_bw_units;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_fpga_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Next Fpga Caps Field to read */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t state;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - in Bytes */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t mailbox_write_offset;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - in Bytes */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t mailbox_write_size;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_fpga_access_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - i2c master handler state */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t state;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_create_lag {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t tx_remap_affinity_1;
+	/* Description -  */
+	/* 0x0.4 - 0x0.7 */
+	 u_int8_t tx_remap_affinity_2;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_modify_sq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - syndrom of qp flush */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t qp_flush_syndrom;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_modify_rq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - syndrom of qp flush */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t qp_flush_syndrom;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - low wather mark */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t lwm;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_l2_table {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t hw_rx_ix;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t hw_sx_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_dmfs_ft {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t vport_num;
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t log_size;
+	/* Description - flow level is 0 */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t ft_in_level0;
+	/* Description - flow table is the root */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t ft_is_root;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t next_table_id;
+	/* Description -  */
+	/* 0x4.24 - 0x4.27 */
+	 u_int8_t table_miss_mode;
+	/* Description -  */
+	/* 0x4.29 - 0x4.29 */
+	 u_int8_t lag_demux;
+	/* Description -  */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t decap_en;
+	/* Description -  */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t encap_en;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t table_id;
+	/* Description -  */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t table_type;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t rx_head_ix;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t sx_head_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_dmfs_fg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t vport_num;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t table_id;
+	/* Description -  */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t table_type;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t vst_root_hash_meta_ix;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t rx_end_ste_ix;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t sx_end_ste_ix;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t rx_root_hash_meta_ix;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t sx_root_hash_meta_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_dmfs_fte {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t vport_num;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - last flow list item that its ref_count was increased (for rollback) */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t copied_items_cntr;
+	/* Description - hierarchy index of the next steering table to be allocated */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t next_hierarchy_to_alloc;
+	/* Description -  */
+	/* 0x4.24 - 0x4.24 */
+	 u_int8_t fte_use_iterator;
+	/* Description -  */
+	/* 0x4.25 - 0x4.25 */
+	 u_int8_t src_port_ext_match_exists;
+	/* Description -  */
+	/* 0x4.26 - 0x4.26 */
+	 u_int8_t modify_flow_list;
+	/* Description - fte points to external port */
+	/* 0x4.27 - 0x4.27 */
+	 u_int8_t external_dest_vport;
+	/* Description - fte points to internal port */
+	/* 0x4.28 - 0x4.28 */
+	 u_int8_t internal_dest_vport;
+	/* Description -  */
+	/* 0x4.29 - 0x4.29 */
+	 u_int8_t uc_match_exists;
+	/* Description -  */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t mc_match_exists;
+	/* Description -  */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t fte_add_remove_;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t table_id;
+	/* Description -  */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t table_type;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t iterator_ix;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t fte_rx_ix;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t fte_sx_ix;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t fte_rx2_ix;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t fte_sx2_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_create_mtt {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t mtt_ix;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t num_mtts;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_psv {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t num_psv;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t num_alloced_psv;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t pd;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x20.31 */
+	 u_int32_t psv_ix[4];
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_mcg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t rx_mcg_index;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t sx_mcg_index;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t gid_msb;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x18.31 */
+	 u_int64_t gid_lsb;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.15 */
+	 u_int16_t member_count;
+	/* Description - The attached QP ulp stateless offload mode */
+	/* 0x18.16 - 0x18.17 */
+	 u_int8_t ulp;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t iterator_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_sniffer {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t port_0_1;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_modify_rmp {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t bitmask;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t lwm;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_arm_rq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t lwm;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_mkey {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t hw_addr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t fw_addr;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t octoword_actual_size_mtt;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_modify_cq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t mtt_ix;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t producer_index;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.0 */
+	 u_int8_t cqe_128b_size;
+	/* Description -  */
+	/* 0xc.1 - 0xc.5 */
+	 u_int8_t log2_size;
+	/* Description -  */
+	/* 0xc.6 - 0xc.10 */
+	 u_int8_t log_page_size;
+	/* Description -  */
+	/* 0xc.11 - 0xc.16 */
+	 u_int8_t cq_page_offset;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t fence_slice;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x14.7 */
+	 u_int8_t old_sw_eqn;
+	/* Description -  */
+	/* 0x14.8 - 0x14.8 */
+	 u_int8_t modify_fields_c_eqn;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_create_cq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t fw_addr;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_create_eq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t fw_eqc_addr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - has either mtt_ix or PA address */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t mtt_ix_pas;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x18.31 */
+	 u_int64_t event_bitmask;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t hw_eqn;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.7 */
+	 u_int8_t offset_in_page;
+	/* Description -  */
+	/* 0x1c.8 - 0x1c.13 */
+	 u_int8_t log_page_size;
+	/* Description - set to 1 if PA mode, set 0 if MTT mode */
+	/* 0x1c.16 - 0x1c.16 */
+	 u_int8_t is_pa_mode;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_rqt {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t rqt_fw_data_ix;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t rqt_hw_data_ix;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - base qp_number */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t rss_indirection_table_base_qpn;
+	/* Description - defines the size of qp_numbers in the HW rqt */
+	/* 0x8.30 - 0x8.31 */
+	 u_int8_t rss_qpn_size;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - for rollback */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t num_rqs_to_dec;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t rqt_max_size;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x14.15 */
+	 u_int16_t rqt_actual_size;
+	/* Description - only for modify_rqt */
+	/* 0x14.16 - 0x14.31 */
+	 u_int16_t rqt_actual_size_old;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - only for modify_rqt */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t rqt_fw_data_ix_old;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - only for modify_rqt */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t rqt_hw_data_ix_old;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_create_xrq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - mtt offset from the initial ix - we create all xrq buffers mtts together */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t curr_mtt_offset;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t fw_srqn;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t tgt_num;
+	/* Description - 0- None, 1- tag_matching */
+	/* 0x8.24 - 0x8.27 */
+	 u_int8_t offload;
+	/* Description - 0- None, 1-rndv, 2-NVMf */
+	/* 0x8.28 - 0x8.31 */
+	 u_int8_t topology;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - nvmf only */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t nvme_sq_mkn;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - nvmf only */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t nvme_cq_mkn;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - nvmf only */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t uapp_data_mkn;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t uapp_ctrl_mkn;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - MUST BE AT OFFSET 0x1c */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t num_nim_indicies_allocated;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_create_srq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t fw_addr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t srqi;
+	/* Description -  */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t cont_srq;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t pas_offset;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_create_rq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t fw_qpc_addr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t no_lro_qpn;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - copy of hca_params->log_max_qp */
+	/* 0xc.0 - 0xc.4 */
+	 u_int8_t log_max_qp;
+	/* Description -  */
+	/* 0xc.8 - 0xc.11 */
+	 u_int8_t wq_type;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_qp_commands {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t fw_qpc_addr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t qpi;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - copy of hca_params->log_max_qp */
+	/* 0xc.0 - 0xc.4 */
+	 u_int8_t log_max_qp;
+	/* Description -  */
+	/* 0xc.5 - 0xc.5 */
+	 u_int8_t is_dci;
+	/* Description -  */
+	/* 0xc.6 - 0xc.6 */
+	 u_int8_t is_enhanced_ipoib;
+	/* Description -  */
+	/* 0xc.7 - 0xc.7 */
+	 u_int8_t is_xrq;
+	/* Description - 0-none, 1-rendezvous, 2-nvme */
+	/* 0xc.8 - 0xc.10 */
+	 u_int8_t offload_xrq_type;
+	/* Description -  */
+	/* 0xc.11 - 0xc.11 */
+	 u_int8_t is_tag_matching_xrq;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x20.31 */
+	 union connectib_cmdif_ctx_special_qp_commands_specific specific;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_modify_tis {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t transport_domain;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t underlay_qpn;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_modify_tir {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t bitmask;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t tir_ste_ix;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t hash_filter_base_ix;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t hash_entries_base_ix;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t rqt_number;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t old_rqt_number;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t inline_rqn;
+	/* Description -  */
+	/* 0x18.24 - 0x18.27 */
+	 u_int8_t disp_type;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t transport_domain;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_cmdif_ctx_special_create {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t num_mapped_mtts;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_flush_type_bitmask {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t dword;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_flush_type_bits {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t mkey_flush;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t qp_s_flush;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t qp_r_flush;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t rx_flush;
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+union connectib_reg_access_reg_tlv_data {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_mfpa mfpa;
+	/* Description - misc flash activate image */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_register_mfai mfai;
+	/* Description - misc flash reset level */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_register_mfrl mfrl;
+	/* Description - misc temperature */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_mtmp mtmp;
+	/* Description - misc_counters */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_register_misc_counters misc_counters;
+	/* Description - misc flash block access */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_project_mfba mfba;
+	/* Description - misc flash block erase */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_mfbe mfbe;
+	/* Description - Secure Firmware Cmd: Management Component Query Status */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_mcqs_reg mcqs;
+	/* Description - Secure Firmware Cmd: Management Component Query Information */
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_mcqi_reg mcqi;
+	/* Description - Secure Firmware Cmd: Management Component Control */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_mcc_reg mcc;
+	/* Description - Secure Firmware Cmd: Management Component Data Access */
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_mcda_reg mcda;
+	/* Description - Secure Firmware Cmd: Management Query Information Strings */
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_mqis_reg mqis;
+	/* Description - mjtag - master jtag register */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_mjtag mjtag;
+	/* Description - Table 236 - PAOS - Ports Administrative and Operational Status Register Layout */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_paos_reg paos;
+	/* Description - Serdes Lane Receive Parameters */
+	/* 0x0.0 - 0x28.31 */
+	 struct connectib_slrp_reg slrp;
+	/* Description - Table 305 - [Internal] SLTP - Serdes Lane Transmit Parameters Register Layout */
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_sltp_reg sltp;
+	/* Description - Table 309 - PTAS - Phy Tuning Algorithm Settings Register Layout */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_ptas_reg ptas;
+	/* Description - Table 307 - SLRG - Serdes Lane Receive Grade Register Layou */
+	/* 0x0.0 - 0x28.31 */
+	 struct connectib_slrg_reg slrg;
+	/* Description -  */
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_pptt_reg pptt;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_pprt_reg pprt;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_ppaos_reg ppaos;
+	/* Description - Table 301 - [Internal] PPAMP - Port Phy opAMP data Register Layout */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_pamp_reg ppamp;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_pmtu_reg pmtu;
+	/* Description -  */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_project_nvda nvda;
+	/* Description -  */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_nv_tlv_hdr nvdi;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_project_nvqc nvqc;
+	/* Description - Table 267 NVGC Register Layout */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_project_nvgc nvgc;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_project_nvia nvia;
+	/* Description -  */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_project_nvgn nvgn;
+	/* Description - Table 291 - PPLR - Port Physical Loopback Register Layout */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_pplr_reg pplr;
+	/* Description - Table 297 - PLPC - Phy Link Profiles Control Register Layout */
+	/* 0x0.0 - 0x28.31 */
+	 struct connectib_plpc_reg plpc;
+	/* Description - Table 299 - PPLM - Port Phy Link Mode Register Layout */
+	/* 0x0.0 - 0x18.31 */
+	 struct connectib_pplm_reg pplm;
+	/* Description - Table 303 - PMLP - Port Module to Local Port Register */
+	/* 0x0.0 - 0x24.31 */
+	 union connectib_pmlp pmlp;
+	/* Description - Management Version Time Stamp */
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_mvts mvts;
+	/* Description -  */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_mpein_reg mpein;
+	/* Description -  */
+	/* 0x0.0 - 0x18.31 */
+	 struct connectib_pmcr_reg pmcr;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_pmaos_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Module state (reserved while 
+admin_status
+ is disabled):
+0 - initializing
+1 - plugged, enabled
+2 - unplugged
+3 - module plugged, error (details in 
+error_type
+).
+4 - plugged, disabled */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t oper_status;
+	/* Description - Module administrative state (the desired state of the module):
+1- enabled
+2- disabled by configuration
+3- enabled once - if the module is active and then unplugged, the 
+operational status should go to "disabled" and can only be enabled 
+up upon explicit enable command.
+Note: To disable a module, all ports associated with the port must 
+be disabled first. */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t admin_status;
+	/* Description - Module number. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t module;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Event Generation on operational state change:
+00 - Do not generate event
+01 - Generate Event 
+10 - Generate Single Event */
+	/* 0x4.0 - 0x4.1 */
+	 u_int8_t e;
+	/* Description - Module error details:
+0x0 - Power Budget Exceeded
+0x1 - Long Range for non MLNX cable/module
+0x2 - Bus stuck (I2C Data or clock shorted)
+0x3 - bad/ unsupported EEPROM
+0x4 - Enforce part number list. 
+0x5 - unsupported cable
+0x6 - High Temperature
+0x7 - bad cable (Module/Cable is shorted)
+Valid only when 
+oper_status 
+= 4'b0011. */
+	/* 0x4.8 - 0x4.11 */
+	 u_int8_t error_type;
+	/* Description - Event update enable. If this bit is set, event generation will be 
+updated based on the 
+e
+ field. Only relevant on Set operations. */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t ee;
+	/* Description - Admin state update enable. If this bit is set, admin state will be 
+updated based on 
+admin_state
+ field. Only relevant on Set() opera
+tions. */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t ase;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_mtppse_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Pin to be configured or queried out of the supported pins. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t pin;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Event generation mode.
+0x0: disable - no event is generated.(default mode). 
+0x1: repetitive events - generate event on each event regardless 
+event arming 
+0x2: once till arm - generate a single event and wait for rearming */
+	/* 0x4.0 - 0x4.3 */
+	 u_int8_t event_generation_mode;
+	/* Description - If set, 
+a
+rm the event mechanism to generate event. 
+Valid only for event_gen_mode == once_till_arm. 
+Note that by default the event is not armed. */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t event_arm;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_mtpps_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Maximum number of pps out pins supported on device. */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t cap_max_num_of_pps_out_pins;
+	/* Description - Maximum number of pps in pins supported on device. */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t cap_max_num_of_pps_in_pins;
+	/* Description - Total number of pps pins supported on device. */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t cap_number_of_pps_pins;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Capability of PPS pin # 0
+0x0: not_supporting_pps.
+0x1: ptp_in 
+0x2: ptp_out 
+0x3: ptp_in_or_ptp out  */
+	/* 0x8.0 - 0x8.3 */
+	 u_int8_t cap_pin_0_mode;
+	/* Description - Capability of PPS pin # 1
+0x0: not_supporting_pps.
+0x1: ptp_in 
+0x2: ptp_out 
+0x3: ptp_in_or_ptp out  */
+	/* 0x8.8 - 0x8.11 */
+	 u_int8_t cap_pin_1_mode;
+	/* Description - Capability of PPS pin # 2
+0x0: not_supporting_pps.
+0x1: ptp_in 
+0x2: ptp_out 
+0x3: ptp_in_or_ptp out  */
+	/* 0x8.16 - 0x8.19 */
+	 u_int8_t cap_pin_2_mode;
+	/* Description - Capability of PPS pin # 3
+0x0: not_supporting_pps.
+0x1
+:
+ ptp_in 
+0x2
+:
+ ptp_out 
+0x3
+:
+ ptp_in_or_ptp out  */
+	/* 0x8.24 - 0x8.27 */
+	 u_int8_t cap_pin_3_mode;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Capability of PPS pin # 4
+0x0: not_supporting_pps.
+0x1: ptp_in 
+0x2: ptp_out 
+0x3: ptp_in_or_ptp out  */
+	/* 0xc.0 - 0xc.3 */
+	 u_int8_t cap_pin_4_mode;
+	/* Description - Capability of PPS pin # 5
+0x0: not_supporting_pps.
+0x1: ptp_in 
+0x2: ptp_out 
+0x3: ptp_in_or_ptp out  */
+	/* 0xc.8 - 0xc.11 */
+	 u_int8_t cap_pin_5_mode;
+	/* Description - Capability of PPS pin # 6
+0x0: not_supporting_pps.
+0x1: ptp_in 
+0x2: ptp_out 
+0x3: ptp_in_or_ptp out  */
+	/* 0xc.16 - 0xc.19 */
+	 u_int8_t cap_pin_6_mode;
+	/* Description - Capability of PPS pin # 7
+0x0: not_supporting_pps.
+0x1: ptp_in 
+0x2: ptp_out 
+0x3: ptp_in_or_ptp out  */
+	/* 0xc.24 - 0xc.27 */
+	 u_int8_t cap_pin_7_mode;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Pin to be 
+configured or queried out of the supported pins. */
+	/* 0x20.0 - 0x20.7 */
+	 u_int8_t pin;
+	/* Description - Pin mode to be used. The mode must comply with the supported 
+modes 
+of
+ the requested pin.
+0x0: pps_in .
+0x1
+:
+ pps_out .
+Operation will fail if pin does not support the required mode. */
+	/* 0x20.8 - 0x20.11 */
+	 u_int8_t pin_mode;
+	/* Description - When pin_mode==pps_in:
+0x0: Rising edge 
+0x1: Falling edge 
+When pin_mode==pps_out:
+0
+x0:
+ Pulse (one shot) - the device will generate a pulse with pulse 
+duration of out_pulse_duration. The pulse will be generated at 
+out_time time 
+0x1: 
+periodic - the device will generate periodical pulses with 
+pulse duration of out_pulse_duration every 1 second according 
+to internal clock. The 1st pulse will be generated at out_time time 
+Reserved when pin_mode is not equal to ptp_out. */
+	/* 0x20.16 - 0x20.19 */
+	 u_int8_t pattern;
+	/* Description - Enables the PPS functionality the the specific pin.
+0x0
+:
+ 
+D
+isable 
+0x1
+:
+ Enable  */
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t enable;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - When pin_mode==pps_in, 
+t
+he latched device time when it was 
+triggered from the external GPIO pin. 
+When pin_mode==pps_
+out
+, 
+t
+he target time to generate 
+next output signal. 
+Time is in units of 
+device clock
+. Device clock frequency 
+can be fetched from HCA_CAP.device_frequency */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t time_stamp_hi;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - When pin_mode==pps_in, 
+t
+he latched device time when it was 
+triggered from the external GPIO pin. 
+When pin_mode==pps_
+out
+, 
+t
+he target time to generate 
+next output signal. 
+Time is in units of 
+device clock
+. Device clock frequency 
+can be fetched from HCA_CAP.device_frequency */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t time_stamp_lo;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - Adjustment of offset from nominal frequency 
+ 
+in units of 
+nsec
+c. 
+Range is from -32768 to +32767 
+The hardware does consecutive frequency adjustment 
+Reserved when pin_mode != ptp_out */
+	/* 0x30.0 - 0x30.15 */
+	 u_int16_t out_periodic_adjustment;
+	/* Description - Output pulse duration 
+in 
+u
+nits of msec. 
+Range is 1 to 1000. 
+Reserved when pin_mode 
+!=
+ ptp_out */
+	/* 0x30.16 - 0x30.31 */
+	 u_int16_t out_pulse_duration;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_fpga_ctrl {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Status of the last operation.
+0x0: Success
+0x1: Failure
+0x2: In_progress
+Valid only for query operation. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t status;
+	/* Description - Indicates the control operation to be performed. Allowed only when 
+FPGA_CAP.fpga_ctrl_modify==1. 
+ See Table 390, "
+FPGA_CAP Register 
+Layout
+," on page 563
+.
+0x1: LOAD - when set, the FPGA will be forced to reload the image from 
+flash according to 
+image_select_admin
+ value.
+0x2: RESET - when set, the FPGA internal logic state (BRAMs, FFs, etc.) 
+will be reset to the original state at loading time.
+0x3: 
+FLASH
+_SELECT - when set, map the flash GW according to 
+flash
+_se
+lect_admin
+ value.
+0x4: 
+Sandbox_Bypass_On
+ - If set, sandbox logic is inactive until 
+Sandbox
+_Bypass_Off
+ 
+is set. Packets will skip the sandbox logic.
+0x5: 
+Sandbox_Bypass_Off - 
+If set, sandbox logic is active. Packets will 
+be 
+processed by 
+the sandbox logic. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t operation;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Current 
+flash
+that 
+is 
+used to 
+l
+oad
+images 
+t
+o FPGA.
+0x0: Factory_default
+0x1: User
+Valid only if status is ok. */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t flash_select_oper;
+	/* Description - Used to select next 
+flash
+ to be 
+used
+to load the images
+.
+0x0: Factory_default
+0x1: User
+Valid only for 
+FLASH
+_SELECT and LOAD operations. */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t flash_select_admin;
+};
+
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_fpga_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - FPGA device type.
+0x0: KU040
+0x1: KU060 */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t fpga_device;
+	/* Description - FPGA identifier.
+0x0: unknown
+0x1: Newton_X */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t fpga_id;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Shell registers space file version. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t register_file_ver;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Indicates the MODIFY operation's permissions of FPGA_ACCESS_REG.
+0x0: Not_allowed - modify registers by FPGA_ACCESS_REG not allowed.
+0x1: All_range_allowed- modify registers by FPGA_ACCESS_REG 
+allowed for all addresses. */
+	/* 0x8.16 - 0x8.17 */
+	 u_int8_t access_reg_modify_mode;
+	/* Description - Indicates the QUERY operation's permissions of FPGA_ACCESS_REG.
+0x0: Not_allowed - Query registers by FPGA_ACCESS_REG not allowed.
+0x1: All_range_allowed- Query registers by FPGA_ACCESS_REG allowed 
+for all addresses. */
+	/* 0x8.24 - 0x8.25 */
+	 u_int8_t access_reg_query_mode;
+	/* Description - If set, SW is allowed to modify FPGA_CTRL register. See
+ Table 394, 
+"
+FPGA_CTRL Register Layout
+," on page 567 */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t fpga_ctrl_modify;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Image version. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t image_version;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Creation date of current running image.
+Format: DDMMYYYY.
+For example:
+0x12011995 means 12/01/1995 in DD/MM/YY. */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t image_date;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Creation time of current running image.
+Format: 00HHMMSS.
+For example:
+0x00015324 means 01:53:24 in HH:MM:SS */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t image_time;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Shell image version. */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t shell_version;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - Shell capabilities. */
+	/* 0x30.0 - 0x70.31 */
+	 struct connectib_fpga_shell_caps shell_caps;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* Description - IEEE Vendor ID of sandbox user.
+0x2C9: Mellanox */
+	/* 0x70.0 - 0x70.23 */
+	 u_int32_t ieee_vendor_id;
+/*---------------- DWORD[29] (Offset 0x74) ----------------*/
+	/* Description - Sandbox product ID.
+For Mellanox sandbox products
+0x0: unknown
+0x
+1
+:
+ example
+0x
+2
+:
+ IPsec
+0x
+3
+:
+ TLS */
+	/* 0x74.0 - 0x74.15 */
+	 u_int16_t sandbox_product_id;
+	/* Description - Sandbox version. */
+	/* 0x74.16 - 0x74.31 */
+	 u_int16_t sandbox_product_version;
+/*---------------- DWORD[30] (Offset 0x78) ----------------*/
+	/* Description - Sandbox basic capabilities per sandbox product ID.
+For Mellanox sandbox products, see
+ Table 347, "
+IPsec_Basic_Capabilities 
+Structure Layout
+," on page 535
+. */
+	/* 0x78.0 - 0x7c.31 */
+	 u_int32_t sandbox_basic_caps;
+/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
+	/* Description - The length (in DWORDs) of sandbox extended capability (equals 0 when 
+such capability is not present). */
+	/* 0x7c.0 - 0x7c.15 */
+	 u_int16_t sandbox_extended_caps_len;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* Description - Bits [63:32] of the extended capabilities address.;For Mellanox sandbox products See ;Table 335, ";IPSec_extended_ca;pabilities Structure Layout;," on page 550;. */
+	/* 0x80.0 - 0x84.31 */
+	 u_int32_t sandbox_extended_caps_addr_h;
+/*---------------- DWORD[33] (Offset 0x84) ----------------*/
+	/* Description - Bits [31:0] of the extended capabilities address. */
+	/* 0x84.0 - 0x88.31 */
+	 u_int32_t sandbox_extended_caps_addr_l;
+/*---------------- DWORD[34] (Offset 0x88) ----------------*/
+	/* Description - Start address of DDR */
+	/* 0x88.0 - 0x8c.31 */
+	 u_int32_t fpga_ddr_start_addr_h;
+/*---------------- DWORD[35] (Offset 0x8c) ----------------*/
+	/* Description - Start address of DDR */
+	/* 0x8c.0 - 0x90.31 */
+	 u_int32_t fpga_ddr_start_addr_l;
+/*---------------- DWORD[36] (Offset 0x90) ----------------*/
+	/* Description - Start address of cr-space */
+	/* 0x90.0 - 0x94.31 */
+	 u_int32_t fpga_cr_space_start_addr_h;
+/*---------------- DWORD[37] (Offset 0x94) ----------------*/
+	/* Description - Start address of cr-space */
+	/* 0x94.0 - 0x98.31 */
+	 u_int32_t fpga_cr_space_start_addr_l;
+/*---------------- DWORD[38] (Offset 0x98) ----------------*/
+	/* Description - Size of DDR in a granularity of 1KB */
+	/* 0x98.0 - 0x9c.31 */
+	 u_int32_t fpga_ddr_size;
+/*---------------- DWORD[39] (Offset 0x9c) ----------------*/
+	/* Description - Size of cr-space in a granularity of 1KB */
+	/* 0x9c.0 - 0xa0.31 */
+	 u_int32_t fpga_cr_space_size;
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_fpga_access_reg {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Number of bytes to read/write.
+Must be aligned to 4 bytes.
+Note that the maximum size supported is 64 bytes. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Bits [63:32] of 64-bit address.
+Allowed address depending on the FPGA_CAP.access_reg_query_mode 
+and FPGA_CAP.access_reg_modify_mode.
+ See Table 390, "
+FPGA_CAP 
+Register Layout
+," on page 563
+. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t address_h;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Bits [31:0] of 64-bit address.
+Allowed address depending on the FPGA_CAP.access_reg_query_mode 
+and FPGA_CAP.access_reg_modify_mode.
+ See Table 390, "
+FPGA_CAP 
+Register Layout
+," on page 563 */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t address_l;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - For Query operations, specify the read data from FPGA registers space.
+For Write operation, specify the data to be written to FPGA registers space. */
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t data[1];
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_pmmp_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Module number. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t module;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Override/ignore EEPROM advertisement properties bitmask: 
+Bit 0 - Override cable protocols and technology for QSFP
+Bit 1 - Override cable protocols and technology for SFP
+Bit 2- Ignore Power Class (set high power)
+Bit 3- Override Cable Length 
+Bit 4- Override Attenuation */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t eeprom_override;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Valid only when
+ the protocols and technology is overridden as indicated by 
+eeprom_override
+See Table 461, "PMMP - QSFP Protocol Bytes Override Layout," on 
+page 623 */
+	/* 0x8.0 - 0x14.31 */
+	 union connectib_pmmp_qsfp_protocol_override_layout_auto qsfp_cable_protocol_technology;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Valid only when
+ the protocols and technology is overridden as indicated by 
+eeprom_override
+See Table 463, "PMMP - SFP Protocol Bytes Override Layout," on 
+page 626 */
+	/* 0x14.0 - 0x20.31 */
+	 union connectib_pmmp_sfp_protocol_override_layout_auto sfp_cable_protocol_technology;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Length of cable assembly, units of 1 m.
+Valid only when
+ the cable length is overridden as indicated by 
+eeprom_override. */
+	/* 0x20.0 - 0x20.7 */
+	 u_int8_t cable_length;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - Valid only when
+ the attenuation is overridden as indicated by 
+eeprom_override.
+Attenuation - total channel attenuation @ 5GHz in db. */
+	/* 0x24.0 - 0x24.7 */
+	 u_int8_t attenuation_5g;
+	/* Description - Valid only when
+ the attenuation is overridden as indicated by 
+eeprom_override.
+Attenuation - total channel attenuation @ 7GHz in db. */
+	/* 0x24.8 - 0x24.15 */
+	 u_int8_t attenuation_7g;
+	/* Description - Valid only when
+ the attenuation is overridden as indicated by 
+eeprom_override.
+Attenuation - total channel attenuation @ 12GHz in db. */
+	/* 0x24.16 - 0x24.23 */
+	 u_int8_t attenuation_12g;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Valid only when
+ the module identifier is overridden as indicated by 
+eeprom_override.
+0x3
+:
+ SFP+
+/
+SFP28
+0xD
+:
+ QSFP+
+0x11
+:
+ QSFP28 */
+	/* 0x28.0 - 0x28.7 */
+	 u_int8_t module_identifier;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_pcmr_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Specifies the check enable/disable capabilities of the local port. A bit set to 
+1 for affirmation of supported enable/disable capability: 
+PHY/PCS check disable/enable capability */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t pcs_cap;
+	/* Description - Specifies the check enable/disable capabilities of the local port. A bit set to 
+1 for affirmation of supported enable/disable capability: 
+FCS check disable/enable capability
+ */
+	/* 0x4.1 - 0x4.1 */
+	 u_int8_t fcs_cap;
+	/* Description - Specifies the check enable/disable capabilities of the local port. A bit set to 
+1 for affirmation of supported enable/disable capability: 
+SHORT FRAME check disable/enable capability */
+	/* 0x4.2 - 0x4.2 */
+	 u_int8_t sht_cap;
+	/* Description - Specifies the check enable/disable capabilities of the local port. A bit set to 
+1 for affirmation of supported enable/disable capability: 
+MTU error - check disable/enable capability (data packet"s actual length 
+over mtu_frame_size) */
+	/* 0x4.3 - 0x4.3 */
+	 u_int8_t mtu_cap;
+	/* Description - Specifies the check enable/disable capabilities of the local port. A bit set to 
+1 for affirmation of supported enable/disable capability: 
+FRAME TYPE check disable/enable capability (out-of-range Type-Length 
+field) */
+	/* 0x4.4 - 0x4.4 */
+	 u_int8_t type_cap;
+	/* Description - Specifies the check enable/disable capabilities of the local port. A bit set to 
+1 for affirmation of supported enable/disable capability: 
+LENGTH MISMATCH check disable/enable capability (Length in Length
+Type is does not match actual payload length) */
+	/* 0x4.5 - 0x4.5 */
+	 u_int8_t len_cap;
+	/* Description - Specifies the check enable/disable capabilities of the local port. A bit set to 
+1 for affirmation of supported enable/disable capability: 
+flow-control packet check disable/enable capability */
+	/* 0x4.7 - 0x4.7 */
+	 u_int8_t fc_cap;
+	/* Description - Specifies the check enable/disable capabilities of the local port. A bit set to 
+1 for affirmation of supported enable/disable capability: 
+Control packet check disable/enable capability */
+	/* 0x4.8 - 0x4.8 */
+	 u_int8_t cp_cap;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - PHY/PCS error check
+Values:
+0: disable check. 
+1: perform check
+Note: when disabling a check, it will also affects the relevant counters. */
+	/* 0x8.0 - 0x8.0 */
+	 u_int8_t pcs_chk;
+	/* Description - FCS check
+Values:
+0: disable check. 
+1: perform check
+Note: when disabling a check, it will also affects the relevant counters. */
+	/* 0x8.1 - 0x8.1 */
+	 u_int8_t fcs_chk;
+	/* Description - SHORT FRAME check
+Values:
+0: disable check. 
+1: perform check
+Note: when disabling a check, it will also affects the relevant counters. */
+	/* 0x8.2 - 0x8.2 */
+	 u_int8_t sht_chk;
+	/* Description - MTU check
+Values:
+0: disable check. 
+1: perform check
+Note: when disabling a check, it will also affects the relevant counters. */
+	/* 0x8.3 - 0x8.3 */
+	 u_int8_t mtu_chk;
+	/* Description - FRAME TYPE check
+Values:
+0: disable check. 
+1: perform check
+Note: when disabling a check, it will also affects the relevant counters. */
+	/* 0x8.4 - 0x8.4 */
+	 u_int8_t type_chk;
+	/* Description - LENGTH MISMATCH check
+Values:
+0: disable check. 
+1: perform check
+Note: when disabling a check, it will also affects the relevant counters. */
+	/* 0x8.5 - 0x8.5 */
+	 u_int8_t len_chk;
+	/* Description - flow-control packet check
+Values:
+0: disable check. 
+1: perform check
+Note: when disabling a check, it will also affects the relevant counters. */
+	/* 0x8.7 - 0x8.7 */
+	 u_int8_t fc_chk;
+	/* Description - Control packet check
+Values:
+0: disable check. 
+1: perform check
+Note: when disabling a check, it will also affects the relevant counters. */
+	/* 0x8.8 - 0x8.8 */
+	 u_int8_t cp_chk;
+};
+
+/* Description -   */
+/* Size in bytes - 24 */
+struct connectib_mcion_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t module;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Bit 0 - Present ;\Bit1 - RX_LOS ;\Bit2 - TX_FAULT */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t module_status_bits;
+};
+
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_pddr_reg {
+};
+
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_mpcnt_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Performance counter group.
+0: PCIE performance counters
+ */
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t grp;
+	/* Description - PCI
+e
+ index number
+Reserved when access is from the host */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t pcie_index;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Clear counters. Setting the 
+clr
+ bit will reset the counter value for all 
+counters in the counter group. This bit can be set for both Set() and 
+Get() operation. */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t clr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Counter set as described in
+Table 657, "
+PCI
+e
+ Performance Counters Data Layout
+," on page 746
+[Internal] 
+Table 661, "
+PCIE lanes counters Data Layout
+," on 
+page 750
+[Internal] 
+Table 659, "
+PCIE timers and states Data Layout
+," on 
+page 748 */
+	/* 0x8.0 - 0x100.31 */
+	 union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto counter_set;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_mcia_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Module Status (added in PRM 0.95)
+0h - GOOD
+1h - NO_EEPROM_MODULE. No response from modules EPROM.
+2h - MODULE_NOT_SUPPORTED. Module type not supported by the device. [Internal] we currently supports all module but who knows.
+3h - MODULE_NOT_CONNECTED. No module present indica-tion. [Internal] The below codes are available in current FW. I think is  should be removed.
+4h - MODULE_TYPE_INVALID               - if the module is not qsfp or sfp - meaning it doesn't has eeprom by definition (no need to  check the bus as NO_EEPROM_MODULE). Module types comes from ini.                  
+5h - MODULE_NOT_ACCESSIABLE     - this is future imple-mented but not tested flow. If a module causing the I2C to hang (while we access its module) the firmware reset the I2C and remem-bers not to access this module until it is unplugged. we should fail access commands for this module.
+9h - I2C_ERROR. Error occurred while trying to access the mod-ules EPROM using I2C.
+10h - MODULE_DISABLED - module is disabled (using Disable Command). */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t status;
+	/* Description - Module number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t module;
+	/* Description - Cable Info Lock Page bit */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t l;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t device_address;
+	/* Description -  */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t page_number;
+	/* Description -  */
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t i2c_device_address;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t size;
+	/* Description - Password capability */
+	/* 0x8.29 - 0x8.29 */
+	 u_int8_t passwd_cap;
+	/* Description - If set to 1 will force the password to be cleared from the module password field at the end of the module access. */
+	/* 0x8.30 - 0x8.30 */
+	 u_int8_t passwd_clr;
+	/* Description - If set to 1 the Password field is valid and is written to the module password field (address 123-126) before accessing the page. */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t passwd_v;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The password that is written to the module password field. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t password;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x40.31 */
+	 u_int32_t dword[12];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_ppad_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - If 
+single_base_mac
+ = 0 - base MAC address, mac[7:0] is 
+reserved.
+If 
+single_base_mac
+ = 1 - the per port MAC address */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t mac_47_32;
+	/* Description - Port number
+Reserved when 
+single_base_mac
+ = 0 */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+	/* Description - 0 - base_mac, 
+local_port 
+should be 0 and mac[7:0] is 
+reserved.HW will set incremental 
+1 - single_mac - mac of the 
+local_port
+Reserved for 
+SwitchX/-2. */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t single_base_mac;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - If 
+single_base_mac
+ = 0 - base MAC address, mac[7:0] is 
+reserved.
+If 
+single_base_mac
+ = 1 - the per port MAC address */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t mac_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_pvlc_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Virtual Lanes supported on this port.
+0 - Reserved
+1: VL0
+2: VL0, VL1
+4: VL0 - VL3
+8: VL0 - VL7
+15: VL0 - VL14 */
+	/* 0x4.0 - 0x4.3 */
+	 u_int8_t vl_hw_cap;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Virtual Lanes enabled by the local admin on this port.
+0: No change; valid only on Set()
+1: VL0
+2: VL0, VL1
+4: VL0 - VL3
+8: VL0 - VL7
+15: VL0 - VL14 */
+	/* 0x8.0 - 0x8.3 */
+	 u_int8_t vl_admin;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Operational VLs as configured by the SM on this port:
+0: No change; valid only on Set()
+1: VL0
+2: VL0, VL1
+4: VL0 - VL3
+8: VL0 - VL7
+15: VL0 - VL14
+Changing 
+vl_operational
+ in certain PortStates may cause in flow control 
+update errors which may initiate Link/PHY retraining.
+vl_operational
+ value is valid only when link state is UP. */
+	/* 0xc.0 - 0xc.3 */
+	 u_int8_t vl_operational;
+};
+
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_ppcnt_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Performance counter group.
+Group 63 indicates all groups. Only valid on Set() operation with 
+clr
+ bit set.
+0x0: IEEE 802.3 Counters
+0x1: RFC 2863 Counters
+0x2: RFC 2819 Counters
+0x3: RFC 3635 Counters
+0x5: Ethernet Extended Counters
+0x6: Ethernet Discard Counters (Switches Only)
+0x8: Link Level Retransmission Counters
+0x10: Per Priority Counters
+0x11: Per Traffic Class Counters
+0x11: Per Traffic Class Counters
+0x12: Physical Layer Counters
+0x13: Per Traffic Class Congestion Counters (Switches Only)
+0x14: Correct On Demand Counters
+0x15: Per Receive Buffer Counters
+0x20 InfiniBand PortCounters */
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t grp;
+	/* Description - Port number access type:
+0 - Local port number
+1 - IB port number */
+	/* 0x0.14 - 0x0.15 */
+	 u_int8_t pnat;
+	/* Description - Local port number. 
+255 indicates all ports on the device, and is only allowed for Set() operation. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+	/* Description - For HCA
+:
+ must be always 0.
+Switch partition ID to associate port with.
+Switch partitions are numbered from 0 to 7 inclusively.
+Switch partition 254 indicates stacking ports.
+Switch partition 255 indicates all switch partitions.
+Only valid on Set() operation with local_port=255. */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t swid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Priority for counter set that support per priority. Traffic class for counter set 
+the support per traffic class. Otherwise must be 0. */
+	/* 0x4.0 - 0x4.4 */
+	 u_int8_t prio_tc;
+	/* Description - Clear counters. Setting the 
+clr
+ bit will reset the counter value for all counters 
+in the counter group. This bit can be set for both Set() and Get() operation. */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t clr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Counter set as described in:
+ See Table 244, "
+Ethernet IEEE 802.3 Counters Group Data Layout
+," on 
+page 397
+ See Table 246, "
+Ethernet RFC 2863 Counter Group Data Layout
+," on 
+page 400
+ See Table 248, "
+Ethernet RFC 2819 Coun
+t
+er Group Data Layout
+," on 
+page 402
+ See Table 250, "
+Ethernet RFC 3635 Counter Group Data Layout
+," on 
+page 405
+ See Table 252, "
+Ethernet Extended Counter Group Data Layout
+," on 
+page 408
+ See Table 254, "
+Ethernet Per Priority Group Data Layout
+," on page 409
+ See Table 256, "
+Ethernet Per Traffic Cla
+s
+s Group data layout
+," on page 411 */
+	/* 0x8.0 - 0x100.31 */
+	 union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto counter_set;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_ptys_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Protocol Mask. Indicates which of the protocol data is valid
+Bit 0: InfiniBand
+Bit 1: FC
+Bit 2: Ethernet */
+	/* 0x0.0 - 0x0.2 */
+	 u_int8_t proto_mask;
+	/* Description - Local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+	/* Description - When set, use ABA parameters on TX when in force operation (AN-dis
+able or parallel detect) */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t force_tx_aba_param;
+	/* Description - Auto Negotiation disable capability:
+0 - Device does
+ not 
+support AN disable
+1 - Device Supports AN disable */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t an_disable_cap;
+	/* Description - Auto Negotiation disable:
+0 - Normal operation 
+1 - Disable AN.
+Note: When Disabling AN, the "
+eth_proto_admin
+" bit mask must comply 
+to single speed
+ rate set. 
+ */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t an_disable_admin;
+	/* Description - THIS BIT MUST BE TIED TO 
+1
+!
+This is old capability bit that address AN_DISABLE capability with only 
+one enabled protocol. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t reserved_high;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Port data rate in resolution of 100 Mb/s (
+data_rate
+_oper * 100 Mb/s)
+Value 0x0 indicates this field is not supported. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t data_rate_oper;
+	/* Description - Auto Negotiation status: 
+0 - Status is unavailable
+1 - AN completed successfully 
+2 - AN performed but failed
+3 - AN was not performed, link is up 
+4 - AN was not performed, link is down */
+	/* 0x4.28 - 0x4.31 */
+	 u_int8_t an_status;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - FC port speed/protocols supported (bitmask)
+Bit 3 - 8GFC
+Bit 2 - 4GFC
+Bit 1 - 2GFC
+Bit 0 - 1GFC */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t fc_proto_capability;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Ethernet port speed/protocols supported (bitmask)
+Bit 31 - 50GBase-KR2
+Bit 30 - 50GBase-CR2
+Bit 29 - 25GBase-SR
+Bit 28 - 25GBase-KR
+Bit 27 - 25GBase-CR
+[Internal] Bit 26 - 10GBase-T 
+[Internal] Bit 25 - 1000Base-T
+[Internal] Bit 24 - 100Base-TX
+[Internal] Bit 23 - 100GBase LR4/ER4
+Bit 22 - 100GBase KR4
+Bit 21 - 100GBase SR4
+Bit 20 - 100GBase CR4
+Bit 19 - 50GBase-KR4
+Bit 18 - 50GBase-SR2
+Bit 16 - 40GBase LR4/ER4
+Bit 15 - 40GBase SR4
+Bit 14 - 10GBase ER/LR
+Bit 13 - 10GBase SR
+Bit 12 - 10GBase CR
+[Internal] Bit 8 - 56GBase *R4
+Bit 7 - 40GBase KR4
+Bit 6 - 40GBase CR4
+[internal] Bit 5 - 20GBase-KR2
+Bit 4 - 10GBase KR
+Bit 3 - 10GBase KX4
+Bit 2 - 10GBase-CX4
+Bit 1 - 1000Base KX
+Bit 0 - SGMII */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t eth_proto_capability;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - InfiniBand port speed supported (bitmask)
+ib_link_speed <= ib_proto_capability[7:0]
+Bit 0 - SDR
+Bit 1 - DDR
+Bit 2 - QDR
+Bit 3 - FDR10
+Bit 4 - FDR
+Bit 5 - EDR
+[Internal]Bit 6 - HDR
+[Internal]Bit 7 - NDR */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t ib_proto_capability;
+	/* Description - ib_link_width <= ib_proto_capability
+Bit 0 - 1x
+Bit 1 - 2x
+Bit 2 - 4x
+Bit 3 - 8x
+Bit 4 - 12x */
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t ib_link_width_capability;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - FC port speed/protocols bitmask */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t fc_proto_admin;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Ethernet port speed/protocols bitmask */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t eth_proto_admin;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - InfiniBand port speed bitmask */
+	/* 0x1c.0 - 0x1c.15 */
+	 u_int16_t ib_proto_admin;
+	/* Description - InfiniBand port link width bitmask */
+	/* 0x1c.16 - 0x1c.31 */
+	 u_int16_t ib_link_width_admin;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - FC port speed/protocols bitmask */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t fc_proto_oper;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - Ethernet port speed/protocols bitmask */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t eth_proto_oper;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - InfiniBand port speed bitmask */
+	/* 0x28.0 - 0x28.15 */
+	 u_int16_t ib_proto_oper;
+	/* Description - InfiniBand port link width bitmask */
+	/* 0x28.16 - 0x28.31 */
+	 u_int16_t ib_link_width_oper;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - Ethernet port's link partner advertised protocols. Returns the protocols 
+that were advertised by the link partner during auto-negotiation. */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t eth_proto_lp_advertise;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_pmlp_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0 - unmap local port
+1 - x1 (lane 0 is used)
+2 - x2 (lanes 0,1 are used)
+4 - x4 (lanes 0,1,2 and 3 are used)
+Other - reserved */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t width;
+	/* Description - Local port number. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+	/* Description - Use different configuration for RX and TX.
+If this bit is cleared, the TX value is used for both RX and TX. When set, 
+the RX configuration is taken from the separate field. This is to enable 
+backward compatible implementation. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rxtx;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Module SerDes for lane <i>
+Up to 4 SerDeses in a module can be mapped to a local port. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t lane0_module_mapping;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Module SerDes for lane <i>
+Up to 4 SerDeses in a module can be mapped to a local port. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t lane1_module_mapping;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Module SerDes for lane <i>
+Up to 4 SerDeses in a module can be mapped to a local port. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t lane2_module_mapping;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Module SerDes for lane <i>
+Up to 4 SerDeses in a module can be mapped to a local port. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t lane3_module_mapping;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_register_mfbe {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Flash Select */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t fs;
+	/* Description - Parallel */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t p;
+	/* Description - erase a 64KB bulk */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t bulk_64kb_erase;
+	/* Description - erase a 32KB bulk */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t bulk_32kb_erase;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - address in bytes */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t address;
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_register_mfba {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Flash Select */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t fs;
+	/* Description - Parallel */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t p;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Transaction size */
+	/* 0x4.0 - 0x4.8 */
+	 u_int16_t size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - address in bytes */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t address;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x2c.31 */
+	 struct connectib_register_access_data data;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_register_mfpa {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Flash Select */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t fs;
+	/* Description - Parallel */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t p;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - address in bytes */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t boot_address;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - number of flash devices connected */
+	/* 0x10.0 - 0x10.3 */
+	 u_int8_t flash_num;
+	/* Description - supports 64KB bulk erase operation */
+	/* 0x10.29 - 0x10.29 */
+	 u_int8_t bulk_64kb_erase_en;
+	/* Description - supports 32KB bulk erase operation */
+	/* 0x10.30 - 0x10.30 */
+	 u_int8_t bulk_32kb_erase_en;
+	/* Description - reflection of wip bit from flash */
+	/* 0x10.31 - 0x10.31 */
+	 u_int8_t wip;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Flash JEDEC ID */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t jedec_id;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Flash sectore size */
+	/* 0x18.0 - 0x18.9 */
+	 u_int16_t sector_size;
+	/* Description -  */
+	/* 0x18.16 - 0x18.23 */
+	 u_int8_t block_allignment;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - capability mask ;bit 0:Parallel flash Support;else:Reserved  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t capability_mask;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_db_threshold_register_layout {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Required upper watermark.
+When FIFO/buffer reaches this size- an event will be sent */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t threshold;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Current FIFO/buffer size */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t size;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_register_pplr {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - external loopback enable (default - disabled) */
+	/* 0x4.2 - 0x4.2 */
+	 u_int8_t exl;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_register_host_endianness {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0
+:
+ LITTLE
+_
+ENDIAN
+1
+:
+ BIG
+_
+ENDIAN */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t he;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_register_fp_sl_map {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - If bit [i] of the register is set, SL[i] is a fast path SL */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t fp_sl_indication;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_register_power_settings {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0x0 - minimum power (maximum latency penalty)
+0x1-0xfe - reserved
+0xff - maximum power (minimum latency penalty) */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t power_settings_level;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_register_loopback_control {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 1 - port 1
+2 - port 2
+255 - both ports
+otherwise - reserved */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t port;
+	/* Description - When set, the HCA will always send packets meant for the same port to wire, 
+rather than perform internal loopback */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t no_lb;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_pfcc_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - S
+end to higher layers operation:
+0 - Pause and PFC are handled by the port (default)
+1 - Pause and PFC are handled by the port and are also been send to 
+higher layers.
+Only valid if 
+shl_cap
+ = 1. */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t shl_opr;
+	/* Description - S
+end to higher layers capabilities:
+0 - No capability of sending Pause and PFC to higher layers
+1 - Device has capability of send Pause and PFC to higher layers
+NOTE: This relates to IEEE 802.3 PAUSE and IEEE 802.3 PFC. */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t shl_cap;
+	/* Description - Port number access type. determines the way 
+local_port
+ 
+is interpreted:
+0 - Local port number
+1 - IB / label port number
+[Internal] 3 - Out of band / PCI
+ */
+	/* 0x0.14 - 0x0.15 */
+	 u_int8_t pnat;
+	/* Description - Local port number. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+	/* Description - Indicates if operation of remote admin parameters (
+dcxb_operation_
+type
+ 0x2) is supported. */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t cap_remote_admin;
+	/* Description - Indicates if operation of local admin parameters (
+dcxb_operation_type
+ 
+0x1) is supported. */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t cap_local_admin;
+	/* Description - The Operation type, valid only on HCAs.
+0x0: local operative parameters.
+0x1: local admin parameters. Supported only when 
+cap_local_ad
+min==1
+.
+0x2: remote admin parameters. Supported only when 
+cap_remote_ad
+min==1
+.
+Only 
+pfctx
+ and 
+pfcrx
+ are supported on remote device */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t dcbx_operation_type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Bit per prio indicating if RX flow control policy should be updated 
+based on bit 
+pfcrx
+. */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t prio_mask_rx;
+	/* Description - Bit per prio indicating if TX flow control policy should be updated 
+based on bit 
+pfctx
+. */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t prio_mask_tx;
+	/* Description - Pause policy auto negotiation
+0: disabled - generate and ignore pause frames based on pptx, pprx
+1: enabled - when auto-negotiation is performed, set the pause policy 
+based on the auto-negotiation resolution.
+Note - The auto-negotiation advertisement is set according to pptx, 
+pprx.
+Note - When PFC is set on the TX / RX ppan must be set to 0. */
+	/* 0x4.28 - 0x4.31 */
+	 u_int8_t ppan;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Credit based flow control policy on TX[7:0]. Per TClass bit mask:
+0 - never generate flow control credit frames on the specified TClass 
+(default)
+1 - generate flow control credit frames according to RX buffer state on 
+the specified TClass
+pfctx
+, 
+pptx
+ and 
+cbftx
+ must be mutual exclusive (i.e. only one of them 
+at most can be set). */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t cbftx;
+	/* Description - Valid only on HCAs.
+The bit is set if the device has passed the device_stall_critical_water
+mark (for global flow control or any priority when using priority flow 
+control) and has become stalled. 
+When fctx_disabled is set, the device won't send flow control and pri
+ority flow control (PFC) packets. */
+	/* 0x8.8 - 0x8.8 */
+	 u_int8_t fctx_disabled;
+	/* Description - Priority based flow control policy on TX[7:0]. Per priority bit mask:
+0 - never generate pause frames on the specified priority (default)
+1 - generate pause frames according to RX buffer threshold on the 
+specified priority
+pfctx
+, 
+pptx
+ must be mutually exclusive (for example, only one of them 
+at most can be set). */
+	/* 0x8.16 - 0x8.23 */
+	 u_int8_t pfctx;
+	/* Description - Active (operational) pause policy on TX
+0 - do not generate pause frames
+1 - generate pause frames according to RX buffer threshold */
+	/* 0x8.30 - 0x8.30 */
+	 u_int8_t aptx;
+	/* Description - Admin pause policy on TX (see also 
+pfctx
+):
+0 - never generate pause frames (default)
+1 - generate pause frames according to RX buffer threshold */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t pptx;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Credit based flow control policy in RX[7:0]. Per TClass bit mask:
+0 - ignore incoming flow control credit frames on the specified TClass 
+(default)
+1 - respect flow control credit frames according to RX buffer state on 
+the specified TClass */
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t cbfrx;
+	/* Description - Priority based flow control policy on RX[7:0]. Per priority bit mask:
+0 - ignore incoming pause frames on the specified priority (default)
+1 - respect incoming pause frames on the specified priority */
+	/* 0xc.16 - 0xc.23 */
+	 u_int8_t pfcrx;
+	/* Description - Active (operational) pause policy on RX
+0 - ignore received pause frames
+1 - respect received pause frames */
+	/* 0xc.30 - 0xc.30 */
+	 u_int8_t aprx;
+	/* Description - Admin pause policy on RX (see also 
+pfcrx
+):
+0 - ignore received pause frames (default)
+1 - respect received pause frames */
+	/* 0xc.31 - 0xc.31 */
+	 u_int8_t pprx;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Valid only on HCAs (When 
+rx_activity 
+is set).
+The maximum period for a single received packet processing, if the 
+packet wasnot processed during this time, the device will be declared 
+as stalled and will increase the 
+device_stall_critical_watermark_cnt 
+(PPCNT) 
+counter. Value given in mSec, The maximum period is 8 
+sec. 
+The special value of 0, indicates that the 
+device_stall_critical_water
+mark
+ is inactive.
+Range: 0x0050 - 0x1F40 */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t device_stall_critical_watermark;
+	/* Description - Valid only on HCAs (When 
+rx_activity 
+is set).
+The maximum period for a single received packet processing, if the 
+packet wasn't processed during this time, the device will increase the 
+device_stall_minor_watermark_cnt (PPCNT)
+. Value given in mSec, 
+The maximum period is 8 sec. 
+The special value of 0, indicates that the 
+device_stall_minor_water
+mark
+ is inactive.
+Range: 0x0050 - 0x1F40 */
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t device_stall_minor_watermark;
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_access_register_unit_port_capabilities {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - manually added, for reserved equal zero test */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t reserved_1;
+	/* Description - local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+	/* Description - manually added, for reserved equal zero test */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t reserved_0;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - sets port info capability mask, specifies the supported capabilities of the node. A bit set to 1 for affirmation of supported capability */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t port_capabilities_127_96;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t port_capabilities_95_64;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t port_capabilities_63_32;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t port_capabilities_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_register_unit_perf_counters_global_ctrl {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0x0 - stop counting in all performance counters
+0x1 - start counting in all performance counters 
+Otherwise - reserved */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t cmd;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_access_register_unit_perf_counters_data {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_access_register_unit_perf_counters_data_line counter[8];
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_access_register_unit_perf_counters_cfg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_access_register_unit_perf_counters_cfg_line counter[8];
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_register_set_node {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_node_description node_description;
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_dcbx_app_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Physical port number.
+This field is reserved when HCA_CAP.num_ports ==1. 
+ See Table 739, 
+"
+QUERY_HCA_CAP Input Structure Layout
+," on page 801 */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t port_number;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.5 */
+	 u_int8_t num_app_prio;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Application priority entry. */
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_application_prio_entry app_prio[1];
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_dcbx_param_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The maximum size of DCBX application table. */
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t max_application_table_size;
+	/* Description - Physical port number.
+This field is reserved when HCA_CAP.num_ports ==1. 
+ See Table 739, 
+"
+QUERY_HCA_CAP Input Structure Layout
+," on page 801 */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t port_number;
+	/* Description - If set, device supports DCBX on standby mode (aux power). */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t dcbx_standby_cap;
+	/* Description - If set, DCBX IEEE version is supported. */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t dcbx_ieee_cap;
+	/* Description - If set, DCBX CEE version is supported. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t dcbx_cee_cap;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Set the DCBX version.
+0x0: disabled- host is in charge 
+0x1: CEE - supported only when dcbx_cee_cap==1
+0x2: IEEE - supported only when dcbx_ieee_cap==1
+0x3: CEE_and_IEEE - CEE and IEEE auto select. When using this mode, 
+the device uses IEEE mode. If handshake with other party succeed, it will 
+continue on using IEEE, otherwise it will fall back to CEE. Supported only 
+when dcbx_cee_cap==1 and cbx_ieee_cap==1. */
+	/* 0x4.0 - 0x4.2 */
+	 u_int8_t version_admin;
+	/* Description - 0x0: disabled - host is in charge.
+0x1: CEE_enabled
+0x2: IEEE_enabled
+If the DCBX_PARAM.version_oper is 0x0, all oper and remote fields in 
+DCBX_PARAM () are invalid. DCBX_APPLICATION.num_app_prio is 0
+DCBX_PARAM.version is 0x0 until a successful handshake with remote 
+party. */
+	/* 0x4.8 - 0x4.10 */
+	 u_int8_t version_oper;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Number of TCs. */
+	/* 0x8.0 - 0x8.3 */
+	 u_int8_t num_of_tc_admin;
+	/* Description - Number of TCs - operational state after negotiation with remote party
+. */
+	/* 0x8.8 - 0x8.11 */
+	 u_int8_t num_of_tc_oper;
+	/* Description - Number of traffic classes that may simultaneously support PFC. Can be set 
+in the range 0 8 */
+	/* 0x8.16 - 0x8.19 */
+	 u_int8_t pfc_cap_admin;
+	/* Description - Number of traffic classes that may simultaneously support PFC. Can be set 
+in the range 0 8 - operational state after negotiation with remote party. */
+	/* 0x8.24 - 0x8.27 */
+	 u_int8_t pfc_cap_oper;
+	/* Description - 0x0: non
+_
+w
+illing
+0x1: willing */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t willing_admin;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Remote side's number of TCs. Valid only after negotiation with remote 
+party. */
+	/* 0xc.0 - 0xc.3 */
+	 u_int8_t remote_num_of_tc;
+	/* Description - Remote side's number of traffic classes that may simultaneously support 
+PFC. Valid only after negotiation with remote party. */
+	/* 0xc.24 - 0xc.27 */
+	 u_int8_t remote_pfc_cap;
+	/* Description - Remote side's willing state. Valid only after negotiation with remote party */
+	/* 0xc.31 - 0xc.31 */
+	 u_int8_t remote_willing;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Bitmask indicates errors reported.
+Bit 0: not enough TC to comply with remote 
+Bit 1: not enough pfc to comply with remote 
+Bit 2: TSA unsupported */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t error;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_mlcr {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Led type (only supported when cap_local_or_uid_only==1.)
+0: LOCALP_AND_UID - local port and uid
+1: UID 
+2: LOCALP - local port */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t led_type;
+	/* Description - If set, led_type of type UID and LOCAL Port only are supported. */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t cap_local_or_uid_only;
+	/* Description - Local port number
+Not supported for CPU port
+(only supported only when cap_local_or_uid_only==1.) */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Duration of the beacon to be active, units of seconds
+The value of 0x0 will turn off the beacon
+The value of 0xffff will set the beacon to infinity */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t beacon_duration;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Remaining duration of the beacon, units of seconds
+The value of 0xffff means infinity */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t beacon_remain;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_qhll {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Local port */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - HLL Timeout value
+HLL Timeout = 4.096uSec * 2^
+hll_time
+Values of 20-31 indicate HLL is disabled */
+	/* 0x4.0 - 0x4.4 */
+	 u_int8_t hll_time;
+	/* Description - B
+itmask per TC/VL. When a bit is set, the appropriate TC/VL will 
+not be subject to HLL timeout. */
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t hll_mask;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Stall count. Number of consecutive HLL discarded packets 
+required to enter the Stall-State.
+Range 1..7
+Reserved when 
+stall_en
+ = 0 */
+	/* 0x8.0 - 0x8.2 */
+	 u_int8_t stall_cnt;
+	/* Description - Stall state enable
+0x0 - Stall state disabled
+0x1 - Stall state enabled (default) */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t stall_en;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_qtct_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Priority */
+	/* 0x0.0 - 0x0.2 */
+	 u_int8_t prio;
+	/* Description - Physical port number.
+This field is reserved when HCA_CAP.num_ports ==1. 
+ See Table 739, 
+"
+QUERY_HCA_CAP Input Structure Layout
+," on page 801 */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t port_number;
+	/* Description - Indicates if operation_type==remote_admin_parameters is supported. */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t cap_remote_admin;
+	/* Description - Indicates if operation_type==local_admin_parameters is supported */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t cap_local_admin;
+	/* Description - Operation type.
+0x0: local_operative_parameters
+0x1: local_admin_parameters - Supported only when cap_local_admin==1
+0x2: remote_admin_parameters- Supported only when cap_remote_ad
+min==1 */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t operation_type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - TClass used for priority=<prio>.
+Default values are: tclass[prio=0]=1, tclass[prio=1]=0, tclass[prio=i]=i (for 
+i>1). */
+	/* 0x4.0 - 0x4.2 */
+	 u_int8_t tclass;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_qpdp_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Physical port number.
+This field is reserved when HCA_CAP.num_ports ==1. 
+ See Table 739, 
+"
+QUERY_HCA_CAP Input Structure Layout
+," on page 801
+. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t port_number;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Default port priority (default 0) */
+	/* 0x4.0 - 0x4.2 */
+	 u_int8_t pprio;
+};
+
+/* Description -   */
+/* Size in bytes - 80 */
+struct connectib_qetcr_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Physical port number.
+This field is reserved when HCA_CAP.num_ports ==1. See 
+Table 772, 
+"
+QUERY_HCA_CAP Input Structure Layout
+," on page 851 */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t port_number;
+	/* Description - Indicates if operation_type==remote_admin_parameters is supported. */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t cap_remote_admin;
+	/* Description - Indicates if operation_type==local_admin_parameters is supported */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t cap_local_admin;
+	/* Description - Operation type.
+0x0: local operative parameters.
+0x1: local admin parameters. Supported only when cap_local_admin==1.
+0x2: remote admin parameters. Supported only when cap_remote_ad
+min==1.
+ */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t operation_type;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Per-tclass configuration. For details, 
+ See Table 378, "
+ETS tcN Configu
+ration Register Layout
+," on page 581
+. */
+	/* 0x8.0 - 0x48.31 */
+	 struct connectib_tc_qos_configuration tc[8];
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - Global configuration. For details, refer to 
+Table 380, "
+ETS Global 
+Configuration Register Layout
+"
+. */
+	/* 0x48.0 - 0x50.31 */
+	 u_int64_t global_configuration;
+};
+
+/* Description -   */
+/* Size in bytes - 80 */
+struct connectib_pcam_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Access Register ID groups
+0 - RegID 0x5000 -
+ 
+0x507F
+1-255 - Reserved */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t access_reg_group;
+	/* Description - Feature list mask index: 
+0 - enhanced features 
+1-255 - Reserved */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t feature_group;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Supported port's access register bitmaks. Based on 
+access_reg_group 
+index.
+When bit is set , The register is supported in the device. 
+When 
+access_reg_group == 0
+ :
+Bit 0 - 0x5000 
+Bit 1 - 0x5001 (
+PCAP)
+Bit 2 - 0x5002 (PMLP)
+Bit 3 - 0x5003 (PMTU)
+Bit 4 - 0x5004 (PTYS)
+.
+,
+Bit 127-
+ 
+0x507F (PCAM) */
+	/* 0x8.0 - 0x18.31 */
+	 u_int32_t port_access_reg_cap_mask[4];
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Supported port's enhanced features. Based on 
+feature_group
+ 
+index.
+When bit is set , The feature is supported in the device: 
+Bit 0 - PPCNT counter group: Phy statistical counter group 
+Bit 1 - PPCNT counter group: Discard counter group 
+Bit 2:255 - Reserved */
+	/* 0x28.0 - 0x38.31 */
+	 u_int32_t feature_cap_mask[4];
+};
+
+/* Description -   */
+/* Size in bytes - 72 */
+struct connectib_mcam_reg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Access Register ID groups 
+0 - Fi REG_ID */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t access_reg_group;
+	/* Description - Feature list mask index : 
+0 - enfeatures */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t feature_group;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Supmanagement's access register bitmaks.
+Based on 
+access_reg_group 
+index.
+ 
+When bit is set , The register is supported in the device. 
+Bit 1 - MFCR (0x9001)
+Bit 2 - MFSC (0x9002)
+BiFSM (0x9003)
+Bit 4 - MFSL (0x9004)
+Bit 127- MCAP (0x907F) */
+	/* 0x8.0 - 0x18.31 */
+	 u_int32_t mng_access_reg_cap_mask[4];
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Supported port's enhanced features.
+Based on 
+feature_group
+ 
+index.
+When bit is set , The feature is supported in the device: 
+Bit 0 - 
+MPCNT counter group: 
+PCIE performance counters supported */
+	/* 0x28.0 - 0x38.31 */
+	 u_int32_t mng_feature_cap_mask[4];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_ib_gid {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 u_int32_t dword[4];
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_dmfs_encap_meta {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.2 */
+	 u_int8_t header_type;
+	/* Description -  */
+	/* 0x4.6 - 0x4.15 */
+	 u_int16_t encap_size;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_flow_counter_fw_ctx {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - counts how many FTEs count on this counter */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t src_gvmi;
+	/* Description -  */
+	/* 0x4.24 - 0x4.30 */
+	 u_int8_t ft_type;
+	/* Description -  */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t ft_type_valid;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t mac;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t next_flow_counter;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t prev_flow_counter;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_l2_table_entry_fw_ctx {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_mac_address_layout mac;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - ethernet vlan */
+	/* 0x8.0 - 0x8.11 */
+	 u_int16_t vlan;
+	/* Description - when set to 1, vlan field is valid.
+when set to 0, vlan field isn't valid - only mac. */
+	/* 0x8.12 - 0x8.12 */
+	 u_int8_t vlan_valid;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t hw_rx_ix;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t hw_sx_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_dmfs_fte_meta {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t external_dest_vport;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t internal_dest_vport;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t uc_match_exists;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t mc_match_exists;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t src_port_ext_match_exists;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t fte_use_iterator;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - HW iterator for multiple flow destinations */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t dest_iter_ix;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t vst_dealloc_hash_ix;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t vst_dealloc_ste_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_dmfs_ft_meta {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  0: INVALID
+ 1: FT_NIC_TRANSMIT
+ 2: FT_ESW_EGRESS
+ 3: FT_ESW_INGRESS
+ 4: FT_ESW_FDB */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t table_type;
+	/* Description -  */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t log2_table_size;
+	/* Description - location in table chaining hierarchy
+level 0x0 is the root table */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t level;
+	/* Description - FT is the root FT */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t ft_is_root;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - total num of flows points to this flow table */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t total_ref_count;
+	/* Description - valid only for ESW ingress/egress flow table */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t vport_num;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t prev_ft;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t next_ft;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - first group_id in flow table */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t groups_list_head;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - num of groups member in this flow table */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t groups_member_count;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t ft_rx_head_ix;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t ft_sx_head_ix;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x20.23 */
+	 u_int32_t next_table_id;
+	/* Description -  */
+	/* 0x20.24 - 0x20.27 */
+	 u_int8_t table_miss_mode;
+	/* Description -  */
+	/* 0x20.29 - 0x20.29 */
+	 u_int8_t lag_demux;
+	/* Description -  */
+	/* 0x20.30 - 0x20.30 */
+	 u_int8_t decap_en;
+	/* Description -  */
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t encap_en;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - total number of FGs that were inserted to RX HW tables */
+	/* 0x24.0 - 0x24.15 */
+	 u_int16_t fgs_in_rx_hw_count;
+	/* Description - total number of FGs that were inserted to SX HW tables */
+	/* 0x24.16 - 0x24.31 */
+	 u_int16_t fgs_in_sx_hw_count;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_dmfs_fg_meta {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - counting rules member in group */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  0: INVALID
+ 1: FT_NIC_TRANSMIT
+ 2: FT_ESW_EGRESS
+ 3: FT_ESW_INGRESS
+ 4: FT_ESW_FDB */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t table_type;
+	/* Description -  */
+	/* 0x4.8 - 0x4.31 */
+	 u_int32_t table_id;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Bitmask representing which of the headers and parameters in match_criteria are used in defining the Flow */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t match_criteria_enable;
+	/* Description - group belongs to RX NIC FT, and include vlan match */
+	/* 0x8.8 - 0x8.8 */
+	 u_int8_t vlan_match_exist;
+	/* Description - group exists in the RX HW steering tables (have at least one FTE) */
+	/* 0x8.9 - 0x8.9 */
+	 u_int8_t in_rx_hw;
+	/* Description - group exists in the SX HW steering tables (have at least one FTE) */
+	/* 0x8.10 - 0x8.10 */
+	 u_int8_t in_sx_hw;
+	/* Description - valid only for ESW ingress/egress flow table */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t vport_num;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t start_flow_index;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t end_flow_index;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t prev_group_id;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t next_group_id;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t vst_root_hash_meta_ix;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t rx_root_hash_meta_ix;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t sx_root_hash_meta_ix;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t rx_end_ste_ix;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t sx_end_ste_ix;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - number of FTEs in the RX FG that aren't used in HW */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t unused_ftes_in_rx_count;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - number of FTEs in the SX FG that aren't used in HW */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t unused_ftes_in_sx_count;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_mkey_dump {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t ready_4_dump;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_fw_tis {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Defines the desired TX LAG port number. If 0 the device will assign a proper value */
+	/* 0x4.0 - 0x4.3 */
+	 u_int8_t lag_tx_port_affinity;
+	/* Description - If set, the TIS is not subject to LAG TX port remapping */
+	/* 0x4.4 - 0x4.4 */
+	 u_int8_t strict_lag_tx_port_affinity;
+	/* Description -  */
+	/* 0x4.12 - 0x4.15 */
+	 u_int8_t prio;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t sqn_head;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t transport_domain;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t underlay_qpn;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_fw_tir {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - valid only for direct tir */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t inline_rqn;
+	/* Description - 0 - Direct
+1 - Indirect */
+	/* 0x4.24 - 0x4.27 */
+	 u_int8_t disp_type;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t lro_max_ip_payload_size;
+	/* Description -  */
+	/* 0x8.8 - 0x8.11 */
+	 u_int8_t lro_enable_mask;
+	/* Description -  */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t lro_timeout_period_usecs;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - valid only for indirect tir */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t rqt_number;
+	/* Description - 0 - HASH_NONE
+1 - HASH_INVERTED_XOR8
+2 - HASH_TOEPLITZ */
+	/* 0xc.24 - 0xc.27 */
+	 u_int8_t rx_hash_fn;
+	/* Description -  */
+	/* 0xc.28 - 0xc.28 */
+	 u_int8_t tunneled_offload_en;
+	/* Description -  */
+	/* 0xc.30 - 0xc.30 */
+	 u_int8_t rx_hash_symmetric;
+	/* Description -  */
+	/* 0xc.31 - 0xc.31 */
+	 u_int8_t steering_start_pipe;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - This field sets which outer or the only packets headers fields should be */
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_rx_hash_field_select rx_hash_field_selector_outer;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - This field sets which outer or the only packets headers fields should be */
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_rx_hash_field_select rx_hash_field_selector_inner;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t transport_domain;
+	/* Description -  */
+	/* 0x18.24 - 0x18.25 */
+	 u_int8_t self_lb_block;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x40.31 */
+	 struct connectib_tir_dmfs dmfs;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_fw_qpc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - shared between fw_qpc_special unions, must move together! 
+Transport Service Type:
+0x0 - RC
+0x1 - UC
+0x2 - UD
+0x3 - XRC
+0x4 - MLX
+0x5 - DCI/DCI
+0x6 - DCT
+0x7 - QP0
+0x8 - QP1
+0x9 - Raw Ethernet
+0xA - Raw IPv6
+0xB - Sniffer
+0xC - SYNC_UMR
+0xD - PTP1588
+other: reserved
+Note: QPs of types QP0 and QP1 have the same properties as UD QP. There can be at most one for each type per port
+QPs of types Raw Ethernet, Raw IPv6, Sniffer and PTP1588 have the same properties as MLX QP. There can be at most one for each type per port
+QP of types SYNC_UMR have the same properties as UD QP. There can be at most one such QP per device */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t sw_st;
+	/* Description -  */
+	/* 0x4.8 - 0x4.10 */
+	 u_int8_t sw_rwq_type;
+	/* Description -  */
+	/* 0x4.11 - 0x4.11 */
+	 u_int8_t no_sq;
+	/* Description -  */
+	/* 0x4.12 - 0x4.13 */
+	 u_int8_t sw_rq_type;
+	/* Description -  */
+	/* 0x4.14 - 0x4.14 */
+	 u_int8_t qp_dual_write;
+	/* Description -  */
+	/* 0x4.15 - 0x4.15 */
+	 u_int8_t ack_fence_req;
+	/* Description - in nak flow, qp flush will wait till nak2ack slice is done */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t ack_slice_to_fence;
+	/* Description -  */
+	/* 0x4.24 - 0x4.26 */
+	 u_int8_t min_wqe_inline_mode;
+	/* Description - If Set, posting multi packet send wqes are allowed on this SQ */
+	/* 0x4.27 - 0x4.27 */
+	 u_int8_t allow_multi_pkt_send_wqe;
+	/* Description - xrq offload is nvme */
+	/* 0x4.28 - 0x4.28 */
+	 u_int8_t is_connected_to_nvme_xrq;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - original timer value requested by SW */
+	/* 0x8.0 - 0x8.4 */
+	 u_int8_t sw_timer_granularity;
+	/* Description -  */
+	/* 0x8.5 - 0x8.9 */
+	 u_int8_t current_timer_granularity;
+	/* Description -  */
+	/* 0x8.10 - 0x8.10 */
+	 u_int8_t one_side_flush;
+	/* Description - APM - automatic path migration - path validation failed
+send EVENT_TYPE_PATH_MIG_FAIL only once per migration cycle */
+	/* 0x8.11 - 0x8.11 */
+	 u_int8_t apm_path_validation_failed;
+	/* Description -  */
+	/* 0x8.12 - 0x8.12 */
+	 u_int8_t cd_slave_send;
+	/* Description -  */
+	/* 0x8.13 - 0x8.13 */
+	 u_int8_t cd_slave_receive;
+	/* Description -  */
+	/* 0x8.14 - 0x8.14 */
+	 u_int8_t cd_master;
+	/* Description -  */
+	/* 0x8.15 - 0x8.15 */
+	 u_int8_t sqd_on_sigerr;
+	/* Description -  */
+	/* 0x8.16 - 0x8.19 */
+	 u_int8_t sl_diff_new_sl;
+	/* Description - original max read atomic */
+	/* 0x8.20 - 0x8.22 */
+	 u_int8_t fw_max_read_atomic;
+	/* Description - sw or fw ownership of the cq */
+	/* 0x8.23 - 0x8.23 */
+	 u_int8_t hca_sq_owner;
+	/* Description - indicate command is waiting. indicate the slot num. */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t cmdif_entry_ix;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 union connectib_fw_qpc_ts_special fw_qpc_ts_special;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x20.31 */
+	 struct connectib_fw_qpc_q responder;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x30.31 */
+	 struct connectib_fw_qpc_q requestor;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x40.31 */
+	 union connectib_fw_qpc_special fw_qpc_special;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_fw_srqc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t catas_event_generated;
+	/* Description -  */
+	/* 0x4.1 - 0x4.1 */
+	 u_int8_t basic_cyclic_rcv_wqe;
+	/* Description -  */
+	/* 0x4.2 - 0x4.2 */
+	 u_int8_t invalid_user_index;
+	/* Description -  */
+	/* 0x4.3 - 0x4.3 */
+	 u_int8_t end_padding_mode;
+	/* Description - bit per reason.
+0x0 - reserved
+0x1 - SET LIMIT */
+	/* 0x4.12 - 0x4.15 */
+	 u_int8_t trap_reason;
+	/* Description - (fw_trap_reason = SET_LIMIT) -> limit value */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t trap_data;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - valid for memory_rq (non connector_rq) */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t no_lro_qpn;
+	/* Description - valid for eth memory_rq only */
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t memory_rq_state;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - valid for xrq only */
+	/* 0x20.0 - 0x40.31 */
+	 struct connectib_fw_xrqc xrq;
+};
+
+/* Description -   */
+/* Size in bytes - 44 */
+struct connectib_sw_ads {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Index to pkey table
+Reserved for RoCE.
+For RoCE index 0, which contains the default PKEY: 
+0xFFFF, is chosen automatically */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t pkey_index;
+	/* Description - When set, packets sent using this QP are marked for free 
+adaptive routing. On IB wire, it is marked in LRH and BTH.
+For RoCE, it is marked in BTH. Supported only for UD and 
+UC transports. */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t free_ar;
+	/* Description - Force loopback */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t fl;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Remote LID.
+Reserved when fl==1.
+Reserved for RoCE. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t rlid;
+	/* Description - LMC bits of LID 
+Reserved for RoCE. */
+	/* 0x4.16 - 0x4.22 */
+	 u_int8_t mlid;
+	/* Description - Use GRH
+For InfiniBand, if set, GRH will be placed in the packet 
+header, if clear, no GRH.
+Reserved for RoCE. */
+	/* 0x4.23 - 0x4.23 */
+	 u_int8_t grh;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - For IB and RoCE version 1.0: GRH Hop Limit.
+For RRoCE: IPv6 hop limit or IPv4 TTL */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t hop_limit;
+	/* Description - Maximum static rate control.
+0: no_limit - no limit on static rate (100% port speed)
+1-6: reserved
+7: Gbps_2.5
+8: Gbps_10
+9: Gbps_30
+10: Gbps_5
+11: Gbps_20
+12: Gbps_40
+13: Gbps_60
+14: Gbps_80
+15: Gbps_120 */
+	/* 0x8.8 - 0x8.11 */
+	 u_int8_t stat_rate;
+	/* Description - Retry Timeout Multiplier. ACK timeout will be multiplied 
+by 2^
+log_rtm
+ every consecutive retry. See 
+"
+Exponential 
+Backoff Timer
+" */
+	/* 0x8.12 - 0x8.15 */
+	 u_int8_t log_rtm;
+	/* Description - For InfiniBand: Index to Address Table in the port to get 
+source GID address.
+For RoCE: index to Address table to get the source GID/IP 
+and MAC address, VLAN ID, IP Type (IPV4, IPv6) and 
+RoCE type. */
+	/* 0x8.16 - 0x8.23 */
+	 u_int8_t src_addr_index;
+	/* Description - Ack timeout timer for activation of retransmission mecha
+nism. If zero - timeout is disabled. timeout is 4.096 uS 
+*2^(ack_timeout)/ */
+	/* 0x8.27 - 0x8.31 */
+	 u_int8_t ack_timeout;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - IPv6 Flow Label */
+	/* 0xc.0 - 0xc.19 */
+	 u_int32_t flow_label;
+	/* Description - For InfiniBand and RoCE v1.0: GRH TClass */
+	/* 0xc.20 - 0xc.27 */
+	 u_int8_t tclass;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Remote GID/IP address.
+For IB port - Valid if the GRH bit is set.
+For an Ethernet port for RoCE mode, this field must always 
+be valid and contain the remote GID address.
+For an Ethernet port for R-RoCE mode, this field contains 
+IPv4 or IPv6 depending on the IP type which appears in 
+RoCE Address table entry pointed by src_addr_index field: 
+for IP type == IPV4 then rgid/rip bits [31:0] specify the 
+remote IPv4 address and rgid/rip bits [127:32] are reserved, 
+when L3 header type == IPV6 rgid/rip bits [127:0] contains 
+an IPv6 address. */
+	/* 0x10.24 - 0x20.23 */
+	 u_int8_t rgid_rip[16];
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - For R-RoCE v2.0 RC/UC QPs: UDP source port.
+must belong to the range: [QUERY_HCA_CAP. r_roce_ud
+p_src_port_range_min-QUERY_HCA_CAP. r_roce_udp_s
+rc_port_range_max]. 
+ See Section 743, "
+HCA Capabilities 
+Layout
+," on page 804 */
+	/* 0x20.0 - 0x20.15 */
+	 u_int16_t udp_sport;
+	/* Description - For R-RoCE: IP DSCP
+This field is reserved when QP supports only RoCE v1.0. */
+	/* 0x20.16 - 0x20.21 */
+	 u_int8_t dscp;
+	/* Description - For R-RoCE: IP ECN 
+This field is reserved when QP supports only RoCE v1.0. */
+	/* 0x20.22 - 0x20.23 */
+	 u_int8_t ecn;
+	/* Description - Force Ethernet user priority for UD/DC RoCE QPs.
+When set take Ethernet priority from QP"s Address Path and 
+not from send WQE.
+Note: When f_eth_prio is enabled but send WQE points to 
+RoCE Address Table entry with vlan_valid disabled, priority 
+tagged frame is created and Ethernet priority and DEI/CFI 
+fields are taken from QP"s Address Path. */
+	/* 0x20.24 - 0x20.24 */
+	 u_int8_t f_eth_prio;
+	/* Description - Force IP ECN only for UD/DC RoCE QPs.
+Take IP ECN field from QPC and not from send WQE.
+When QP can generate only RoCE v.1 packets this field is 
+reserved. */
+	/* 0x20.26 - 0x20.26 */
+	 u_int8_t f_ecn;
+	/* Description - Force IP DSCP for UD/DC QPs.
+Take IPv4/IPv6 DSCP field from QPC and not from send 
+WQE.
+When QP can generate only RoCE v.1 packets this field is 
+reserved. */
+	/* 0x20.27 - 0x20.27 */
+	 u_int8_t f_dscp;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - Upper bits of remote MAC address.
+Valid only for RoCE QPs. */
+	/* 0x24.0 - 0x24.15 */
+	 u_int16_t rmac_47_32;
+	/* Description - port number */
+	/* 0x24.16 - 0x24.23 */
+	 u_int8_t port;
+	/* Description - InfiniBand: Service Level (SL) */
+	/* 0x24.24 - 0x24.27 */
+	 u_int8_t sl;
+	/* Description - Ethernet Priority (PCP).
+Reserved for InfiniBand. */
+	/* 0x24.28 - 0x24.30 */
+	 u_int8_t eth_prio;
+	/* Description - DEI/CFI field.
+For UD/DCI QP, DEI/CFI
+,
+ field is taken from UD Address 
+Vector of the send WQE with the following exception:
+when f_eth_prio is enabled and send WQE points to RoCE 
+Address Table entry with vlan_valid disabled. priority 
+tagged frame is created and DEI/CFI is taken from QP"s 
+Address Path.
+Reserved for InfiniBand and for RoCE UD/DCI QP with 
+AP.f_eth_prio disabled. */
+	/* 0x24.31 - 0x24.31 */
+	 u_int8_t dei_cfi_reserved_from_prm_041;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Lower bits of remote MAC address.
+Valid only for RoCE QPs. */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t rmac_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_msix_ext_context {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.21 - 0.21 */
-	 u_int8_t cmdif_awaiting;
-	/* Description - kill qp arbiter was disabled as part of duplicate_sx_flush flow */
-	/* 0.22 - 0.22 */
-	 u_int8_t dup_sx_flush_kill_qp_arb_disabled;
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t mask_3_0;
 	/* Description -  */
-	/* 0.23 - 0.23 */
-	 u_int8_t broken_wq_buffer;
+	/* 0x0.4 - 0x0.7 */
+	 u_int8_t disable_3_0;
 	/* Description -  */
-	/* 0.24 - 0.24 */
-	 u_int8_t broken_cq;
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t need;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.25 - 0.25 */
-	 u_int8_t catas_event_generated;
+	/* 0x8.0 - 0x8.19 */
+	 u_int32_t timestamp_51_32;
 	/* Description -  */
-	/* 0.26 - 0.26 */
-	 u_int8_t last_wqe_event_generated;
+	/* 0x8.20 - 0x8.31 */
+	 u_int16_t min_wait;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.27 - 0.27 */
-	 u_int8_t async_event_generated;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t timestamp_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_msix_context {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t flushed_in_error;
+	/* 0x0.2 - 0x0.31 */
+	 u_int32_t addr_31_2_;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t disable_flushed_in_error;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t addr_63_32_;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.15 */
-	 u_int16_t vendor_syndrome;
-	/* Description -  */
-	/* 8.16 - 12.31 */
-	 u_int16_t hw_syndrome;
+	/* 0x8.0 - 0xc.31 */
+	 union connectib_hw_msix_context_data data;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.4 */
-	 u_int8_t trap_reason;
-	/* Description - for DCR cleanup */
-	/* 12.5 - 12.5 */
-	 u_int8_t connect_sent_to_ctrl_dct;
-	/* Description - QP generated all needed events, or does need to */
-	/* 12.6 - 12.6 */
-	 u_int8_t needed_events_generated;
-	/* Description - requester only */
-	/* 12.7 - 12.7 */
-	 u_int8_t rx_progress_after_retry;
-	/* Description - used in responder only */
-	/* 12.8 - 12.11 */
-	 u_int8_t retransmission_state;
+	/* 0xc.0 - 0xc.0 */
+	 u_int8_t spec_mask;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_hw_rdb_atomic_data {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 12.12 - 12.12 */
-	 u_int8_t rx_fault_event_fired;
+	/* 0x0.0 - 0x20.31 */
+	 u_int32_t atomic_data[8];
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_hw_mtt2 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 12.13 - 12.13 */
-	 u_int8_t rx_progress_after_fault;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t hi;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 12.14 - 12.14 */
-	 u_int8_t sx_fault_event_fired;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t lo;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_hw_mtt {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 12.15 - 12.15 */
-	 u_int8_t sx_progress_after_fault;
-	/* Description - (fw_trap_reason = SET_LIMIT) -> limit value */
-	/* 12.16 - 16.31 */
-	 u_int16_t trap_data;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t pas_63_32;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t rd_en;
+	/* Description -  */
+	/* 0x4.1 - 0x4.1 */
+	 u_int8_t wr_en;
+	/* Description -  */
+	/* 0x4.3 - 0x4.31 */
+	 u_int32_t pas_31_3;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-union connectib_hw_msix_context_data {
+/* Size in bytes - 64 */
+struct connectib_steering_qp_list {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_hw_msix_context_data0 regular;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry0;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry1;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry2;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry3;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry4;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry5;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry6;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry7;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x24.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry8;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.0 - 0x28.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry9;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.0 - 0x2c.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry10;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x30.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry11;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x34.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry12;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description -  */
+	/* 0x34.0 - 0x38.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry13;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description -  */
+	/* 0x38.0 - 0x3c.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry14;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.0 - 0x40.31 */
+	 struct connectib_steering_qp_entry steering_qp_entry15;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_steering_qp_entry {
+/* Size in bytes - 64 */
+struct connectib_hw_ste {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t qp_number;
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t member_count;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t force_responder;
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t rx_packet_qp;
+	/* Description -  */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t rx_fw_int;
+	/* Description - Compare = 0x0, MissOnTagMatch = 0x1, AlwaysHit = 0x2, AlwaysMiss = 0x3 */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t rx_cmd;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t pport_byte_counters_trigger;
+	/* Description -  */
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t pport_packet_counters_trigger;
+	/* Description -  */
+	/* 0x4.16 - 0x4.19 */
+	 u_int8_t vport_byte_counters_trigger;
+	/* Description -  */
+	/* 0x4.20 - 0x4.23 */
+	 u_int8_t vport_packet_counters_trigger;
+	/* Description -  */
+	/* 0x4.26 - 0x4.26 */
+	 u_int8_t sx_sniffer;
+	/* Description -  */
+	/* 0x4.27 - 0x4.27 */
+	 u_int8_t sx_func_lb;
+	/* Description -  */
+	/* 0x4.28 - 0x4.28 */
+	 u_int8_t sx_wire;
+	/* Description -  */
+	/* 0x4.29 - 0x4.29 */
+	 u_int8_t sx_fw_int;
+	/* Description - HitOnTagMatch = 0x0, HitAndTerminateOnTagMatch = 0x1, HitOnTagMismatch  = 0x2, HitAndTerminateOnTagMismatch = 0x3 */
+	/* 0x4.30 - 0x4.31 */
+	 u_int8_t sx_cmd;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - FW uses reserved bits to add implicit uniqe STE id */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t fw_id;
+	/* Description - Nop=0x0, Port = 0x1, IbL2 = 0x2, IbL3 = 0x3, IbL3Extended = 0x4, IbL4Qp = 0x5, 
+SrcGvmiAndQp = 0x8, 
+GenericDwordSelect0 = 0xc, GenericDwordSelect1 = 0xd,
+GenericDwordSelect2 = 0xe, GenericDwordSelect3 = 0xf */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t my_lookup_type;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t hit_lookup_type_hash_field_mask;
+	/* Description -  */
+	/* 0xc.8 - 0xc.13 */
+	 u_int8_t log2_hit_entry_size;
+	/* Description -  */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -   */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t hit_base_address_63_32;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Nop=0x0, Port = 0x1, IbL2 = 0x2, IbL3 = 0x3, IbL3Extended = 0x4, IbL4Qp = 0x5, 
+SrcGvmiAndQp = 0x8, 
+GenericDwordSelect0 = 0xc, GenericDwordSelect1 = 0xd,
+GenericDwordSelect2 = 0xe, GenericDwordSelect3 = 0xf */
+	/* 0x14.0 - 0x14.7 */
+	 u_int8_t hit_lookup_type;
+	/* Description -   */
+	/* 0x14.8 - 0x14.31 */
+	 u_int32_t hit_base_address_31_8;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t miss_address_63_32;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.5 */
+	 u_int8_t log2_hit_table_size;
+	/* Description -  */
+	/* 0x1c.6 - 0x1c.31 */
+	 u_int32_t miss_address_31_6;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -   */
+	/* 0x20.0 - 0x30.31 */
+	 union connectib_hw_ste_tag tag_data;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -   */
+	/* 0x30.0 - 0x40.31 */
+	 union connectib_hw_ste_tag tag_mask;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-union connectib_hw_ste_tag {
+/* Size in bytes - 1 */
+struct connectib_hw_timer {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - time to wait before timeout (see qpc MAS) */
+	/* 0x0.0 - 0x0.4 */
+	 u_int8_t timer_granularity;
+	/* Description - state of timer (see qpc mas) */
+	/* 0x0.5 - 0x0.6 */
+	 u_int8_t timer_state;
+	/* Description - timer is valid */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t timer_valid;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_sxdc_requestor_in_sq {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_ste_tag_bulk bulk;
+	/* 0x4.24 - 0x4.24 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_sxdc_responder_in_sq {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_ste_tag_ib_l2 ibl2;
+	/* 0x4.25 - 0x4.25 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_sxdc_scheduling_interrupt {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_ste_tag_ib_l3_extended ibl3_extended;
+	/* 0x4.26 - 0x4.26 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_sxdc_doorbell_int {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_ste_tag_ib_l3 ibl3;
+	/* 0x4.28 - 0x4.28 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_sxdc_fast_path {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_ste_tag_ib_l4 ibl4;
+	/* 0x4.29 - 0x4.29 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_sxdc_external_db_en {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_ste_tag_source_gvmi_qp source_gvmi_qp;
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_sxdc_valid {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_ste_tag_port port;
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_sxdc_sq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_ste_tag_generic_headers generic_headers;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 8 */
-union connectib_hw_pdf_entry {
+struct connectib_sxdc_swqe_producer_index {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_hw_pdf_decoder pdf_decoder;
-	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_hw_transaction_pdf transaction_pdf;
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 8 */
-struct connectib_pf_vf_vpd {
+struct connectib_sxdc_uar {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - NO_DESCR */
-	/* 0.16 - 0.30 */
-	 u_int16_t vpd_address;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t m_check_gen;
 	/* Description - NO_DESCR */
-	/* 0.31 - 4.31 */
-	 u_int8_t F;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t m_init;
+	/* Description - NO_DESCR */
+	/* 0x0.2 - 0x0.3 */
+	 u_int8_t m_pad;
+	/* Description - NO_DESCR */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t w_check_gen;
+	/* Description - NO_DESCR */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t w_init;
+	/* Description - NO_DESCR */
+	/* 0x0.10 - 0x0.11 */
+	 u_int8_t w_pad;
+	/* Description - NO_DESCR */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t byte_check_en;
+	/* Description - NO_DESCR */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t aligned;
+	/* Description - NO_DESCR */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t size;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t raw_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t w_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t w_b_pdf_ptr;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t m_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t m_b_pdf_ptr;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t prologue_size;
+	/* Description - NO_DESCR */
+	/* 0x10.24 - 0x10.24 */
+	 u_int8_t m_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.25 - 0x10.25 */
+	 u_int8_t m_t_start;
+	/* Description - NO_DESCR */
+	/* 0x10.28 - 0x10.28 */
+	 u_int8_t w_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.29 - 0x10.29 */
+	 u_int8_t w_t_start;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t epilogue_size;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t w_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t w_t_pdf_ptr;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t m_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x1c.24 - 0x1c.31 */
+	 u_int8_t m_t_pdf_ptr;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x20.0 - 0x20.15 */
+	 u_int16_t w_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x20.30 - 0x20.30 */
+	 u_int8_t w_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t w_in_line_vld;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t w_dif_ref_tag;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x28.0 - 0x30.31 */
+	 union connectib_hw_pdf_entry w_in_line_pdf;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x30.0 - 0x30.15 */
+	 u_int16_t m_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x30.30 - 0x30.30 */
+	 u_int8_t m_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x30.31 - 0x30.31 */
+	 u_int8_t m_in_line_vld;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t m_dif_ref_tag;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x38.0 - 0x40.31 */
+	 union connectib_hw_pdf_entry m_in_line_pdf;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_bsf_entry_w_non_repeating_m_repeating {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t m_block_size_selector;
+	/* Description - NO_DESCR */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t w_check_gen;
+	/* Description - NO_DESCR */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t w_init;
+	/* Description - NO_DESCR */
+	/* 0x0.10 - 0x0.11 */
+	 u_int8_t w_pad;
+	/* Description - NO_DESCR */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t byte_check_en;
+	/* Description - NO_DESCR */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t aligned;
+	/* Description - NO_DESCR */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t size;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t raw_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t w_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t w_b_pdf_ptr;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t m_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t m_b_pdf_ptr;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t prologue_size;
+	/* Description - NO_DESCR */
+	/* 0x10.24 - 0x10.24 */
+	 u_int8_t m_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.25 - 0x10.25 */
+	 u_int8_t m_t_start;
+	/* Description - NO_DESCR */
+	/* 0x10.28 - 0x10.28 */
+	 u_int8_t w_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.29 - 0x10.29 */
+	 u_int8_t w_t_start;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t epilogue_size;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t w_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t w_t_pdf_ptr;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t m_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x1c.24 - 0x1c.31 */
+	 u_int8_t m_t_pdf_ptr;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x20.0 - 0x20.15 */
+	 u_int16_t w_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x20.30 - 0x20.30 */
+	 u_int8_t w_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t w_in_line_vld;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t w_dif_ref_tag;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x28.0 - 0x30.31 */
+	 union connectib_hw_pdf_entry w_in_line_pdf;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x30.0 - 0x30.15 */
+	 u_int16_t m_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x30.30 - 0x30.30 */
+	 u_int8_t m_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x30.31 - 0x30.31 */
+	 u_int8_t m_in_line_vld;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t m_dif_ref_tag;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x38.0 - 0x40.31 */
+	 union connectib_hw_pdf_entry m_in_line_pdf;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_bsf_entry_w_repeating_m_non_repeating {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t m_check_gen;
+	/* Description - NO_DESCR */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t m_init;
+	/* Description - NO_DESCR */
+	/* 0x0.2 - 0x0.3 */
+	 u_int8_t m_pad;
+	/* Description - NO_DESCR */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t w_block_size_selector;
+	/* Description - NO_DESCR */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t byte_check_en;
+	/* Description - NO_DESCR */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t aligned;
+	/* Description - NO_DESCR */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t size;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t vpd_data;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t raw_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t w_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t w_b_pdf_ptr;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t m_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t m_b_pdf_ptr;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t prologue_size;
+	/* Description - NO_DESCR */
+	/* 0x10.24 - 0x10.24 */
+	 u_int8_t m_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.25 - 0x10.25 */
+	 u_int8_t m_t_start;
+	/* Description - NO_DESCR */
+	/* 0x10.28 - 0x10.28 */
+	 u_int8_t w_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.29 - 0x10.29 */
+	 u_int8_t w_t_start;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t epilogue_size;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t w_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t w_t_pdf_ptr;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t m_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x1c.24 - 0x1c.31 */
+	 u_int8_t m_t_pdf_ptr;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x20.0 - 0x20.15 */
+	 u_int16_t w_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x20.30 - 0x20.30 */
+	 u_int8_t w_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t w_in_line_vld;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t w_dif_ref_tag;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x28.0 - 0x30.31 */
+	 union connectib_hw_pdf_entry w_in_line_pdf;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x30.0 - 0x30.15 */
+	 u_int16_t m_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x30.30 - 0x30.30 */
+	 u_int8_t m_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x30.31 - 0x30.31 */
+	 u_int8_t m_in_line_vld;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t m_dif_ref_tag;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x38.0 - 0x40.31 */
+	 union connectib_hw_pdf_entry m_in_line_pdf;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_pf_vf_sriov {
+/* Size in bytes - 64 */
+struct connectib_hw_bsf_entry_w_repeating_m_repeating {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - NO_DESCR */
-	/* 0.0 - 0.0 */
-	 u_int8_t vf_enable;
-	/* Description - RO */
-	/* 0.1 - 0.1 */
-	 u_int8_t vf_migration_en;
-	/* Description - RO */
-	/* 0.2 - 0.2 */
-	 u_int8_t vf_migration_int_en;
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t m_block_size_selector;
 	/* Description - NO_DESCR */
-	/* 0.3 - 0.3 */
-	 u_int8_t vf_mse;
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t w_block_size_selector;
 	/* Description - NO_DESCR */
-	/* 0.4 - 0.4 */
-	 u_int8_t ari_capable_hierarchy;
-	/* Description - log value of system page size mask. no need to store more than 1 bit */
-	/* 0.8 - 0.12 */
-	 u_int8_t log_system_page_size;
-	/* Description - number of vfs in this sr */
-	/* 0.16 - 0.25 */
-	 u_int16_t num_vfs;
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t byte_check_en;
+	/* Description - NO_DESCR */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t aligned;
+	/* Description - NO_DESCR */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t size;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - just a place holder */
-	/* 4.0 - 8.31 */
-	 u_int32_t not_in_use;
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t raw_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t w_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t w_b_pdf_ptr;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t m_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t m_b_pdf_ptr;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t prologue_size;
+	/* Description - NO_DESCR */
+	/* 0x10.24 - 0x10.24 */
+	 u_int8_t m_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.25 - 0x10.25 */
+	 u_int8_t m_t_start;
+	/* Description - NO_DESCR */
+	/* 0x10.28 - 0x10.28 */
+	 u_int8_t w_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.29 - 0x10.29 */
+	 u_int8_t w_t_start;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t epilogue_size;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t w_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t w_t_pdf_ptr;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t m_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x1c.24 - 0x1c.31 */
+	 u_int8_t m_t_pdf_ptr;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x20.0 - 0x20.15 */
+	 u_int16_t w_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x20.30 - 0x20.30 */
+	 u_int8_t w_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t w_in_line_vld;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t w_dif_ref_tag;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x28.0 - 0x30.31 */
+	 union connectib_hw_pdf_entry w_in_line_pdf;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x30.0 - 0x30.15 */
+	 u_int16_t m_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x30.30 - 0x30.30 */
+	 u_int8_t m_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x30.31 - 0x30.31 */
+	 u_int8_t m_in_line_vld;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t m_dif_ref_tag;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x38.0 - 0x40.31 */
+	 union connectib_hw_pdf_entry m_in_line_pdf;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_serdes_conf_preset_tx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_serdes_conf_tx_set_ini set[16];
-};
-
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_serdes_active_tx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_serdes_conf_tx_set_ini set[4];
-};
-
-/* Description -   */
-/* Size in bytes - 32 */
-struct connectib_serdes_active_rx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_serdes_conf_rx_set_ini set[4];
-};
-
-/* Description -   */
-/* Size in bytes - 40 */
-struct connectib_serdes_force_tx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 40.31 */
-	 struct connectib_serdes_conf_tx_set_ini set[10];
-};
-
-/* Description -   */
-/* Size in bytes - 80 */
-struct connectib_serdes_force_rx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 80.31 */
-	 struct connectib_serdes_conf_rx_set_ini set[10];
-};
-
-/* Description -   */
-/* Size in bytes - 128 */
-struct connectib_serdes_conf_aba_tx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 128.31 */
-	 struct connectib_serdes_conf_tx_set_ini set[32];
-};
-
-/* Description -   */
-/* Size in bytes - 256 */
-struct connectib_serdes_conf_aba_rx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 256.31 */
-	 struct connectib_serdes_conf_rx_set_ini set[32];
-};
-
-/* Description -   */
-/* Size in bytes - 128 */
-struct connectib_serdes_conf_autoneg_tx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 128.31 */
-	 struct connectib_serdes_conf_tx_set_ini set[32];
-};
-
-/* Description -   */
-/* Size in bytes - 256 */
-struct connectib_serdes_conf_autoneg_rx_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 256.31 */
-	 struct connectib_serdes_conf_rx_set_ini set[32];
-};
-
-/* Description -   */
-/* Size in bytes - 48 */
-struct connectib_aba_indexes {
+struct connectib_hw_bsf_entry_same_block_non_repeating {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_aba_index encode_64_66;
+	/* Description - NO_DESCR */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t m_check_gen;
+	/* Description - NO_DESCR */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t m_init;
+	/* Description - NO_DESCR */
+	/* 0x0.2 - 0x0.3 */
+	 u_int8_t m_pad;
+	/* Description - NO_DESCR */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t copy_byte_mask;
+	/* Description - NO_DESCR */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t byte_check_en;
+	/* Description - NO_DESCR */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t aligned;
+	/* Description - NO_DESCR */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t size;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t raw_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t w_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t w_b_pdf_ptr;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t m_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t m_b_pdf_ptr;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - node is not in use, exist only for future demand */
-	/* 16.0 - 32.31 */
-	 struct connectib_aba_index encode_8_10;
+	/* Description - NO_DESCR */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t prologue_size;
+	/* Description - NO_DESCR */
+	/* 0x10.24 - 0x10.24 */
+	 u_int8_t m_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.25 - 0x10.25 */
+	 u_int8_t m_t_start;
+	/* Description - NO_DESCR */
+	/* 0x10.28 - 0x10.28 */
+	 u_int8_t w_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.29 - 0x10.29 */
+	 u_int8_t w_t_start;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t epilogue_size;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t w_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t w_t_pdf_ptr;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t m_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x1c.24 - 0x1c.31 */
+	 u_int8_t m_t_pdf_ptr;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description -  */
-	/* 32.0 - 48.31 */
-	 struct connectib_aba_index encode_8_10_legacy;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_serdes_param_mask_per_proto_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t rx;
+	/* Description - NO_DESCR */
+	/* 0x20.0 - 0x20.15 */
+	 u_int16_t w_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x20.30 - 0x20.30 */
+	 u_int8_t w_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t w_in_line_vld;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t w_dif_ref_tag;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x28.0 - 0x30.31 */
+	 union connectib_hw_pdf_entry w_in_line_pdf;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x30.0 - 0x30.15 */
+	 u_int16_t m_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x30.30 - 0x30.30 */
+	 u_int8_t m_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x30.31 - 0x30.31 */
+	 u_int8_t m_in_line_vld;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t m_dif_ref_tag;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x38.0 - 0x40.31 */
+	 union connectib_hw_pdf_entry m_in_line_pdf;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_dmfs {
+/* Size in bytes - 64 */
+struct connectib_hw_bsf_entry_same_block_repeating {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - FW hash meta index to be delivered for DMFS garbage collection */
-	/* 0.0 - 4.31 */
-	 u_int32_t gc_hash_meta_ix;
+	/* Description - NO_DESCR */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t m_block_size_selector;
+	/* Description - NO_DESCR */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t copy_byte_mask;
+	/* Description - NO_DESCR */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t byte_check_en;
+	/* Description - NO_DESCR */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t aligned;
+	/* Description - NO_DESCR */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t size;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - last flow destination that its ref_count was increased (for rollback) */
-	/* 4.0 - 4.15 */
-	 u_int16_t copied_dest_ctr;
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t raw_size;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - HW STE index to be removed */
-	/* 8.0 - 16.31 */
-	 u_int64_t dealloc_ste_ix;
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t w_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t w_b_pdf_ptr;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t m_b_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t m_b_pdf_ptr;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 24.31 */
-	 u_int64_t ft_hw_ix;
+	/* Description - NO_DESCR */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t prologue_size;
+	/* Description - NO_DESCR */
+	/* 0x10.24 - 0x10.24 */
+	 u_int8_t m_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.25 - 0x10.25 */
+	 u_int8_t m_t_start;
+	/* Description - NO_DESCR */
+	/* 0x10.28 - 0x10.28 */
+	 u_int8_t w_t_end;
+	/* Description - NO_DESCR */
+	/* 0x10.29 - 0x10.29 */
+	 u_int8_t w_t_start;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t epilogue_size;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t ft_fw_ix;
+	/* Description - NO_DESCR */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t w_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t w_t_pdf_ptr;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t m_t_psv_pointer;
+	/* Description - NO_DESCR */
+	/* 0x1c.24 - 0x1c.31 */
+	 u_int8_t m_t_pdf_ptr;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x20.0 - 0x20.15 */
+	 u_int16_t w_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x20.30 - 0x20.30 */
+	 u_int8_t w_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t w_in_line_vld;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t w_dif_ref_tag;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x28.0 - 0x30.31 */
+	 union connectib_hw_pdf_entry w_in_line_pdf;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x30.0 - 0x30.15 */
+	 u_int16_t m_dif_app_tag;
+	/* Description - NO_DESCR */
+	/* 0x30.30 - 0x30.30 */
+	 u_int8_t m_refresh_dif_params;
+	/* Description - NO_DESCR */
+	/* 0x30.31 - 0x30.31 */
+	 u_int8_t m_in_line_vld;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t m_dif_ref_tag;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x38.0 - 0x40.31 */
+	 union connectib_hw_pdf_entry m_in_line_pdf;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_create_mtt {
+/* Size in bytes - 64 */
+union connectib_hw_dct {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - this field add for making this struct size 64B (as QPC) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_complete_to_64B_eyald complete_to_64B_eyald;
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t mtt_ix;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t num_mtts;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_rnr_timer rnr_timer;
+	/* Description - 
+EAS NAME: rwe */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_write_enable write_enable;
+	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
+1: up to 32B - if payload <=32B, data should be scattered into the CQE (inline)
+2: up to 64B - if payload <=64B, data should be scattered into the CQE (inline)
+Hermon: disable_inline_scatter
+EAS NAME: cs
+condition:ts!=DCR */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_inline_scatter inline_scatter;
+	/* Description - 2^thisValue is the max number of bytes per mesaage
+EAS NAME: msg_max */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_max_message_size max_message_size;
+	/* Description - TODO next project: rename to pkey_check_enable
+EAS NAME: N/A */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_ignore_pkey_check ignore_pkey_check;
+	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_send_with_invalidate_enable send_with_invalidate_enable;
+	/* Description - 
+EAS NAME: rre */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_read_enable read_enable;
+	/* Description - 0: 256 bytes 
+1: 512 bytes 
+2: 1K bytes 
+3: 2K bytes 
+4: 4k bytes
+5: 8k bytes
+EAS NAME: mtu */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_mtu mtu;
+	/* Description - This QP should use the fast_path inside the device
+condition:ts!=DCR */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_fast_path fast_path;
+	/* Description - number of valid bytes in the dca_access_key
+0-3: 2^value bytes
+7-disable */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_dc_access_key_log_num_byte dc_access_key_log_num_byte;
+	/* Description - 
+EAS NAME: N/A */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_tcu_drop tcu_drop;
+	/* Description - interrupt FW when packet arrives to tcu on this Qp
+Hermon: tcu_int
+EAS NAME: N/A */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_tcu_trap tcu_trap;
+	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
+EAS NAME: free_ar */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_adaptive_routing adaptive_routing;
+	/* Description - 
+EAS NAME: Derived from sched_queue */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_port_number port_number;
+	/* Description - IB native only: packet should have GRH header
+not used in UD/L2 responder
+EAS NAME: grh */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_grh_bit grh_bit;
+	/* Description - 
+EAS NAME: flow_label */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_flow_label flow_label;
+	/* Description - 2^this value=max number of atomic/rdma reads
+Hermon: max_rdma_atomic
+EAS NAME: sra_max, rra_max */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_max_read_atomic max_read_atomic;
+	/* Description - in other decode options this bit should be reserved and always_zero.
+this is because we don't have a HW check of ts when fetching DCT.
+if we get normal QP by accident this will show invalid context. */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_qp_valid qp_valid;
+	/* Description - 
+EAS NAME: mlid */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_my_lid my_lid;
+	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_atomic_like_write atomic_like_write;
+	/* Description - 
+EAS NAME: srqn
+condition:rwq_type==SRQ & ts!=DCR */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_srq_number srq_number;
+	/* Description - index to a table of counters that counts frame and bytes, oxff invalid
+EAS NAME: if_counter_index */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_counter_index counter_index;
+	/* Description - 
+EAS NAME: pkey_index */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_pkey_table_index pkey_table_index;
+	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
+0: disable atomic
+1: IB spec (responder extended RDB is N/A)
+all enum from here support extended atomic in addition
+2: only 8B (hermon mode, responder extended RDB is N/A)
+3: up to 8B (also 4B, responder extended RDB is N/A)
+4: up to 16B (responder extended RDB is N/A)
+5: up to 32B (responder extended RDB is N/A)
+6: up to 64B (responder extended RDB is 64B)
+7: up to 128B (responder extended RDB is 128B)
+8: up to 256B (responder extended RDB is 256B)
+EAS NAME: rae, rdma_atomic_mode */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_extended_atomic extended_atomic;
+	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
+EAS NAME: mgid_index */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_my_gid_mac_index my_gid_mac_index;
+	/* Description - 
+EAS NAME: stat_rate */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_ipd ipd;
+	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
+0-RC
+1-UC
+2-RD (reserved)
+3-UD
+5-XRC (SRC in hermon)
+8-RMC parent
+9-RMC child (RX only)
+10-FCP
+11-DCI/DCR
+12-DCT
+15-L2 (Hermon name: L2 & MLX)
+EAS NAME: st */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_ts ts;
+	/* Description - 
+EAS NAME: cqn_snd, cqn_rcv
+condition:ts!=DCR */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_cq_number cq_number;
+	/* Description - Number of hops between subnets a packet can make before being discarded
+Used by TCU for CNP with GRH in connected mode
+EAS NAME: hop_limit */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_hop_limit hop_limit;
+	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
+EAS NAME: local_qpn */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_context_number context_number;
+	/* Description - UD-see force_grh_tclass
+golan2: we should have 2 tclass fields for ETHoIB enforcement
+EAS NAME: tclass */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_tclass tclass;
+	/* Description - 
+condition:ts==DCI */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_dc_access_key_31_0 dc_access_key_31_0;
+	/* Description - 
+condition:ts==DCI */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_dct_dc_access_key_63_32 dc_access_key_63_32;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_psv {
+/* Size in bytes - 64 */
+union connectib_hw_r_qpc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Controls handling of packets with correct and incorrect PSN and opcode sequences 0: Unconnected - QPC ePSN and opcode sequence are invalid 1:Connected (good flow) - QPC.ePSN and correct opcode sequence are forwarded; everything else triggers FW 2: Resync (^€œxxstate^€) -  QPC.ePSN and correct opcode sequence will cause HW to move QPC to Connected state; everything else is dropped 3: Closed - everything is dropped in RXT HW writes to this field in RNR-nack flow */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_connection_state connection_state;
+	/* Description - check source (choose source based on QP bit) for multicast wire */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_check_source_mc_wire check_source_mc_wire;
+	/* Description - e2e credits pysical address, bits[63:2] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_e2e_pa_31_2 e2e_pa_31_2;
+	/* Description - e2e credits pysical address, bits[63:2] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_e2e_pa_63_32 e2e_pa_63_32;
+	/* Description - 1: dcr is connected 0: dcr is free */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_dcr_connected dcr_connected;
+	/* Description - Hermon: srcd */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_xrc_domain xrc_domain;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_responder_session_id responder_session_id;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_mpi_uar mpi_uar;
+	/* Description - when equal 0xffffff: next DCR does not exist, end of list */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_next_dcr next_dcr;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_srq_number srq_number;
+	/* Description - virtual address of write being processed */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_write_va_31_0 write_va_31_0;
+	/* Description - virtual address of write being processed */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_write_va_63_32 write_va_63_32;
+	/* Description - cleared when CQE is sent, increament when packet is dropped due to lack of receive WQE's saturation on 0xff TODO: 8 MSB are not used TODO: rename to wqe_drop_count_en */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_no_wqe_drop_count no_wqe_drop_count;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_dct_gvmi dct_gvmi;
+	/* Description - SQ number TODO: reduce 1 bit */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_sqn sqn;
+	/* Description - set by SX on every packet sent or WQE executed */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_sx_heartbeat sx_heartbeat;
+	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5]) 0-RC 1-UC 2-RD (reserved) 3-UD 5-XRC (SRC in hermon) 8-RMC parent 9-RMC child (RX only) 10-FCP 11-DCI/DCR 12-DCT 15-L2 (Hermon name: L2 & MLX) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_ts ts;
+	/* Description - How many received in current message, 0-not inside a message RC: in chuncks of 256B LRO: in bytes hermon name: part was in last_opcode */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rx_length_committed rx_length_committed;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rdb_read_pointer rdb_read_pointer;
+	/* Description - bug 153508 TODO: delete on next project This bit must always be 0 (if this QP will erroneously be read as a DCT, the DCT.vld will be 0) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_always_zero always_zero;
+	/* Description - index to the counters table 0-disable */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_counter_index counter_index;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_flush_syndrom flush_syndrom;
+	/* Description - UD: used for LRO checks */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_expected_psn expected_psn;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_cq_number cq_number;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_dct_number dct_number;
+	/* Description - Indicates which MSN was done */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_msn msn;
+	/* Description - how many bytes received ^€“ modulo 4G */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rcyclic_consumer rcyclic_consumer;
+	/* Description - in hermon: last_acked_psn (+1 from hermon) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_first_non_acked_psn first_non_acked_psn;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rdb_write_pointer rdb_write_pointer;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_qp_state qp_state;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rwqe_producer_index rwqe_producer_index;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rcyclic_producer rcyclic_producer;
+	/* Description - index to next free wqe rwq_type=SRQ: copy index from SRQ on packet first */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rwqe_consumer_index rwqe_consumer_index;
+	/* Description - E2E Limit on  TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rwqe_limit_event rwqe_limit_event;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rnr_timer rnr_timer;
+	/* Description - interrupt FW when packet arrives to tcu on this Qp Hermon: tcu_int */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_tcu_trap tcu_trap;
+	/* Description - Used for translation and key check (TPT) TODO: next project move to common section? */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_can_use_reserved_lkey can_use_reserved_lkey;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_tcu_drop tcu_drop;
+	/* Description - e2e fetch is allowed only according to this bit */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_e2e_fetch_enable e2e_fetch_enable;
+	/* Description - 2^ this value is the threshold to check for new E2E credits 0 means e2e prefethch disabled for this qp in rcylic this thrshould is in MTU, otherwise in WQEs */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold e2e_credits_prefetch_threshold;
+	/* Description - set by RX on every packet received and accepted */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rx_heartbeat rx_heartbeat;
+	/* Description - On WriteFirst set to the packet.R_key */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_write_rkey write_rkey;
+	/* Description - check_source_uc_wire - check source (choose source based on QP bit) for multicast wire */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_check_source_uc_wire check_source_uc_wire;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_fw_link_type fw_link_type;
+	/* Description - last opcode was: 0-write 1-send */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_last_opcode last_opcode;
+	/* Description - Work Queue Type 1: normal WQ 2: attached to SRQ 3: Receive Cyclic Buffer */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_rwq_type rwq_type;
+	/* Description - 0: disable - data will always be scattered accoding to the scatter entry 1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline) 2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline) Hermon: disable_inline_scatter */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_inline_scatter inline_scatter;
+	/* Description - Loopback only, If set, function_id is checked with the receiving QP function_id. Otherwise, SMAC is checked. This and the following 4 not needed in FC (And RC) since we check DMAC in the QP and make sure that the packet arrived to its intended destination */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_check_source_gvmi check_source_gvmi;
+	/* Description - check source (choose source based on QP bit) for multicast loopback */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_check_source_mc_lb check_source_mc_lb;
+	/* Description - check source (choose source based on QP bit) for unicast loopback */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_check_source_uc_lb check_source_uc_lb;
+	/* Description - This QP should use the fast_path inside the device */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_fast_path fast_path;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_read_enable read_enable;
+	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_send_with_invalidate_enable send_with_invalidate_enable;
+	/* Description - TODO next project: rename to pkey_check_enable TODO next project: delete it from all TS (who needs it)? */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_ignore_pkey_check ignore_pkey_check;
+	/* Description - in the below description the size relates to the operands size (meaning: size of each operand) 0: disable atomic 1: IB spec (responder extended RDB is N/A) all enum from here support extended atomic in addition 2: only 8B (hermon mode, responder extended RDB is N/A) 3: up to 8B (also 4B, responder extended RDB is N/A) 4: up to 16B (responder extended RDB is N/A) 5: up to 32B (responder extended RDB is N/A) 6: up to 64B (responder extended RDB is 64B) 7: up to 128B (resp [...]
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_extended_atomic extended_atomic;
+	/* Description - 2^this value=max number of atomic/rdma reads Hermon: max_rdma_atomic */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_max_read_atomic max_read_atomic;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_write_enable write_enable;
+	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_atomic_like_write atomic_like_write;
+	/* Description - when this bit is set a post_receive WQE may be executed on this target qp must be set to 0 on DCR and XRC */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_post_receive_slave_enable post_receive_slave_enable;
+	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN). When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed. See issue 34551  TODO: rename to direct_access_enable */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_no_direct_access no_direct_access;
+	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_e2e_credits_enabled e2e_credits_enabled;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_ack_type ack_type;
+	/* Description - when set: multicast loopback packets coming from the same QP will be dropped */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_drop_my_self_multicast drop_my_self_multicast;
+	/* Description - 1: GRH is sent to CQE 0: GRH is sent to first 40B of the WQE (or 40B reserved if GRH not present). this is the backward compatiblity mode */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_grh_to_cqe grh_to_cqe;
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t num_psv;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t num_alloced_psv;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t pd;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 32.31 */
-	 u_int32_t psv_ix[4];
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_r_qpc_qp_valid qp_valid;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_mcg {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_packet_allowed {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t mcg_index;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 16.31 */
-	 u_int64_t gid_msb;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 24.31 */
-	 u_int64_t gid_lsb;
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_sniffer {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_qp_valid {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t port_0_1;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_modify_rmp {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_uncompleted_non_wire_wqe {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t bitmask;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t lwm;
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_arm_rq {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_dc_full_handshake {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t lwm;
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_mkey {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_e2e_credits_enabled {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t hw_addr;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 16.31 */
-	 u_int64_t fw_addr;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t octoword_actual_size_mtt;
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_modify_cq {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_no_direct_access {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t mtt_ix;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 8.23 */
-	 u_int32_t producer_index;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 12.0 */
-	 u_int8_t cqe_128b_size;
-	/* Description -  */
-	/* 12.1 - 12.5 */
-	 u_int8_t log2_size;
-	/* Description -  */
-	/* 12.6 - 12.10 */
-	 u_int8_t log_page_size;
-	/* Description -  */
-	/* 12.11 - 12.16 */
-	 u_int8_t cq_page_offset;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t fence_slice;
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_create_cq {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_umr_permission_select {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t fw_addr;
+	/* 0x0.24 - 0x0.25 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_create_eq {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_max_read_atomic {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t fw_eqc_addr;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 16.31 */
-	 u_int64_t hw_eqc_addr;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 24.31 */
-	 u_int64_t event_bitmask;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t hw_eqn;
+	/* 0x0.20 - 0x0.22 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_rqt {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_extended_atomic {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t rqt_fw_data_ix;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t rqt_hw_data_ix;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - for rollback */
-	/* 12.0 - 16.31 */
-	 u_int32_t num_rqs_to_dec;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.16 - 20.31 */
-	 u_int16_t rqt_max_size;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  */
-	/* 20.0 - 20.15 */
-	 u_int16_t rqt_actual_size;
-	/* Description - only for modify_rqt */
-	/* 20.16 - 24.31 */
-	 u_int16_t rqt_actual_size_old;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - only for modify_rqt */
-	/* 24.0 - 28.31 */
-	 u_int32_t rqt_fw_data_ix_old;
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_create_srq {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_ignore_pkey_check {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t fw_addr;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 8.23 */
-	 u_int32_t srqi;
-	/* Description -  */
-	/* 8.31 - 12.31 */
-	 u_int8_t cont_srq;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t pas_offset;
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_create_rq {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_rnr_nak_retry_counter {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t fw_qpc_addr;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t no_lro_qpn;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - copy of hca_params->log_max_qp */
-	/* 12.0 - 12.4 */
-	 u_int8_t log_max_qp;
-	/* Description -  */
-	/* 12.8 - 12.11 */
-	 u_int8_t wq_type;
+	/* 0x0.12 - 0x0.14 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_create_qp {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_fast_path {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t fw_qpc_addr;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t qpi;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - copy of hca_params->log_max_qp */
-	/* 12.0 - 12.4 */
-	 u_int8_t log_max_qp;
-	/* Description -  */
-	/* 12.5 - 12.5 */
-	 u_int8_t is_dci;
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_modify_tir {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_rnr_nak_retry_limit {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t bitmask;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 16.31 */
-	 u_int64_t ste_ix;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 16.23 */
-	 u_int32_t rqt_number;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  */
-	/* 20.0 - 20.23 */
-	 u_int32_t old_rqt_number;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 24.23 */
-	 u_int32_t inline_rqn;
-	/* Description -  */
-	/* 24.24 - 24.27 */
-	 u_int8_t disp_type;
+	/* 0x0.8 - 0x0.10 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_cmdif_ctx_special_create {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_inline_scatter {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t num_mapped_mtts;
+	/* 0x0.6 - 0x0.7 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_flush_type_bitmask {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_ldb_int {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t dword;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_flush_type_bits {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t mkey_flush;
-	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t qp_s_flush;
-	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t qp_r_flush;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_rx_heartbeat {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t rx_flush;
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_project_nvqc {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Configuration item type */
-	/* 0.0 - 4.31 */
-	 union connectib_nv_tlv_type type;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.0 */
-	 u_int8_t support_rd;
-	/* Description -  */
-	/* 4.1 - 4.1 */
-	 u_int8_t support_wr;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_frwr_enable {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 4.4 - 4.7 */
-	 u_int8_t version;
+	/* 0x8.29 - 0x8.29 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 44 */
-struct connectib_project_nvda {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 12.31 */
-	 struct connectib_nv_tlv_hdr tlv_header;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_umr_enable {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 12.0 - 44.31 */
-	 struct connectib_register_access_data nvda_data;
+	/* 0x8.28 - 0x8.28 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_pmtu_reg {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Local port number. */
-	/* 0.16 - 0.23 */
-	 u_int8_t local_port;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Maximum MTU supported on the port (Read Only).
-MTU depends on the port type. When port type (Eth/IB/FC) is configured, 
-the relevant MTU is reported. When the port type is not configured, the 
-minimum between the 
-max_mtu
- for the different types (Eth/IB/FC) is 
-reported. */
-	/* 4.16 - 8.31 */
-	 u_int16_t max_mtu;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_tcu_drop {
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Administratively configured MTU on the port. Must be smaller or equal to 
-max_mtu
-. */
-	/* 8.16 - 12.31 */
-	 u_int16_t admin_mtu;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - Operational MTU. This is the actual MTU configured on the ports. Packets 
-exceeding this size will be dropped.
-Note: In Ethernet or FC, 
-oper_mtu
- is equal to 
-admin_mtu
-. In InfiniBand, 
-the actual operational MTU is reported which may be smaller than 
-admin_mtu
-. */
-	/* 12.16 - 16.31 */
-	 u_int16_t oper_mtu;
+	/* Description -  */
+	/* 0x8.26 - 0x8.26 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 44 */
-struct connectib_pamp_reg {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_can_use_reserved_lkey {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.25 - 0x8.25 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 40 */
-struct connectib_slrg_reg {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_tcu_trap {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.24 - 0x8.24 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 44 */
-struct connectib_ptas_reg {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_ack_req_frequency {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.20 - 0x8.23 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 20 */
-struct connectib_sltp_reg {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_limited_qp {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.17 - 0x8.19 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 40 */
-struct connectib_slrp_reg {
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_dc_state {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.1 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_paos_reg {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Port operational state:
-0001 - up
-0010 - down
-0100 - down by port failure (transitioned by the hardware) */
-	/* 0.0 - 0.3 */
-	 u_int8_t oper_status;
-	/* Description - Port administrative state (the desired state of the interface):
-0001 - up
-0010 - down by configuration
-0011 - up once - if the port goes up and then down, the operational 
-status should go to "down by port failure" and can only go back 
-up upon explicit command
-0100 - disabled by system - this mode can not be set by the soft
-ware, only by the hardware. */
-	/* 0.8 - 0.11 */
-	 u_int8_t admin_status;
-	/* Description - Local port number. */
-	/* 0.16 - 0.23 */
-	 u_int8_t local_port;
-	/* Description - For HCA : must be always 0.
-Switch partition ID with which to associate the port.
-Switch partitions are numbered from 0 to 7 inclusively.
-The 
-swid
- field is only valid when the 
-local_port
- is the router port. 
-In this case, the 
-swid
- indicates which of the router ports to config
-ure/query. */
-	/* 0.24 - 4.31 */
-	 u_int8_t swid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Event generation on operational state change:
-00 - Do not generate event
-01 - Generate Event 
-10 - Generate Single Event */
-	/* 4.0 - 4.1 */
-	 u_int8_t e;
-	/* Description - Event update enable. If this bit is set, event generation will be 
-updated based on the 
-e
- field. Only relevant on Set operations. */
-	/* 4.30 - 4.30 */
-	 u_int8_t ee;
-	/* Description - Admin state update enable. If this bit is set, admin state will be 
-updated based on 
-admin_state
- field. Only relevant on Set() opera
-tions. */
-	/* 4.31 - 8.31 */
-	 u_int8_t ase;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_currently_completing_wqe_index {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 44 */
-struct connectib_mjtag {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - JTAG transaction length */
-	/* 0.0 - 0.7 */
-	 u_int8_t size;
-	/* Description - Command Sequence Number */
-	/* 0.24 - 0.27 */
-	 u_int8_t sequence_number;
-	/* Description - Master JTAG Interface: 00:Disable; 01:Enable; 10: Access */
-	/* 0.30 - 4.31 */
-	 u_int8_t cmd;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Transactions */
-	/* 4.0 - 44.31 */
-	 u_int32_t dword[10];
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_swqe_consumer_index {
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 12 */
-struct connectib_mfbe {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Flash Select */
-	/* 0.4 - 0.5 */
-	 u_int8_t fs;
-	/* Description - Parallel */
-	/* 0.8 - 0.8 */
-	 u_int8_t p;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - address in bytes */
-	/* 8.0 - 8.23 */
-	 u_int32_t address;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_qp_state {
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 44 */
-struct connectib_project_mfba {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 12.31 */
-	 struct connectib_mfba_header mfba_header;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_psn_since_ackreq {
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 12.0 - 44.31 */
-	 struct connectib_register_access_data mfba_data;
+	/* 0x14.24 - 0x14.31 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_register_misc_counters {
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - When performing a WRITE operation - , the counter select bitmask deter
-mines which registers are set:
-Bit 0 - ECC
-Bit 1 - LDB silent drop */
-	/* 4.0 - 8.31 */
-	 u_int32_t counter_select;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - Counts number of arrays which encountered a bit error */
-	/* 12.0 - 16.31 */
-	 u_int32_t ecc;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - Counts number of packets silently dropped due to LDB error */
-	/* 16.0 - 20.31 */
-	 u_int32_t ldb_silent_drop;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_oldest_non_acked_psn {
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_mtmp {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Sensors index to access */
-	/* 0.0 - 0.6 */
-	 u_int8_t sensor_index;
-	/* Description - query the internal diodes */
-	/* 0.31 - 4.31 */
-	 u_int8_t internal_diodes_query;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Temperature reading from the sensor. Reading in 0.125 Celsius degrees. */
-	/* 4.0 - 4.15 */
-	 u_int16_t temperature;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - The highest measured temperature from the sensor. */
-	/* 8.0 - 8.15 */
-	 u_int16_t max_temperture;
-	/* Description - Max Temperature Reset - clears the value of the max temperature register */
-	/* 8.30 - 8.30 */
-	 u_int8_t mtr;
-	/* Description - Max Temperature Enable - enables measuring the max temperature on a sensor */
-	/* 8.31 - 12.31 */
-	 u_int8_t mte;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - If the sensor temperature measurement is above the threshold (and events are enabled), an event
-will be generated */
-	/* 12.0 - 12.15 */
-	 u_int16_t temperature_threshold_hi;
-	/* Description - Temperature Event Enable
-00 - Do not generate event
-01 - Generate Event
-10 - Generate single event */
-	/* 12.30 - 16.31 */
-	 u_int8_t tee;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 16.15 */
-	 u_int16_t temperature_threshold_lo;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_deth_sqpn {
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t name_lo;
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_responder_session_id {
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t name_hi;
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_register_mfrl {
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - on Read, required reset level. On write, minimum requested reset level
- 0-Full ISFU
- 1-Driver down but link is up
- 2-driver and link down
- 3-driver down, link down pci disable/enable
- 7-server warm reboot
- 8-server cold reboot */
-	/* 4.0 - 4.7 */
-	 u_int8_t reset_level;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_cq_number {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_register_mfai {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t address;
-	/* Description - if set make image permamnent */
-	/* 0.29 - 0.29 */
-	 u_int8_t permanent;
-	/* Description - if set use address */
-	/* 0.30 - 0.30 */
-	 u_int8_t use_address;
-	/* Description - if set use image id and not address */
-	/* 0.31 - 4.31 */
-	 u_int8_t use_image_id;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_next_to_send_psn {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.7 */
-	 u_int8_t image_id;
+	/* 0x20.8 - 0x20.31 */
+	 u_int32_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_mfpa {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Flash Select */
-	/* 0.4 - 0.5 */
-	 u_int8_t fs;
-	/* Description - Parallel */
-	/* 0.8 - 0.8 */
-	 u_int8_t p;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - address in bytes */
-	/* 4.0 - 4.23 */
-	 u_int32_t boot_address;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - number of flash devices connected */
-	/* 16.0 - 16.3 */
-	 u_int8_t flash_num;
-	/* Description - reflection of wip bit from flash */
-	/* 16.31 - 20.31 */
-	 u_int8_t wip;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - Flash JEDEC ID */
-	/* 20.0 - 20.23 */
-	 u_int32_t jedec_id;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Flash sectore size */
-	/* 24.0 - 24.9 */
-	 u_int16_t sector_size;
-	/* Description -  */
-	/* 24.16 - 24.23 */
-	 u_int8_t block_allignment;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_flush_syndrom {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 24.24 - 28.31 */
-	 u_int8_t block_size;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - capability mask ;bit 0:Parallel flash Support;else:Reserved  */
-	/* 28.0 - 32.31 */
-	 u_int32_t capability_mask;
+	/* 0x20.0 - 0x20.7 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_ib_gid {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_counter_index {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 u_int32_t dword[4];
+	/* 0x24.24 - 0x24.31 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_dmfs_hash_meta {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_ssn {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.5 */
-	 u_int8_t log_hash_entries;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x24.0 - 0x24.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_to_sequence_error_retry_counter {
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t entry_count;
+	/* 0x28.20 - 0x28.22 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_reverse_sl {
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 4.16 - 8.31 */
-	 u_int16_t descendant_count;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x28.16 - 0x28.19 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_force_grh_tclass {
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 8.0 - 16.31 */
-	 u_int64_t default_ste_ix;
+	/* 0x28.15 - 0x28.15 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_dmfs_fte_meta {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - HW iterator for multiple flow destinations */
-	/* 0.0 - 8.31 */
-	 u_int64_t dest_iter_ix;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_ts {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.28 - 0x2c.31 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_dmfs_ft_meta {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  0: INVALID
- 1: FT_NIC_TRANSMIT
- 2: FT_ESW_EGRESS
- 3: FT_ESW_INGRESS
- 4: FT_ESW_FDB */
-	/* 0.0 - 0.7 */
-	 u_int8_t table_type;
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_sx_heartbeat {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 0.8 - 0.15 */
-	 u_int8_t log2_table_size;
+	/* 0x2c.27 - 0x2c.27 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_to_sequence_error_retry_limit {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - location in table chaining hierarchy
-level 0x0 is the root table */
-	/* 4.0 - 4.7 */
-	 u_int8_t level;
-	/* Description - valid only for ESW ingress/egress flow table */
-	/* 4.15 - 4.15 */
-	 u_int8_t other_vport;
-	/* Description - valid only for ESW ingress/egress flow table */
-	/* 4.16 - 8.31 */
-	 u_int16_t vport_number;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - first group_id in flow table */
-	/* 12.0 - 16.31 */
-	 u_int32_t groups_list_head;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - total num of flows points to this flow table */
-	/* 16.0 - 16.15 */
-	 u_int16_t total_ref_count;
-	/* Description - num of flows points to this flow table from table_list */
-	/* 16.16 - 20.31 */
-	 u_int16_t iter_rule_count;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - num of groups member in this flow table */
-	/* 20.0 - 24.31 */
-	 u_int32_t groups_member_count;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x2c.24 - 0x2c.26 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_force_my_gid_index {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 24.0 - 32.31 */
-	 u_int64_t ft_head_ix;
+	/* 0x2c.23 - 0x2c.23 */
+	 u_int8_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_dmfs_group_meta {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - counting rules member in group */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  0: INVALID
- 1: FT_NIC_TRANSMIT
- 2: FT_ESW_EGRESS
- 3: FT_ESW_INGRESS
- 4: FT_ESW_FDB */
-	/* 4.0 - 4.7 */
-	 u_int8_t table_type;
+struct connectib_hw_s_qpc_sx_gather_commit {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 4.8 - 8.31 */
-	 u_int32_t table_id;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Bitmask representing which of the headers and parameters in match_criteria are used in defining the Flow */
-	/* 8.0 - 8.7 */
-	 u_int8_t match_criteria_enable;
-	/* Description - valid only for ESW ingress/egress flow table */
-	/* 8.15 - 8.15 */
-	 u_int8_t other_vport;
-	/* Description - valid only for ESW ingress/egress flow table */
-	/* 8.16 - 12.31 */
-	 u_int16_t vport_number;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x2c.0 - 0x2c.22 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_lsn {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t start_flow_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x30.0 - 0x30.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_dc_access_key_63_32 {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t end_flow_index;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_dc_access_key_31_0 {
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t prev_group_id;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_force_grh {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t next_group_id;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x38.31 - 0x38.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_vl15 {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
-	 u_int32_t root_hash_meta_ix;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x38.30 - 0x38.30 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_timer_enable {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 32.0 - 40.31 */
-	 u_int64_t end_ste_ix;
+	/* 0x38.30 - 0x38.30 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_mkey_dump {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_currently_completing_ds {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t ready_4_dump;
+	/* 0x38.24 - 0x38.29 */
+	 u_int8_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_fw_tis {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+struct connectib_hw_s_qpc_first_psn_of_message_currently_completing {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x38.0 - 0x38.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_number_outstanding_reads {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 4.12 - 4.15 */
-	 u_int8_t prio;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x3c.24 - 0x3c.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_s_qpc_first_unsent_psn {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.23 */
-	 u_int32_t sqn_head;
+	/* 0x3c.0 - 0x3c.23 */
+	 u_int32_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_fw_tir {
+struct connectib_hw_c_qpc_common_valid {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.23 */
-	 u_int32_t inline_rqn;
-	/* Description -  */
-	/* 4.24 - 4.27 */
-	 u_int8_t disp_type;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 8.7 */
-	 u_int8_t lro_max_ip_payload_size;
-	/* Description -  */
-	/* 8.8 - 8.11 */
-	 u_int8_t lro_enable_mask;
-	/* Description -  */
-	/* 8.16 - 12.31 */
-	 u_int16_t lro_timeout_period_usecs;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 12.23 */
-	 u_int32_t rqt_number;
-	/* Description -  */
-	/* 12.24 - 12.27 */
-	 u_int8_t rx_hash_fn;
-	/* Description -  */
-	/* 12.28 - 12.28 */
-	 u_int8_t tunneled_offload_en;
-	/* Description -  */
-	/* 12.30 - 12.30 */
-	 u_int8_t rx_hash_symmetric;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - This field sets which outer or the only packets headers fields should be */
-	/* 16.0 - 20.31 */
-	 struct connectib_rx_hash_field_select rx_hash_field_selector_outer;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - This field sets which outer or the only packets headers fields should be */
-	/* 20.0 - 24.31 */
-	 struct connectib_rx_hash_field_select rx_hash_field_selector_inner;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description -  */
-	/* 48.0 - 56.31 */
-	 struct connectib_tir_dmfs dmfs;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_fw_qpc {
+struct connectib_hw_c_qpc_wq_signature {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - shared between fw_qpc_special unions, must move together! 
-Transport Service Type:
-0x0 - RC
-0x1 - UC
-0x2 - UD
-0x3 - XRC
-0x4 - MLX
-0x5 - DCI/DCI
-0x6 - DCT
-0x7 - QP0
-0x8 - QP1
-0x9 - Raw Ethernet
-0xA - Raw IPv6
-0xB - Sniffer
-0xC - SYNC_UMR
-0xD - PTP1588
-other: reserved
-Note: QPs of types QP0 and QP1 have the same properties as UD QP. There can be at most one for each type per port
-QPs of types Raw Ethernet, Raw IPv6, Sniffer and PTP1588 have the same properties as MLX QP. There can be at most one for each type per port
-QP of types SYNC_UMR have the same properties as UD QP. There can be at most one such QP per device */
-	/* 4.0 - 4.7 */
-	 u_int8_t sw_st;
-	/* Description -  */
-	/* 4.8 - 4.10 */
-	 u_int8_t sw_rwq_type;
-	/* Description -  */
-	/* 4.11 - 4.11 */
-	 u_int8_t no_sq;
-	/* Description -  */
-	/* 4.12 - 4.13 */
-	 u_int8_t sw_rq_type;
-	/* Description -  */
-	/* 4.14 - 4.14 */
-	 u_int8_t qp_dual_write;
-	/* Description -  */
-	/* 4.15 - 4.15 */
-	 u_int8_t ack_fence_req;
-	/* Description - in nak flow, qp flush will wait till nak2ack slice is done */
-	/* 4.16 - 4.23 */
-	 u_int8_t ack_slice_to_fence;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - original timer value requested by SW */
-	/* 8.0 - 8.4 */
-	 u_int8_t sw_timer_granularity;
-	/* Description -  */
-	/* 8.5 - 8.9 */
-	 u_int8_t chilling_timer_granularity;
-	/* Description -  */
-	/* 8.10 - 8.10 */
-	 u_int8_t one_side_flush;
-	/* Description - APM - automatic path migration - path validation failed
-send EVENT_TYPE_PATH_MIG_FAIL only once per migration cycle */
-	/* 8.11 - 8.11 */
-	 u_int8_t apm_path_validation_failed;
-	/* Description -  */
-	/* 8.12 - 8.12 */
-	 u_int8_t cd_slave_send;
-	/* Description -  */
-	/* 8.13 - 8.13 */
-	 u_int8_t cd_slave_receive;
-	/* Description -  */
-	/* 8.14 - 8.14 */
-	 u_int8_t cd_master;
-	/* Description -  */
-	/* 8.15 - 8.15 */
-	 u_int8_t sqd_on_sigerr;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 12.23 */
-	 u_int32_t tis_num;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 32.31 */
-	 struct connectib_fw_qpc_q responder;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description -  */
-	/* 32.0 - 48.31 */
-	 struct connectib_fw_qpc_q requestor;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description -  */
-	/* 48.0 - 64.31 */
-	 union connectib_fw_qpc_special fw_qpc_special;
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_fw_srqc {
+struct connectib_hw_c_qpc_dual_write {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.0 */
-	 u_int8_t catas_event_generated;
-	/* Description -  */
-	/* 4.1 - 4.1 */
-	 u_int8_t basic_cyclic_rcv_wqe;
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_log_page_size {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 4.2 - 4.2 */
-	 u_int8_t invalid_user_index;
-	/* Description - bit per reason.
-0x0 - reserved
-0x1 - SET LIMIT */
-	/* 4.12 - 4.15 */
-	 u_int8_t trap_reason;
-	/* Description - (fw_trap_reason = SET_LIMIT) -> limit value */
-	/* 4.16 - 8.31 */
-	 u_int16_t trap_data;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - valid for memory_rq (non connector_rq) */
-	/* 16.0 - 16.23 */
-	 u_int32_t no_lro_qpn;
-	/* Description - valid for eth memory_rq only */
-	/* 16.24 - 20.31 */
-	 u_int8_t memory_rq_state;
+	/* 0x0.24 - 0x0.28 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 44 */
-struct connectib_sw_ads {
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_rwq_type {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Index to pkey table
-Reserved for ROCE.
-For RoCE index 0, which contains the default PKEY: 
-0xFFFF, is chosen automatically */
-	/* 0.0 - 0.15 */
-	 u_int16_t pkey_index;
-	/* Description - When set, packets sent using this QP are marked for free 
-adaptive routing. On IB wire it is marked in LRH and BTH.
-For RoCE it is marked in BTH
-.
- 
-Supported only for UD and 
-UC transports */
-	/* 0.30 - 0.30 */
-	 u_int8_t free_ar;
-	/* Description - Force loopback */
-	/* 0.31 - 4.31 */
-	 u_int8_t fl;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Remote LID
-.
-Reserved when fl==1.
-Reserved for RoCE. */
-	/* 4.0 - 4.15 */
-	 u_int16_t rlid;
-	/* Description - LMC bits of LID
-Reserved for RoCE. */
-	/* 4.16 - 4.22 */
-	 u_int8_t mlid;
-	/* Description - Use GRH
-For InfiniBand, if set, GRH will be placed in the packet 
-header, if clear, no GRH.
-Reserved for RoCE. */
-	/* 4.23 - 4.23 */
-	 u_int8_t grh;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - For IB and RoCE version 1.0: GRH Hop Limit.
-For RRoCE: IPv6 hop limit or IPv4 TTL */
-	/* 8.0 - 8.7 */
-	 u_int8_t hop_limit;
-	/* Description - Maximum static rate control.
-0: no_limit - no limit on static rate (100% port speed)
-1-6: reserved
-7: 2.5Gbps
-8: 10Gbps
-9: 30Gbps
-10: 5Gbps
-11: 20Gbps
-12: 40Gbps
-13: 60Gbps
-14: 80Gbps
-15: 120Gbps */
-	/* 8.8 - 8.11 */
-	 u_int8_t stat_rate;
-	/* Description - For Infiniband : Index to Address Table in the port to get 
-source GID address.
-For RoCE: index to Address table to get the source GID/IP 
-and MAC address, VLAN ID, IP Type ( IPV4, IPv6) and 
-RoCE type. */
-	/* 8.16 - 8.23 */
-	 u_int8_t src_addr_index;
-	/* Description - Ack timeout timer for activation of retransmission mecha
-nism. If zero - timeout is disabled. timeout is 4.096 uS 
-*2^(ack_timeout)/ */
-	/* 8.27 - 12.31 */
-	 u_int8_t ack_timeout;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - IPv6 Flow Label */
-	/* 12.0 - 12.19 */
-	 u_int32_t flow_label;
-	/* Description - For InfiniB
- and RoCE v1.0
-: GRH TClass */
-	/* 12.20 - 12.27 */
-	 u_int8_t tclass;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - Remote GID
-/IP
- address.
-For IB port - Valid if the GRH bit is set.
-For an Ethernet port for RoCE mode this field must be 
-always valid and contain the remote GID address.
-For an Ethernet port for R-RoCE mode, this field contains 
-IPv4 or IPv6 depending on the IP type which appears in 
-RoCE Address table entry pointed by src_addr_index field: 
-for IP type == IPV4 then rgid/rip bits [31:0] specify the 
-remote IPv4 address and rgid/rip bits [127:32] are reserved, 
-when L3 header type == IPV6 rgid/rip bits [127:0] contains 
-an IPv6 address. */
-	/* 16.24 - 32.23 */
-	 u_int8_t rgid_rip[16];
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - For R-RoCE v2.0 RC/UC QPs: UDP source port.
-must belong to the range: [QUERY_HCA_CAP. 
-r_roce_udp_src_port_range_min-QUERY_HCA_CAP. 
-r_roce_udp_src_port_range_max]. 
- See Section 328, "HCA 
-Capabilities Layout," on page 462 */
-	/* 32.0 - 32.15 */
-	 u_int16_t udp_sport;
-	/* Description - For R-RoCE: IP DSCP
-This field is reserved when QP supports only RoCE v1.0. */
-	/* 32.16 - 32.21 */
-	 u_int8_t dscp;
-	/* Description - For R-RoCE: IP ECN 
-This field is reserved when QP supports only RoCE v1.0. */
-	/* 32.22 - 32.23 */
-	 u_int8_t ecn;
-	/* Description - Force Ethernet user priority for UD/DC RoCE QPs.
-When set take Ethernet priority from QP"s Address Path and 
-not from send WQE.
-Note: When f_eth_prio is enabled but send WQE points to 
-RoCE Address Table entry with vlan_valid disabled, priority 
-tagged frame is created and Ethernet priority and DEI/CFI 
-fields are taken from QP"s Address Path. */
-	/* 32.24 - 32.24 */
-	 u_int8_t f_eth_prio;
-	/* Description - Force IP ECN only for UD/DC RoCE QPs.
-Take IP ECN field from QPC and not from send WQE.
-When QP can generate only RoCE v.1 packets this field is 
-reserved. */
-	/* 32.26 - 32.26 */
-	 u_int8_t f_ecn;
-	/* Description - Force IP DSCP for UD/DC QPs.
-Take IPv4/IPv6 DSCP field from QPC and not from send 
-WQE.
-When QP can generate only RoCE v.1 packets this field is 
-reserved. */
-	/* 32.27 - 32.27 */
-	 u_int8_t f_dscp;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Upper bits of remote MAC address.
-Valid only for RoCE QPs. */
-	/* 36.0 - 36.15 */
-	 u_int16_t rmac_47_32;
-	/* Description - p
-ort number */
-	/* 36.16 - 36.23 */
-	 u_int8_t port;
-	/* Description - InfiniBand: Service Level (SL) */
-	/* 36.24 - 36.27 */
-	 u_int8_t sl;
-	/* Description - Ethernet Priority (PCP).
-Reserved for Infiniband. */
-	/* 36.28 - 36.30 */
-	 u_int8_t eth_prio;
-	/* Description - DEI/CFI field.
-For UD/DCI QP, DEI/CFI field is taken from UD Address 
-Vector of the send WQE with the following exception:
-when f_eth_prio is enabled and send WQE points to RoCE 
-Address Table entry with vlan_valid disabled. priority 
-tagged frame is created and DEI/CFI is taken from QP"s 
-Address Path
-.
-Reserved for Infiniband and for RoCE UD/DCI QP with 
-AP.f_eth_prio disabled. */
-	/* 36.31 - 40.31 */
-	 u_int8_t dei_cfi;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Lower bits of remote MAC address.
-Valid only for RoCE QPs. */
-	/* 40.0 - 44.31 */
-	 u_int32_t rmac_31_0;
+	/* Description -  */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_msix_ext_context {
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_force_loopback {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t mask_3_0;
-	/* Description -  */
-	/* 0.4 - 0.7 */
-	 u_int8_t disable_3_0;
-	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t need;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_ipd {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.19 */
-	 u_int32_t timestamp_51_32;
+	/* 0x4.16 - 0x4.19 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_rwqe_stride {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 8.20 - 12.31 */
-	 u_int16_t min_wait;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x4.12 - 0x4.14 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_rcyclic_size {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t timestamp_31_0;
+	/* 0x4.8 - 0x4.12 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_msix_context {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_rwqe_buffer_size {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.2 - 4.31 */
-	 u_int32_t addr_31_2_;
+	/* 0x4.8 - 0x4.11 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_tclass {
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t addr_63_32_;
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_hop_limit {
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 union connectib_hw_msix_context_data data;
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_peer_qp {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_rx_migreq {
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.0 */
-	 u_int8_t spec_mask;
+	/* 0xc.31 - 0xc.31 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_hw_rdb_atomic_data {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_sx_migreq {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 u_int32_t atomic_data[8];
+	/* 0xc.30 - 0xc.30 */
+	 u_int8_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_hw_mtt2 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_wqe_page_offset {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t hi;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0xc.24 - 0xc.29 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_context_number {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t lo;
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t val;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_hw_mtt {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_pkey_table_index {
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t pas_63_32;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x10.20 - 0x10.31 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_flow_label {
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.0 */
-	 u_int8_t rd_en;
+	/* 0x10.0 - 0x10.19 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_qkey {
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 4.1 - 4.1 */
-	 u_int8_t wr_en;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_mtu {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 4.3 - 8.31 */
-	 u_int32_t pas_31_3;
+	/* 0x18.29 - 0x18.31 */
+	 u_int8_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_steering_qp_list {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+struct connectib_hw_c_qpc_max_message_size {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry0;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x18.24 - 0x18.28 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_my_gid_mac_index {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry1;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x18.16 - 0x18.23 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_my_lid {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry2;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x1c.16 - 0x1c.22 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_peer_lid {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry3;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x1c.0 - 0x1c.15 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_swqe_buffer_size {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry4;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x20.24 - 0x20.27 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_adaptive_routing {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry5;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x20.22 - 0x20.22 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_port_number {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry6;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x20.21 - 0x20.21 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_grh_bit {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry7;
+	/* 0x20.20 - 0x20.20 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_sl {
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 36.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry8;
+	/* 0x20.16 - 0x20.19 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_mtt_pointer_39_37 {
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.0 - 40.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry9;
+	/* 0x24.0 - 0x24.2 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_mtt_pointer_36_5 {
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 40.0 - 44.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry10;
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_mtt_pointer_4_0 {
 /*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 44.0 - 48.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry11;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description -  */
-	/* 48.0 - 52.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry12;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* 0x2c.27 - 0x2c.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_pd {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 52.0 - 56.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry13;
+	/* 0x2c.0 - 0x2c.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_peer_qp2 {
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 56.0 - 60.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry14;
+	/* 0x38.0 - 0x38.23 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_peer_lid2 {
 /*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 60.0 - 64.31 */
-	 struct connectib_steering_qp_entry steering_qp_entry15;
+	/* 0x3c.0 - 0x3c.15 */
+	 u_int16_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_ste {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t member_count;
+struct connectib_hw_c_qpc_peer_gid_127_96 {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t rx_packet_qp;
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_peer_gid_95_64 {
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 0.29 - 0.29 */
-	 u_int8_t rx_fw_int;
-	/* Description - Compare = 0x0, MissOnTagMatch = 0x1, AlwaysHit = 0x2, AlwaysMiss = 0x3 */
-	/* 0.30 - 4.31 */
-	 u_int8_t rx_cmd;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_peer_gid_63_32 {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.7 */
-	 u_int8_t pport_byte_counters_trigger;
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_c_qpc_peer_gid_31_0 {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 4.8 - 4.15 */
-	 u_int8_t pport_packet_counters_trigger;
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t val;
+};
+
+/* Description -  e2e credits pysical address, bits[63:2]
+EAS NAME: rcv_dbr_adr
+condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
+/* Size in bytes - 64 */
+struct connectib_e2e_pa_33_2 {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 4.16 - 4.19 */
-	 u_int8_t vport_byte_counters_trigger;
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t val;
+};
+
+/* Description -  each WQE in the r&s WQ are signature protected */
+/* Size in bytes - 64 */
+struct connectib_wq_signature {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 4.20 - 4.23 */
-	 u_int8_t vport_packet_counters_trigger;
+	/* 0x38.31 - 0x38.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_srq_valid {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 4.26 - 4.26 */
-	 u_int8_t sx_sniffer;
+	/* 0x38.30 - 0x38.30 */
+	 u_int8_t val;
+};
+
+/* Description -  e2e credits pysical address, bits[63:2]
+EAS NAME: rcv_dbr_adr
+condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
+/* Size in bytes - 64 */
+struct connectib_e2e_pa_63_34 {
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 4.27 - 4.27 */
-	 u_int8_t sx_func_lb;
+	/* 0x38.0 - 0x38.29 */
+	 u_int32_t val;
+};
+
+/* Description -  Used in TPT for wqe translation */
+/* Size in bytes - 64 */
+struct connectib_mtt_pointer_31_0 {
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 4.28 - 4.28 */
-	 u_int8_t sx_wire;
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t val;
+};
+
+/* Description -  E2E Limit on 
+TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
+EAS NAME: N/A
+condition:ts!=DCR */
+/* Size in bytes - 64 */
+struct connectib_rwqe_limit_event {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 4.29 - 4.29 */
-	 u_int8_t sx_fw_int;
-	/* Description - HitOnTagMatch = 0x0, HitAndTerminateOnTagMatch = 0x1, HitOnTagMismatch  = 0x2, HitAndTerminateOnTagMismatch = 0x3 */
-	/* 4.30 - 8.31 */
-	 u_int8_t sx_cmd;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Nop=0x0, Port = 0x1, IbL2 = 0x2, IbL3 = 0x3, IbL3Extended = 0x4, IbL4Qp = 0x5, 
-SrcGvmiAndQp = 0x8, 
-GenericDwordSelect0 = 0xc, GenericDwordSelect1 = 0xd,
-GenericDwordSelect2 = 0xe, GenericDwordSelect3 = 0xf */
-	/* 8.24 - 12.31 */
-	 u_int8_t my_lookup_type;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x30.16 - 0x30.31 */
+	 u_int16_t val;
+};
+
+/* Description -  e2e fetch is allowed only according to this bit */
+/* Size in bytes - 64 */
+struct connectib_e2e_fetch_enable {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.7 */
-	 u_int8_t hit_lookup_type_hash_field_mask;
+	/* 0x30.15 - 0x30.15 */
+	 u_int8_t val;
+};
+
+/* Description -  set by RX on every packet received and accepted
+EAS NAME: N/A */
+/* Size in bytes - 64 */
+struct connectib_rx_heartbeat {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 12.8 - 12.13 */
-	 u_int8_t log2_hit_entry_size;
+	/* 0x30.14 - 0x30.14 */
+	 u_int8_t val;
+};
+
+/* Description -  If rwq_type==0 then 
+ swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
+else 
+ rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
+ swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16 + masked_wqe_index*64
+EAS NAME: page_offset */
+/* Size in bytes - 64 */
+struct connectib_wqe_page_offset {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 12.16 - 16.31 */
-	 u_int16_t gvmi;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -   */
-	/* 16.0 - 20.31 */
-	 u_int32_t hit_base_address_63_32;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - Nop=0x0, Port = 0x1, IbL2 = 0x2, IbL3 = 0x3, IbL3Extended = 0x4, IbL4Qp = 0x5, 
-SrcGvmiAndQp = 0x8, 
-GenericDwordSelect0 = 0xc, GenericDwordSelect1 = 0xd,
-GenericDwordSelect2 = 0xe, GenericDwordSelect3 = 0xf */
-	/* 20.0 - 20.7 */
-	 u_int8_t hit_lookup_type;
-	/* Description -   */
-	/* 20.8 - 24.31 */
-	 u_int32_t hit_base_address_31_8;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x30.8 - 0x30.13 */
+	 u_int8_t val;
+};
+
+/* Description -  Used in TPT for wqe translation */
+/* Size in bytes - 64 */
+struct connectib_mtt_pointer_39_32 {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t miss_address_63_32;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x30.0 - 0x30.7 */
+	 u_int8_t val;
+};
+
+/* Description -  interrupt FW when packet arrives to tcu on this Qp
+Hermon: tcu_int
+EAS NAME: N/A */
+/* Size in bytes - 64 */
+struct connectib_tcu_trap {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 28.5 */
-	 u_int8_t log2_hit_table_size;
+	/* 0x2c.31 - 0x2c.31 */
+	 u_int8_t val;
+};
+
+/* Description -  Used for translation and key check (TPT)
+TODO: next project move to common section?
+EAS NAME: rlkey */
+/* Size in bytes - 64 */
+struct connectib_can_use_reserved_lkey {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 28.6 - 32.31 */
-	 u_int32_t miss_address_31_6;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description -   */
-	/* 32.0 - 48.31 */
-	 union connectib_hw_ste_tag tag_data;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description -   */
-	/* 48.0 - 64.31 */
-	 union connectib_hw_ste_tag tag_mask;
+	/* 0x2c.30 - 0x2c.30 */
+	 u_int8_t val;
 };
 
-/* Description -   */
-/* Size in bytes - 1 */
-struct connectib_hw_timer {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - time to wait before timeout (see qpc MAS) */
-	/* 0.0 - 0.4 */
-	 u_int8_t timer_granularity;
-	/* Description - state of timer (see qpc mas) */
-	/* 0.5 - 0.6 */
-	 u_int8_t timer_state;
-	/* Description - timer is valid */
-	/* 0.7 - 0.7 */
-	 u_int8_t timer_valid;
+/* Description -  
+EAS NAME: N/A */
+/* Size in bytes - 64 */
+struct connectib_tcu_drop {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.29 - 0x2c.29 */
+	 u_int8_t val;
 };
 
-/* Description -   */
+/* Description -  page_size = 4096*2^log_page_size */
 /* Size in bytes - 64 */
-struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 0.0 */
-	 u_int8_t m_check_gen;
-	/* Description - NO_DESCR */
-	/* 0.1 - 0.1 */
-	 u_int8_t m_init;
-	/* Description - NO_DESCR */
-	/* 0.2 - 0.3 */
-	 u_int8_t m_pad;
-	/* Description - NO_DESCR */
-	/* 0.8 - 0.8 */
-	 u_int8_t w_check_gen;
-	/* Description - NO_DESCR */
-	/* 0.9 - 0.9 */
-	 u_int8_t w_init;
-	/* Description - NO_DESCR */
-	/* 0.10 - 0.11 */
-	 u_int8_t w_pad;
-	/* Description - NO_DESCR */
-	/* 0.16 - 0.23 */
-	 u_int8_t byte_check_en;
-	/* Description - NO_DESCR */
-	/* 0.28 - 0.28 */
-	 u_int8_t aligned;
-	/* Description - NO_DESCR */
-	/* 0.30 - 4.31 */
-	 u_int8_t size;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t raw_size;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 8.23 */
-	 u_int32_t w_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 8.24 - 12.31 */
-	 u_int8_t w_b_pdf_ptr;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - NO_DESCR */
-	/* 12.0 - 12.23 */
-	 u_int32_t m_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 12.24 - 16.31 */
-	 u_int8_t m_b_pdf_ptr;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - NO_DESCR */
-	/* 16.0 - 16.23 */
-	 u_int32_t prologue_size;
-	/* Description - NO_DESCR */
-	/* 16.24 - 16.24 */
-	 u_int8_t m_t_end;
-	/* Description - NO_DESCR */
-	/* 16.25 - 16.25 */
-	 u_int8_t m_t_start;
-	/* Description - NO_DESCR */
-	/* 16.28 - 16.28 */
-	 u_int8_t w_t_end;
-	/* Description - NO_DESCR */
-	/* 16.29 - 16.29 */
-	 u_int8_t w_t_start;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - NO_DESCR */
-	/* 20.0 - 20.23 */
-	 u_int32_t epilogue_size;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - NO_DESCR */
-	/* 24.0 - 24.23 */
-	 u_int32_t w_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 24.24 - 28.31 */
-	 u_int8_t w_t_pdf_ptr;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - NO_DESCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t m_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 28.24 - 32.31 */
-	 u_int8_t m_t_pdf_ptr;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - NO_DESCR */
-	/* 32.0 - 32.15 */
-	 u_int16_t w_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 32.30 - 32.30 */
-	 u_int8_t w_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 32.31 - 36.31 */
-	 u_int8_t w_in_line_vld;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - NO_DESCR */
-	/* 36.0 - 40.31 */
-	 u_int32_t w_dif_ref_tag;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - NO_DESCR */
-	/* 40.0 - 48.31 */
-	 union connectib_hw_pdf_entry w_in_line_pdf;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - NO_DESCR */
-	/* 48.0 - 48.15 */
-	 u_int16_t m_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 48.30 - 48.30 */
-	 u_int8_t m_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 48.31 - 52.31 */
-	 u_int8_t m_in_line_vld;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - NO_DESCR */
-	/* 52.0 - 56.31 */
-	 u_int32_t m_dif_ref_tag;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - NO_DESCR */
-	/* 56.0 - 64.31 */
-	 union connectib_hw_pdf_entry m_in_line_pdf;
+struct connectib_log_page_size {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.24 - 0x2c.28 */
+	 u_int8_t val;
 };
 
-/* Description -   */
+/* Description -  in DCR this is the DCT number, this is MyQPN in the packet
+EAS NAME: local_qpn */
 /* Size in bytes - 64 */
-struct connectib_hw_bsf_entry_w_non_repeating_m_repeating {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 0.7 */
-	 u_int8_t m_block_size_selector;
-	/* Description - NO_DESCR */
-	/* 0.8 - 0.8 */
-	 u_int8_t w_check_gen;
-	/* Description - NO_DESCR */
-	/* 0.9 - 0.9 */
-	 u_int8_t w_init;
-	/* Description - NO_DESCR */
-	/* 0.10 - 0.11 */
-	 u_int8_t w_pad;
-	/* Description - NO_DESCR */
-	/* 0.16 - 0.23 */
-	 u_int8_t byte_check_en;
-	/* Description - NO_DESCR */
-	/* 0.28 - 0.28 */
-	 u_int8_t aligned;
-	/* Description - NO_DESCR */
-	/* 0.30 - 4.31 */
-	 u_int8_t size;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t raw_size;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 8.23 */
-	 u_int32_t w_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 8.24 - 12.31 */
-	 u_int8_t w_b_pdf_ptr;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - NO_DESCR */
-	/* 12.0 - 12.23 */
-	 u_int32_t m_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 12.24 - 16.31 */
-	 u_int8_t m_b_pdf_ptr;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - NO_DESCR */
-	/* 16.0 - 16.23 */
-	 u_int32_t prologue_size;
-	/* Description - NO_DESCR */
-	/* 16.24 - 16.24 */
-	 u_int8_t m_t_end;
-	/* Description - NO_DESCR */
-	/* 16.25 - 16.25 */
-	 u_int8_t m_t_start;
-	/* Description - NO_DESCR */
-	/* 16.28 - 16.28 */
-	 u_int8_t w_t_end;
-	/* Description - NO_DESCR */
-	/* 16.29 - 16.29 */
-	 u_int8_t w_t_start;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - NO_DESCR */
-	/* 20.0 - 20.23 */
-	 u_int32_t epilogue_size;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - NO_DESCR */
-	/* 24.0 - 24.23 */
-	 u_int32_t w_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 24.24 - 28.31 */
-	 u_int8_t w_t_pdf_ptr;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - NO_DESCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t m_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 28.24 - 32.31 */
-	 u_int8_t m_t_pdf_ptr;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - NO_DESCR */
-	/* 32.0 - 32.15 */
-	 u_int16_t w_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 32.30 - 32.30 */
-	 u_int8_t w_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 32.31 - 36.31 */
-	 u_int8_t w_in_line_vld;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - NO_DESCR */
-	/* 36.0 - 40.31 */
-	 u_int32_t w_dif_ref_tag;
+struct connectib_context_number {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x2c.23 */
+	 u_int32_t val;
+};
+
+/* Description -  WQE size: (2^this field)*16B
+EAS NAME: log_rq_stride
+condition:rwq_type!=RCYCLIC */
+/* Size in bytes - 64 */
+struct connectib_rwqe_stride {
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - NO_DESCR */
-	/* 40.0 - 48.31 */
-	 union connectib_hw_pdf_entry w_in_line_pdf;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - NO_DESCR */
-	/* 48.0 - 48.15 */
-	 u_int16_t m_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 48.30 - 48.30 */
-	 u_int8_t m_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 48.31 - 52.31 */
-	 u_int8_t m_in_line_vld;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - NO_DESCR */
-	/* 52.0 - 56.31 */
-	 u_int32_t m_dif_ref_tag;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - NO_DESCR */
-	/* 56.0 - 64.31 */
-	 union connectib_hw_pdf_entry m_in_line_pdf;
+	/* Description -  */
+	/* 0x28.28 - 0x28.30 */
+	 u_int8_t val;
 };
 
-/* Description -   */
+/* Description -  number of WQEs in the WQ: 2 in power of
+EAS NAME: log_rq_size
+condition:rwq_type!=RCYCLIC */
 /* Size in bytes - 64 */
-struct connectib_hw_bsf_entry_w_repeating_m_non_repeating {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 0.0 */
-	 u_int8_t m_check_gen;
-	/* Description - NO_DESCR */
-	/* 0.1 - 0.1 */
-	 u_int8_t m_init;
-	/* Description - NO_DESCR */
-	/* 0.2 - 0.3 */
-	 u_int8_t m_pad;
-	/* Description - NO_DESCR */
-	/* 0.8 - 0.15 */
-	 u_int8_t w_block_size_selector;
-	/* Description - NO_DESCR */
-	/* 0.16 - 0.23 */
-	 u_int8_t byte_check_en;
-	/* Description - NO_DESCR */
-	/* 0.28 - 0.28 */
-	 u_int8_t aligned;
-	/* Description - NO_DESCR */
-	/* 0.30 - 4.31 */
-	 u_int8_t size;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t raw_size;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 8.23 */
-	 u_int32_t w_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 8.24 - 12.31 */
-	 u_int8_t w_b_pdf_ptr;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - NO_DESCR */
-	/* 12.0 - 12.23 */
-	 u_int32_t m_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 12.24 - 16.31 */
-	 u_int8_t m_b_pdf_ptr;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - NO_DESCR */
-	/* 16.0 - 16.23 */
-	 u_int32_t prologue_size;
-	/* Description - NO_DESCR */
-	/* 16.24 - 16.24 */
-	 u_int8_t m_t_end;
-	/* Description - NO_DESCR */
-	/* 16.25 - 16.25 */
-	 u_int8_t m_t_start;
-	/* Description - NO_DESCR */
-	/* 16.28 - 16.28 */
-	 u_int8_t w_t_end;
-	/* Description - NO_DESCR */
-	/* 16.29 - 16.29 */
-	 u_int8_t w_t_start;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - NO_DESCR */
-	/* 20.0 - 20.23 */
-	 u_int32_t epilogue_size;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - NO_DESCR */
-	/* 24.0 - 24.23 */
-	 u_int32_t w_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 24.24 - 28.31 */
-	 u_int8_t w_t_pdf_ptr;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - NO_DESCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t m_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 28.24 - 32.31 */
-	 u_int8_t m_t_pdf_ptr;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - NO_DESCR */
-	/* 32.0 - 32.15 */
-	 u_int16_t w_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 32.30 - 32.30 */
-	 u_int8_t w_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 32.31 - 36.31 */
-	 u_int8_t w_in_line_vld;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - NO_DESCR */
-	/* 36.0 - 40.31 */
-	 u_int32_t w_dif_ref_tag;
+struct connectib_rwqe_buffer_size {
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - NO_DESCR */
-	/* 40.0 - 48.31 */
-	 union connectib_hw_pdf_entry w_in_line_pdf;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - NO_DESCR */
-	/* 48.0 - 48.15 */
-	 u_int16_t m_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 48.30 - 48.30 */
-	 u_int8_t m_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 48.31 - 52.31 */
-	 u_int8_t m_in_line_vld;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - NO_DESCR */
-	/* 52.0 - 56.31 */
-	 u_int32_t m_dif_ref_tag;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - NO_DESCR */
-	/* 56.0 - 64.31 */
-	 union connectib_hw_pdf_entry m_in_line_pdf;
+	/* Description -  */
+	/* 0x28.24 - 0x28.27 */
+	 u_int8_t val;
 };
 
-/* Description -   */
+/* Description -  
+EAS NAME: cqn_snd, cqn_rcv
+condition:ts!=DCR */
 /* Size in bytes - 64 */
-struct connectib_hw_bsf_entry_w_repeating_m_repeating {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 0.7 */
-	 u_int8_t m_block_size_selector;
-	/* Description - NO_DESCR */
-	/* 0.8 - 0.15 */
-	 u_int8_t w_block_size_selector;
-	/* Description - NO_DESCR */
-	/* 0.16 - 0.23 */
-	 u_int8_t byte_check_en;
-	/* Description - NO_DESCR */
-	/* 0.28 - 0.28 */
-	 u_int8_t aligned;
-	/* Description - NO_DESCR */
-	/* 0.30 - 4.31 */
-	 u_int8_t size;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t raw_size;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 8.23 */
-	 u_int32_t w_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 8.24 - 12.31 */
-	 u_int8_t w_b_pdf_ptr;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - NO_DESCR */
-	/* 12.0 - 12.23 */
-	 u_int32_t m_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 12.24 - 16.31 */
-	 u_int8_t m_b_pdf_ptr;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - NO_DESCR */
-	/* 16.0 - 16.23 */
-	 u_int32_t prologue_size;
-	/* Description - NO_DESCR */
-	/* 16.24 - 16.24 */
-	 u_int8_t m_t_end;
-	/* Description - NO_DESCR */
-	/* 16.25 - 16.25 */
-	 u_int8_t m_t_start;
-	/* Description - NO_DESCR */
-	/* 16.28 - 16.28 */
-	 u_int8_t w_t_end;
-	/* Description - NO_DESCR */
-	/* 16.29 - 16.29 */
-	 u_int8_t w_t_start;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - NO_DESCR */
-	/* 20.0 - 20.23 */
-	 u_int32_t epilogue_size;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - NO_DESCR */
-	/* 24.0 - 24.23 */
-	 u_int32_t w_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 24.24 - 28.31 */
-	 u_int8_t w_t_pdf_ptr;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - NO_DESCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t m_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 28.24 - 32.31 */
-	 u_int8_t m_t_pdf_ptr;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - NO_DESCR */
-	/* 32.0 - 32.15 */
-	 u_int16_t w_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 32.30 - 32.30 */
-	 u_int8_t w_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 32.31 - 36.31 */
-	 u_int8_t w_in_line_vld;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - NO_DESCR */
-	/* 36.0 - 40.31 */
-	 u_int32_t w_dif_ref_tag;
+struct connectib_cq_number {
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - NO_DESCR */
-	/* 40.0 - 48.31 */
-	 union connectib_hw_pdf_entry w_in_line_pdf;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - NO_DESCR */
-	/* 48.0 - 48.15 */
-	 u_int16_t m_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 48.30 - 48.30 */
-	 u_int8_t m_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 48.31 - 52.31 */
-	 u_int8_t m_in_line_vld;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - NO_DESCR */
-	/* 52.0 - 56.31 */
-	 u_int32_t m_dif_ref_tag;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - NO_DESCR */
-	/* 56.0 - 64.31 */
-	 union connectib_hw_pdf_entry m_in_line_pdf;
+	/* Description -  */
+	/* 0x28.0 - 0x28.23 */
+	 u_int32_t val;
 };
 
-/* Description -   */
+/* Description -  2^ this value is the threshold to check for new E2E credits
+0 means e2e prefethch disabled for this qp
+in rcylic this thrshould is in MTU, otherwise in WQEs
+EAS NAME: N/A
+condition:ts!=DCR */
 /* Size in bytes - 64 */
-struct connectib_hw_bsf_entry_same_block_non_repeating {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 0.0 */
-	 u_int8_t m_check_gen;
-	/* Description - NO_DESCR */
-	/* 0.1 - 0.1 */
-	 u_int8_t m_init;
-	/* Description - NO_DESCR */
-	/* 0.2 - 0.3 */
-	 u_int8_t m_pad;
-	/* Description - NO_DESCR */
-	/* 0.8 - 0.15 */
-	 u_int8_t copy_byte_mask;
-	/* Description - NO_DESCR */
-	/* 0.16 - 0.23 */
-	 u_int8_t byte_check_en;
-	/* Description - NO_DESCR */
-	/* 0.28 - 0.28 */
-	 u_int8_t aligned;
-	/* Description - NO_DESCR */
-	/* 0.30 - 4.31 */
-	 u_int8_t size;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t raw_size;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 8.23 */
-	 u_int32_t w_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 8.24 - 12.31 */
-	 u_int8_t w_b_pdf_ptr;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - NO_DESCR */
-	/* 12.0 - 12.23 */
-	 u_int32_t m_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 12.24 - 16.31 */
-	 u_int8_t m_b_pdf_ptr;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - NO_DESCR */
-	/* 16.0 - 16.23 */
-	 u_int32_t prologue_size;
-	/* Description - NO_DESCR */
-	/* 16.24 - 16.24 */
-	 u_int8_t m_t_end;
-	/* Description - NO_DESCR */
-	/* 16.25 - 16.25 */
-	 u_int8_t m_t_start;
-	/* Description - NO_DESCR */
-	/* 16.28 - 16.28 */
-	 u_int8_t w_t_end;
-	/* Description - NO_DESCR */
-	/* 16.29 - 16.29 */
-	 u_int8_t w_t_start;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - NO_DESCR */
-	/* 20.0 - 20.23 */
-	 u_int32_t epilogue_size;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - NO_DESCR */
-	/* 24.0 - 24.23 */
-	 u_int32_t w_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 24.24 - 28.31 */
-	 u_int8_t w_t_pdf_ptr;
+struct connectib_e2e_credits_prefetch_threshold {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.24 - 0x24.26 */
+	 u_int8_t val;
+};
+
+/* Description -  protection domain
+EAS NAME: pd */
+/* Size in bytes - 64 */
+struct connectib_pd {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.0 - 0x24.23 */
+	 u_int32_t val;
+};
+
+/* Description -  Hermon: srcd
+EAS NAME: xrcd
+condition:ts==XRC */
+/* Size in bytes - 64 */
+struct connectib_xrc_domain {
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x20.23 */
+	 u_int32_t val;
+};
+
+/* Description -  written by e2e credit machine */
+/* Size in bytes - 64 */
+struct connectib_e2e_producer_index {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.16 - 0x1c.31 */
+	 u_int16_t val;
+};
+
+/* Description -  index to next free wqe
+rwq_type=SRQ: copy index from SRQ on packet first
+EAS NAME: rq_wqe_counter
+condition:rwq_type!=RCYCLIC */
+/* Size in bytes - 64 */
+struct connectib_rwqe_consumer_index {
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - NO_DESCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t m_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 28.24 - 32.31 */
-	 u_int8_t m_t_pdf_ptr;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - NO_DESCR */
-	/* 32.0 - 32.15 */
-	 u_int16_t w_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 32.30 - 32.30 */
-	 u_int8_t w_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 32.31 - 36.31 */
-	 u_int8_t w_in_line_vld;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - NO_DESCR */
-	/* 36.0 - 40.31 */
-	 u_int32_t w_dif_ref_tag;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - NO_DESCR */
-	/* 40.0 - 48.31 */
-	 union connectib_hw_pdf_entry w_in_line_pdf;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - NO_DESCR */
-	/* 48.0 - 48.15 */
-	 u_int16_t m_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 48.30 - 48.30 */
-	 u_int8_t m_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 48.31 - 52.31 */
-	 u_int8_t m_in_line_vld;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - NO_DESCR */
-	/* 52.0 - 56.31 */
-	 u_int32_t m_dif_ref_tag;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - NO_DESCR */
-	/* 56.0 - 64.31 */
-	 union connectib_hw_pdf_entry m_in_line_pdf;
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.15 */
+	 u_int16_t val;
+};
+
+/* Description -  FW bits, these are the only reserved bits that are not overriden by HW in ICM */
+/* Size in bytes - 64 */
+struct connectib_srq_fw {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.16 - 0x18.25 */
+	 u_int16_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_bsf_entry_same_block_repeating {
+struct connectib_e2e_consumer_index {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.15 */
+	 u_int16_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_pf_vf_cfg_space {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 0.7 */
-	 u_int8_t m_block_size_selector;
-	/* Description - NO_DESCR */
-	/* 0.8 - 0.15 */
-	 u_int8_t copy_byte_mask;
-	/* Description - NO_DESCR */
-	/* 0.16 - 0.23 */
-	 u_int8_t byte_check_en;
-	/* Description - NO_DESCR */
-	/* 0.28 - 0.28 */
-	 u_int8_t aligned;
-	/* Description - NO_DESCR */
-	/* 0.30 - 4.31 */
-	 u_int8_t size;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t raw_size;
+	/* Description - pcie sriov capability for pf */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_pf_vf_sriov sriov;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 8.23 */
-	 u_int32_t w_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 8.24 - 12.31 */
-	 u_int8_t w_b_pdf_ptr;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - NO_DESCR */
-	/* 12.0 - 12.23 */
-	 u_int32_t m_b_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 12.24 - 16.31 */
-	 u_int8_t m_b_pdf_ptr;
+	/* Description - VPD capability for pf */
+	/* 0x8.0 - 0x10.31 */
+	 struct connectib_pf_vf_vpd vpd;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.9 */
+	 u_int16_t hw_msix_vec0;
+	/* Description - General MSIX function mask to all the function's vectors */
+	/* 0x10.10 - 0x10.10 */
+	 u_int8_t msix_func_mask;
 	/* Description - NO_DESCR */
-	/* 16.0 - 16.23 */
-	 u_int32_t prologue_size;
-	/* Description - NO_DESCR */
-	/* 16.24 - 16.24 */
-	 u_int8_t m_t_end;
+	/* 0x10.11 - 0x10.11 */
+	 u_int8_t msix_enable;
+	/* Description - pcie bus mastering for the function */
+	/* 0x10.12 - 0x10.12 */
+	 u_int8_t bus_master_en;
+	/* Description - memory space enable
+used for Golan only.
+for Shomron, use command_register_memory_space */
+	/* 0x10.13 - 0x10.13 */
+	 u_int8_t memory_space;
+	/* Description - valid for pf, rsvd for vf
+used for Golan only.
+for Shomron, use status_register_serr */
+	/* 0x10.15 - 0x10.15 */
+	 u_int8_t serr_status;
+	/* Description - valid for pf, rsvd for vf
+used for Golan only.
+for Shomron, use command_register_serr_report_en */
+	/* 0x10.16 - 0x10.16 */
+	 u_int8_t serr_enable;
+	/* Description - NO_DESCR
+used for Golan only.
+for Shomron, use command_register_perr_report_en */
+	/* 0x10.17 - 0x10.17 */
+	 u_int8_t perr_enable;
 	/* Description - NO_DESCR */
-	/* 16.25 - 16.25 */
-	 u_int8_t m_t_start;
+	/* 0x10.18 - 0x10.18 */
+	 u_int8_t int_disable;
+	/* Description - Function got FLR, need to send event to driver */
+	/* 0x10.19 - 0x10.19 */
+	 u_int8_t need_to_fire_flr_event;
 	/* Description - NO_DESCR */
-	/* 16.28 - 16.28 */
-	 u_int8_t w_t_end;
+	/* 0x10.20 - 0x10.20 */
+	 u_int8_t in_middle_of_flr;
+	/* Description - If set, this function power state is transparent to power management (L1) mechanism */
+	/* 0x10.21 - 0x10.21 */
+	 u_int8_t hide;
+	/* Description - pcie logical Dstate */
+	/* 0x10.22 - 0x10.23 */
+	 u_int8_t power_state;
 	/* Description - NO_DESCR */
-	/* 16.29 - 16.29 */
-	 u_int8_t w_t_start;
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t cache_line;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description - NO_DESCR */
-	/* 20.0 - 20.23 */
-	 u_int32_t epilogue_size;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - NO_DESCR */
-	/* 24.0 - 24.23 */
-	 u_int32_t w_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 24.24 - 28.31 */
-	 u_int8_t w_t_pdf_ptr;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - NO_DESCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t m_t_psv_pointer;
-	/* Description - NO_DESCR */
-	/* 28.24 - 32.31 */
-	 u_int8_t m_t_pdf_ptr;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - NO_DESCR */
-	/* 32.0 - 32.15 */
-	 u_int16_t w_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 32.30 - 32.30 */
-	 u_int8_t w_refresh_dif_params;
-	/* Description - NO_DESCR */
-	/* 32.31 - 36.31 */
-	 u_int8_t w_in_line_vld;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - NO_DESCR */
-	/* 36.0 - 40.31 */
-	 u_int32_t w_dif_ref_tag;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - NO_DESCR */
-	/* 40.0 - 48.31 */
-	 union connectib_hw_pdf_entry w_in_line_pdf;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - NO_DESCR */
-	/* 48.0 - 48.15 */
-	 u_int16_t m_dif_app_tag;
-	/* Description - NO_DESCR */
-	/* 48.30 - 48.30 */
-	 u_int8_t m_refresh_dif_params;
+	/* 0x14.0 - 0x14.7 */
+	 u_int8_t interrupt_line;
 	/* Description - NO_DESCR */
-	/* 48.31 - 52.31 */
-	 u_int8_t m_in_line_vld;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* 0x14.10 - 0x14.10 */
+	 u_int8_t exp_rom_en;
 	/* Description - NO_DESCR */
-	/* 52.0 - 56.31 */
-	 u_int32_t m_dif_ref_tag;
+	/* 0x14.11 - 0x14.31 */
+	 u_int32_t exp_rom_addr_31_11;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.0 - 0x18.0 */
+	 u_int8_t device_control_correctable_error_report_en;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.1 - 0x18.1 */
+	 u_int8_t device_control_nonfatal_error_report_en;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.2 - 0x18.2 */
+	 u_int8_t device_control_fatal_error_report_en;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.3 - 0x18.3 */
+	 u_int8_t device_control_ur_error_report_en;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.4 - 0x18.4 */
+	 u_int8_t device_control_enable_relaxed_ordering;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.5 - 0x18.7 */
+	 u_int8_t device_control_max_payload_size;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.8 - 0x18.8 */
+	 u_int8_t device_control_extended_tag_en;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.9 - 0x18.9 */
+	 u_int8_t device_control_enable_no_snoop;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.10 - 0x18.12 */
+	 u_int8_t device_control_max_read_request_size;
+	/* Description -  */
+	/* 0x18.13 - 0x18.13 */
+	 u_int8_t device_status_correctable_error_detected;
+	/* Description -  */
+	/* 0x18.14 - 0x18.14 */
+	 u_int8_t device_status_nonfatal_error_detected;
+	/* Description -  */
+	/* 0x18.15 - 0x18.15 */
+	 u_int8_t device_status_fatal_error_detected;
+	/* Description -  */
+	/* 0x18.16 - 0x18.16 */
+	 u_int8_t device_status_ur_error_detected;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.17 - 0x18.17 */
+	 u_int8_t command_register_memory_space;
+	/* Description - PF - base. VF - base */
+	/* 0x18.18 - 0x18.18 */
+	 u_int8_t command_register_bus_master_en;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.19 - 0x18.19 */
+	 u_int8_t command_register_perr_report_en;
+	/* Description - PF - base. VF - RsvdP */
+	/* 0x18.20 - 0x18.20 */
+	 u_int8_t command_register_serr_report_en;
+	/* Description - PF - base. VF - 0 */
+	/* 0x18.21 - 0x18.21 */
+	 u_int8_t command_register_interrupt_disable;
+	/* Description - PF - base. VF - 0 */
+	/* 0x18.22 - 0x18.22 */
+	 u_int8_t status_register_interrupt_status;
+	/* Description -  */
+	/* 0x18.23 - 0x18.23 */
+	 u_int8_t status_register_perr;
+	/* Description -  */
+	/* 0x18.24 - 0x18.24 */
+	 u_int8_t status_register_serr;
+	/* Description -  */
+	/* 0x18.25 - 0x18.25 */
+	 u_int8_t status_register_received_master_abort;
+	/* Description -  */
+	/* 0x18.26 - 0x18.26 */
+	 u_int8_t status_register_received_target_abort;
+	/* Description -  */
+	/* 0x18.27 - 0x18.27 */
+	 u_int8_t status_register_detected_parity_error;
+	/* Description -  */
+	/* 0x18.28 - 0x18.28 */
+	 u_int8_t status_register_signaled_target_abort;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_hw_init_info {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0-init not started, 1-init in progress, 3 - init done */
+	/* 0x0.0 - 0x0.1 */
+	 u_int8_t init_state;
+	/* Description - lock to prevent parallel init */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t init_lock;
+	/* Description - This VF owner PF */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t owner_pf;
+};
+
+/* Description -  updated when eqe is generated from a global timer */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_moderation_timestamp_7_0 {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.24 - 0x3c.31 */
+	 u_int8_t val;
+};
+
+/* Description -  
+EAS NAME: usr_page */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_uar {
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.0 - 0x3c.23 */
+	 u_int32_t val;
+};
+
+/* Description -  updated when eqe is generated from a global timer */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_moderation_timestamp_39_8 {
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - NO_DESCR */
-	/* 56.0 - 64.31 */
-	 union connectib_hw_pdf_entry m_in_line_pdf;
+	/* Description -  */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t val;
+};
+
+/* Description -  MSB of physical address translation, 12lsb are VA[11:0] */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_pa1_31_12 {
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description -  */
+	/* 0x34.12 - 0x34.31 */
+	 u_int32_t val;
+};
+
+/* Description -  updated when eqe is generated from a global timer */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_moderation_timestamp_51_40 {
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description -  */
+	/* 0x34.0 - 0x34.11 */
+	 u_int16_t val;
+};
+
+/* Description -  MSB of physical address translation, 12lsb are VA[11:0] */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_pa1_63_32 {
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t val;
+};
+
+/* Description -  Used in TPT for wqe translation */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_mtt_pointer_4_0 {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.27 - 0x2c.31 */
+	 u_int8_t val;
+};
+
+/* Description -  When set: ci is ignored, and never read (block,lookahead) */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_overrun_ignore {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.26 - 0x2c.26 */
+	 u_int8_t val;
+};
+
+/* Description -  0-Fired
+1-Armed Solicited
+2-Armed
+3-Always Armed
+Hermon name: state */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_cq_state {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.24 - 0x2c.25 */
+	 u_int8_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_dct {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - this field add for making this struct size 64B (as QPC) */
-	/* 0.0 - 4.31 */
-	 u_int32_t complete_to_64B_eyald;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+struct connectib_hw_cqc_consumer_index {
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.4 */
-	 u_int8_t rnr_timer;
-	/* Description - 
-EAS NAME: rwe */
-	/* 32.5 - 32.5 */
-	 u_int8_t write_enable;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload <=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload <=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 32.6 - 32.7 */
-	 u_int8_t inline_scatter;
-	/* Description - 2^thisValue is the max number of bytes per mesaage
-EAS NAME: msg_max */
-	/* 32.8 - 32.12 */
-	 u_int8_t max_message_size;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 32.13 - 32.13 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
-	/* 32.14 - 32.14 */
-	 u_int8_t send_with_invalidate_enable;
-	/* Description - 
-EAS NAME: rre */
-	/* 32.15 - 32.15 */
-	 u_int8_t read_enable;
-	/* Description - 0: 256 bytes 
-1: 512 bytes 
-2: 1K bytes 
-3: 2K bytes 
-4: 4k bytes
-5: 8k bytes
-EAS NAME: mtu */
-	/* 32.16 - 32.18 */
-	 u_int8_t mtu;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 32.19 - 32.19 */
-	 u_int8_t fast_path;
-	/* Description - number of valid bytes in the dca_access_key
-0-3: 2^value bytes
-7-disable */
-	/* 32.20 - 32.22 */
-	 u_int8_t dc_access_key_log_num_byte;
-	/* Description - 
-EAS NAME: N/A */
-	/* 32.23 - 32.23 */
-	 u_int8_t tcu_drop;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 32.24 - 32.24 */
-	 u_int8_t tcu_trap;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.25 - 32.25 */
-	 u_int8_t adaptive_routing;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.26 - 32.26 */
-	 u_int8_t port_number;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.27 - 32.27 */
-	 u_int8_t grh_bit;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: flow_label */
-	/* 36.0 - 36.19 */
-	 u_int32_t flow_label;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 36.20 - 36.22 */
-	 u_int8_t max_read_atomic;
-	/* Description - in other decode options this bit should be reserved and always_zero.
-this is because we don't have a HW check of ts when fetching DCT.
-if we get normal QP by accident this will show invalid context. */
-	/* 36.23 - 36.23 */
-	 u_int8_t qp_valid;
-	/* Description - 
-EAS NAME: mlid */
-	/* 36.24 - 36.30 */
-	 u_int8_t my_lid;
-	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
-	/* 36.31 - 40.31 */
-	 u_int8_t atomic_like_write;
+	/* 0x2c.0 - 0x2c.23 */
+	 u_int32_t val;
+};
+
+/* Description -  Used in TPT for wqe translation */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_mtt_pointer_36_5 {
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - 
-EAS NAME: srqn
-condition:rwq_type==SRQ & ts!=DCR */
-	/* 40.0 - 40.23 */
-	 u_int32_t srq_number;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid
-EAS NAME: if_counter_index */
-	/* 40.24 - 44.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 44.0 - 44.11 */
-	 u_int16_t pkey_table_index;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 44.12 - 44.15 */
-	 u_int8_t extended_atomic;
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 44.16 - 44.23 */
-	 u_int8_t my_gid_mac_index;
-	/* Description - 
-EAS NAME: stat_rate */
-	/* 44.24 - 44.27 */
-	 u_int8_t ipd;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent
-9-RMC child (RX only)
-10-FCP
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - 
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 48.0 - 48.23 */
-	 u_int32_t cq_number;
-	/* Description - Number of hops between subnets a packet can make before being discarded
-Used by TCU for CNP with GRH in connected mode
-EAS NAME: hop_limit */
-	/* 48.24 - 52.31 */
-	 u_int8_t hop_limit;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 52.0 - 52.23 */
-	 u_int32_t context_number;
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 52.24 - 56.31 */
-	 u_int8_t tclass;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-condition:ts==DCI */
-	/* 56.0 - 64.31 */
-	 u_int64_t dc_access_key;
+	/* Description -  */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t val;
 };
 
-/* Description -   */
+/* Description -  bits[63:3] of the physical address of the ci
+condition:cq */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_ud_l2_cd {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - check_source_uc_wire - check source (choose source based on QP bit) for multicast wire */
-	/* 0.1 - 0.1 */
-	 u_int8_t check_source_uc_wire;
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - Loopback only, If set, function_id is checked with the receiving QP function_id. Otherwise, SMAC is checked.
-This and the following 4 not needed in FC (And RC) since we check DMAC in the QP and make sure that the packet arrived to its intended destination */
-	/* 0.8 - 0.8 */
-	 u_int8_t check_source_gvmi;
-	/* Description - check source (choose source based on QP bit) for multicast loopback */
-	/* 0.9 - 0.9 */
-	 u_int8_t check_source_mc_lb;
-	/* Description - check source (choose source based on QP bit) for unicast loopback */
-	/* 0.10 - 0.10 */
-	 u_int8_t check_source_uc_lb;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - when set: multicast loopback packets coming from the same QP will be dropped */
-	/* 0.28 - 0.28 */
-	 u_int8_t drop_my_self_multicast;
-	/* Description - 1: GRH is sent to CQE
-0: GRH is sent to first 40B of the WQE (or 40B reserved if GRH not present). this is the backward compatiblity mode */
-	/* 0.30 - 0.30 */
-	 u_int8_t grh_to_cqe;
+struct connectib_hw_cqc_cipa_31_3 {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-EAS NAME: rq_wqe_max
-condition:ts!=DCR & rwq_type==REGULAR */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwqe_producer_index;
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 12.16 - 16.31 */
-	 u_int16_t rwqe_consumer_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - how many bytes received ^ modulo 4G
-condition:rwq_type==RCYCLIC */
-	/* 24.0 - 28.31 */
-	 u_int32_t rcyclic_consumer;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
+	/* 0x24.3 - 0x24.31 */
+	 u_int32_t val;
+};
+
+/* Description -  Used in TPT for wqe translation */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_mtt_pointer_39_37 {
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.0 - 0x24.2 */
+	 u_int8_t val;
+};
+
+/* Description -  bits[63:3] of the physical address of the ci
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_cipa_63_32 {
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - cleared when CQE is sent, increament when packet is dropped due to lack of receive WQE's
-saturation on 0xff
-TODO: 8 MSB are not used */
-	/* 44.0 - 44.15 */
-	 u_int16_t no_wqe_drop_count;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - check source (choose source based on QP bit) for multicast wire */
-	/* 60.1 - 60.1 */
-	 u_int8_t check_source_mc_wire;
-	/* Description - 
-condition:ts!=DCR & ts!=XRC & post_receive_slave_enable */
-	/* 60.8 - 64.31 */
-	 u_int32_t mpi_uar;
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t val;
+};
+
+/* Description -  used for db.db_sn check
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_number_of_events_generated {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.30 - 0x1c.31 */
+	 u_int8_t val;
+};
+
+/* Description -  set to 1 on every received DB */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_db_heartbeat {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.29 - 0x1c.29 */
+	 u_int8_t val;
+};
+
+/* Description -  amount of CQE in CQ is 2^los2_size */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_log2_size {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.24 - 0x1c.28 */
+	 u_int8_t val;
+};
+
+/* Description -  doorbell ci - in the case of cq_state different from Fired, this field indicates what should be pi for firing the event. Updated by the doorbell handler */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_db_ci {
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t val;
+};
+
+/* Description -  minimum wait time between eqe:
+0 means moderation is disabled on this CQ
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_moderation_min_wait_time {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.20 - 0x18.31 */
+	 u_int16_t val;
+};
+
+/* Description -  CQC: eqn+eq_offset
+EQC with MSIX: ^ MSIX number+offset
+EQC with interrupt: 0-INT_A, 1-INT_B, 2-INT_C, 3-INT_D, 4-INT_YU */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_eqn_msix {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.19 */
+	 u_int32_t val;
+};
+
+/* Description -  minimum # of cqes to generate eqe
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_moderation_cnt_limit_7_0 {
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.24 - 0x14.31 */
+	 u_int8_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_producer_index {
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t val;
 };
 
-/* Description -   */
+/* Description -  last index for which an event was created */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_ud_l2_2srq {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - check_source_uc_wire - check source (choose source based on QP bit) for multicast wire */
-	/* 0.1 - 0.1 */
-	 u_int8_t check_source_uc_wire;
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - Loopback only, If set, function_id is checked with the receiving QP function_id. Otherwise, SMAC is checked.
-This and the following 4 not needed in FC (And RC) since we check DMAC in the QP and make sure that the packet arrived to its intended destination */
-	/* 0.8 - 0.8 */
-	 u_int8_t check_source_gvmi;
-	/* Description - check source (choose source based on QP bit) for multicast loopback */
-	/* 0.9 - 0.9 */
-	 u_int8_t check_source_mc_lb;
-	/* Description - check source (choose source based on QP bit) for unicast loopback */
-	/* 0.10 - 0.10 */
-	 u_int8_t check_source_uc_lb;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - when set: multicast loopback packets coming from the same QP will be dropped */
-	/* 0.28 - 0.28 */
-	 u_int8_t drop_my_self_multicast;
-	/* Description - 1: GRH is sent to CQE
-0: GRH is sent to first 40B of the WQE (or 40B reserved if GRH not present). this is the backward compatiblity mode */
-	/* 0.30 - 0.30 */
-	 u_int8_t grh_to_cqe;
+struct connectib_hw_cqc_last_notified_index {
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-EAS NAME: rq_wqe_max
-condition:ts!=DCR & rwq_type==REGULAR */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwqe_producer_index;
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 12.16 - 16.31 */
-	 u_int16_t rwqe_consumer_index;
+	/* 0x10.8 - 0x10.31 */
+	 u_int32_t val;
+};
+
+/* Description -  minimum # of cqes to generate eqe
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_moderation_cnt_limit_15_8 {
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - how many bytes received ^ modulo 4G
-condition:rwq_type==RCYCLIC */
-	/* 24.0 - 28.31 */
-	 u_int32_t rcyclic_consumer;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - cleared when CQE is sent, increament when packet is dropped due to lack of receive WQE's
-saturation on 0xff
-TODO: 8 MSB are not used */
-	/* 44.0 - 44.15 */
-	 u_int16_t no_wqe_drop_count;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-EAS NAME: srqn
-condition:rwq_type==SRQ & ts!=DCR */
-	/* 56.0 - 56.23 */
-	 u_int32_t srq_number;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - check source (choose source based on QP bit) for multicast wire */
-	/* 60.1 - 60.1 */
-	 u_int8_t check_source_mc_wire;
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t val;
 };
 
-/* Description -   */
+/* Description -  MSB of physical address translation, 12lsb are VA[11:0] */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_ud_l2_2cyclicbuff {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - check_source_uc_wire - check source (choose source based on QP bit) for multicast wire */
-	/* 0.1 - 0.1 */
-	 u_int8_t check_source_uc_wire;
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - Loopback only, If set, function_id is checked with the receiving QP function_id. Otherwise, SMAC is checked.
-This and the following 4 not needed in FC (And RC) since we check DMAC in the QP and make sure that the packet arrived to its intended destination */
-	/* 0.8 - 0.8 */
-	 u_int8_t check_source_gvmi;
-	/* Description - check source (choose source based on QP bit) for multicast loopback */
-	/* 0.9 - 0.9 */
-	 u_int8_t check_source_mc_lb;
-	/* Description - check source (choose source based on QP bit) for unicast loopback */
-	/* 0.10 - 0.10 */
-	 u_int8_t check_source_uc_lb;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - when set: multicast loopback packets coming from the same QP will be dropped */
-	/* 0.28 - 0.28 */
-	 u_int8_t drop_my_self_multicast;
-	/* Description - 1: GRH is sent to CQE
-0: GRH is sent to first 40B of the WQE (or 40B reserved if GRH not present). this is the backward compatiblity mode */
-	/* 0.30 - 0.30 */
-	 u_int8_t grh_to_cqe;
+struct connectib_hw_cqc_pa0_31_12 {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
+	/* 0xc.12 - 0xc.31 */
+	 u_int32_t val;
+};
+
+/* Description -  when this bit is set, FW should be called */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_cq_trap {
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-condition:ts!=DCR & rwq_type==RCYCLIC */
-	/* 12.0 - 16.31 */
-	 u_int32_t rcyclic_producer;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - how many bytes received ^ modulo 4G
-condition:rwq_type==RCYCLIC */
-	/* 24.0 - 28.31 */
-	 u_int32_t rcyclic_consumer;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - cleared when CQE is sent, increament when packet is dropped due to lack of receive WQE's
-saturation on 0xff
-TODO: 8 MSB are not used */
-	/* 44.0 - 44.15 */
-	 u_int16_t no_wqe_drop_count;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 56.0 - 60.31 */
-	 u_int32_t e2e_pa_63_32;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - check source (choose source based on QP bit) for multicast wire */
-	/* 60.1 - 60.1 */
-	 u_int8_t check_source_mc_wire;
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 60.2 - 64.31 */
-	 u_int32_t e2e_pa_31_2;
+	/* 0xc.11 - 0xc.11 */
+	 u_int8_t val;
 };
 
-/* Description -   */
+/* Description -  All the CQEs are written to the same address. Required for CQE coalescing */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_ud_l2 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - check_source_uc_wire - check source (choose source based on QP bit) for multicast wire */
-	/* 0.1 - 0.1 */
-	 u_int8_t check_source_uc_wire;
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - Loopback only, If set, function_id is checked with the receiving QP function_id. Otherwise, SMAC is checked.
-This and the following 4 not needed in FC (And RC) since we check DMAC in the QP and make sure that the packet arrived to its intended destination */
-	/* 0.8 - 0.8 */
-	 u_int8_t check_source_gvmi;
-	/* Description - check source (choose source based on QP bit) for multicast loopback */
-	/* 0.9 - 0.9 */
-	 u_int8_t check_source_mc_lb;
-	/* Description - check source (choose source based on QP bit) for unicast loopback */
-	/* 0.10 - 0.10 */
-	 u_int8_t check_source_uc_lb;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - when set: multicast loopback packets coming from the same QP will be dropped */
-	/* 0.28 - 0.28 */
-	 u_int8_t drop_my_self_multicast;
-	/* Description - 1: GRH is sent to CQE
-0: GRH is sent to first 40B of the WQE (or 40B reserved if GRH not present). this is the backward compatiblity mode */
-	/* 0.30 - 0.30 */
-	 u_int8_t grh_to_cqe;
+struct connectib_hw_cqc_shrink {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
+	/* 0xc.10 - 0xc.10 */
+	 u_int8_t val;
+};
+
+/* Description -  0: no pa fetch
+1: single pa (bring next pa when last CQE of page is written)
+2: dual pa prefetch */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_pa_mode {
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-EAS NAME: rq_wqe_max
-condition:ts!=DCR & rwq_type==REGULAR */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwqe_producer_index;
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 12.16 - 16.31 */
-	 u_int16_t rwqe_consumer_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - how many bytes received ^ modulo 4G
-condition:rwq_type==RCYCLIC */
-	/* 24.0 - 28.31 */
-	 u_int32_t rcyclic_consumer;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - cleared when CQE is sent, increament when packet is dropped due to lack of receive WQE's
-saturation on 0xff
-TODO: 8 MSB are not used */
-	/* 44.0 - 44.15 */
-	 u_int16_t no_wqe_drop_count;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 56.0 - 60.31 */
-	 u_int32_t e2e_pa_63_32;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - check source (choose source based on QP bit) for multicast wire */
-	/* 60.1 - 60.1 */
-	 u_int8_t check_source_mc_wire;
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 60.2 - 64.31 */
-	 u_int32_t e2e_pa_31_2;
+	/* 0xc.8 - 0xc.9 */
+	 u_int8_t val;
 };
 
-/* Description -   */
+/* Description -  set to 1 on every CQE creation */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_unconnected_common {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - check_source_uc_wire - check source (choose source based on QP bit) for multicast wire */
-	/* 0.1 - 0.1 */
-	 u_int8_t check_source_uc_wire;
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - Loopback only, If set, function_id is checked with the receiving QP function_id. Otherwise, SMAC is checked.
-This and the following 4 not needed in FC (And RC) since we check DMAC in the QP and make sure that the packet arrived to its intended destination */
-	/* 0.8 - 0.8 */
-	 u_int8_t check_source_gvmi;
-	/* Description - check source (choose source based on QP bit) for multicast loopback */
-	/* 0.9 - 0.9 */
-	 u_int8_t check_source_mc_lb;
-	/* Description - check source (choose source based on QP bit) for unicast loopback */
-	/* 0.10 - 0.10 */
-	 u_int8_t check_source_uc_lb;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - when set: multicast loopback packets coming from the same QP will be dropped */
-	/* 0.28 - 0.28 */
-	 u_int8_t drop_my_self_multicast;
-	/* Description - 1: GRH is sent to CQE
-0: GRH is sent to first 40B of the WQE (or 40B reserved if GRH not present). this is the backward compatiblity mode */
-	/* 0.30 - 0.30 */
-	 u_int8_t grh_to_cqe;
+struct connectib_hw_cqc_cqe_heartbeat {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.7 - 0xc.7 */
+	 u_int8_t val;
+};
+
+/* Description -  
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_db_recovery_enable {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.6 - 0xc.6 */
+	 u_int8_t val;
+};
+
+/* Description -  CQ start address is: cq_page_offset << (crspace+6)
+It was changed to log page size from the context */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_cq_page_offset {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
+	/* 0xc.0 - 0xc.5 */
+	 u_int8_t val;
+};
+
+/* Description -  MSB of physical address translation, 12lsb are VA[11:0] */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_pa0_63_32 {
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - how many bytes received ^ modulo 4G
-condition:rwq_type==RCYCLIC */
-	/* 24.0 - 28.31 */
-	 u_int32_t rcyclic_consumer;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - cleared when CQE is sent, increament when packet is dropped due to lack of receive WQE's
-saturation on 0xff
-TODO: 8 MSB are not used */
-	/* 44.0 - 44.15 */
-	 u_int16_t no_wqe_drop_count;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - check source (choose source based on QP bit) for multicast wire */
-	/* 60.1 - 60.1 */
-	 u_int8_t check_source_mc_wire;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t val;
 };
 
-/* Description -   */
+/* Description -  When pi - ci = lookahead_size ci is read from memory
+condition:cq */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_xrc {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - last opcode was:
-0-write
-1-send
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t last_opcode;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: rre */
-	/* 0.13 - 0.13 */
-	 u_int8_t read_enable;
-	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
-	/* 0.14 - 0.14 */
-	 u_int8_t send_with_invalidate_enable;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description - 
-EAS NAME: rwe */
-	/* 0.23 - 0.23 */
-	 u_int8_t write_enable;
-	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
-	/* 0.24 - 0.24 */
-	 u_int8_t atomic_like_write;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: N/A */
-	/* 0.28 - 0.30 */
-	 u_int8_t ack_type;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
+struct connectib_hw_cqc_lookahead_size_7_0 {
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - On WriteFirst set to the packet.R_key
-EAS NAME: N/A */
-	/* 4.0 - 8.31 */
-	 u_int32_t write_rkey;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
 	/* Description -  */
-	/* 8.16 - 8.20 */
-	 u_int8_t rnr_timer;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-EAS NAME: rq_wqe_max
-condition:ts!=DCR & rwq_type==REGULAR */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwqe_producer_index;
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 12.16 - 16.31 */
-	 u_int16_t rwqe_consumer_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - in hermon: last_acked_psn (+1 from hermon)
-EAS NAME: last_acked_psn
-idle value: Receive.expected_psn */
-	/* 20.0 - 20.23 */
-	 u_int32_t first_non_acked_psn;
-	/* Description - 
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t rdb_write_pointer;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Indicates which MSN was done
-EAS NAME: rmsn
-idle value: Common.PeerQp.Send.ssn
-condition:rwq_type!=RCYCLIC */
-	/* 24.0 - 24.23 */
-	 u_int32_t msn;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t val;
+};
+
+/* Description -  index of the last CQE with SE bit set
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_last_solicited_index {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Receive.rdb_write_pointer */
-	/* 36.0 - 36.7 */
-	 u_int8_t rdb_read_pointer;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - How many received in current message, 0-not inside a message
-RC: in chuncks of 256B
-LRO: in bytes
-hermon name: part was in last_opcode
-EAS NAME: N/A
-idle value: 0 */
-	/* 40.8 - 44.31 */
-	 u_int32_t rx_length_committed;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - 23:0 DCT number
-39:24 GVMI
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 44.0 - 44.15 */
-	 u_int16_t dct_gvmi;
-	/* Description - SQ number
-TODO: reduce 1 bit */
-	/* 44.16 - 44.26 */
-	 u_int16_t sqn;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - virtual address of write being processed
-EAS NAME: N/A */
-	/* 48.0 - 56.31 */
-	 u_int64_t write_va;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-EAS NAME: srqn
-condition:rwq_type==SRQ & ts!=DCR */
-	/* 56.0 - 56.23 */
-	 u_int32_t srq_number;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Controls handling of packets with correct and incorrect PSN and opcode sequences
-0: Unconnected - QPC ePSN and opcode sequence are invalid
-1:Connected (good flow) - QPC.ePSN and correct opcode sequence are forwarded; everything else triggers FW
-2: Resync (^xxstate^) -  QPC.ePSN and correct opcode sequence will cause HW to move QPC to Connected state; everything else is dropped
-3: Closed - everything is dropped in RXT
-HW writes to this field in RNR-nack flow
-EAS NAME: N/A */
-	/* 60.0 - 60.1 */
-	 u_int8_t connection_state;
-	/* Description - Hermon: srcd
-EAS NAME: xrcd
-condition:ts==XRC */
-	/* 60.8 - 64.31 */
-	 u_int32_t xrc_domain;
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_dcr {
+struct connectib_hw_cqc_last_notified_check_for_arm_en {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - last opcode was:
-0-write
-1-send
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t last_opcode;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: rre */
-	/* 0.13 - 0.13 */
-	 u_int8_t read_enable;
-	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
-	/* 0.14 - 0.14 */
-	 u_int8_t send_with_invalidate_enable;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description - 
-EAS NAME: rwe */
-	/* 0.23 - 0.23 */
-	 u_int8_t write_enable;
-	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
-	/* 0.24 - 0.24 */
-	 u_int8_t atomic_like_write;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: N/A */
-	/* 0.28 - 0.30 */
-	 u_int8_t ack_type;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - On WriteFirst set to the packet.R_key
-EAS NAME: N/A */
-	/* 4.0 - 8.31 */
-	 u_int32_t write_rkey;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t val;
+};
+
+/* Description -  
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_poll_cq_queue_in_error_state {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 8.16 - 8.20 */
-	 u_int8_t rnr_timer;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-EAS NAME: rq_wqe_max
-condition:ts!=DCR & rwq_type==REGULAR */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwqe_producer_index;
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 12.16 - 16.31 */
-	 u_int16_t rwqe_consumer_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - in hermon: last_acked_psn (+1 from hermon)
-EAS NAME: last_acked_psn
-idle value: Receive.expected_psn */
-	/* 20.0 - 20.23 */
-	 u_int32_t first_non_acked_psn;
-	/* Description - 
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t rdb_write_pointer;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Indicates which MSN was done
-EAS NAME: rmsn
-idle value: Common.PeerQp.Send.ssn
-condition:rwq_type!=RCYCLIC */
-	/* 24.0 - 24.23 */
-	 u_int32_t msn;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t dct_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t val;
+};
+
+/* Description -  
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Receive.rdb_write_pointer */
-	/* 36.0 - 36.7 */
-	 u_int8_t rdb_read_pointer;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - How many received in current message, 0-not inside a message
-RC: in chuncks of 256B
-LRO: in bytes
-hermon name: part was in last_opcode
-EAS NAME: N/A
-idle value: 0 */
-	/* 40.8 - 44.31 */
-	 u_int32_t rx_length_committed;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - 23:0 DCT number
-39:24 GVMI
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 44.0 - 44.15 */
-	 u_int16_t dct_gvmi;
-	/* Description - SQ number
-TODO: reduce 1 bit */
-	/* 44.16 - 44.26 */
-	 u_int16_t sqn;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - virtual address of write being processed
-EAS NAME: N/A */
-	/* 48.0 - 56.31 */
-	 u_int64_t write_va;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - when equal 0xffffff: next DCR does not exist, end of list
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 56.0 - 56.23 */
-	 u_int32_t next_dcr;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Controls handling of packets with correct and incorrect PSN and opcode sequences
-0: Unconnected - QPC ePSN and opcode sequence are invalid
-1:Connected (good flow) - QPC.ePSN and correct opcode sequence are forwarded; everything else triggers FW
-2: Resync (^xxstate^) -  QPC.ePSN and correct opcode sequence will cause HW to move QPC to Connected state; everything else is dropped
-3: Closed - everything is dropped in RXT
-HW writes to this field in RNR-nack flow
-EAS NAME: N/A */
-	/* 60.0 - 60.1 */
-	 u_int8_t connection_state;
-	/* Description - 1: dcr is connected
-0: dcr is free
-idle value: 0
-condition:ts==DCR */
-	/* 60.2 - 60.2 */
-	 u_int8_t dcr_connected;
-	/* Description - 
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 60.8 - 64.31 */
-	 u_int32_t responder_session_id;
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t val;
+};
+
+/* Description -  page_size = 4096*2^log_page_size */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_log_page_size {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.24 - 0x0.28 */
+	 u_int8_t val;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_rc_uc_2srq {
+struct connectib_hw_cqc_pa_error {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - last opcode was:
-0-write
-1-send
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t last_opcode;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: rre */
-	/* 0.13 - 0.13 */
-	 u_int8_t read_enable;
-	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
-	/* 0.14 - 0.14 */
-	 u_int8_t send_with_invalidate_enable;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description - 
-EAS NAME: rwe */
-	/* 0.23 - 0.23 */
-	 u_int8_t write_enable;
-	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
-	/* 0.24 - 0.24 */
-	 u_int8_t atomic_like_write;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: N/A */
-	/* 0.28 - 0.30 */
-	 u_int8_t ack_type;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - On WriteFirst set to the packet.R_key
-EAS NAME: N/A */
-	/* 4.0 - 8.31 */
-	 u_int32_t write_rkey;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
+	/* 0x0.22 - 0x0.23 */
+	 u_int8_t val;
+};
+
+/* Description -  qe_coalesce_checksum - Shomron only!!!
+msix:
+1: send interupt to MSIX
+0:send interupt to int pin
+condition:~cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_cqe_coalesce_checksum_msix {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 8.16 - 8.20 */
-	 u_int8_t rnr_timer;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-EAS NAME: rq_wqe_max
-condition:ts!=DCR & rwq_type==REGULAR */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwqe_producer_index;
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 12.16 - 16.31 */
-	 u_int16_t rwqe_consumer_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - in hermon: last_acked_psn (+1 from hermon)
-EAS NAME: last_acked_psn
-idle value: Receive.expected_psn */
-	/* 20.0 - 20.23 */
-	 u_int32_t first_non_acked_psn;
-	/* Description - 
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t rdb_write_pointer;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Indicates which MSN was done
-EAS NAME: rmsn
-idle value: Common.PeerQp.Send.ssn
-condition:rwq_type!=RCYCLIC */
-	/* 24.0 - 24.23 */
-	 u_int32_t msn;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t val;
+};
+
+/* Description -  CQE size: 0-64B, 1-128B
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_cqe_128b_size {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Receive.rdb_write_pointer */
-	/* 36.0 - 36.7 */
-	 u_int8_t rdb_read_pointer;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - How many received in current message, 0-not inside a message
-RC: in chuncks of 256B
-LRO: in bytes
-hermon name: part was in last_opcode
-EAS NAME: N/A
-idle value: 0 */
-	/* 40.8 - 44.31 */
-	 u_int32_t rx_length_committed;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - 23:0 DCT number
-39:24 GVMI
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 44.0 - 44.15 */
-	 u_int16_t dct_gvmi;
-	/* Description - SQ number
-TODO: reduce 1 bit */
-	/* 44.16 - 44.26 */
-	 u_int16_t sqn;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - virtual address of write being processed
-EAS NAME: N/A */
-	/* 48.0 - 56.31 */
-	 u_int64_t write_va;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-EAS NAME: srqn
-condition:rwq_type==SRQ & ts!=DCR */
-	/* 56.0 - 56.23 */
-	 u_int32_t srq_number;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Controls handling of packets with correct and incorrect PSN and opcode sequences
-0: Unconnected - QPC ePSN and opcode sequence are invalid
-1:Connected (good flow) - QPC.ePSN and correct opcode sequence are forwarded; everything else triggers FW
-2: Resync (^xxstate^) -  QPC.ePSN and correct opcode sequence will cause HW to move QPC to Connected state; everything else is dropped
-3: Closed - everything is dropped in RXT
-HW writes to this field in RNR-nack flow
-EAS NAME: N/A */
-	/* 60.0 - 60.1 */
-	 u_int8_t connection_state;
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t val;
+};
+
+/* Description -  when this bit is cleared IRISC should be called */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_cqc_valid {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t val;
+};
+
+/* Description -  When pi - ci = lookahead_size ci is read from memory
+condition:cq */
+/* Size in bytes - 64 */
+struct connectib_hw_cqc_lookahead_size_23_8 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t val;
+};
+
+/* Description -  to be used in core2phy interface */
+/* Size in bytes - 4 */
+struct connectib_mlnx_enhanced_equal_info_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t mlpn_100kr4_extended_time_sup;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t mlpn_100cr4_extended_time_sup;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t mlpn_40cr4_extended_time_sup;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t mlpn_40kr4_extended_time_sup;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t mlpn_kr_extended_time_sup;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t edr_rx_atten_sup;
+	/* Description -  */
+	/* 0x0.6 - 0x0.10 */
+	 u_int8_t edr_rx_atten;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t fdr_rx_atten_sup;
+	/* Description -  */
+	/* 0x0.12 - 0x0.16 */
+	 u_int8_t fdr_rx_atten;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t qdr_ddr_ts3_rev;
+};
+
+/* Description -  mlpn cability (ability)/ admin (request) bits for ScratchPad (not in pages foramt) */
+/* Size in bytes - 4 */
+struct connectib_mlpn_database_all_protocol_bits_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t fdr_8_10;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t mlx_kr2;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t eth_56gb;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t fdr10;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t speed_reduction;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t width_reduction;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t eth_cbf;
+	/* Description -  */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t ib_64b_credits;
+	/* Description - llr_en. ability/request according to node */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t llr_ib_edr;
+	/* Description - llr_en. ability/request according to node */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t llr_ib_fdr;
+	/* Description - llr_en. ability/request according to node */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t llr_ib_fdr10;
+	/* Description - llr_en. ability/request according to node */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t llr_ib_qdr;
+	/* Description - llr_en. ability/request according to node */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t llr_ib_ddr;
+	/* Description - llr_en. ability/request according to node */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t llr_ib_sdr;
+	/* Description - llr_en 56GBASE-KR4. ability/request according to node */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t llr_56_kr4;
+	/* Description - llr_en 56GBASE-KX4. ability/request according to node */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t llr_56_kx4;
+	/* Description - llr_en 40GBASE-KR4. ability/request according to node */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t llr_kr4;
+	/* Description - llr_en 40GBASE-CR4 (copper). ability/request according to node */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t llr_cr4;
+	/* Description - llr_en 40GBASE-S/LR4(optics). ability/request according to node */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t llr_slr4;
+	/* Description - llr_en 10GBASE-KR (XFI). ability/request according to node */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t llr_kr;
+	/* Description - llr_en 10GBASE-CR (copper). ability/request according to node */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t llr_cr;
+	/* Description - llr_en 10GBASE-S/LR(optics). ability/request according to node */
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t llr_slr;
+	/* Description - llr_en 10GBASE-X (XAUI). ability/request according to node */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t llr_xaui;
+	/* Description - llr_en. ability/request according to node */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t llr_sgmii;
+	/* Description - in page0: protocol ability
+in page2: protocol default (may set no more than one protocol bit, none - no default) */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t fc_protocol;
+	/* Description - in page0: protocol ability
+in page2: protocol default (may set no more than one protocol bit, none - no default) */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t eth_protocol;
+	/* Description - in page0: protocol ability
+in page2: protocol default (may set no more than one protocol bit, none - no default) */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t ib_protocol;
+	/* Description -  */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t ib_64_66_spec_recovery;
+	/* Description - in page0: protocol ability
+in page2: protocol default (may set no more than one protocol bit, none - no default) */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t ib_128b_llr;
+	/* Description - in page0: protocol ability
+in page2: protocol default (may set no more than one protocol bit, none - no default) */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t ll_llr;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_r_qpc_rc_uc_2cycbuff {
+struct connectib_serdes_preset_sets_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - last opcode was:
-0-write
-1-send
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t last_opcode;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: rre */
-	/* 0.13 - 0.13 */
-	 u_int8_t read_enable;
-	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
-	/* 0.14 - 0.14 */
-	 u_int8_t send_with_invalidate_enable;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description - 
-EAS NAME: rwe */
-	/* 0.23 - 0.23 */
-	 u_int8_t write_enable;
-	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
-	/* 0.24 - 0.24 */
-	 u_int8_t atomic_like_write;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: N/A */
-	/* 0.28 - 0.30 */
-	 u_int8_t ack_type;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - On WriteFirst set to the packet.R_key
-EAS NAME: N/A */
-	/* 4.0 - 8.31 */
-	 u_int32_t write_rkey;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
-	/* Description -  */
-	/* 8.16 - 8.20 */
-	 u_int8_t rnr_timer;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-condition:ts!=DCR & rwq_type==RCYCLIC */
-	/* 12.0 - 16.31 */
-	 u_int32_t rcyclic_producer;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - in hermon: last_acked_psn (+1 from hermon)
-EAS NAME: last_acked_psn
-idle value: Receive.expected_psn */
-	/* 20.0 - 20.23 */
-	 u_int32_t first_non_acked_psn;
-	/* Description - 
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t rdb_write_pointer;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - how many bytes received ^ modulo 4G
-condition:rwq_type==RCYCLIC */
-	/* 24.0 - 28.31 */
-	 u_int32_t rcyclic_consumer;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Receive.rdb_write_pointer */
-	/* 36.0 - 36.7 */
-	 u_int8_t rdb_read_pointer;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - How many received in current message, 0-not inside a message
-RC: in chuncks of 256B
-LRO: in bytes
-hermon name: part was in last_opcode
-EAS NAME: N/A
-idle value: 0 */
-	/* 40.8 - 44.31 */
-	 u_int32_t rx_length_committed;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - 23:0 DCT number
-39:24 GVMI
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 44.0 - 44.15 */
-	 u_int16_t dct_gvmi;
-	/* Description - SQ number
-TODO: reduce 1 bit */
-	/* 44.16 - 44.26 */
-	 u_int16_t sqn;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - virtual address of write being processed
-EAS NAME: N/A */
-	/* 48.0 - 56.31 */
-	 u_int64_t write_va;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 56.0 - 60.31 */
-	 u_int32_t e2e_pa_63_32;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Controls handling of packets with correct and incorrect PSN and opcode sequences
-0: Unconnected - QPC ePSN and opcode sequence are invalid
-1:Connected (good flow) - QPC.ePSN and correct opcode sequence are forwarded; everything else triggers FW
-2: Resync (^xxstate^) -  QPC.ePSN and correct opcode sequence will cause HW to move QPC to Connected state; everything else is dropped
-3: Closed - everything is dropped in RXT
-HW writes to this field in RNR-nack flow
-EAS NAME: N/A */
-	/* 60.0 - 60.1 */
-	 u_int8_t connection_state;
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 60.2 - 64.31 */
-	 u_int32_t e2e_pa_31_2;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_serdes_conf_preset_tx_ini tx;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_r_qpc_rc_uc_cd {
+/* Size in bytes - 48 */
+struct connectib_serdes_active_sets_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - last opcode was:
-0-write
-1-send
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t last_opcode;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: rre */
-	/* 0.13 - 0.13 */
-	 u_int8_t read_enable;
-	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
-	/* 0.14 - 0.14 */
-	 u_int8_t send_with_invalidate_enable;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description - 
-EAS NAME: rwe */
-	/* 0.23 - 0.23 */
-	 u_int8_t write_enable;
-	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
-	/* 0.24 - 0.24 */
-	 u_int8_t atomic_like_write;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: N/A */
-	/* 0.28 - 0.30 */
-	 u_int8_t ack_type;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - On WriteFirst set to the packet.R_key
-EAS NAME: N/A */
-	/* 4.0 - 8.31 */
-	 u_int32_t write_rkey;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
-	/* Description -  */
-	/* 8.16 - 8.20 */
-	 u_int8_t rnr_timer;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-EAS NAME: rq_wqe_max
-condition:ts!=DCR & rwq_type==REGULAR */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwqe_producer_index;
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 12.16 - 16.31 */
-	 u_int16_t rwqe_consumer_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - in hermon: last_acked_psn (+1 from hermon)
-EAS NAME: last_acked_psn
-idle value: Receive.expected_psn */
-	/* 20.0 - 20.23 */
-	 u_int32_t first_non_acked_psn;
-	/* Description - 
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t rdb_write_pointer;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Indicates which MSN was done
-EAS NAME: rmsn
-idle value: Common.PeerQp.Send.ssn
-condition:rwq_type!=RCYCLIC */
-	/* 24.0 - 24.23 */
-	 u_int32_t msn;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
+	/* Description - set0: half active fibre IB 8/10
+set1: active fibre IB 8/10\
+;set2: half active fibre IB FDR (64/66)
+set3: active fibre IB FDR (64/66) */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_serdes_active_rx_ini rx;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Receive.rdb_write_pointer */
-	/* 36.0 - 36.7 */
-	 u_int8_t rdb_read_pointer;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - How many received in current message, 0-not inside a message
-RC: in chuncks of 256B
-LRO: in bytes
-hermon name: part was in last_opcode
-EAS NAME: N/A
-idle value: 0 */
-	/* 40.8 - 44.31 */
-	 u_int32_t rx_length_committed;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - 23:0 DCT number
-39:24 GVMI
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 44.0 - 44.15 */
-	 u_int16_t dct_gvmi;
-	/* Description - SQ number
-TODO: reduce 1 bit */
-	/* 44.16 - 44.26 */
-	 u_int16_t sqn;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - virtual address of write being processed
-EAS NAME: N/A */
-	/* 48.0 - 56.31 */
-	 u_int64_t write_va;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Controls handling of packets with correct and incorrect PSN and opcode sequences
-0: Unconnected - QPC ePSN and opcode sequence are invalid
-1:Connected (good flow) - QPC.ePSN and correct opcode sequence are forwarded; everything else triggers FW
-2: Resync (^xxstate^) -  QPC.ePSN and correct opcode sequence will cause HW to move QPC to Connected state; everything else is dropped
-3: Closed - everything is dropped in RXT
-HW writes to this field in RNR-nack flow
-EAS NAME: N/A */
-	/* 60.0 - 60.1 */
-	 u_int8_t connection_state;
-	/* Description - 
-condition:ts!=DCR & ts!=XRC & post_receive_slave_enable */
-	/* 60.8 - 64.31 */
-	 u_int32_t mpi_uar;
+	/* Description - set0: half active fibre 8/10
+set1: active fibre 8/10
+set2: half active fibre FDR (64/66)
+set3: active fibre FDR (64/66) */
+	/* 0x20.0 - 0x30.31 */
+	 struct connectib_serdes_active_tx_ini tx;
+};
+
+/* Description -   */
+/* Size in bytes - 120 */
+struct connectib_serdes_force_sets_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - set0: force sdr
+set1: force ddr
+set2: force qdr
+set3: forc
+e fdr
+set4: aggressor
+set5: force xaui
+set6: force sgmii
+set7: force xfi
+set8: ffe initial
+set9: for slicer4err calib */
+	/* 0x0.0 - 0x50.31 */
+	 struct connectib_serdes_force_rx_ini rx;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - set0: force sdr
+set1: force ddr
+set2: force qdr
+set3: forc
+e fdr
+set4: aggressor
+set5: force xaui
+set6: force sgmii
+set7: force xfi
+set9: for slicer4err calib */
+	/* 0x50.0 - 0x78.31 */
+	 struct connectib_serdes_force_tx_ini tx;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_r_qpc_rc_uc_dci {
+/* Size in bytes - 384 */
+struct connectib_serdes_aba_sets_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - last opcode was:
-0-write
-1-send
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t last_opcode;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: rre */
-	/* 0.13 - 0.13 */
-	 u_int8_t read_enable;
-	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
-	/* 0.14 - 0.14 */
-	 u_int8_t send_with_invalidate_enable;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description - 
-EAS NAME: rwe */
-	/* 0.23 - 0.23 */
-	 u_int8_t write_enable;
-	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
-	/* 0.24 - 0.24 */
-	 u_int8_t atomic_like_write;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: N/A */
-	/* 0.28 - 0.30 */
-	 u_int8_t ack_type;
+	/* Description - sets 0-7   : IB 8/10
+sets 8-15 : IB 8/10 for legacy device
+sets16-31: IB FDR */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_serdes_conf_aba_rx_ini rx;
+/*---------------- DWORD[64] (Offset 0x100) ----------------*/
+	/* Description - sets 0-7   : IB 8/10
+sets 8-15 : IB 8/10 for legacy device
+sets16-31: IB FDR */
+	/* 0x100.0 - 0x180.31 */
+	 struct connectib_serdes_conf_aba_tx_ini tx;
+};
+
+/* Description -   */
+/* Size in bytes - 384 */
+struct connectib_serdes_autoneg_sets_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_serdes_conf_autoneg_rx_ini rx;
+/*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
+	/* 0x100.0 - 0x180.31 */
+	 struct connectib_serdes_conf_autoneg_tx_ini tx;
+};
+
+/* Description -   */
+/* Size in bytes - 76 */
+struct connectib_spec1_3_preset_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - mask for the TX preset in FDR.
+only the preset indexes that their bit is set in the mask will be checked. */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t preset_tx_mask_internal;
+	/* Description - mask for the TX preset in FDR.
+only the preset indexes that their
+bit is set in the mask will be checked. */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t preset_tx_mask;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - On WriteFirst set to the packet.R_key
-EAS NAME: N/A */
-	/* 4.0 - 8.31 */
-	 u_int32_t write_rkey;
+	/* Description -  */
+	/* 0x4.0 - 0x4.4 */
+	 u_int8_t aba_mask0_start;
+	/* Description -  */
+	/* 0x4.8 - 0x4.12 */
+	 u_int8_t aba_mask0_end;
+	/* Description -  */
+	/* 0x4.14 - 0x4.15 */
+	 u_int8_t tx_ABA_en_mask;
+	/* Description -  */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t aba_mask0;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
 	/* Description -  */
-	/* 8.16 - 8.20 */
-	 u_int8_t rnr_timer;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
+	/* 0x8.0 - 0x8.4 */
+	 u_int8_t aba_mask1_start;
+	/* Description -  */
+	/* 0x8.8 - 0x8.12 */
+	 u_int8_t aba_mask1_end;
+	/* Description - mask per port 
+ABA                = 0x0
+ABA_legacy       = 0x1 */
+	/* 0x8.14 - 0x8.15 */
+	 u_int8_t tx_ABA_mode_mask;
+	/* Description -  */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t aba_mask1;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 
-EAS NAME: rq_wqe_max
-condition:ts!=DCR & rwq_type==REGULAR */
-	/* 12.0 - 12.15 */
-	 u_int16_t rwqe_producer_index;
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 12.16 - 16.31 */
-	 u_int16_t rwqe_consumer_index;
+	/* Description -  */
+	/* 0xc.0 - 0xc.4 */
+	 u_int8_t aba_mask2_start;
+	/* Description -  */
+	/* 0xc.8 - 0xc.12 */
+	 u_int8_t aba_mask2_end;
+	/* Description -  */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t aba_mask2;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
+	/* Description -  */
+	/* 0x10.0 - 0x10.4 */
+	 u_int8_t aba_mask3_start;
+	/* Description -  */
+	/* 0x10.8 - 0x10.12 */
+	 u_int8_t aba_mask3_end;
+	/* Description -  */
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t aba_mask3;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - in hermon: last_acked_psn (+1 from hermon)
-EAS NAME: last_acked_psn
-idle value: Receive.expected_psn */
-	/* 20.0 - 20.23 */
-	 u_int32_t first_non_acked_psn;
-	/* Description - 
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t rdb_write_pointer;
+	/* Description -  */
+	/* 0x14.0 - 0x14.4 */
+	 u_int8_t aba_mask4_start;
+	/* Description -  */
+	/* 0x14.8 - 0x14.12 */
+	 u_int8_t aba_mask4_end;
+	/* Description -  */
+	/* 0x14.16 - 0x14.31 */
+	 u_int16_t aba_mask4;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Indicates which MSN was done
-EAS NAME: rmsn
-idle value: Common.PeerQp.Send.ssn
-condition:rwq_type!=RCYCLIC */
-	/* 24.0 - 24.23 */
-	 u_int32_t msn;
+	/* Description -  */
+	/* 0x18.0 - 0x18.4 */
+	 u_int8_t aba_mask5_start;
+	/* Description -  */
+	/* 0x18.8 - 0x18.12 */
+	 u_int8_t aba_mask5_end;
+	/* Description -  */
+	/* 0x18.16 - 0x18.31 */
+	 u_int16_t aba_mask5;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Receive.rdb_write_pointer */
-	/* 36.0 - 36.7 */
-	 u_int8_t rdb_read_pointer;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index  */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - How many received in current message, 0-not inside a message
-RC: in chuncks of 256B
-LRO: in bytes
-hermon name: part was in last_opcode
-EAS NAME: N/A
-idle value: 0 */
-	/* 40.8 - 44.31 */
-	 u_int32_t rx_length_committed;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - 23:0 DCT number
-39:24 GVMI
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 44.0 - 44.15 */
-	 u_int16_t dct_gvmi;
-	/* Description - SQ number
-TODO: reduce 1 bit */
-	/* 44.16 - 44.26 */
-	 u_int16_t sqn;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - virtual address of write being processed
-EAS NAME: N/A */
-	/* 48.0 - 56.31 */
-	 u_int64_t write_va;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 56.0 - 60.31 */
-	 u_int32_t e2e_pa_63_32;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Controls handling of packets with correct and incorrect PSN and opcode sequences
-0: Unconnected - QPC ePSN and opcode sequence are invalid
-1:Connected (good flow) - QPC.ePSN and correct opcode sequence are forwarded; everything else triggers FW
-2: Resync (^xxstate^) -  QPC.ePSN and correct opcode sequence will cause HW to move QPC to Connected state; everything else is dropped
-3: Closed - everything is dropped in RXT
-HW writes to this field in RNR-nack flow
-EAS NAME: N/A */
-	/* 60.0 - 60.1 */
-	 u_int8_t connection_state;
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 60.2 - 64.31 */
-	 u_int32_t e2e_pa_31_2;
+	/* 0x1c.0 - 0x4c.31 */
+	 struct connectib_aba_indexes aba_indexes;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_r_qpc_connected_common {
+/* Size in bytes - 4 */
+struct connectib_ib_ini_per_lcl_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t spec1_2_ib_support;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t spec1_3_ib_support;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t fec_request_fdr;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t fec_request_fdr10;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t heartbeat_enable;
+	/* Description -  */
+	/* 0x0.5 - 0x0.8 */
+	 u_int8_t force_speed_val;
+	/* Description -  */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t force_speed_en;
+	/* Description -  */
+	/* 0x0.10 - 0x0.13 */
+	 u_int8_t force_width_val;
+	/* Description -  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t force_width_en;
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t force_qdr_is_fdr10_val;
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t force_qdr_is_fdr10_en;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t force_llr_fdr_en;
+	/* Description -  */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t force_llr_fdr_val;
+	/* Description -  */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t force_llr_fdr10_en;
+	/* Description -  */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t force_llr_fdr10_val;
+	/* Description -  */
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t mlpn_en;
+	/* Description -  */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t llr_cell_size;
+	/* Description -  */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t speed_reduction_force;
+	/* Description -  */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t width_reduction_force;
+	/* Description -  */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t llr_fdr10_force;
+	/* Description -  */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t llr_fdr_force;
+	/* Description -  */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t spec1_2_legacy_mode;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t llr_disable_failsafe;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_serdes_param_mask_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - last opcode was:
-0-write
-1-send
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t last_opcode;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: rre */
-	/* 0.13 - 0.13 */
-	 u_int8_t read_enable;
-	/* Description - When set send and invalidate is allowed on this Qp (like AWR bits) */
-	/* 0.14 - 0.14 */
-	 u_int8_t send_with_invalidate_enable;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description - 
-EAS NAME: rwe */
-	/* 0.23 - 0.23 */
-	 u_int8_t write_enable;
-	/* Description - RDMA write coming to this QP will enter the atomic lock mechanism to ensure PCI atomicity */
-	/* 0.24 - 0.24 */
-	 u_int8_t atomic_like_write;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: N/A */
-	/* 0.28 - 0.30 */
-	 u_int8_t ack_type;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_serdes_param_mask_per_proto_ini encode_8_10;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - On WriteFirst set to the packet.R_key
-EAS NAME: N/A */
-	/* 4.0 - 8.31 */
-	 u_int32_t write_rkey;
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_serdes_param_mask_per_proto_ini encode_64_66;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
 	/* Description -  */
-	/* 8.16 - 8.20 */
-	 u_int8_t rnr_timer;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - in hermon: last_acked_psn (+1 from hermon)
-EAS NAME: last_acked_psn
-idle value: Receive.expected_psn */
-	/* 20.0 - 20.23 */
-	 u_int32_t first_non_acked_psn;
-	/* Description - 
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t rdb_write_pointer;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x8.0 - 0xc.31 */
+	 struct connectib_serdes_param_mask_per_proto_ini encode_kr;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Receive.rdb_write_pointer */
-	/* 36.0 - 36.7 */
-	 u_int8_t rdb_read_pointer;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - How many received in current message, 0-not inside a message
-RC: in chuncks of 256B
-LRO: in bytes
-hermon name: part was in last_opcode
-EAS NAME: N/A
-idle value: 0 */
-	/* 40.8 - 44.31 */
-	 u_int32_t rx_length_committed;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - 23:0 DCT number
-39:24 GVMI
-EAS NAME: N/A
-condition:ts==DCR */
-	/* 44.0 - 44.15 */
-	 u_int16_t dct_gvmi;
-	/* Description - SQ number
-TODO: reduce 1 bit */
-	/* 44.16 - 44.26 */
-	 u_int16_t sqn;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - virtual address of write being processed
-EAS NAME: N/A */
-	/* 48.0 - 56.31 */
-	 u_int64_t write_va;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Controls handling of packets with correct and incorrect PSN and opcode sequences
-0: Unconnected - QPC ePSN and opcode sequence are invalid
-1:Connected (good flow) - QPC.ePSN and correct opcode sequence are forwarded; everything else triggers FW
-2: Resync (^xxstate^) -  QPC.ePSN and correct opcode sequence will cause HW to move QPC to Connected state; everything else is dropped
-3: Closed - everything is dropped in RXT
-HW writes to this field in RNR-nack flow
-EAS NAME: N/A */
-	/* 60.0 - 60.1 */
-	 u_int8_t connection_state;
+	/* 0xc.0 - 0x10.31 */
+	 struct connectib_serdes_param_mask_per_proto_ini fdr;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_r_qpc_common {
+/* Size in bytes - 4 */
+struct connectib_nv_tlv_data_tpt_capabilities {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 
-EAS NAME: link_type */
-	/* 0.2 - 0.2 */
-	 u_int8_t fw_link_type;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - when this bit is set a post_receive WQE may be executed on this target qp
-must be set to 0 on DCR and XRC
-EAS NAME: cd_slv_rcv */
-	/* 0.25 - 0.25 */
-	 u_int8_t post_receive_slave_enable;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
+	/* Description - 1 when log_max_payload_size is configurable - when ticket #869555 closed pick the node from EAS_st */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t log_max_payload_size_supported;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_nv_tpt_conf {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0x0: AUTO
+MATIC
+0xC: _4KB */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t log_max_payload_size;
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_nv_global_pci_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - True when non_prefetchable_pf_bar field is configurable. */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t non_prefetchable_pf_bar_supported;
+	/* Description - When set, t
+he log_pf_uar_bar_size field is configurable and the max
+_log_pf_uar_bar_size field is valid. */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t pf_bar_size_supported;
+	/* Description - When set, t
+he log_vf_uar_bar_size field is configurable and the max
+_log_vf_uar_bar_size field is valid. */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t vf_bar_size_supported;
+	/* Description - Wh
+en 
+set, 
+t
+h
+e num_pf_msix field is configurable and the max_num_p
+f_msix field is valid. */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t num_pf_msix_supported;
+	/* Description - When set, t
+he num_vf_msix field is configurable and the max
+_num_vf_msix field is valid. */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t num_vf_msix_supported;
+	/* Description - When set, th
+e num_pfs field is configurable and max_num_pfs is valid. */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t num_pfs_supported;
+	/* Description - When set, the NIC will only respect an NV_GLOBAL_PCI_CONF TLV 
+if the total bar size required for all PFs and VFs is lower or equal to the 
+number specified in the max_total_bar field below. */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t max_total_bar_valid;
+	/* Description - When set, the NIC will only respect NV_GLOBAL_PCI_CONF TLV if 
+the total MSIX required for all PFs and VFs is lower or equal to the num
+ber specified in the max_total_msix field below. */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t max_total_msix_valid;
+	/* Description - When set, the NIC will only respect NV_GLOBAL_PCI_CONF TLV if 
+its total_vfs parameter is lower than or equal to the value of the max
+_vfs_per_pf field below. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t max_vfs_per_pf_valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The maximum number of VFs that can be set in the total_vfs setting (per 
+PF)
+. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t max_vfs_per_pf;
+	/* Description - Maximum number of PFs */
+	/* 0x4.16 - 0x4.19 */
+	 u_int8_t max_num_pfs;
+	/* Description - When set, f
+unction per-port setting is configurable */
+	/* 0x4.29 - 0x4.29 */
+	 u_int8_t fpp_support;
+	/* Description - When set, th
+e device supports controlling the VF QoS setting. */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t vf_qos_control_support;
+	/* Description - When set, SR-IOV support is configurable by the NV_GLOBAL_PCI_
+CONF sriov_en bit. */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t sriov_support;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.0 - 8.15 */
-	 u_int16_t rwqe_limit_event;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 8.27 - 8.27 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 8.28 - 8.30 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
+	/* Description - Log 2 of the maximum size (in MBs) of a PF"s UAR BAR */
+	/* 0x8.0 - 0x8.5 */
+	 u_int8_t max_log_pf_uar_bar_size;
+	/* Description - Log 2 of the maximum size (in MBs) of a VF"s UAR BAR */
+	/* 0x8.6 - 0x8.11 */
+	 u_int8_t max_log_vf_uar_bar_size;
+	/* Description - Maximum number of MSI-X vectors and EQs per PF. */
+	/* 0x8.12 - 0x8.21 */
+	 u_int16_t max_num_pf_msix;
+	/* Description - Maximum number of MSI-X vectors and EQs per VF. */
+	/* 0x8.22 - 0x8.31 */
+	 u_int16_t max_num_vf_msix;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Maximum number of MSI-X for the aggregate of all PFs and VFs. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t max_total_msix;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Maximum total of the MMIO space for all PFs and VFs combined, in 
+megabytes.
+Note: if the number of PF or VF per port is not a power of 2, this param
+eter will also not be a power of 2 */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t max_total_bar;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_nv_global_pci_conf {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t toolpf_en;
+	/* Description - When set, the PF BAR 'prefetchable' bit is cleared.
+Note: PCI switches and operation systems have dedicated quotas for 
+non-prefetchable memory hence, you may need to decrease log_p
+f_uar_bar_size to enable this feature. */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t non_prefetchable_pf_bar;
+	/* Description - When True, non_prefetchable_bar field and allow_large_non_prefetch
+able_pf_bar overrides the default value. */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t non_prefetchable_pf_bar_valid;
+	/* Description - When set, the pf_bar_size field is valid. 
+When cleared, the device uses the "factory_settings" value. */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t pf_bar_size_valid;
+	/* Description - When set, the vf_bar_size field is valid. 
+When cleared, the device uses the "factory_settings" value. */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t vf_bar_size_valid;
+	/* Description - When set, the num_pf_msix field is valid. 
+When cleared, the device uses the "factory_settings" value. */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t num_pf_msix_valid;
+	/* Description - When set, the num_vf_msix field is valid. 
+When cleared, the device uses the "factory_settings" value. */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t num_vf_msix_valid;
+	/* Description - When set, the num_pfs field is valid. 
+When cleared, the device uses the "factory_settings" value. */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t num_pfs_valid;
+	/* Description - When set, the fpp field is valid. 
+When cleared, the device uses the "factory_settings" value. */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t fpp_valid;
+	/* Description - When set, the full_vf_qos field is valid. 
+When cleared, the device uses the "factory_settings" value. */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t full_vf_qos_valid;
+	/* Description - When set, the sriov field is valid. 
+When cleared, the device uses the "factory_settings" value. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t sriov_valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The total number of 
+Virtual Functions (
+VFs
+)
+ that can be supported, for 
+each PF. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t total_vfs;
+	/* Description - Total number of PCIe functions (PFs) exposed by the device. The num
+ber of PFs must be a multiple of the number of ports */
+	/* 0x4.16 - 0x4.19 */
+	 u_int8_t num_pfs;
+	/* Description - When this bit is cleared, the device exposes a single PCI function for 
+both ports. When set, the device exposes one or more PCI functions for 
+each port (this is the only mode supported by ConnectX-4 devices). */
+	/* 0x4.29 - 0x4.29 */
+	 u_int8_t fpp_en;
+	/* Description - When set, Virtual Function has the same number of traffic classes as 
+physical functions. */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t full_vf_qos;
+	/* Description - Enable Single-Root I/O Virtualization (SR-IOV) */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t sriov_en;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Log 2 of the size of a PF"s UAR BAR in MBs. */
+	/* 0x8.0 - 0x8.5 */
+	 u_int8_t log_pf_uar_bar_size;
+	/* Description - Log 2 of the size of a VF"s UAR BAR in MBs. */
+	/* 0x8.6 - 0x8.11 */
+	 u_int8_t log_vf_uar_bar_size;
+	/* Description - Number of MSI-X vectors and EQs per PF. */
+	/* 0x8.12 - 0x8.21 */
+	 u_int16_t num_pf_msix;
+	/* Description - Number of MSI-X vectors and EQs per VF. */
+	/* 0x8.22 - 0x8.31 */
+	 u_int16_t num_vf_msix;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_pcie_acs_ctrl_fields {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - UD: used for LRO checks
-EAS NAME: next_rcv_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t expected_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t acs_source_validation;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t acs_translation_blocking;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t acs_p2p_request_redirect;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t acs_p2p_complition_redirect;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t acs_upstream_forwarding;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t acs_p2p_egress_control;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t acs_direct_translated_p2p;
+	/* Description -  */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t egress_controll_vector_size;
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t acs_source_validation_enable;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t acs_translation_blocking_enable;
+	/* Description -  */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t acs_p2p_request_redirect_enable;
+	/* Description -  */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t acs_p2p_complition_redirect_enable;
+	/* Description -  */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t acs_p2p_upstream_forwarding_enable;
+	/* Description -  */
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t acs_p2p_egress_control_enable;
+	/* Description -  */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t acs_direct_translated_p2p_enable;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_s_qpc_ud_l2 {
+/* Size in bytes - 16 */
+struct connectib_header_log {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
 	/* Description -  */
-	/* 0.24 - 0.25 */
-	 u_int8_t umr_permission_select;
-	/* Description - SX WQE opcode that cause packet creation are allowed */
-	/* 0.29 - 0.29 */
-	 u_int8_t packet_allowed;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t hdr_127_96;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t hdr_95_64;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - Hermon name: bind_enable */
-	/* 8.28 - 8.28 */
-	 u_int8_t umr_enable;
-	/* Description - enable fast register WQE
-Hermon name: frwr_en
-EAS NAME: fre */
-	/* 8.29 - 8.29 */
-	 u_int8_t frwr_enable;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-	/* Description - 
-EAS NAME: sq_wqe_counter */
-	/* 16.16 - 20.31 */
-	 u_int16_t swqe_consumer_index;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - SX should put this field in DETH.SQPN field
-EAS NAME: remote_qpn/wire_qpn */
-	/* 20.0 - 20.23 */
-	 u_int32_t deth_sqpn;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - 
-EAS NAME: next_send_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t next_to_send_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 40.15 - 40.15 */
-	 u_int8_t force_grh_tclass;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - How many bytes were sent from current WQE
-LSO byte granularty, otherwise 256B granularty
-EAS NAME: N/A
-idle value: 0 */
-	/* 44.0 - 44.22 */
-	 u_int32_t sx_gather_commit;
-	/* Description - if set gid index is taken from sqpc.mgid (my gid)
-condition:ts==DCI | ts==UD */
-	/* 44.23 - 44.23 */
-	 u_int8_t force_my_gid_index;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t hdr_63_32;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t hdr_31_0;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_advanced_error_cap_ctl {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The first error reported in the Uncorrectable Error
+5'd15 : //CA(nsi) : can not happened, not supported by HW
+5'd0  : //Undefined (Previously was Link Training Error of PHy)
+5'd4  : //DLU  : log 32 MSB of the received DLLPs (not compliant)  
+5'd13 : //FCPE : have no hdr to log
+5'd19 : //ECRC
+5'd18 : //ML
+5'd17 : //OVF
+5'd16 : //UX
+5'd20 : //UR
+5'd15 : //CA(drx)  : have no hdr to log (not supported by HW in CX3)
+5'd12 : //Poison
+5'd14 : // CTO : have no hdr to log */
+	/* 0x0.0 - 0x0.4 */
+	 u_int8_t first_error_pointer;
 	/* Description -  */
-	/* 56.30 - 56.30 */
-	 u_int8_t vl15;
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 56.31 - 60.31 */
-	 u_int8_t force_grh;
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t ecrc_generation_cap;
+	/* Description - This bit when set enables ECRC generation (see Section 2.7).
+ Default value of this field is 0.
+RWS */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t ecrc_generation_enable;
+	/* Description -  */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t ecrc_check_cap;
+	/* Description - This bit when set enables ECRC checking (see Section 2.7).
+Default value of this field is 0.
+RWS */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t ecrc_check_enable;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_s_qpc_dci {
+/* Size in bytes - 4 */
+struct connectib_correctable_error_mask {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - TODO this bit does not work and is not needed, delete on next project
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t ldb_int;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - 
-EAS NAME: rnr_retry */
-	/* 0.8 - 0.10 */
-	 u_int8_t rnr_nak_retry_limit;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: cur_rnr_retry */
-	/* 0.12 - 0.14 */
-	 u_int8_t rnr_nak_retry_counter;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description -  */
-	/* 0.24 - 0.25 */
-	 u_int8_t umr_permission_select;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: dc_hs */
-	/* 0.28 - 0.28 */
-	 u_int8_t dc_full_handshake;
-	/* Description - set by SX when executing a non wire WQE
-cleared by RX when LDB is empty
-used by LDB for performance optimisation
-idle value: 0 */
-	/* 0.30 - 0.30 */
-	 u_int8_t uncompleted_non_wire_wqe;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - 0: not connected
-1: connect packet sent
-2: connect was acked
-EAS NAME: N/A
-idle value: 0 */
-	/* 8.0 - 8.1 */
-	 u_int8_t dc_state;
-	/* Description - 0-no limit, 1-outstanding reads, 2-fence, 3-strong ordering, 4-fc_seq_initiative, 5-outstanding psn, 6-dc wait for connect, 7-e2e credit (limited state)
-EAS NAME: N/A
-idle value: 0 */
-	/* 8.17 - 8.19 */
-	 u_int8_t limited_qp;
-	/* Description -  2^value is the frequency at which we send ackreq.valid.
-values are 0-8 giving ackreq bit per 1-256 packets
-EAS NAME: ack_req_freq */
-	/* 8.20 - 8.23 */
-	 u_int8_t ack_req_frequency;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - Hermon name: bind_enable */
-	/* 8.28 - 8.28 */
-	 u_int8_t umr_enable;
-	/* Description - enable fast register WQE
-Hermon name: frwr_en
-EAS NAME: fre */
-	/* 8.29 - 8.29 */
-	 u_int8_t frwr_enable;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - index updated when poping from ldb (ldb_index)
-EAS NAME: N/A
-idle value: Send.swqe_consumer_index */
-	/* 12.16 - 16.31 */
-	 u_int16_t currently_completing_wqe_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-	/* Description - 
-EAS NAME: sq_wqe_counter */
-	/* 16.16 - 20.31 */
-	 u_int16_t swqe_consumer_index;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Send.next_to_send_psn - Send.psn_since_ackreq */
-	/* 20.0 - 20.23 */
-	 u_int32_t oldest_non_acked_psn;
-	/* Description - ACKREQ_PSN (PSN of last packet sent with ACKREQ=1, virtual field for timer decision) = QP.next_to_send_psn - 1 - QP.PSN_since_ACKREQ
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t psn_since_ackreq;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - copied from packet on first ack
-EAS NAME: N/A
-condition:ts==DCI */
-	/* 24.0 - 24.23 */
-	 u_int32_t responder_session_id;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - RWS */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t receiver_error_mask;
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - 
-EAS NAME: next_send_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t next_to_send_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: ssn */
-	/* 36.0 - 36.23 */
-	 u_int32_t ssn;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 40.15 - 40.15 */
-	 u_int8_t force_grh_tclass;
-	/* Description - 
-EAS NAME: N/A
-condition:ts==DCI */
-	/* 40.16 - 40.19 */
-	 u_int8_t reverse_sl;
-	/* Description - 
-EAS NAME: cur_retry_cnt */
-	/* 40.20 - 40.22 */
-	 u_int8_t to_sequence_error_retry_counter;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - How many bytes were sent from current WQE
-LSO byte granularty, otherwise 256B granularty
-EAS NAME: N/A
-idle value: 0 */
-	/* 44.0 - 44.22 */
-	 u_int32_t sx_gather_commit;
-	/* Description - if set gid index is taken from sqpc.mgid (my gid)
-condition:ts==DCI | ts==UD */
-	/* 44.23 - 44.23 */
-	 u_int8_t force_my_gid_index;
-	/* Description - 
-EAS NAME: retry_count */
-	/* 44.24 - 44.26 */
-	 u_int8_t to_sequence_error_retry_limit;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - 
-condition:ts==DCI */
-	/* 48.0 - 56.31 */
-	 u_int64_t dc_access_key;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Send.next_to_send_psn */
-	/* 56.0 - 56.23 */
-	 u_int32_t first_psn_of_message_currently_completing;
-	/* Description - value 0 means that we are not in the middle of a read response
-read middle: if DS is too big rx slice should skip the REQSL machine
-EAS NAME: N/A
-idle value: 0 */
-	/* 56.24 - 56.29 */
-	 u_int8_t currently_completing_ds;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t reserved1;
 	/* Description -  */
-	/* 56.30 - 56.30 */
-	 u_int8_t timer_enable;
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 56.31 - 60.31 */
-	 u_int8_t force_grh;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Hermon: highest_psn
-EAS NAME: N/A */
-	/* 60.0 - 60.23 */
-	 u_int32_t first_unsent_psn;
-	/* Description - Counts number of outstanding reads and atomic
-EAS NAME: N/A
-idle value: 0 */
-	/* 60.24 - 64.31 */
-	 u_int8_t number_outstanding_reads;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t reserved2;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t reserved3;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t reserved4;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t reserved5;
+	/* Description - RWS */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t bad_tlp_mask;
+	/* Description - RWS */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t bad_dllp_mask;
+	/* Description - RWS */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t replay_num_rollover_mask;
+	/* Description -  */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t reserved9;
+	/* Description -  */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t reserved10;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t reserved11;
+	/* Description - RWS */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t replay_timer_timeout_mask;
+	/* Description - Advisory Non-Fatal Error Mask.
+This bit is Set by default to enable compatibility with software that
+does not comprehend Role-Based Error Reporting */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t advisory_non_fatal_err_mask;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_s_qpc_rc_uc_dcr {
+/* Size in bytes - 4 */
+struct connectib_correctable_error_status {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - TODO this bit does not work and is not needed, delete on next project
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t ldb_int;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - 
-EAS NAME: rnr_retry */
-	/* 0.8 - 0.10 */
-	 u_int8_t rnr_nak_retry_limit;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: cur_rnr_retry */
-	/* 0.12 - 0.14 */
-	 u_int8_t rnr_nak_retry_counter;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description -  */
-	/* 0.24 - 0.25 */
-	 u_int8_t umr_permission_select;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: dc_hs */
-	/* 0.28 - 0.28 */
-	 u_int8_t dc_full_handshake;
-	/* Description - set by SX when executing a non wire WQE
-cleared by RX when LDB is empty
-used by LDB for performance optimisation
-idle value: 0 */
-	/* 0.30 - 0.30 */
-	 u_int8_t uncompleted_non_wire_wqe;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - 0: not connected
-1: connect packet sent
-2: connect was acked
-EAS NAME: N/A
-idle value: 0 */
-	/* 8.0 - 8.1 */
-	 u_int8_t dc_state;
-	/* Description - 0-no limit, 1-outstanding reads, 2-fence, 3-strong ordering, 4-fc_seq_initiative, 5-outstanding psn, 6-dc wait for connect, 7-e2e credit (limited state)
-EAS NAME: N/A
-idle value: 0 */
-	/* 8.17 - 8.19 */
-	 u_int8_t limited_qp;
-	/* Description -  2^value is the frequency at which we send ackreq.valid.
-values are 0-8 giving ackreq bit per 1-256 packets
-EAS NAME: ack_req_freq */
-	/* 8.20 - 8.23 */
-	 u_int8_t ack_req_frequency;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - Hermon name: bind_enable */
-	/* 8.28 - 8.28 */
-	 u_int8_t umr_enable;
-	/* Description - enable fast register WQE
-Hermon name: frwr_en
-EAS NAME: fre */
-	/* 8.29 - 8.29 */
-	 u_int8_t frwr_enable;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - index updated when poping from ldb (ldb_index)
-EAS NAME: N/A
-idle value: Send.swqe_consumer_index */
-	/* 12.16 - 16.31 */
-	 u_int16_t currently_completing_wqe_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-	/* Description - 
-EAS NAME: sq_wqe_counter */
-	/* 16.16 - 20.31 */
-	 u_int16_t swqe_consumer_index;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Send.next_to_send_psn - Send.psn_since_ackreq */
-	/* 20.0 - 20.23 */
-	 u_int32_t oldest_non_acked_psn;
-	/* Description - ACKREQ_PSN (PSN of last packet sent with ACKREQ=1, virtual field for timer decision) = QP.next_to_send_psn - 1 - QP.PSN_since_ACKREQ
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t psn_since_ackreq;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - copied from packet on first ack
-EAS NAME: N/A
-condition:ts==DCI */
-	/* 24.0 - 24.23 */
-	 u_int32_t responder_session_id;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - 
-EAS NAME: next_send_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t next_to_send_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: ssn */
-	/* 36.0 - 36.23 */
-	 u_int32_t ssn;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 40.15 - 40.15 */
-	 u_int8_t force_grh_tclass;
-	/* Description - 
-EAS NAME: N/A
-condition:ts==DCI */
-	/* 40.16 - 40.19 */
-	 u_int8_t reverse_sl;
-	/* Description - 
-EAS NAME: cur_retry_cnt */
-	/* 40.20 - 40.22 */
-	 u_int8_t to_sequence_error_retry_counter;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - How many bytes were sent from current WQE
-LSO byte granularty, otherwise 256B granularty
-EAS NAME: N/A
-idle value: 0 */
-	/* 44.0 - 44.22 */
-	 u_int32_t sx_gather_commit;
-	/* Description - if set gid index is taken from sqpc.mgid (my gid)
-condition:ts==DCI | ts==UD */
-	/* 44.23 - 44.23 */
-	 u_int8_t force_my_gid_index;
-	/* Description - 
-EAS NAME: retry_count */
-	/* 44.24 - 44.26 */
-	 u_int8_t to_sequence_error_retry_limit;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - 
-condition:ts!=DCI */
-	/* 48.0 - 48.23 */
-	 u_int32_t lsn;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Send.next_to_send_psn */
-	/* 56.0 - 56.23 */
-	 u_int32_t first_psn_of_message_currently_completing;
-	/* Description - value 0 means that we are not in the middle of a read response
-read middle: if DS is too big rx slice should skip the REQSL machine
-EAS NAME: N/A
-idle value: 0 */
-	/* 56.24 - 56.29 */
-	 u_int8_t currently_completing_ds;
+	/* Description - RW1CS */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t receiver_error_status;
+	/* Description - RW1CS */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t bad_tlp_status;
+	/* Description - RW1CS */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t bad_dllp_status;
+	/* Description - RW1CS */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t replay_num_rollover_status;
+	/* Description - RW1CS */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t replay_timer_timeout_status;
+	/* Description - Advisory Non-Fatal Error Status
+RW1CS */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t advisory_nonftl_err_status;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_uncorrectable_error_severity {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - RWS */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t training_error_severity;
 	/* Description -  */
-	/* 56.30 - 56.30 */
-	 u_int8_t timer_enable;
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 56.31 - 60.31 */
-	 u_int8_t force_grh;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Hermon: highest_psn
-EAS NAME: N/A */
-	/* 60.0 - 60.23 */
-	 u_int32_t first_unsent_psn;
-	/* Description - Counts number of outstanding reads and atomic
-EAS NAME: N/A
-idle value: 0 */
-	/* 60.24 - 64.31 */
-	 u_int8_t number_outstanding_reads;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t reserved1;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t reserved2;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t reserved3;
+	/* Description - RWS */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t data_link_protocol_error;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t reserved5;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t reserved6;
+	/* Description -  */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t reserved7;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t reserved8;
+	/* Description -  */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t reserved9;
+	/* Description -  */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t reserved10;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t reserved11;
+	/* Description - RWS */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t poisoned_tlp;
+	/* Description - RWS */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t flow_control_protocol_error;
+	/* Description - RWS */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t completion_timeout;
+	/* Description - RWS */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t completer_abort;
+	/* Description - RWS */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t unexpected_completion;
+	/* Description - RWS */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t receiver_overflow;
+	/* Description - RWS */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t malformed_tlp;
+	/* Description - RWS */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t ecrc_error;
+	/* Description - RWS */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t unsupported_request_error;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_s_qpc_connected_common {
+/* Size in bytes - 4 */
+struct connectib_uncorrectable_error_mask {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - TODO this bit does not work and is not needed, delete on next project
-EAS NAME: N/A */
-	/* 0.3 - 0.3 */
-	 u_int8_t ldb_int;
-	/* Description - 0: disable - data will always be scattered accoding to the scatter entry
-1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline)
-2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline)
-Hermon: disable_inline_scatter
-EAS NAME: cs
-condition:ts!=DCR */
-	/* 0.6 - 0.7 */
-	 u_int8_t inline_scatter;
-	/* Description - 
-EAS NAME: rnr_retry */
-	/* 0.8 - 0.10 */
-	 u_int8_t rnr_nak_retry_limit;
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - 
-EAS NAME: cur_rnr_retry */
-	/* 0.12 - 0.14 */
-	 u_int8_t rnr_nak_retry_counter;
-	/* Description - TODO next project: rename to pkey_check_enable
-EAS NAME: N/A */
-	/* 0.15 - 0.15 */
-	 u_int8_t ignore_pkey_check;
-	/* Description - in the below description the size relates to the operands size (meaning: size of each operand)
-0: disable atomic
-1: IB spec (responder extended RDB is N/A)
-all enum from here support extended atomic in addition
-2: only 8B (hermon mode, responder extended RDB is N/A)
-3: up to 8B (also 4B, responder extended RDB is N/A)
-4: up to 16B (responder extended RDB is N/A)
-5: up to 32B (responder extended RDB is N/A)
-6: up to 64B (responder extended RDB is 64B)
-7: up to 128B (responder extended RDB is 128B)
-8: up to 256B (responder extended RDB is 256B)
-EAS NAME: rae, rdma_atomic_mode */
-	/* 0.16 - 0.19 */
-	 u_int8_t extended_atomic;
-	/* Description - 2^this value=max number of atomic/rdma reads
-Hermon: max_rdma_atomic
-EAS NAME: sra_max, rra_max */
-	/* 0.20 - 0.22 */
-	 u_int8_t max_read_atomic;
-	/* Description -  */
-	/* 0.24 - 0.25 */
-	 u_int8_t umr_permission_select;
-	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN).
-When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed.
-See issue 34551 
-EAS NAME: N/A */
-	/* 0.26 - 0.26 */
-	 u_int8_t no_direct_access;
-	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC
-EAS NAME: ric */
-	/* 0.27 - 0.27 */
-	 u_int8_t e2e_credits_enabled;
-	/* Description - 
-EAS NAME: dc_hs */
-	/* 0.28 - 0.28 */
-	 u_int8_t dc_full_handshake;
-	/* Description - set by SX when executing a non wire WQE
-cleared by RX when LDB is empty
-used by LDB for performance optimisation
-idle value: 0 */
-	/* 0.30 - 0.30 */
-	 u_int8_t uncompleted_non_wire_wqe;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - 0: not connected
-1: connect packet sent
-2: connect was acked
-EAS NAME: N/A
-idle value: 0 */
-	/* 8.0 - 8.1 */
-	 u_int8_t dc_state;
-	/* Description - 0-no limit, 1-outstanding reads, 2-fence, 3-strong ordering, 4-fc_seq_initiative, 5-outstanding psn, 6-dc wait for connect, 7-e2e credit (limited state)
-EAS NAME: N/A
-idle value: 0 */
-	/* 8.17 - 8.19 */
-	 u_int8_t limited_qp;
-	/* Description -  2^value is the frequency at which we send ackreq.valid.
-values are 0-8 giving ackreq bit per 1-256 packets
-EAS NAME: ack_req_freq */
-	/* 8.20 - 8.23 */
-	 u_int8_t ack_req_frequency;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 8.24 - 8.24 */
-	 u_int8_t tcu_trap;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - 
-EAS NAME: N/A */
-	/* 8.26 - 8.26 */
-	 u_int8_t tcu_drop;
-	/* Description - Hermon name: bind_enable */
-	/* 8.28 - 8.28 */
-	 u_int8_t umr_enable;
-	/* Description - enable fast register WQE
-Hermon name: frwr_en
-EAS NAME: fre */
-	/* 8.29 - 8.29 */
-	 u_int8_t frwr_enable;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - index updated when poping from ldb (ldb_index)
-EAS NAME: N/A
-idle value: Send.swqe_consumer_index */
-	/* 12.16 - 16.31 */
-	 u_int16_t currently_completing_wqe_index;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-	/* Description - 
-EAS NAME: sq_wqe_counter */
-	/* 16.16 - 20.31 */
-	 u_int16_t swqe_consumer_index;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Send.next_to_send_psn - Send.psn_since_ackreq */
-	/* 20.0 - 20.23 */
-	 u_int32_t oldest_non_acked_psn;
-	/* Description - ACKREQ_PSN (PSN of last packet sent with ACKREQ=1, virtual field for timer decision) = QP.next_to_send_psn - 1 - QP.PSN_since_ACKREQ
-EAS NAME: N/A */
-	/* 20.24 - 24.31 */
-	 u_int8_t psn_since_ackreq;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - copied from packet on first ack
-EAS NAME: N/A
-condition:ts==DCI */
-	/* 24.0 - 24.23 */
-	 u_int32_t responder_session_id;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - RWS */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t training_error_mask;
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - 
-EAS NAME: next_send_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t next_to_send_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - 
-EAS NAME: ssn */
-	/* 36.0 - 36.23 */
-	 u_int32_t ssn;
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 40.15 - 40.15 */
-	 u_int8_t force_grh_tclass;
-	/* Description - 
-EAS NAME: N/A
-condition:ts==DCI */
-	/* 40.16 - 40.19 */
-	 u_int8_t reverse_sl;
-	/* Description - 
-EAS NAME: cur_retry_cnt */
-	/* 40.20 - 40.22 */
-	 u_int8_t to_sequence_error_retry_counter;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - How many bytes were sent from current WQE
-LSO byte granularty, otherwise 256B granularty
-EAS NAME: N/A
-idle value: 0 */
-	/* 44.0 - 44.22 */
-	 u_int32_t sx_gather_commit;
-	/* Description - if set gid index is taken from sqpc.mgid (my gid)
-condition:ts==DCI | ts==UD */
-	/* 44.23 - 44.23 */
-	 u_int8_t force_my_gid_index;
-	/* Description - 
-EAS NAME: retry_count */
-	/* 44.24 - 44.26 */
-	 u_int8_t to_sequence_error_retry_limit;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-EAS NAME: N/A
-idle value: Send.next_to_send_psn */
-	/* 56.0 - 56.23 */
-	 u_int32_t first_psn_of_message_currently_completing;
-	/* Description - value 0 means that we are not in the middle of a read response
-read middle: if DS is too big rx slice should skip the REQSL machine
-EAS NAME: N/A
-idle value: 0 */
-	/* 56.24 - 56.29 */
-	 u_int8_t currently_completing_ds;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t reserved1;
 	/* Description -  */
-	/* 56.30 - 56.30 */
-	 u_int8_t timer_enable;
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 56.31 - 60.31 */
-	 u_int8_t force_grh;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Hermon: highest_psn
-EAS NAME: N/A */
-	/* 60.0 - 60.23 */
-	 u_int32_t first_unsent_psn;
-	/* Description - Counts number of outstanding reads and atomic
-EAS NAME: N/A
-idle value: 0 */
-	/* 60.24 - 64.31 */
-	 u_int8_t number_outstanding_reads;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t reserved2;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t reserved3;
+	/* Description - RWS */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t data_link_protocol_error;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t reserved5;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t reserved6;
+	/* Description -  */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t reserved7;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t reserved8;
+	/* Description -  */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t reserved9;
+	/* Description -  */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t reserved10;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t reserved11;
+	/* Description - RWS */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t poisoned_tlp;
+	/* Description - RWS */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t flow_control_protocol_error;
+	/* Description - RWS */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t completion_timeout;
+	/* Description - RWS */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t completer_abort;
+	/* Description - RWS */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t unexpected_completion;
+	/* Description - RWS */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t receiver_overflow;
+	/* Description - RWS */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t malformed_tlp;
+	/* Description - RWS */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t ecrc_error;
+	/* Description - RWS */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t unsupported_request_error;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_s_qpc_common {
+/* Size in bytes - 4 */
+struct connectib_uncorrectable_error_status {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - This QP should use the fast_path inside the device
-condition:ts!=DCR */
-	/* 0.11 - 0.11 */
-	 u_int8_t fast_path;
-	/* Description - TPT: umr permission table
-there are four masks each with a different permissions level
-qp has umr_permission_level field which points to one of these four masks.
-golan.tpt.tpt_memop.tpt_memop_execution_machine.allow_mkey_context_update_bitmask[0-3]*
- */
-	/* 0.24 - 0.25 */
-	 u_int8_t umr_permission_select;
+	/* Description - Undefined
+previously was training_error_status */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t training_error_status;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t qp_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 8.25 - 8.25 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - Hermon name: bind_enable */
-	/* 8.28 - 8.28 */
-	 u_int8_t umr_enable;
-	/* Description - enable fast register WQE
-Hermon name: frwr_en
-EAS NAME: fre */
-	/* 8.29 - 8.29 */
-	 u_int8_t frwr_enable;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 8.31 - 12.31 */
-	 u_int8_t rx_heartbeat;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: state */
-	/* 16.0 - 16.15 */
-	 u_int16_t qp_state;
-	/* Description - 
-EAS NAME: sq_wqe_counter */
-	/* 16.16 - 20.31 */
-	 u_int16_t swqe_consumer_index;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-if ts!=DCR cq_number
-if ts == DCR dct_number
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 28.0 - 28.23 */
-	 u_int32_t cq_number;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t data_link_protocol_error_status;
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 u_int8_t flush_syndrom;
-	/* Description - 
-EAS NAME: next_send_psn */
-	/* 32.8 - 36.31 */
-	 u_int32_t next_to_send_psn;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - index to a table of counters that counts frame and bytes, oxff invalid - change to 0x00 as invalid
-EAS NAME: if_counter_index */
-	/* 36.24 - 40.31 */
-	 u_int8_t counter_index;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 40.15 - 40.15 */
-	 u_int8_t force_grh_tclass;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - How many bytes were sent from current WQE
-LSO byte granularty, otherwise 256B granularty
-EAS NAME: N/A
-idle value: 0 */
-	/* 44.0 - 44.22 */
-	 u_int32_t sx_gather_commit;
-	/* Description - if set gid index is taken from sqpc.mgid (my gid)
-condition:ts==DCI | ts==UD */
-	/* 44.23 - 44.23 */
-	 u_int8_t force_my_gid_index;
-	/* Description - set by SX on every packet sent or WQE executed */
-	/* 44.27 - 44.27 */
-	 u_int8_t sx_heartbeat;
-	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5])
-0-RC
-1-UC
-2-RD (reserved)
-3-UD
-5-XRC (SRC in hermon)
-8-RMC parent - no in golan1
-9-RMC child (RX only) no in golan1
-10-FCP - no in golan 1
-11-DCI/DCR
-12-DCT
-15-L2 (Hermon name: L2 & MLX)
-EAS NAME: st */
-	/* 44.28 - 48.31 */
-	 u_int8_t ts;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-condition:ts==DCI | ts==UD */
-	/* 56.31 - 60.31 */
-	 u_int8_t force_grh;
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t poisoned_tlp_status;
+	/* Description -  */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t flow_control_protocol_error_status;
+	/* Description -  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t completion_timeout_status;
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t completer_abort_status;
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t unexpected_completion_status;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t receiver_overflow_status;
+	/* Description -  */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t malformed_tlp_status;
+	/* Description -  */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t ecrc_error_status;
+	/* Description -  */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t unsupported_request_error_status;
+};
+
+/* Description -  Basic address register high bits - for 64bit bar address length */
+/* Size in bytes - 4 */
+struct connectib_bar_high {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - BAR[63:32] */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t addr_63_32;
 };
 
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_c_qpc_unconnected_2cycbuff {
+/* Description -  Basic address register low bits */
+/* Size in bytes - 4 */
+struct connectib_bar_low {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 0.30 - 0.30 */
-	 u_int8_t wq_signature;
+	/* Description - 0-map to memory space, 1-map to io space */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t memory_or_io;
+	/* Description - address length: 0-mapping to the 32bit address space, 2-mapping to the 64bit address space */
+	/* 0x0.1 - 0x0.2 */
+	 u_int8_t type;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t common_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 4.0 - 4.7 */
-	 u_int8_t tclass;
-	/* Description - WQE size: (2^this field)*16B
-condition:rwq_type==RCYCLIC */
-	/* 4.8 - 4.12 */
-	 u_int8_t rcyclic_size;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 12.0 - 12.23 */
-	 u_int32_t context_number;
-	/* Description - If rwq_type==0 then 
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
-    rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 12.24 - 12.29 */
-	 u_int8_t wqe_page_offset;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 16.20 - 20.31 */
-	 u_int16_t pkey_table_index;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - sx: used when WQE.Qkey[31]=1
-TODO FCP: what about FCoIB
-EAS NAME: q_key */
-	/* 20.0 - 24.31 */
-	 u_int32_t qkey;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 24.16 - 24.23 */
-	 u_int8_t my_gid_mac_index;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - In DCE this field is {VLAN.prio, CFI\DA}
-EAS NAME: Derived from sched_queue */
-	/* 32.16 - 32.19 */
-	 u_int8_t sl;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.20 - 32.20 */
-	 u_int8_t grh_bit;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.21 - 32.21 */
-	 u_int8_t port_number;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.22 - 32.22 */
-	 u_int8_t adaptive_routing;
-	/* Description - WQ size = 64B*2^value
-EAS NAME: log_sq_size */
-	/* 32.24 - 32.27 */
-	 u_int8_t swqe_buffer_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 44.0 - 44.23 */
-	 u_int32_t pd;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t prefetchable;
+	/* Description - BAR[31:4] */
+	/* 0x0.4 - 0x0.31 */
+	 u_int32_t addr_31_4;
 };
 
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_c_qpc_unconnected {
+/* Description -  SR-IOV status register */
+/* Size in bytes - 2 */
+struct connectib_sriov_status {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 0.30 - 0.30 */
-	 u_int8_t wq_signature;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t common_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 4.0 - 4.7 */
-	 u_int8_t tclass;
-	/* Description - number of WQEs in the WQ: 2 in power of
-EAS NAME: log_rq_size
-condition:rwq_type!=RCYCLIC */
-	/* 4.8 - 4.11 */
-	 u_int8_t rwqe_buffer_size;
-	/* Description - WQE size: (2^this field)*16B
-EAS NAME: log_rq_stride
-condition:rwq_type!=RCYCLIC */
-	/* 4.12 - 4.14 */
-	 u_int8_t rwqe_stride;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 12.0 - 12.23 */
-	 u_int32_t context_number;
-	/* Description - If rwq_type==0 then 
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
-    rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 12.24 - 12.29 */
-	 u_int8_t wqe_page_offset;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 16.20 - 20.31 */
-	 u_int16_t pkey_table_index;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - sx: used when WQE.Qkey[31]=1
-TODO FCP: what about FCoIB
-EAS NAME: q_key */
-	/* 20.0 - 24.31 */
-	 u_int32_t qkey;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 24.16 - 24.23 */
-	 u_int8_t my_gid_mac_index;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - In DCE this field is {VLAN.prio, CFI\DA}
-EAS NAME: Derived from sched_queue */
-	/* 32.16 - 32.19 */
-	 u_int8_t sl;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.20 - 32.20 */
-	 u_int8_t grh_bit;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.21 - 32.21 */
-	 u_int8_t port_number;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.22 - 32.22 */
-	 u_int8_t adaptive_routing;
-	/* Description - WQ size = 64B*2^value
-EAS NAME: log_sq_size */
-	/* 32.24 - 32.27 */
-	 u_int8_t swqe_buffer_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 44.0 - 44.23 */
-	 u_int32_t pd;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
+	/* Description - VF Migration Status */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t vf_mig_status;
 };
 
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_c_qpc_unconnected_common {
+/* Description -  SR-IOV control register */
+/* Size in bytes - 2 */
+struct connectib_sriov_control {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 0.30 - 0.30 */
-	 u_int8_t wq_signature;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t common_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 4.0 - 4.7 */
-	 u_int8_t tclass;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 12.0 - 12.23 */
-	 u_int32_t context_number;
-	/* Description - If rwq_type==0 then 
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
-    rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 12.24 - 12.29 */
-	 u_int8_t wqe_page_offset;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 16.20 - 20.31 */
-	 u_int16_t pkey_table_index;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - sx: used when WQE.Qkey[31]=1
-TODO FCP: what about FCoIB
-EAS NAME: q_key */
-	/* 20.0 - 24.31 */
-	 u_int32_t qkey;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 24.16 - 24.23 */
-	 u_int8_t my_gid_mac_index;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - In DCE this field is {VLAN.prio, CFI\DA}
-EAS NAME: Derived from sched_queue */
-	/* 32.16 - 32.19 */
-	 u_int8_t sl;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.20 - 32.20 */
-	 u_int8_t grh_bit;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.21 - 32.21 */
-	 u_int8_t port_number;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.22 - 32.22 */
-	 u_int8_t adaptive_routing;
-	/* Description - WQ size = 64B*2^value
-EAS NAME: log_sq_size */
-	/* 32.24 - 32.27 */
-	 u_int8_t swqe_buffer_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 44.0 - 44.23 */
-	 u_int32_t pd;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
+	/* Description - VF Enable */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t vf_enable;
+	/* Description - VF Migration Enable */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t vf_migration_en;
+	/* Description - VF Migration Interrupt Enable */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t vf_migration_int_en;
+	/* Description - VF MSE */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t vf_mse;
+	/* Description - ARI Capable Hierarchy */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t ari_capable_hierarchy;
+};
+
+/* Description -  SR-IOV capability struct */
+/* Size in bytes - 4 */
+struct connectib_sriov_capabilities {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - VF migration capable */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t vf_mig_capable;
+	/* Description - ARI Capable Hierarchy Preserved */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t ari_cap_hier_preserved;
+	/* Description - VF Migration Interrupt Message Number */
+	/* 0x0.21 - 0x0.31 */
+	 u_int16_t vf_mig_int_msg_num;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_c_qpc_connected_dual {
+/* Size in bytes - 2 */
+struct connectib_ari_control {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - IB port: all packets go to loopback port
-Ethernet port: see IAS
-see issue 32965
-EAS NAME: fl */
-	/* 0.3 - 0.3 */
-	 u_int8_t force_loopback;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
-	/* Description -  */
-	/* 0.29 - 0.29 */
-	 u_int8_t dual_write;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 0.30 - 0.30 */
-	 u_int8_t wq_signature;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t common_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 4.0 - 4.7 */
-	 u_int8_t tclass;
-	/* Description - number of WQEs in the WQ: 2 in power of
-EAS NAME: log_rq_size
-condition:rwq_type!=RCYCLIC */
-	/* 4.8 - 4.11 */
-	 u_int8_t rwqe_buffer_size;
-	/* Description - WQE size: (2^this field)*16B
-EAS NAME: log_rq_stride
-condition:rwq_type!=RCYCLIC */
-	/* 4.12 - 4.14 */
-	 u_int8_t rwqe_stride;
-	/* Description - 
-EAS NAME: stat_rate */
-	/* 4.16 - 4.19 */
-	 u_int8_t ipd;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Dest Qp in connection
-EAS NAME: remote_qpn/wire_qpn */
-	/* 8.0 - 8.23 */
-	 u_int32_t peer_qp;
-	/* Description - Number of hops between subnets a packet can make before being discarded
-Used by TCU for CNP with GRH in connected mode
-EAS NAME: hop_limit */
-	/* 8.24 - 12.31 */
-	 u_int8_t hop_limit;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 12.0 - 12.23 */
-	 u_int32_t context_number;
-	/* Description - If rwq_type==0 then 
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
-    rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 12.24 - 12.29 */
-	 u_int8_t wqe_page_offset;
-	/* Description - sx will put this field in the migreq field
-Hermon: path_migration_fsm[1] */
-	/* 12.30 - 12.30 */
-	 u_int8_t sx_migreq;
-	/* Description - tcu check will jump if pkt.migreq differ from this bit
-Hermon: mig_req */
-	/* 12.31 - 16.31 */
-	 u_int8_t rx_migreq;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: flow_label */
-	/* 16.0 - 16.19 */
-	 u_int32_t flow_label;
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 16.20 - 20.31 */
-	 u_int16_t pkey_table_index;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 24.16 - 24.23 */
-	 u_int8_t my_gid_mac_index;
-	/* Description - 2^thisValue is the max number of bytes per mesaage
-EAS NAME: msg_max */
-	/* 24.24 - 24.28 */
-	 u_int8_t max_message_size;
-	/* Description - 0: 256 bytes  
-1: 512 bytes  
-2: 1K bytes 
-3: 2K bytes 
-4: 4k bytes
-5: 8k bytes
-EAS NAME: mtu */
-	/* 24.29 - 28.31 */
-	 u_int8_t mtu;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-EAS NAME: rlid */
-	/* 28.0 - 28.15 */
-	 u_int16_t peer_lid;
-	/* Description - 
-EAS NAME: mlid */
-	/* 28.16 - 28.22 */
-	 u_int8_t my_lid;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - In DCE this field is {VLAN.prio, CFI\DA}
-EAS NAME: Derived from sched_queue */
-	/* 32.16 - 32.19 */
-	 u_int8_t sl;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.20 - 32.20 */
-	 u_int8_t grh_bit;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.21 - 32.21 */
-	 u_int8_t port_number;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.22 - 32.22 */
-	 u_int8_t adaptive_routing;
-	/* Description - WQ size = 64B*2^value
-EAS NAME: log_sq_size */
-	/* 32.24 - 32.27 */
-	 u_int8_t swqe_buffer_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 44.0 - 44.23 */
-	 u_int32_t pd;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - this hold the 2'nd peer_qp for dual write
-condition:dual_write */
-	/* 56.0 - 56.23 */
-	 u_int32_t peer_qp2;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - this hold the 2'nd peer_lid for dual write
-condition:dual_write */
-	/* 60.0 - 60.15 */
-	 u_int16_t peer_lid2;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t mfvc_en;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t acs_en;
+	/* Description -  */
+	/* 0x0.4 - 0x0.6 */
+	 u_int8_t func_group;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_c_qpc_connected_2cycbuff {
+/* Size in bytes - 2 */
+struct connectib_ari_capabilities {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - IB port: all packets go to loopback port
-Ethernet port: see IAS
-see issue 32965
-EAS NAME: fl */
-	/* 0.3 - 0.3 */
-	 u_int8_t force_loopback;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
 	/* Description -  */
-	/* 0.29 - 0.29 */
-	 u_int8_t dual_write;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 0.30 - 0.30 */
-	 u_int8_t wq_signature;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t mfvc;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t common_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 4.0 - 4.7 */
-	 u_int8_t tclass;
-	/* Description - WQE size: (2^this field)*16B
-condition:rwq_type==RCYCLIC */
-	/* 4.8 - 4.12 */
-	 u_int8_t rcyclic_size;
-	/* Description - 
-EAS NAME: stat_rate */
-	/* 4.16 - 4.19 */
-	 u_int8_t ipd;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Dest Qp in connection
-EAS NAME: remote_qpn/wire_qpn */
-	/* 8.0 - 8.23 */
-	 u_int32_t peer_qp;
-	/* Description - Number of hops between subnets a packet can make before being discarded
-Used by TCU for CNP with GRH in connected mode
-EAS NAME: hop_limit */
-	/* 8.24 - 12.31 */
-	 u_int8_t hop_limit;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 12.0 - 12.23 */
-	 u_int32_t context_number;
-	/* Description - If rwq_type==0 then 
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
-    rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 12.24 - 12.29 */
-	 u_int8_t wqe_page_offset;
-	/* Description - sx will put this field in the migreq field
-Hermon: path_migration_fsm[1] */
-	/* 12.30 - 12.30 */
-	 u_int8_t sx_migreq;
-	/* Description - tcu check will jump if pkt.migreq differ from this bit
-Hermon: mig_req */
-	/* 12.31 - 16.31 */
-	 u_int8_t rx_migreq;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: flow_label */
-	/* 16.0 - 16.19 */
-	 u_int32_t flow_label;
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 16.20 - 20.31 */
-	 u_int16_t pkey_table_index;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 24.16 - 24.23 */
-	 u_int8_t my_gid_mac_index;
-	/* Description - 2^thisValue is the max number of bytes per mesaage
-EAS NAME: msg_max */
-	/* 24.24 - 24.28 */
-	 u_int8_t max_message_size;
-	/* Description - 0: 256 bytes  
-1: 512 bytes  
-2: 1K bytes 
-3: 2K bytes 
-4: 4k bytes
-5: 8k bytes
-EAS NAME: mtu */
-	/* 24.29 - 28.31 */
-	 u_int8_t mtu;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-EAS NAME: rlid */
-	/* 28.0 - 28.15 */
-	 u_int16_t peer_lid;
-	/* Description - 
-EAS NAME: mlid */
-	/* 28.16 - 28.22 */
-	 u_int8_t my_lid;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - In DCE this field is {VLAN.prio, CFI\DA}
-EAS NAME: Derived from sched_queue */
-	/* 32.16 - 32.19 */
-	 u_int8_t sl;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.20 - 32.20 */
-	 u_int8_t grh_bit;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.21 - 32.21 */
-	 u_int8_t port_number;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.22 - 32.22 */
-	 u_int8_t adaptive_routing;
-	/* Description - WQ size = 64B*2^value
-EAS NAME: log_sq_size */
-	/* 32.24 - 32.27 */
-	 u_int8_t swqe_buffer_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 44.0 - 44.23 */
-	 u_int32_t pd;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - 
-condition:~dual_write */
-	/* 48.0 - 56.31 */
-	 u_int64_t peer_gid_127_64;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-condition:~dual_write */
-	/* 56.0 - 64.31 */
-	 u_int64_t peer_gid_63_0;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t acs;
+	/* Description - next pf number */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t next_func_num;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_c_qpc_connected {
+/* Size in bytes - 4 */
+struct connectib_lane_eql_ctl {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - IB port: all packets go to loopback port
-Ethernet port: see IAS
-see issue 32965
-EAS NAME: fl */
-	/* 0.3 - 0.3 */
-	 u_int8_t force_loopback;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
 	/* Description -  */
-	/* 0.29 - 0.29 */
-	 u_int8_t dual_write;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 0.30 - 0.30 */
-	 u_int8_t wq_signature;
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t downstream_port_transmitter_preset0;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t common_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 4.0 - 4.7 */
-	 u_int8_t tclass;
-	/* Description - number of WQEs in the WQ: 2 in power of
-EAS NAME: log_rq_size
-condition:rwq_type!=RCYCLIC */
-	/* 4.8 - 4.11 */
-	 u_int8_t rwqe_buffer_size;
-	/* Description - WQE size: (2^this field)*16B
-EAS NAME: log_rq_stride
-condition:rwq_type!=RCYCLIC */
-	/* 4.12 - 4.14 */
-	 u_int8_t rwqe_stride;
-	/* Description - 
-EAS NAME: stat_rate */
-	/* 4.16 - 4.19 */
-	 u_int8_t ipd;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Dest Qp in connection
-EAS NAME: remote_qpn/wire_qpn */
-	/* 8.0 - 8.23 */
-	 u_int32_t peer_qp;
-	/* Description - Number of hops between subnets a packet can make before being discarded
-Used by TCU for CNP with GRH in connected mode
-EAS NAME: hop_limit */
-	/* 8.24 - 12.31 */
-	 u_int8_t hop_limit;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 12.0 - 12.23 */
-	 u_int32_t context_number;
-	/* Description - If rwq_type==0 then 
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
-    rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 12.24 - 12.29 */
-	 u_int8_t wqe_page_offset;
-	/* Description - sx will put this field in the migreq field
-Hermon: path_migration_fsm[1] */
-	/* 12.30 - 12.30 */
-	 u_int8_t sx_migreq;
-	/* Description - tcu check will jump if pkt.migreq differ from this bit
-Hermon: mig_req */
-	/* 12.31 - 16.31 */
-	 u_int8_t rx_migreq;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: flow_label */
-	/* 16.0 - 16.19 */
-	 u_int32_t flow_label;
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 16.20 - 20.31 */
-	 u_int16_t pkey_table_index;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 24.16 - 24.23 */
-	 u_int8_t my_gid_mac_index;
-	/* Description - 2^thisValue is the max number of bytes per mesaage
-EAS NAME: msg_max */
-	/* 24.24 - 24.28 */
-	 u_int8_t max_message_size;
-	/* Description - 0: 256 bytes  
-1: 512 bytes  
-2: 1K bytes 
-3: 2K bytes 
-4: 4k bytes
-5: 8k bytes
-EAS NAME: mtu */
-	/* 24.29 - 28.31 */
-	 u_int8_t mtu;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-EAS NAME: rlid */
-	/* 28.0 - 28.15 */
-	 u_int16_t peer_lid;
-	/* Description - 
-EAS NAME: mlid */
-	/* 28.16 - 28.22 */
-	 u_int8_t my_lid;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - In DCE this field is {VLAN.prio, CFI\DA}
-EAS NAME: Derived from sched_queue */
-	/* 32.16 - 32.19 */
-	 u_int8_t sl;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.20 - 32.20 */
-	 u_int8_t grh_bit;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.21 - 32.21 */
-	 u_int8_t port_number;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.22 - 32.22 */
-	 u_int8_t adaptive_routing;
-	/* Description - WQ size = 64B*2^value
-EAS NAME: log_sq_size */
-	/* 32.24 - 32.27 */
-	 u_int8_t swqe_buffer_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 44.0 - 44.23 */
-	 u_int32_t pd;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - 
-condition:~dual_write */
-	/* 48.0 - 52.31 */
-	 u_int32_t peer_gid_127_96;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - 
-condition:~dual_write */
-	/* 52.0 - 56.31 */
-	 u_int32_t peer_gid_95_64;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - 
-condition:~dual_write */
-	/* 56.0 - 60.31 */
-	 u_int32_t peer_gid_63_32;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - 
-condition:~dual_write */
-	/* 60.0 - 64.31 */
-	 u_int32_t peer_gid_31_0;
+	/* 0x0.4 - 0x0.6 */
+	 u_int8_t downstream_port_receiver_preset_hint0;
+	/* Description -  */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t upstream_port_transmitter_preset0;
+	/* Description -  */
+	/* 0x0.12 - 0x0.14 */
+	 u_int8_t upstream_port_receiver_preset_hint0;
+	/* Description -  */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t downstream_port_transmitter_preset1;
+	/* Description -  */
+	/* 0x0.20 - 0x0.22 */
+	 u_int8_t downstream_port_receiver_preset_hint1;
+	/* Description -  */
+	/* 0x0.24 - 0x0.27 */
+	 u_int8_t upstream_port_transmitter_preset1;
+	/* Description -  */
+	/* 0x0.28 - 0x0.30 */
+	 u_int8_t upstream_port_receiver_preset_hint1;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_c_qpc_connected_common {
+/* Size in bytes - 4 */
+struct connectib_pciex_link_ctl3 {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - IB port: all packets go to loopback port
-Ethernet port: see IAS
-see issue 32965
-EAS NAME: fl */
-	/* 0.3 - 0.3 */
-	 u_int8_t force_loopback;
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
 	/* Description -  */
-	/* 0.29 - 0.29 */
-	 u_int8_t dual_write;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 0.30 - 0.30 */
-	 u_int8_t wq_signature;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t perform_equalization;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t common_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 4.0 - 4.7 */
-	 u_int8_t tclass;
-	/* Description - 
-EAS NAME: stat_rate */
-	/* 4.16 - 4.19 */
-	 u_int8_t ipd;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Dest Qp in connection
-EAS NAME: remote_qpn/wire_qpn */
-	/* 8.0 - 8.23 */
-	 u_int32_t peer_qp;
-	/* Description - Number of hops between subnets a packet can make before being discarded
-Used by TCU for CNP with GRH in connected mode
-EAS NAME: hop_limit */
-	/* 8.24 - 12.31 */
-	 u_int8_t hop_limit;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 12.0 - 12.23 */
-	 u_int32_t context_number;
-	/* Description - If rwq_type==0 then 
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
-    rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 12.24 - 12.29 */
-	 u_int8_t wqe_page_offset;
-	/* Description - sx will put this field in the migreq field
-Hermon: path_migration_fsm[1] */
-	/* 12.30 - 12.30 */
-	 u_int8_t sx_migreq;
-	/* Description - tcu check will jump if pkt.migreq differ from this bit
-Hermon: mig_req */
-	/* 12.31 - 16.31 */
-	 u_int8_t rx_migreq;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: flow_label */
-	/* 16.0 - 16.19 */
-	 u_int32_t flow_label;
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 16.20 - 20.31 */
-	 u_int16_t pkey_table_index;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 24.16 - 24.23 */
-	 u_int8_t my_gid_mac_index;
-	/* Description - 2^thisValue is the max number of bytes per mesaage
-EAS NAME: msg_max */
-	/* 24.24 - 24.28 */
-	 u_int8_t max_message_size;
-	/* Description - 0: 256 bytes  
-1: 512 bytes  
-2: 1K bytes 
-3: 2K bytes 
-4: 4k bytes
-5: 8k bytes
-EAS NAME: mtu */
-	/* 24.29 - 28.31 */
-	 u_int8_t mtu;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - 
-EAS NAME: rlid */
-	/* 28.0 - 28.15 */
-	 u_int16_t peer_lid;
-	/* Description - 
-EAS NAME: mlid */
-	/* 28.16 - 28.22 */
-	 u_int8_t my_lid;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - In DCE this field is {VLAN.prio, CFI\DA}
-EAS NAME: Derived from sched_queue */
-	/* 32.16 - 32.19 */
-	 u_int8_t sl;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.20 - 32.20 */
-	 u_int8_t grh_bit;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.21 - 32.21 */
-	 u_int8_t port_number;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.22 - 32.22 */
-	 u_int8_t adaptive_routing;
-	/* Description - WQ size = 64B*2^value
-EAS NAME: log_sq_size */
-	/* 32.24 - 32.27 */
-	 u_int8_t swqe_buffer_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 44.0 - 44.23 */
-	 u_int32_t pd;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t link_equalization_req_int_en;
+};
+
+/* Description -  Bridge Control */
+/* Size in bytes - 2 */
+struct connectib_bridge_control {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t parity_error_response_enable;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t serr_enable;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t secondary_bus_reset;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_exp_rom {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - expansion ROM exist */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t exp_rom_en;
+	/* Description - ADDR[31:11] */
+	/* 0x0.11 - 0x0.31 */
+	 u_int32_t addr_31_11;
+};
+
+/* Description -  Secondary Status */
+/* Size in bytes - 2 */
+struct connectib_secondary_status {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t master_data_parity_error;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t signaled_target_abort;
+	/* Description -  */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t received_target_abort;
+	/* Description -  */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t received_master_abort;
+	/* Description -  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t received_system_error;
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t detected_parity_error;
+};
+
+/* Description -  Header Type */
+/* Size in bytes - 1 */
+struct connectib_header_type {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Header Layout */
+	/* 0x0.0 - 0x0.6 */
+	 u_int8_t header_layout;
+	/* Description - Multi-Function Device */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t multi_function_device;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_c_qpc_common {
+/* Size in bytes - 2 */
+struct connectib_stat_reg1 {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Work Queue Type
-1: normal WQ
-2: attached to SRQ
-3: Receive Cyclic Buffer
-EAS NAME: 1 enumeration is: srq */
-	/* 0.4 - 0.5 */
-	 u_int8_t rwq_type;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 0.30 - 0.30 */
-	 u_int8_t wq_signature;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t common_valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - UD-see force_grh_tclass
-golan2: we should have 2 tclass fields for ETHoIB enforcement
-EAS NAME: tclass */
-	/* 4.0 - 4.7 */
-	 u_int8_t tclass;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 12.0 - 12.23 */
-	 u_int32_t context_number;
-	/* Description - If rwq_type==0 then 
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
-    rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-    swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 12.24 - 12.29 */
-	 u_int8_t wqe_page_offset;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - 
-EAS NAME: pkey_index */
-	/* 16.20 - 20.31 */
-	 u_int16_t pkey_table_index;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field
-EAS NAME: mgid_index */
-	/* 24.16 - 24.23 */
-	 u_int8_t my_gid_mac_index;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - In DCE this field is {VLAN.prio, CFI\DA}
-EAS NAME: Derived from sched_queue */
-	/* 32.16 - 32.19 */
-	 u_int8_t sl;
-	/* Description - IB native only: packet should have GRH header
-not used in UD/L2 responder
-EAS NAME: grh */
-	/* 32.20 - 32.20 */
-	 u_int8_t grh_bit;
-	/* Description - 
-EAS NAME: Derived from sched_queue */
-	/* 32.21 - 32.21 */
-	 u_int8_t port_number;
-	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports
-EAS NAME: free_ar */
-	/* 32.22 - 32.22 */
-	 u_int8_t adaptive_routing;
-	/* Description - WQ size = 64B*2^value
-EAS NAME: log_sq_size */
-	/* 32.24 - 32.27 */
-	 u_int8_t swqe_buffer_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 44.0 - 44.23 */
-	 u_int32_t pd;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t int_status;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t capabilities_list;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t master_data_perr;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t signaled_ta;
+	/* Description -  */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t received_ta;
+	/* Description -  */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t received_ma;
+	/* Description -  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t signaled_serr;
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t detected_perr;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_pf_vf_cfg_space {
+/* Size in bytes - 2 */
+struct connectib_cmd_reg1 {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - pcie sriov capability for pf */
-	/* 0.0 - 8.31 */
-	 struct connectib_pf_vf_sriov sriov;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - VPD capability for pf */
-	/* 8.0 - 16.31 */
-	 struct connectib_pf_vf_vpd vpd;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 16.9 */
-	 u_int16_t hw_msix_vec0;
-	/* Description - General MSIX function mask to all the function's vectors */
-	/* 16.10 - 16.10 */
-	 u_int8_t msix_func_mask;
-	/* Description - NO_DESCR */
-	/* 16.11 - 16.11 */
-	 u_int8_t msix_enable;
-	/* Description - pcie bus mastering for the function */
-	/* 16.12 - 16.12 */
-	 u_int8_t bus_master_en;
-	/* Description - memory space enable
-used for Golan only.
-for Shomron, use command_register_memory_space */
-	/* 16.13 - 16.13 */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t io_space;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
 	 u_int8_t memory_space;
-	/* Description - valid for pf, rsvd for vf
-used for Golan only.
-for Shomron, use status_register_serr */
-	/* 16.15 - 16.15 */
-	 u_int8_t serr_status;
-	/* Description - valid for pf, rsvd for vf
-used for Golan only.
-for Shomron, use command_register_serr_report_en */
-	/* 16.16 - 16.16 */
-	 u_int8_t serr_enable;
-	/* Description - NO_DESCR
-used for Golan only.
-for Shomron, use command_register_perr_report_en */
-	/* 16.17 - 16.17 */
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t bus_master_en;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
 	 u_int8_t perr_enable;
-	/* Description - NO_DESCR */
-	/* 16.18 - 16.18 */
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t serr_enable;
+	/* Description -  */
+	/* 0x0.10 - 0x0.10 */
 	 u_int8_t int_disable;
-	/* Description - Function got FLR, need to send event to driver */
-	/* 16.19 - 16.19 */
-	 u_int8_t need_to_fire_flr_event;
-	/* Description - NO_DESCR */
-	/* 16.20 - 16.20 */
-	 u_int8_t in_middle_of_flr;
-	/* Description - If set, this function power state is transparent to power management (L1) mechanism */
-	/* 16.21 - 16.21 */
-	 u_int8_t hide;
-	/* Description - pcie logical Dstate */
-	/* 16.22 - 16.23 */
-	 u_int8_t power_state;
-	/* Description - NO_DESCR */
-	/* 16.24 - 20.31 */
-	 u_int8_t cache_line;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - NO_DESCR */
-	/* 20.0 - 20.7 */
-	 u_int8_t interrupt_line;
-	/* Description - NO_DESCR */
-	/* 20.10 - 20.10 */
-	 u_int8_t exp_rom_en;
-	/* Description - NO_DESCR */
-	/* 20.11 - 24.31 */
-	 u_int32_t exp_rom_addr_31_11;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.0 - 24.0 */
-	 u_int8_t device_control_correctable_error_report_en;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.1 - 24.1 */
-	 u_int8_t device_control_nonfatal_error_report_en;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.2 - 24.2 */
-	 u_int8_t device_control_fatal_error_report_en;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.3 - 24.3 */
-	 u_int8_t device_control_ur_error_report_en;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.4 - 24.4 */
-	 u_int8_t device_control_enable_relaxed_ordering;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.5 - 24.7 */
-	 u_int8_t device_control_max_payload_size;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.8 - 24.8 */
-	 u_int8_t device_control_extended_tag_en;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.9 - 24.9 */
-	 u_int8_t device_control_enable_no_snoop;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.10 - 24.12 */
-	 u_int8_t device_control_max_read_request_size;
+};
+
+/* Description -   */
+/* Size in bytes - 2 */
+struct connectib_message_control {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - num of msix vectors */
+	/* 0x0.0 - 0x0.10 */
+	 u_int16_t table_size;
+	/* Description - If 1, all vectors of this function are masked regardless of their per vector mask bit   */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t function_mask;
 	/* Description -  */
-	/* 24.13 - 24.13 */
-	 u_int8_t device_status_correctable_error_detected;
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t msix_en;
+};
+
+/* Description -  PCI express link status register2 */
+/* Size in bytes - 2 */
+struct connectib_link_stat2 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 24.14 - 24.14 */
-	 u_int8_t device_status_nonfatal_error_detected;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t current_de_emphasis_level;
 	/* Description -  */
-	/* 24.15 - 24.15 */
-	 u_int8_t device_status_fatal_error_detected;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t equalization_complete;
 	/* Description -  */
-	/* 24.16 - 24.16 */
-	 u_int8_t device_status_ur_error_detected;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.17 - 24.17 */
-	 u_int8_t command_register_memory_space;
-	/* Description - PF - base. VF - base */
-	/* 24.18 - 24.18 */
-	 u_int8_t command_register_bus_master_en;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.19 - 24.19 */
-	 u_int8_t command_register_perr_report_en;
-	/* Description - PF - base. VF - RsvdP */
-	/* 24.20 - 24.20 */
-	 u_int8_t command_register_serr_report_en;
-	/* Description - PF - base. VF - 0 */
-	/* 24.21 - 24.21 */
-	 u_int8_t command_register_interrupt_disable;
-	/* Description - PF - base. VF - 0 */
-	/* 24.22 - 24.22 */
-	 u_int8_t status_register_interrupt_status;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t equalization_phase1_successful;
 	/* Description -  */
-	/* 24.23 - 24.23 */
-	 u_int8_t status_register_perr;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t equalization_phase2_successful;
 	/* Description -  */
-	/* 24.24 - 24.24 */
-	 u_int8_t status_register_serr;
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t equalization_phase3_successful;
 	/* Description -  */
-	/* 24.25 - 24.25 */
-	 u_int8_t status_register_received_master_abort;
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t link_equalization_request;
+};
+
+/* Description -  PCI express link control register2 */
+/* Size in bytes - 2 */
+struct connectib_link_ctl2 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 24.26 - 24.26 */
-	 u_int8_t status_register_received_target_abort;
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t target_link_speed;
 	/* Description -  */
-	/* 24.27 - 24.27 */
-	 u_int8_t status_register_detected_parity_error;
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t enter_compliance;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t hardware_autonomous_speed_disable;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t selectable_de_emphasis;
+	/* Description -  */
+	/* 0x0.7 - 0x0.9 */
+	 u_int8_t transmit_margin;
+	/* Description -  */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t modified_compliance;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t compliance_sos;
+	/* Description -  */
+	/* 0x0.12 - 0x0.15 */
+	 u_int8_t compliance_preset_de_emphasis;
 };
 
-/* Description -   */
+/* Description -  PCI express link capabilities register2 */
 /* Size in bytes - 4 */
-struct connectib_hw_init_info {
+struct connectib_link_caps2 {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 0-init not started, 1-init in progress, 3 - init done */
-	/* 0.0 - 0.1 */
-	 u_int8_t init_state;
-	/* Description - lock to prevent parallel init */
-	/* 0.2 - 0.2 */
-	 u_int8_t init_lock;
-	/* Description - This VF owner PF */
-	/* 0.16 - 0.19 */
-	 u_int8_t owner_pf;
+	/* Description -  */
+	/* 0x0.1 - 0x0.7 */
+	 u_int8_t supported_link_speed_vector;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t cross_link_supported;
+};
+
+/* Description -  PCI express device status register2 */
+/* Size in bytes - 2 */
+struct connectib_device_stat2 {
+};
+
+/* Description -  PCI express device control register2 */
+/* Size in bytes - 2 */
+struct connectib_device_ctl2 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t completion_timeout_value;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t completion_timeout_disable;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t ari_forwarding_enable;
+	/* Description -  */
+	/* 0x0.13 - 0x0.14 */
+	 u_int8_t obff_enable;
+};
+
+/* Description -  PCI express device capabilities register2 */
+/* Size in bytes - 4 */
+struct connectib_device_caps2 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t completion_timeout_ranges_supported;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t completion_timeout_disable_supported;
+	/* Description -  */
+	/* 0x0.5 - 0x0.7 */
+	 u_int8_t ari_forwarding_supported;
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t _10bit_tag_completer_supported;
+	/* Description -  */
+	/* 0x0.18 - 0x0.19 */
+	 u_int8_t obff_supported;
+	/* Description -  */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t extended_fmt_field_supported;
 };
 
-/* Description -  to be used in core2phy interface */
+/* Description -  PCI express slot capabilities register */
 /* Size in bytes - 4 */
-struct connectib_mlnx_enhanced_equal_info_ini {
+struct connectib_slot_caps {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t mlpn_100kr4_extended_time_sup;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t attention_button_present;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t mlpn_100cr4_extended_time_sup;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t power_controller_present;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t mlpn_40cr4_extended_time_sup;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t mrl_sensor_present;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t mlpn_40kr4_extended_time_sup;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t attention_indicator_present;
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t mlpn_kr_extended_time_sup;
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t power_indicator_present;
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t edr_rx_atten_sup;
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t hot_plug_surprise;
 	/* Description -  */
-	/* 0.6 - 0.10 */
-	 u_int8_t edr_rx_atten;
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t hot_plug_capable;
 	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t fdr_rx_atten_sup;
+	/* 0x0.7 - 0x0.14 */
+	 u_int8_t slot_power_limit_value;
 	/* Description -  */
-	/* 0.12 - 0.16 */
-	 u_int8_t fdr_rx_atten;
+	/* 0x0.15 - 0x0.16 */
+	 u_int8_t slot_power_limit_scale;
 	/* Description -  */
-	/* 0.17 - 0.17 */
-	 u_int8_t qdr_ddr_ts3_rev;
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t electromechanical_interlock_present;
+	/* Description -  */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t no_command_completed_supported;
+	/* Description -  */
+	/* 0x0.19 - 0x0.31 */
+	 u_int16_t physical_slot_number;
 };
 
-/* Description -  mlpn cability (ability)/ admin (request) bits for ScratchPad (not in pages foramt) */
-/* Size in bytes - 4 */
-struct connectib_mlpn_database_all_protocol_bits_ini {
+/* Description -  PCI express link status register */
+/* Size in bytes - 2 */
+struct connectib_link_stat {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t fdr_8_10;
-	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t mlx_kr2;
-	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t eth_56gb;
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t link_speed;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t fdr10;
+	/* 0x0.4 - 0x0.9 */
+	 u_int8_t negotiated_link_width;
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t speed_reduction;
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t training_error;
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t width_reduction;
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t link_training;
 	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t eth_cbf;
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t slot_clock_cfg;
 	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t ib_64b_credits;
-	/* Description - llr_en. ability/request according to node */
-	/* 0.8 - 0.8 */
-	 u_int8_t llr_ib_edr;
-	/* Description - llr_en. ability/request according to node */
-	/* 0.9 - 0.9 */
-	 u_int8_t llr_ib_fdr;
-	/* Description - llr_en. ability/request according to node */
-	/* 0.10 - 0.10 */
-	 u_int8_t llr_ib_fdr10;
-	/* Description - llr_en. ability/request according to node */
-	/* 0.11 - 0.11 */
-	 u_int8_t llr_ib_qdr;
-	/* Description - llr_en. ability/request according to node */
-	/* 0.12 - 0.12 */
-	 u_int8_t llr_ib_ddr;
-	/* Description - llr_en. ability/request according to node */
-	/* 0.13 - 0.13 */
-	 u_int8_t llr_ib_sdr;
-	/* Description - llr_en 56GBASE-KR4. ability/request according to node */
-	/* 0.14 - 0.14 */
-	 u_int8_t llr_56_kr4;
-	/* Description - llr_en 56GBASE-KX4. ability/request according to node */
-	/* 0.15 - 0.15 */
-	 u_int8_t llr_56_kx4;
-	/* Description - llr_en 40GBASE-KR4. ability/request according to node */
-	/* 0.16 - 0.16 */
-	 u_int8_t llr_kr4;
-	/* Description - llr_en 40GBASE-CR4 (copper). ability/request according to node */
-	/* 0.17 - 0.17 */
-	 u_int8_t llr_cr4;
-	/* Description - llr_en 40GBASE-S/LR4(optics). ability/request according to node */
-	/* 0.18 - 0.18 */
-	 u_int8_t llr_slr4;
-	/* Description - llr_en 10GBASE-KR (XFI). ability/request according to node */
-	/* 0.19 - 0.19 */
-	 u_int8_t llr_kr;
-	/* Description - llr_en 10GBASE-CR (copper). ability/request according to node */
-	/* 0.20 - 0.20 */
-	 u_int8_t llr_cr;
-	/* Description - llr_en 10GBASE-S/LR(optics). ability/request according to node */
-	/* 0.21 - 0.21 */
-	 u_int8_t llr_slr;
-	/* Description - llr_en 10GBASE-X (XAUI). ability/request according to node */
-	/* 0.22 - 0.22 */
-	 u_int8_t llr_xaui;
-	/* Description - llr_en. ability/request according to node */
-	/* 0.23 - 0.23 */
-	 u_int8_t llr_sgmii;
-	/* Description - in page0: protocol ability
-in page2: protocol default (may set no more than one protocol bit, none - no default) */
-	/* 0.25 - 0.25 */
-	 u_int8_t fc_protocol;
-	/* Description - in page0: protocol ability
-in page2: protocol default (may set no more than one protocol bit, none - no default) */
-	/* 0.26 - 0.26 */
-	 u_int8_t eth_protocol;
-	/* Description - in page0: protocol ability
-in page2: protocol default (may set no more than one protocol bit, none - no default) */
-	/* 0.27 - 0.27 */
-	 u_int8_t ib_protocol;
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t link_bandwidth_mgmt_status;
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t ib_64_66_spec_recovery;
-	/* Description - in page0: protocol ability
-in page2: protocol default (may set no more than one protocol bit, none - no default) */
-	/* 0.29 - 0.29 */
-	 u_int8_t ib_128b_llr;
-	/* Description - in page0: protocol ability
-in page2: protocol default (may set no more than one protocol bit, none - no default) */
-	/* 0.30 - 0.30 */
-	 u_int8_t ll_llr;
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t link_autonomous_bandwidth_status;
 };
 
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_serdes_preset_sets_ini {
+/* Description -  PCI express link control register */
+/* Size in bytes - 2 */
+struct connectib_link_ctl {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_serdes_conf_preset_tx_ini tx;
-};
-
-/* Description -   */
-/* Size in bytes - 48 */
-struct connectib_serdes_active_sets_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - set0: half active fibre IB 8/10
-set1: active fibre IB 8/10\
-;set2: half active fibre IB FDR (64/66)
-set3: active fibre IB FDR (64/66) */
-	/* 0.0 - 32.31 */
-	 struct connectib_serdes_active_rx_ini rx;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - set0: half active fibre 8/10
-set1: active fibre 8/10
-set2: half active fibre FDR (64/66)
-set3: active fibre FDR (64/66) */
-	/* 32.0 - 48.31 */
-	 struct connectib_serdes_active_tx_ini tx;
-};
-
-/* Description -   */
-/* Size in bytes - 120 */
-struct connectib_serdes_force_sets_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - set0: force sdr
-set1: force ddr
-set2: force qdr
-set3: forc
-e fdr
-set4: aggressor
-set5: force xaui
-set6: force sgmii
-set7: force xfi
-set8: ffe initial
-set9: for slicer4err calib */
-	/* 0.0 - 80.31 */
-	 struct connectib_serdes_force_rx_ini rx;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description - set0: force sdr
-set1: force ddr
-set2: force qdr
-set3: forc
-e fdr
-set4: aggressor
-set5: force xaui
-set6: force sgmii
-set7: force xfi
-set9: for slicer4err calib */
-	/* 80.0 - 120.31 */
-	 struct connectib_serdes_force_tx_ini tx;
-};
-
-/* Description -   */
-/* Size in bytes - 384 */
-struct connectib_serdes_aba_sets_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - sets 0-7   : IB 8/10
-sets 8-15 : IB 8/10 for legacy device
-sets16-31: IB FDR */
-	/* 0.0 - 256.31 */
-	 struct connectib_serdes_conf_aba_rx_ini rx;
-/*---------------- DWORD[64] (Offset 0x100) ----------------*/
-	/* Description - sets 0-7   : IB 8/10
-sets 8-15 : IB 8/10 for legacy device
-sets16-31: IB FDR */
-	/* 256.0 - 384.31 */
-	 struct connectib_serdes_conf_aba_tx_ini tx;
-};
-
-/* Description -   */
-/* Size in bytes - 384 */
-struct connectib_serdes_autoneg_sets_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.0 - 0x0.1 */
+	 u_int8_t aspm_control;
 	/* Description -  */
-	/* 0.0 - 256.31 */
-	 struct connectib_serdes_conf_autoneg_rx_ini rx;
-/*---------------- DWORD[64] (Offset 0x100) ----------------*/
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t rcb;
 	/* Description -  */
-	/* 256.0 - 384.31 */
-	 struct connectib_serdes_conf_autoneg_tx_ini tx;
-};
-
-/* Description -   */
-/* Size in bytes - 76 */
-struct connectib_spec1_3_preset_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - mask for the TX preset in FDR.
-only the preset indexes that their bit is set in the mask will be checked. */
-	/* 0.0 - 0.15 */
-	 u_int16_t preset_tx_mask_internal;
-	/* Description - mask for the TX preset in FDR.
-only the preset indexes that their
-bit is set in the mask will be checked. */
-	/* 0.16 - 4.31 */
-	 u_int16_t preset_tx_mask;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t link_disable;
 	/* Description -  */
-	/* 4.0 - 4.4 */
-	 u_int8_t aba_mask0_start;
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t retrain_link;
 	/* Description -  */
-	/* 4.8 - 4.12 */
-	 u_int8_t aba_mask0_end;
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t common_clock_configuration;
 	/* Description -  */
-	/* 4.14 - 4.15 */
-	 u_int8_t tx_ABA_en_mask;
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t extended_synch;
 	/* Description -  */
-	/* 4.16 - 8.31 */
-	 u_int16_t aba_mask0;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t enable_clock_power_management;
 	/* Description -  */
-	/* 8.0 - 8.4 */
-	 u_int8_t aba_mask1_start;
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t hardware_autonomous_width_disable;
 	/* Description -  */
-	/* 8.8 - 8.12 */
-	 u_int8_t aba_mask1_end;
-	/* Description - mask per port 
-ABA                = 0x0
-ABA_legacy       = 0x1 */
-	/* 8.14 - 8.15 */
-	 u_int8_t tx_ABA_mode_mask;
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t link_bandwidth_mgmt_interrupt_en;
 	/* Description -  */
-	/* 8.16 - 12.31 */
-	 u_int16_t aba_mask1;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t link_autonomous_bandwidth_interrupt_en;
+};
+
+/* Description -  PCI express link capabilities register */
+/* Size in bytes - 4 */
+struct connectib_link_caps {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.4 */
-	 u_int8_t aba_mask2_start;
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t max_link_speed;
 	/* Description -  */
-	/* 12.8 - 12.12 */
-	 u_int8_t aba_mask2_end;
+	/* 0x0.4 - 0x0.9 */
+	 u_int8_t max_link_width;
 	/* Description -  */
-	/* 12.16 - 16.31 */
-	 u_int16_t aba_mask2;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x0.10 - 0x0.11 */
+	 u_int8_t aspm_support;
 	/* Description -  */
-	/* 16.0 - 16.4 */
-	 u_int8_t aba_mask3_start;
+	/* 0x0.12 - 0x0.14 */
+	 u_int8_t l0s_exit_latency;
 	/* Description -  */
-	/* 16.8 - 16.12 */
-	 u_int8_t aba_mask3_end;
+	/* 0x0.15 - 0x0.17 */
+	 u_int8_t l1_exit_latency;
 	/* Description -  */
-	/* 16.16 - 20.31 */
-	 u_int16_t aba_mask3;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t clock_power_management;
 	/* Description -  */
-	/* 20.0 - 20.4 */
-	 u_int8_t aba_mask4_start;
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t surprise_down_error_reporting_cap;
 	/* Description -  */
-	/* 20.8 - 20.12 */
-	 u_int8_t aba_mask4_end;
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t link_active_reporting_cap;
 	/* Description -  */
-	/* 20.16 - 24.31 */
-	 u_int16_t aba_mask4;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t link_bw_notification_cap;
 	/* Description -  */
-	/* 24.0 - 24.4 */
-	 u_int8_t aba_mask5_start;
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t aspm_optionality_compliance;
 	/* Description -  */
-	/* 24.8 - 24.12 */
-	 u_int8_t aba_mask5_end;
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t port_number;
+};
+
+/* Description -  PCI express device status register */
+/* Size in bytes - 2 */
+struct connectib_device_stat {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 24.16 - 28.31 */
-	 u_int16_t aba_mask5;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t correctable_error;
 	/* Description -  */
-	/* 28.0 - 76.31 */
-	 struct connectib_aba_indexes aba_indexes;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t non_fatal_error;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t fatal_error;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t unsupported_request;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t aux_power;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t transactions_pending;
 };
 
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_ib_ini_per_lcl_ini {
+/* Description -  PCI express device control register */
+/* Size in bytes - 2 */
+struct connectib_device_ctl {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t spec1_2_ib_support;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t correctable_error_report;
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t non_fatal_error_report;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t spec1_3_ib_support;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t fatal_error_report;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t fec_request_fdr;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t unsupported_request_report;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t fec_request_fdr10;
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t relaxed_ordering;
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t heartbeat_enable;
+	/* 0x0.5 - 0x0.7 */
+	 u_int8_t max_payload_size;
 	/* Description -  */
-	/* 0.5 - 0.8 */
-	 u_int8_t force_speed_val;
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t extended_tag_field_en;
 	/* Description -  */
-	/* 0.9 - 0.9 */
-	 u_int8_t force_speed_en;
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t phantom_funcs;
 	/* Description -  */
-	/* 0.10 - 0.13 */
-	 u_int8_t force_width_val;
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t aux_power;
 	/* Description -  */
-	/* 0.14 - 0.14 */
-	 u_int8_t force_width_en;
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t no_snoop;
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t force_qdr_is_fdr10_val;
+	/* 0x0.12 - 0x0.14 */
+	 u_int8_t max_read_request_size;
 	/* Description -  */
-	/* 0.16 - 0.16 */
-	 u_int8_t force_qdr_is_fdr10_en;
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t initiate_function_level_reset;
+};
+
+/* Description -  PCI express device capabilities register */
+/* Size in bytes - 4 */
+struct connectib_device_caps {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.17 - 0.17 */
-	 u_int8_t force_llr_fdr_en;
+	/* 0x0.0 - 0x0.2 */
+	 u_int8_t max_payload_size_supported;
 	/* Description -  */
-	/* 0.18 - 0.18 */
-	 u_int8_t force_llr_fdr_val;
+	/* 0x0.3 - 0x0.4 */
+	 u_int8_t phantom_funcs;
 	/* Description -  */
-	/* 0.19 - 0.19 */
-	 u_int8_t force_llr_fdr10_en;
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t extended_tag_field_sup;
 	/* Description -  */
-	/* 0.20 - 0.20 */
-	 u_int8_t force_llr_fdr10_val;
+	/* 0x0.6 - 0x0.8 */
+	 u_int8_t l0s_acceptable_latency;
 	/* Description -  */
-	/* 0.21 - 0.21 */
-	 u_int8_t mlpn_en;
+	/* 0x0.9 - 0x0.11 */
+	 u_int8_t l1_acceptable_latency;
 	/* Description -  */
-	/* 0.22 - 0.22 */
-	 u_int8_t llr_cell_size;
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t role_based_error_reporting;
 	/* Description -  */
-	/* 0.23 - 0.23 */
-	 u_int8_t speed_reduction_force;
+	/* 0x0.18 - 0x0.25 */
+	 u_int8_t captured_slot_power_limit_value;
 	/* Description -  */
-	/* 0.24 - 0.24 */
-	 u_int8_t width_reduction_force;
+	/* 0x0.26 - 0x0.27 */
+	 u_int8_t captured_slot_power_limit_scale;
 	/* Description -  */
-	/* 0.25 - 0.25 */
-	 u_int8_t llr_fdr10_force;
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t function_level_reset_capability;
+};
+
+/* Description -  PCI express device capabilities reg1 */
+/* Size in bytes - 2 */
+struct connectib_pciex_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.26 - 0.26 */
-	 u_int8_t llr_fdr_force;
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t version;
 	/* Description -  */
-	/* 0.30 - 0.30 */
-	 u_int8_t spec1_2_legacy_mode;
+	/* 0x0.4 - 0x0.7 */
+	 u_int8_t device_port_type;
+	/* Description - slot implemented */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t slot;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t llr_disable_failsafe;
+	/* 0x0.9 - 0x0.13 */
+	 u_int8_t int_message_num;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_serdes_param_mask_ini {
+/* Size in bytes - 24 */
+struct connectib_external_port_pf_array {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_serdes_param_mask_per_proto_ini encode_8_10;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_serdes_param_mask_per_proto_ini encode_64_66;
+	/* Description - Port owner (PF array, pf_ix = (host_ix)*max_num_pfs_per_host_ini_value + func_num) */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_pf_array_default_ones port_owner;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 struct connectib_serdes_param_mask_per_proto_ini encode_kr;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 16.31 */
-	 struct connectib_serdes_param_mask_per_proto_ini fdr;
+	/* Description - Allow read counters (PF array, pf_ix = (host_ix)*max_num_pfs_per_host_ini_value + func_num) */
+	/* 0x8.0 - 0x10.31 */
+	 struct connectib_pf_array_default_ones allow_rd_counters;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Renegotiate only on config change (PF array, pf_ix = (host_ix)*max_num_pfs_per_host_ini_value + func_num) */
+	/* 0x10.0 - 0x18.31 */
+	 struct connectib_pf_array_default_ones reneg_on_change;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_nv_tlv_data_tpt_capabilities {
+struct connectib_nv_tlv_data_curr_config {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 1 when log_max_payload_size is configurable */
-	/* 0.31 - 4.31 */
-	 u_int8_t log_max_payload_size_supported;
+	/* Description - indicates who was the last writer id to write/invalidate tlv */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t current_cfg_method;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_nv_tlv_data_tpt_settings {
+struct connectib_nv_config_flex_nic {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 0 - Automatically choose the burst length according to the PCIe packet length.
-12 - A maximum of 4kb.
-Else - reserved */
-	/* 0.0 - 0.3 */
-	 u_int8_t log_max_payload_size;
+	/* Description - 0x0 - user image
+0x1 - factory default
+other - reserved - remove when #844406 closed - pick the node from EAS_st */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t fpga_image_bank;
 };
 
 /* Description -   */
-/* Size in bytes - 20 */
-struct connectib_nv_tlv_data_pci_capabilities {
+/* Size in bytes - 4 */
+struct connectib_nv_config_host_2_bmc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 1 when the max_pf_uar_bar_size field is configurable and the max_log_pf_uar_bar_size field is valid */
-	/* 0.24 - 0.24 */
-	 u_int8_t pf_bar_size_supported;
-	/* Description - 1 when the max_vf_uar_bar_size field is configurable and the max_log_vf_uar_bar_size field is valid */
-	/* 0.25 - 0.25 */
-	 u_int8_t vf_bar_size_supported;
-	/* Description - 1 when the num_pf_msix field is configurable and the max_num_pf_msix field is valid */
-	/* 0.26 - 0.26 */
-	 u_int8_t num_pf_msix_supported;
-	/* Description - 1 when the num_vf_msix field is configurable and the max_num_vf_msix field is valid */
-	/* 0.27 - 0.27 */
-	 u_int8_t num_vf_msix_supported;
-	/* Description - 1 when the num_pfs field is configurable and max_num_pfs is valid */
-	/* 0.28 - 0.28 */
-	 u_int8_t num_pfs_supported;
-	/* Description - 1 when the max_total_bar field is valid */
-	/* 0.29 - 0.29 */
-	 u_int8_t max_log_total_bar_valid;
-	/* Description - The max_total_msix field is valid */
-	/* 0.30 - 0.30 */
-	 u_int8_t max_total_msix_valid;
-	/* Description - 1 when the max_vfs_per_pf field below is valid */
-	/* 0.31 - 4.31 */
-	 u_int8_t max_vfs_per_pf_valid;
+	/* Description - 0x0 - No traffic is looped-back in the device 
+ 0x1 - Enable traffic from host 2 local BMC - remove when ticket #843912 closed and pick node from EAS_st */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t host_2_bmc_traffic_enable;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_nv_tlv_tweaks {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Enable packet pacing */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t packet_pacing;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_nv_sw_offload_conf {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Configure which algorithm should be used by the NIC in order 
+to decide when to activate CQE compression based on PCIe bus 
+condition.Note that the driver can enable compression on a per 
+CQE basis
+0x0: BALANCED
+0x1: AGGRESSIVE */
+	/* 0x0.0 - 0x0.2 */
+	 u_int8_t cqe_compression;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t one_qp_per_recovery;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The maximum number of VFs that can be set in the total_vfs setting (per PF) */
-	/* 4.0 - 4.15 */
-	 u_int16_t max_vfs_per_pf;
-	/* Description - Maximum total number of PFs */
-	/* 4.16 - 4.19 */
-	 u_int8_t max_num_pfs;
-	/* Description - 1 - function per-port setting is configurable */
-	/* 4.29 - 4.29 */
-	 u_int8_t fpp_support;
-	/* Description - 1 - The device supports controlling the VF QoS setting */
-	/* 4.30 - 4.30 */
-	 u_int8_t vf_qos_control_support;
-	/* Description - 1 when SRIOV support is configurable */
-	/* 4.31 - 8.31 */
-	 u_int8_t sriov_support;
+	/* Description - Log2 of Large Receive Offload (LRO) timeout #0, in microsec
+onds. Driver can select one of the 4 configured LRO timeouts on 
+a per Qp basis in run-time (lro_timeout_period_usecs field of the 
+TIR context) */
+	/* 0x4.0 - 0x4.3 */
+	 u_int8_t lro_log_timeout0;
+	/* Description - Log2 of Large Receive Offload (LRO) timeout #1, in microsec
+onds. Driver can select one of the 4 configured LRO timeouts on 
+a per Qp basis in run-time (lro_timeout_period_usecs field of the 
+TIR context) */
+	/* 0x4.4 - 0x4.7 */
+	 u_int8_t lro_log_timeout1;
+	/* Description - Log2 of Large Receive Offload (LRO) timeout #2, in microsec
+onds. Driver can select one of the 4 configured LRO timeouts on 
+a per Qp basis in run-time (lro_timeout_period_usecs field of the 
+TIR context) */
+	/* 0x4.8 - 0x4.11 */
+	 u_int8_t lro_log_timeout2;
+	/* Description - Log2 of Large Receive Offload (LRO) timeout #3, in microsec
+onds. Driver can select one of the 4 configured LRO timeouts on 
+a per Qp basis in run-time (lro_timeout_period_usecs field of the 
+TIR context) */
+	/* 0x4.12 - 0x4.15 */
+	 u_int8_t lro_log_timeout3;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_nv_roce_1_5_conf {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - The next protocol value set in the IPv4/IPv6 packets for RoCE 
+v1.5. The default is 0xFE. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t roce_over_ip_next_protocol;
+};
+
+/* Description -   */
+/* Size in bytes - 72 */
+struct connectib_nv_qos_ets_tc_conf {
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Log 2 of the maximum size of a PFs UAR BAR */
-	/* 8.0 - 8.5 */
-	 u_int8_t max_log_pf_uar_bar_size;
-	/* Description - Log 2 of the maximum size of a VFs UAR BAR */
-	/* 8.6 - 8.11 */
-	 u_int8_t max_log_vf_uar_bar_size;
-	/* Description - Maximum number of MSI-X vectors and EQs per PF */
-	/* 8.12 - 8.21 */
-	 u_int16_t max_num_pf_msix;
-	/* Description - Maximum number of MSI-X vectors and EQs per VF */
-	/* 8.22 - 12.31 */
-	 u_int16_t max_num_vf_msix;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - Maximum number of MSI-X for the aggregate of all PFs and VFs */
-	/* 12.0 - 16.31 */
-	 u_int32_t max_total_msix;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - Mmaximum total of the MMIO space for all PFs and VFs combined in MBytes */
-	/* 16.0 - 20.31 */
-	 u_int32_t max_total_bar_MB;
+	/* Description -  */
+	/* 0x8.0 - 0x48.31 */
+	 struct connectib_nv_ets_tcN_config_reg tc_configuration[8];
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_nv_qos_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Maximum number of VLs supported by the HBA.
+0x1: _1_VL - VL0 only
+0x2: _2_VLs - VL0, VL1
+0x3: _4_VLs - VL0..VL3
+0x4: _8_VLs - VL0..VL7
+0x5: _15_VLs -- VL0..VL14 (VL15 is always present for 
+MADs) */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t max_num_of_vl;
+	/* Description - Maximum number of traffic classes supported by the NIC, where 
+0 => 8 T
+C */
+	/* 0x0.4 - 0x0.7 */
+	 u_int8_t max_num_of_tc;
+	/* Description - Maximum number of priority flow control
+supported_from_version: 1 */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t max_num_pfc;
 };
 
 /* Description -   */
 /* Size in bytes - 12 */
-struct connectib_nv_tlv_data_pci_settings {
+struct connectib_nv_qos_conf {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 1 when the log_pf_uar_bar_size field is valid */
-	/* 0.24 - 0.24 */
-	 u_int8_t pf_bar_size_valid;
-	/* Description - 1 when the log_vf_uar_bar_size field is valid */
-	/* 0.25 - 0.25 */
-	 u_int8_t vf_bar_size_valid;
-	/* Description - 1 when the num_pf_msix field is valid */
-	/* 0.26 - 0.26 */
-	 u_int8_t num_pf_msix_valid;
-	/* Description - 1 when the num_vf_msix field is valid */
-	/* 0.27 - 0.27 */
-	 u_int8_t num_vf_msix_valid;
-	/* Description - 1 when the num_pfs field is valid */
-	/* 0.28 - 0.28 */
-	 u_int8_t num_pfs_valid;
-	/* Description - 1 when the fpp_en field is valid */
-	/* 0.29 - 0.29 */
-	 u_int8_t fpp_valid;
-	/* Description - 1 when the full_vf_qos field below is valid */
-	/* 0.30 - 0.30 */
-	 u_int8_t full_vf_qos_valid;
-	/* Description - 1 when the sriov_en and total_vfs fields below are valid */
-	/* 0.31 - 4.31 */
-	 u_int8_t sriov_valid;
+	/* Description - Number of Infiniband Virtual Lanes for this port,
+ 
+(s
+see vl_admin 
+in PVLC Register)
+0x1: _1_VL - VL0 only
+0x2: _2_VLs - VL0, VL1
+0x3: _4_VLs - VL0..VL3
+0x4: _8_VLs - VL0..VL7
+0x5: _15_VLs --VL0, VL14 (VL15 is always present for MADs) */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t num_of_vl;
+	/* Description - Number of traffic classes, when DCB-X is enabled, this is the 
+maximum number of TC that can negotiated with the remote 
+peer. (see num_of_tc_admin in DCBX_PARAM Register)
+0x0: _8_TCs
+0x1: _1_TC
+0x2: _2_TCs
+0x3: _3_TCs
+0x4: _4_TCs
+0x5: _5_TCs
+0x6: _6_TCs
+0x7: _7_TCs */
+	/* 0x0.4 - 0x0.7 */
+	 u_int8_t num_of_tc;
+	/* Description - Number of IEEE priorities that may simultaneously support flow 
+control. 
+ (see pfc_cap_admin DCBX_PARAM Register) */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t num_pfc;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The total number of VFs that can be supported */
-	/* 4.0 - 4.15 */
-	 u_int16_t total_vfs;
-	/* Description - Total number of PFs */
-	/* 4.16 - 4.19 */
-	 u_int8_t num_pfs;
-	/* Description - 0 - a single PF for both ports
-1 - function per-port */
-	/* 4.29 - 4.29 */
-	 u_int8_t fpp_en;
-	/* Description - 0 - Use reduced QoS support level on VFs
-1 - Support full QoS on VFs */
-	/* 4.30 - 4.30 */
-	 u_int8_t full_vf_qos;
-	/* Description - 1 when SRIOV is enabled: SRIOV capability will appear on the PCI configuration header */
-	/* 4.31 - 8.31 */
-	 u_int8_t sriov_en;
+	/* Description - Control pause frame transmission and reception (processing) per 
+an IEEE priority
+(See prio_pfctx and prio_pfcrx in the PFCC
+ r
+egister
+0x0: DISABLED
+0x1: RX_ONLY
+0x2: TX_ONLY
+0x3: RX_TX */
+	/* 0x4.28 - 0x8.27 */
+	 u_int8_t priority_pfcc_pfc[8];
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Log 2 of the size of a PFs UAR BAR in MB */
-	/* 8.0 - 8.5 */
-	 u_int8_t log_pf_uar_bar_size;
-	/* Description - Log 2 of the size of a VFs UAR BAR in MB */
-	/* 8.6 - 8.11 */
-	 u_int8_t log_vf_uar_bar_size;
-	/* Description - Number of MSI-X vectors and EQs per PF */
-	/* 8.12 - 8.21 */
-	 u_int16_t num_pf_msix;
-	/* Description - Number of MSI-X vectors and EQs per VF */
-	/* 8.22 - 12.31 */
-	 u_int16_t num_vf_msix;
+	/* Description - The TC used for a given IEEE priority (see tclass in the QTCT 
+register) */
+	/* 0x8.28 - 0xc.27 */
+	 u_int8_t priority_tc[8];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_header_log {
+/* Size in bytes - 4 */
+struct connectib_nv_lldp_nb_dcbx {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t hdr_127_96;
+	/* Description - Enable DCBX in IEEE mode */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t ieee_dcbx_en;
+	/* Description - Enable DCBX in CEE mode */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t cee_dcbx_en;
+	/* Description - Allow the NIC to accept DCBX configuration from the remote 
+peer. */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t dcbx_willing;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_nv_lldp_nb_conf {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Interval for sending LLDP NB PDUs in seconds */
+	/* 0x0.0 - 0x0.11 */
+	 u_int16_t lldp_msg_tx_interval;
+	/* Description - Enable DCBX */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t lldp_nb_dcbx;
+	/* Description - Enable the internal LLDP client, and define which TLV it will 
+process.
+0x0: OFF - Not listen for incoming LLDP BPDU (incoming 
+LLDP frames will be routed to the host)
+0x1: MANDATORY - Listen for incoming LLDP frames, store 
+only the mandatory LLDP BPDUs (1..3)
+0x2: ALL - Receive and store all incoming LLDP BPDUs */
+	/* 0x0.28 - 0x0.29 */
+	 u_int8_t lldp_nb_rx_mode;
+	/* Description - Select which LLDP TLV will be generated by the NIC
+0x0: OFF - NIC internal LLDP client will not send LLDP frames 
+0x1: MANDATORY - Transmit only mandatory LLDP BPDU 
+(ChassisID, PortID & TTL)
+0x2:
+ 
+ALL - Transmit optional LLDP BPDU if configured */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t lldp_nb_tx_mode;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The size in bytes of that the lldp client must reserve for incoming 
+TLVs */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t lldp_nb_rx_buffer_size;
+	/* Description - The size in bytes of that the lldp client must reserve for transmit
+ted TLVs. The buffer size must be big enough to hold all the 
+mandatory TLVs (chassisID, PortID & TTL) as well as all the 
+optional TLVs that the client need to send. */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t lldp_nb_tx_buffer_size;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_nv_lldp_nb_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - DCB-X supported
+supported_from_version:1 */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t lldp_nb_dcbx_en;
+	/* Description - 0x0: NA - Reception and storing of LLDP frames is not sup
+ported (incoming frames will be forwarded to the host)
+0x1: MANDATORY - The client can only store received the 
+mandatory LLDP-TLVs 
+0x2: ALL - The client can receive and store incoming LLDP 
+TLVs */
+	/* 0x0.28 - 0x0.29 */
+	 u_int8_t lldp_nb_rx_cap;
+	/* Description - 0x0: NA - LLDP transmission not supported 
+0x1: MANDATORY - The LLDP client only support sending of 
+the mandatory LLDP NB TLVs (ChassisID, PortID & TTL)
+0x2: ALL - The LLDP client support sending mandatory and 
+optional TLVs 
+3: reserved */
+	/* 0x0.30 - 0x0.31 */
+	 u_int8_t lldp_nb_tx_cap;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t hdr_95_64;
+	/* Description - The maximum supported buffer size for incoming  LLDP TLVs */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t max_lldp_nb_rx_buffer_size;
+	/* Description - The maximum supported buffer size for outgoing LLDP TLVs */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t max_lldp_nb_tx_buffer_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The maximum number of optional LLDP TLVs that are sup
+ported by the firmware. The firmware is searching of LLDP NB 
+TLV to send from type 0x110 to type (0x110 + this field)
+Default: 16 */
+	/* 0x8.0 - 0x8.6 */
+	 u_int8_t max_num_of_tx_optional_lldp_tlv;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_nv_keep_link_up {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - When set, the NIC keeps the link up as long as the server is not in 
+standby mode (Ethernet only). */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t keep_eth_link_up;
+	/* Description - When set, the NIC keeps the link up as long as the server is not in 
+standby mode (InfiniBand only). */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t keep_ib_link_up;
+	/* Description - When set, the NIC keeps the link up as long as the server is not in 
+standby mode and a driver is not initialized. */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t keep_link_up_on_boot;
+	/* Description - When set, the NIC keeps the link up from power-up until the server 
+is turned on, and when the server is in standby mode. */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t keep_link_up_on_standby;
+	/* Description - When set, the NIC does not clear the ppcnt counters value when the first real os driver lunch init_hca, this bit is mainly for debugging purpose . */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t disable_clear_port_stat_on_loading;
+};
+
+/* Description -   */
+/* Size in bytes - 68 */
+struct connectib_nv_roce_cc_ecn {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - When receiving an CNP, the target rate should be updated if the 
+transmission rate was increased due to the timer, and not only 
+due to the byte counter */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t clamp_tgt_rate_after_time_inc;
+	/* Description - If set, whenever a CNP is processed, the target rate is updated to 
+be the current rate. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t clamp_tgt_rate;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Time between rate increases if no CNPs are received. Given in 
+u-seconds. */
+	/* 0x4.0 - 0x4.16 */
+	 u_int32_t rpg_time_reset;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Transmitted data between rate increases if no CNPs are received. 
+Given in Bytes (0=DISABLED) */
+	/* 0x8.0 - 0x8.14 */
+	 u_int16_t rpg_byte_reset;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The number of times rpByteStage or rpTimeStage can count 
+before the RP rate control state machine advances states. */
+	/* 0xc.0 - 0xc.4 */
+	 u_int8_t rpg_threshold;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The maximum rate, in Mbits per second, at which an RP can 
+transmit. Once this limit is reached, the RP rate limited is 
+released and the flow is not rate limited any more (0=Full Port 
+Speed). */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t rpg_max_rate;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - The rate, in Mbits per second, used to increase rpTargetRate in 
+the RPR_ACTIVE_INCREASE. */
+	/* 0x14.0 - 0x14.16 */
+	 u_int32_t rpg_ai_rate;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - The rate, in Mbits per second, used to increase rpTargetRate in 
+the RPR_HYPER_INCREASE state */
+	/* 0x18.0 - 0x18.16 */
+	 u_int32_t rpg_hai_rate;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - I
+f a CNP is received, the flow rate is reduced at the beginning of 
+the next rate_reduce_monitor_period interval to (1-Alpha/
+Gd)*CurrentRate. rpg_gd is given as log2(Gd), where Gd may 
+only be powers of 2. */
+	/* 0x1c.0 - 0x1c.3 */
+	 u_int8_t rpg_gd;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The minimum factor by which the current transmit rate can be 
+changed when processing a CNP. Value is given as a percentage 
+(1-100). */
+	/* 0x20.0 - 0x20.7 */
+	 u_int8_t rpg_min_dec_fac;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - The minimum value, in Mbits per second, for rate to limit. */
+	/* 0x24.0 - 0x24.16 */
+	 u_int32_t rpg_min_rate;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - The rate that is set for the flow when a rate limiter is allocated to 
+it upon first CNP received, in Mbps (=Full Port Speed) */
+	/* 0x28.0 - 0x28.16 */
+	 u_int32_t rate_to_set_on_first_cnp;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - Used to update the congestion estimator (alpha) once every 
+dce_tcp_rtt microseconds, according to the equation:
+Alpha = (cnp_received * dceTcpG) + (1 - dceTcpG) * alpha .
+dceTcpG is divided by 2^10.
+cnp_received is set to one if a CNP was received for this flow 
+during period since the previous update and the current update */
+	/* 0x2c.0 - 0x2c.9 */
+	 u_int16_t dce_tcp_g;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - The time between updates of the alpha value, in microseconds. */
+	/* 0x30.0 - 0x30.16 */
+	 u_int32_t dce_tcp_rtt;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - The minimum time between 2 consecutive rate reductions for a 
+single flow. Rate reduction will occur only if a CNP is received 
+during the relevant time interval. */
+	/* 0x34.0 - 0x34.16 */
+	 u_int32_t rate_reduce_monitor_period;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - The initial value of alpha to use when receiving the first CNP for 
+a flow. Expressed in a fixed point fraction of 2^10
+. */
+	/* 0x38.0 - 0x38.9 */
+	 u_int16_t initial_alpha_value;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - Minimum time between sending CNPs from the port, in micro
+seconds. */
+	/* 0x3c.0 - 0x3c.16 */
+	 u_int32_t min_time_between_cnps;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - The 802.1p priority value of the generated CNP for this port */
+	/* 0x40.0 - 0x40.2 */
+	 u_int8_t cnp_802p_prio;
+	/* Description - The DiffServ Code Point of the generated CNP for this port. */
+	/* 0x40.8 - 0x40.13 */
+	 u_int8_t cnp_dscp;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_nv_roce_cc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Each bit in this mask indicates if the RoCE should be enabled on 
+the n-th IEEE priority. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t roce_cc_enable_pri;
+	/* Description - Select RDMA over Converged Ethernet (RoCE) algorithm
+0x0: ECN
+0x1: QCN */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t roce_cc_algorithm;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_dword_val {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t val;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_port_cap_mask1_fields {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t is_sm;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t is_notice_sup;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t is_trap_sup;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t is_optional_ipd_sup;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t is_automatic_migration_sup;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t is_sl_mapping_sup;
+	/* Description -  */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t is_mkey_nvram;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t is_pkey_nvram;
+	/* Description -  */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t is_led_info_sup;
+	/* Description -  */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t is_sm_disabled;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t is_system_image_guid_sup;
+	/* Description -  */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t is_pkey_switch_external_port_trap_sup;
+	/* Description -  */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t is_cable_info_supported;
+	/* Description -  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t is_extended_speed_sup;
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t is_capability_mask2_supported;
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t is_communication_management_sup;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t is_snmp_tunneling_sup;
+	/* Description -  */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t is_reinit_sup;
+	/* Description -  */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t is_device_management_sup;
+	/* Description -  */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t is_vendor_class_sup;
+	/* Description -  */
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t is_dr_notice_sup;
+	/* Description -  */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t is_capability_mask_notice_sup;
+	/* Description -  */
+	/* 0x0.23 - 0x0.23 */
+	 u_int8_t is_boot_management_sup;
+	/* Description -  */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t is_link_round_trip_latency_sup;
+	/* Description -  */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t is_client_reregistration_sup;
+	/* Description -  */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t is_other_local_changes_notice_supported;
+	/* Description -  */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t is_link_speed_width_pairs_table_supported;
+	/* Description -  */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t is_vendor_specific_mads_table_supported;
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t hdr_63_32;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t is_multicast_pkey_trap_suppression_supported;
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t hdr_31_0;
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t is_multicast_fdb_top_supported;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t is_hierarchy_info_supported;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_advanced_error_cap_ctl {
+struct connectib_dcr_odp_event_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The first error reported in the Uncorrectable Error
-5'd15 : //CA(nsi) : can not happened, not supported by HW
-5'd0  : //Undefined (Previously was Link Training Error of PHy)
-5'd4  : //DLU  : log 32 MSB of the received DLLPs (not compliant)  
-5'd13 : //FCPE : have no hdr to log
-5'd19 : //ECRC
-5'd18 : //ML
-5'd17 : //OVF
-5'd16 : //UX
-5'd20 : //UR
-5'd15 : //CA(drx)  : have no hdr to log (not supported by HW in CX3)
-5'd12 : //Poison
-5'd14 : // CTO : have no hdr to log */
-	/* 0.0 - 0.4 */
-	 u_int8_t first_error_pointer;
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t ecrc_generation_cap;
-	/* Description - This bit when set enables ECRC generation (see Section 2.7).
- Default value of this field is 0.
-RWS */
-	/* 0.6 - 0.6 */
-	 u_int8_t ecrc_generation_enable;
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t dcrn;
 	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t ecrc_check_cap;
-	/* Description - This bit when set enables ECRC checking (see Section 2.7).
-Default value of this field is 0.
-RWS */
-	/* 0.8 - 0.8 */
-	 u_int8_t ecrc_check_enable;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t valid;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_correctable_error_mask {
+/* Size in bytes - 8 */
+struct connectib_flow_counter_list {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - RWS */
-	/* 0.0 - 0.0 */
-	 u_int8_t receiver_error_mask;
-	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t reserved1;
-	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t reserved2;
-	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t reserved3;
-	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t reserved4;
-	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t reserved5;
-	/* Description - RWS */
-	/* 0.6 - 0.6 */
-	 u_int8_t bad_tlp_mask;
-	/* Description - RWS */
-	/* 0.7 - 0.7 */
-	 u_int8_t bad_dllp_mask;
-	/* Description - RWS */
-	/* 0.8 - 0.8 */
-	 u_int8_t replay_num_rollover_mask;
-	/* Description -  */
-	/* 0.9 - 0.9 */
-	 u_int8_t reserved9;
-	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t reserved10;
-	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t reserved11;
-	/* Description - RWS */
-	/* 0.12 - 0.12 */
-	 u_int8_t replay_timer_timeout_mask;
-	/* Description - Advisory Non-Fatal Error Mask.
-This bit is Set by default to enable compatibility with software that
-does not comprehend Role-Based Error Reporting */
-	/* 0.13 - 0.13 */
-	 u_int8_t advisory_non_fatal_err_mask;
+	/* Description - Flow counter handle */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t flow_counter_id;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_correctable_error_status {
+/* Size in bytes - 8 */
+struct connectib_dest_format_struct {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - RW1CS */
-	/* 0.0 - 0.0 */
-	 u_int8_t receiver_error_status;
-	/* Description - RW1CS */
-	/* 0.6 - 0.6 */
-	 u_int8_t bad_tlp_status;
-	/* Description - RW1CS */
-	/* 0.7 - 0.7 */
-	 u_int8_t bad_dllp_status;
-	/* Description - RW1CS */
-	/* 0.8 - 0.8 */
-	 u_int8_t replay_num_rollover_status;
-	/* Description - RW1CS */
-	/* 0.12 - 0.12 */
-	 u_int8_t replay_timer_timeout_status;
-	/* Description - Advisory Non-Fatal Error Status
-RW1CS */
-	/* 0.13 - 0.13 */
-	 u_int8_t advisory_nonftl_err_status;
+	/* Description - When destination_type == VPORT - destination is vport number. Only 
+bits[15:0] are valid, bits[23:16] are reserved.
+When destination_type == FLOW_TABLE - destination is Flow Table Id.
+When destination_type == TIR - destination is TIR.
+When destination_type==QP - destination QP Number */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t destination_id;
+	/* Description - Defines the destination type. Valid only when action [FWD_DEST] is set
+0x
+0: VPORT
+0x
+1: FLOW_TABLE
+0x
+2: TIR
+0x3: QP */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t destination_type;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_uncorrectable_error_severity {
+struct connectib_odp_hca_params {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - RWS */
-	/* 0.0 - 0.0 */
-	 u_int8_t training_error_severity;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t reserved1;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t odp_rc;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t reserved2;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t odp_uc;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t reserved3;
-	/* Description - RWS */
-	/* 0.4 - 0.4 */
-	 u_int8_t data_link_protocol_error;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t odp_ud;
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t reserved5;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t odp_xrc;
 	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t reserved6;
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t odp_dc;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+union connectib_cmdif_ctx_special {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t reserved7;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_create c;
 	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t reserved8;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_modify_tir tir;
 	/* Description -  */
-	/* 0.9 - 0.9 */
-	 u_int8_t reserved9;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_modify_tis tis;
 	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t reserved10;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_qp_commands qp;
 	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t reserved11;
-	/* Description - RWS */
-	/* 0.12 - 0.12 */
-	 u_int8_t poisoned_tlp;
-	/* Description - RWS */
-	/* 0.13 - 0.13 */
-	 u_int8_t flow_control_protocol_error;
-	/* Description - RWS */
-	/* 0.14 - 0.14 */
-	 u_int8_t completion_timeout;
-	/* Description - RWS */
-	/* 0.15 - 0.15 */
-	 u_int8_t completer_abort;
-	/* Description - RWS */
-	/* 0.16 - 0.16 */
-	 u_int8_t unexpected_completion;
-	/* Description - RWS */
-	/* 0.17 - 0.17 */
-	 u_int8_t receiver_overflow;
-	/* Description - RWS */
-	/* 0.18 - 0.18 */
-	 u_int8_t malformed_tlp;
-	/* Description - RWS */
-	/* 0.19 - 0.19 */
-	 u_int8_t ecrc_error;
-	/* Description - RWS */
-	/* 0.20 - 0.20 */
-	 u_int8_t unsupported_request_error;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_uncorrectable_error_mask {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - RWS */
-	/* 0.0 - 0.0 */
-	 u_int8_t training_error_mask;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_create_rq rq;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t reserved1;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_create_srq srq;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t reserved2;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_create_xrq xrq;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t reserved3;
-	/* Description - RWS */
-	/* 0.4 - 0.4 */
-	 u_int8_t data_link_protocol_error;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_rqt rqt;
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t reserved5;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_create_eq eq;
 	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t reserved6;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_create_cq c_cq;
 	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t reserved7;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_modify_cq m_cq;
 	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t reserved8;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_mkey mkey;
 	/* Description -  */
-	/* 0.9 - 0.9 */
-	 u_int8_t reserved9;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_arm_rq arm_rq;
 	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t reserved10;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_special_modify_rmp modify_rmp;
 	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t reserved11;
-	/* Description - RWS */
-	/* 0.12 - 0.12 */
-	 u_int8_t poisoned_tlp;
-	/* Description - RWS */
-	/* 0.13 - 0.13 */
-	 u_int8_t flow_control_protocol_error;
-	/* Description - RWS */
-	/* 0.14 - 0.14 */
-	 u_int8_t completion_timeout;
-	/* Description - RWS */
-	/* 0.15 - 0.15 */
-	 u_int8_t completer_abort;
-	/* Description - RWS */
-	/* 0.16 - 0.16 */
-	 u_int8_t unexpected_completion;
-	/* Description - RWS */
-	/* 0.17 - 0.17 */
-	 u_int8_t receiver_overflow;
-	/* Description - RWS */
-	/* 0.18 - 0.18 */
-	 u_int8_t malformed_tlp;
-	/* Description - RWS */
-	/* 0.19 - 0.19 */
-	 u_int8_t ecrc_error;
-	/* Description - RWS */
-	/* 0.20 - 0.20 */
-	 u_int8_t unsupported_request_error;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_uncorrectable_error_status {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Undefined
-previously was training_error_status */
-	/* 0.0 - 0.0 */
-	 u_int8_t training_error_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_sniffer sniffer;
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t data_link_protocol_error_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_mcg mcg;
 	/* Description -  */
-	/* 0.12 - 0.12 */
-	 u_int8_t poisoned_tlp_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_psv psv;
 	/* Description -  */
-	/* 0.13 - 0.13 */
-	 u_int8_t flow_control_protocol_error_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_create_mtt mtt;
 	/* Description -  */
-	/* 0.14 - 0.14 */
-	 u_int8_t completion_timeout_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_dmfs_fte dmfs_fte;
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t completer_abort_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_dmfs_fg dmfs_fg;
 	/* Description -  */
-	/* 0.16 - 0.16 */
-	 u_int8_t unexpected_completion_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_dmfs_ft dmfs_ft;
 	/* Description -  */
-	/* 0.17 - 0.17 */
-	 u_int8_t receiver_overflow_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_l2_table l2_table;
 	/* Description -  */
-	/* 0.18 - 0.18 */
-	 u_int8_t malformed_tlp_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_modify_rq modify_rq;
 	/* Description -  */
-	/* 0.19 - 0.19 */
-	 u_int8_t ecrc_error_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_modify_sq modify_sq;
 	/* Description -  */
-	/* 0.20 - 0.20 */
-	 u_int8_t unsupported_request_error_status;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_create_lag lag;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_fpga_access_reg fpga_access_reg;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_cmdif_ctx_fpga_cap fpga_cap;
 };
 
-/* Description -  Basic address register high bits - for 64bit bar address length */
+/* Description -   */
 /* Size in bytes - 4 */
-struct connectib_bar_high {
+union connectib_flush_type {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - BAR[63:32] */
-	/* 0.0 - 4.31 */
-	 u_int32_t addr_63_32;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_flush_type_bits bits;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_flush_type_bitmask bitmask;
 };
 
-/* Description -  Basic address register low bits */
-/* Size in bytes - 4 */
-struct connectib_bar_low {
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_general_notification_delay_drop_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 0-map to memory space, 1-map to io space */
-	/* 0.0 - 0.0 */
-	 u_int8_t memory_or_io;
-	/* Description - address length: 0-mapping to the 32bit address space, 2-mapping to the 64bit address space */
-	/* 0.1 - 0.2 */
-	 u_int8_t type;
-	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t prefetchable;
-	/* Description - BAR[31:4] */
-	/* 0.4 - 4.31 */
-	 u_int32_t addr_31_4;
+	/* Description - The User Index of the RQ that cause the timeout */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t rq_user_index_delay_drop;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_pps_event {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Indicating the pin where PPS event was generated */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t pin;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - MSB of 
+t
+he device time when it was triggered from the exter
+nal GPIO pin. 
+In_time for ptp_in, and out_time for ptp_out.
+Time is in units of device clock. Device clock frequency can 
+be fetched from HCA_CAP.device_frequency */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t time_stamp_h;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - MSB of 
+t
+he device time when it was triggered from the exter
+nal GPIO pin. 
+In_time for ptp_in, and out_time for ptp_out.
+Time is in units of device clock. Device clock frequency can 
+be fetched from HCA_CAP.device_frequency */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t time_stamp_l;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_fpga_qp_error_event {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - 0x1: retry_counter_expired
+0x2: RNR_expired */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t syndrome;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - FPGA QP Number */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t fpga_qpn;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_fpga_error_event {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - 0x1: corrupted_ddr
+0x2: flash_timeout
+0x3: internal_link_error
+0x4: watchdog_failure
+0x5: I2C_failure
+0x6: Image_changed */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t syndrome;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_nic_vport_change_event {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Which function requested to claim or reclaim pages
+0 - my hca.
+others - function_id of specific vhca. used by vhca_group_man
+ager(HCA_CAP.vhca_group_manager ==1). */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t vport_num;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_pages_req_event {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Which function requested to claim or reclaim pages
+0 - my hca.
+others - function_id of specific vhca. used by vhca_group_man
+ager(HCA_CAP.vhca_group_manager ==1). */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t function_id;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Number of missing / unneeded pages (signed number, msb indicate sign). 
+This is just a recommendation for the driver. the actual number of pages 
+that the driver deliver to the device is as set in the MANAGE_PAGES 
+command. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t num_pages;
 };
 
-/* Description -  SR-IOV status register */
-/* Size in bytes - 2 */
-struct connectib_sriov_status {
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_cmd_inter_comp_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - VF Migration Status */
-	/* 0.0 - 0.0 */
-	 u_int8_t vf_mig_status;
+	/* Description - Bits in this vector are set for commands completed and not yet 
+reported by event */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t command_completion_vector;
 };
 
-/* Description -  SR-IOV control register */
-/* Size in bytes - 2 */
-struct connectib_sriov_control {
+/* Description -   */
+/* Size in bytes - 24 */
+struct connectib_stall_vl_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - VF Enable */
-	/* 0.0 - 0.0 */
-	 u_int8_t vf_enable;
-	/* Description - VF Migration Enable */
-	/* 0.1 - 0.1 */
-	 u_int8_t vf_migration_en;
-	/* Description - VF Migration Interrupt Enable */
-	/* 0.2 - 0.2 */
-	 u_int8_t vf_migration_int_en;
-	/* Description - VF MSE */
-	/* 0.3 - 0.3 */
-	 u_int8_t vf_mse;
-	/* Description - ARI Capable Hierarchy */
-	/* 0.4 - 0.4 */
-	 u_int8_t ari_capable_hierarchy;
+	/* Description - VL number */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t vl;
+	/* Description - port number */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t port_num;
 };
 
-/* Description -  SR-IOV capability struct */
-/* Size in bytes - 4 */
-struct connectib_sriov_capabilities {
+/* Description -   */
+/* Size in bytes - 24 */
+struct connectib_db_bf_congestion_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - VF migration capable */
-	/* 0.0 - 0.0 */
-	 u_int8_t vf_mig_capable;
-	/* Description - ARI Capable Hierarchy Preserved */
-	/* 0.1 - 0.1 */
-	 u_int8_t ari_cap_hier_preserved;
-	/* Description - VF Migration Interrupt Message Number */
-	/* 0.21 - 4.31 */
-	 u_int16_t vf_mig_int_msg_num;
+	/* Description - 0 - N/A
+1 - Mild congestion
+...
+7 - Severe congestion */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t congestion_level;
+	/* Description - 0 - Doorbell congestion
+1 - BlueFlame congestion */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t event_subtype;
 };
 
 /* Description -   */
-/* Size in bytes - 2 */
-struct connectib_ari_control {
+/* Size in bytes - 16 */
+struct connectib_temp_warning_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t mfvc_en;
-	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t acs_en;
-	/* Description -  */
-	/* 0.4 - 0.6 */
-	 u_int8_t func_group;
+	/* Description - Bit vector indicating which of the sensor reading is above thresh;old.;Address 00h bit31 is sensor_warning[127];Address 0Ch bit0 is sensor_warning[0] */
+	/* 0x0.0 - 0x10.31 */
+	 u_int32_t sensor_warning[4];
 };
 
 /* Description -   */
-/* Size in bytes - 2 */
-struct connectib_ari_capabilities {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t mfvc;
-	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t acs;
-	/* Description - next pf number */
-	/* 0.8 - 0.15 */
-	 u_int8_t next_func_num;
+/* Size in bytes - 28 */
+struct connectib_dcbx_change_event {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Event subtype.
+0x1: ERROR_STATE - DCBX has reached an error state. The 
+error is reported in the error field. The error enumeration is 
+according to its definition in error field in the DCBX_PARAM 
+register. 
+0x2: REMOTE_CONFIG_CHANGE - Change in remote 
+party config. New parameters reported by PFCC, QTCT, 
+QETCR and DCBX_PARAM registers for remote config 
+change.
+0x3: LOCAL_OPER_CANGE - Change in local party opera
+tional state. New parameters reported by PFCC, QTCT, 
+QETCR and DCBX_PARAM registers for local operational 
+change 
+0x4: REMOTE_CONFIG_APPLICATION_PRIORI
+TY_CHANGE - Change in DCBX_APPLICATION register. 
+No event data is attached. */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t event_sub_type;
+	/* Description - Indicates the error cause the event.
+valid only when event_sub_type==ERROR_STATE. */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t error;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_lane_eql_ctl {
+/* Size in bytes - 28 */
+struct connectib_port_module_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t downstream_port_transmitter_preset0;
-	/* Description -  */
-	/* 0.4 - 0.6 */
-	 u_int8_t downstream_port_receiver_preset_hint0;
-	/* Description -  */
-	/* 0.8 - 0.11 */
-	 u_int8_t upstream_port_transmitter_preset0;
-	/* Description -  */
-	/* 0.12 - 0.14 */
-	 u_int8_t upstream_port_receiver_preset_hint0;
-	/* Description -  */
-	/* 0.16 - 0.19 */
-	 u_int8_t downstream_port_transmitter_preset1;
-	/* Description -  */
-	/* 0.20 - 0.22 */
-	 u_int8_t downstream_port_receiver_preset_hint1;
-	/* Description -  */
-	/* 0.24 - 0.27 */
-	 u_int8_t upstream_port_transmitter_preset1;
-	/* Description -  */
-	/* 0.28 - 0.30 */
-	 u_int8_t upstream_port_receiver_preset_hint1;
+	/* Description - Module Status.
+0x1: 
+P
+lugged
+0x2:
+ 
+U
+nplugged
+0x3: 
+M
+odule plugged with Error
+-
+ Details in errors reported in 
+error_type field. */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t module_status;
+	/* Description - Module Number.
+SW can use PMLP register to know port number to module 
+number mapping. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t module;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Module error type. Valid when module_status==0x3
+0x0: Power Budget Exceeded
+0x1: Long Range for non MLNX cable/module
+0x2: Bus stuck(I2C or data shorted)
+0x3: No EEPROM/retry timeout
+0x4: Enforce part number list
+0x5: Unknown identifier
+0x6: High Temperature
+0x7: Cable is shorted */
+	/* 0x4.8 - 0x4.11 */
+	 u_int8_t error_type;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_pciex_link_ctl3 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t perform_equalization;
-	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t link_equalization_req_int_en;
+/* Size in bytes - 28 */
+struct connectib_gpio_event {
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - If any bit is set to '1', then a rising/falling event has occurred 
+on the corresponding GPIO pin. */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t gpio_event_hi;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - If any bit is set to '1', then a rising/falling event has occurred 
+on the corresponding GPIO pin. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t gpio_event_lo;
 };
 
 /* Description -   */
-/* Size in bytes - 2 */
-struct connectib_message_control {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - num of msix vectors */
-	/* 0.0 - 0.10 */
-	 u_int16_t table_size;
-	/* Description - If 1, all vectors of this function are masked regardless of their per vector mask bit   */
-	/* 0.14 - 0.14 */
-	 u_int8_t function_mask;
-	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t msix_en;
+/* Size in bytes - 28 */
+struct connectib_port_state_change_event {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Port number */
+	/* 0x8.28 - 0x8.31 */
+	 u_int8_t port_num;
 };
 
-/* Description -  PCI express link status register2 */
-/* Size in bytes - 2 */
-struct connectib_link_stat2 {
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_dropped_packet_logged {
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_cq_error {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t current_de_emphasis_level;
-	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t equalization_complete;
-	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t equalization_phase1_successful;
-	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t equalization_phase2_successful;
-	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t equalization_phase3_successful;
-	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t link_equalization_request;
+	/* Description - CQ number event is reported for */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t cqn;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - 0x1: CQ_overrun
+0x2: CQ_access_violation_error */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t syndrome;
 };
 
-/* Description -  PCI express link control register2 */
-/* Size in bytes - 2 */
-struct connectib_link_ctl2 {
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_rdma_page_fault_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t target_link_speed;
-	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t enter_compliance;
-	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t hardware_autonomus_speed_disable;
-	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t selectable_de_emphasis;
-	/* Description -  */
-	/* 0.7 - 0.9 */
-	 u_int8_t transmit_margin;
-	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t modified_compliance;
-	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t compliance_sos;
-	/* Description -  */
-	/* 0.12 - 0.15 */
-	 u_int8_t compliance_preset_de_emphasis;
+	/* Description - The number of bytes already sent/received in this WQE before the fault. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t bytes_committed;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The R-key used for the RDMA transaction which caused the fault. */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t r_key;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The length of the packet received/constructed for transmission when the 
+fault occurred. Measured in bytes.
+This can be used on RDMA write operations, where we do not always 
+know the rdma_op_len. The software may attempt to prefetch memory 
+based on the event attributes, but must make sure it can map the pages 
+needed for packet_len bytes. */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t packet_len;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The length of the RDMA operation, in bytes. If the HW cannot reliably 
+report the length, it will put 0 in this field, and the driver should perform 
+prefetching based on access pattern */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t rdma_op_len;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The VA used for the beginning of the RDMA operation, upper 32-bits. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t rdma_va_hi;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - The VA used for the beginning of the RDMA operation, lower 32-bits. */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t rdma_va_lo;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - The QP on which the fault occurred */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t qpn;
+	/* Description - If set, the fault happened on the requestor (initiator) side of the QP.
+Not set - responder side of the QP */
+	/* 0x18.24 - 0x18.24 */
+	 u_int8_t requestor;
+	/* Description - If set, the operation attempted was writing memory. 
+Not set - reading from memory */
+	/* 0x18.25 - 0x18.25 */
+	 u_int8_t write_read_;
+	/* Description - 1 - RDMA associated page fault.
+0 - WQE associated page fault */
+	/* 0x18.26 - 0x18.26 */
+	 u_int8_t rdma;
 };
 
-/* Description -  PCI express link capabilities register2 */
-/* Size in bytes - 4 */
-struct connectib_link_caps2 {
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_wqe_associated_page_fault_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.1 - 0.7 */
-	 u_int8_t supported_link_speed_vector;
-	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t cross_link_supported;
+	/* Description - The number of bytes already sent/received in this WQE before the fault. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t bytes_committed;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - The WQE index (from beginning of the relevant queue, in WQEBB 
+units) where the fault occurred */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t wqe_index;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Length of memory access operation that experienced a page fault.
+For page faults on send operations in the responder side we need to know 
+how much of the WQE's memory we must fetch successfully. We may 
+try to fetch more of the WQE's memory, beyond the needs of the current 
+packet, but a failure to do that will not cause a QP error. */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t len;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - The QP
+ number on which the fault occurred */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t qpn;
+	/* Description - If set, the fault happened on the requestor (initiator) side of the QP.
+Not set - responder side of the QP */
+	/* 0x18.24 - 0x18.24 */
+	 u_int8_t requestor;
+	/* Description - If set, the operation attempted was writing memory. 
+Not set - reading from memory */
+	/* 0x18.25 - 0x18.25 */
+	 u_int8_t write_read;
+	/* Description - 1 - RDMA associated page fault
+0 - WQE associated page fault */
+	/* 0x18.26 - 0x18.26 */
+	 u_int8_t rdma;
 };
 
-/* Description -  PCI express device status register2 */
-/* Size in bytes - 2 */
-struct connectib_device_stat2 {
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_qp_events {
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Queue type
+0: QP
+1: RQ
+2: SQ */
+	/* 0x14.24 - 0x14.31 */
+	 u_int8_t type;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Indicates 
+QPN, 
+SQN or RQN depending on type field. */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t qpn_rqn_sqn;
 };
 
-/* Description -  PCI express device control register2 */
-/* Size in bytes - 2 */
-struct connectib_device_ctl2 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t completion_timeout_value;
-	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t completion_timeout_disable;
-	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t ari_forwarding_enable;
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_dct_events {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.13 - 0.14 */
-	 u_int8_t obff_enable;
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t dctn;
 };
 
-/* Description -  PCI express device capabilities register2 */
-/* Size in bytes - 4 */
-struct connectib_device_caps2 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t completion_timeout_ranges_supported;
-	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t completion_timeout_disable_supported;
-	/* Description -  */
-	/* 0.5 - 0.7 */
-	 u_int8_t ari_forwarding_supported;
-	/* Description -  */
-	/* 0.18 - 0.19 */
-	 u_int8_t obff_supported;
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_comp_event {
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.20 - 0.20 */
-	 u_int8_t extended_fmt_field_supported;
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t cqn;
 };
 
-/* Description -  PCI express link status register */
-/* Size in bytes - 2 */
-struct connectib_link_stat {
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_sw_eqe_flat_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t link_speed;
-	/* Description -  */
-	/* 0.4 - 0.9 */
-	 u_int8_t negotiated_link_width;
-	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t training_error;
-	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t link_training;
-	/* Description -  */
-	/* 0.12 - 0.12 */
-	 u_int8_t slot_clock_cfg;
+	/* 0x0.0 - 0x1c.31 */
+	 u_int32_t data[7];
 };
 
-/* Description -  PCI express link control register */
-/* Size in bytes - 2 */
-struct connectib_link_ctl {
+/* Description -   */
+/* Size in bytes - 268 */
+struct connectib_generic_flash_reg_access_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.1 */
-	 u_int8_t aspm_control;
-	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t rcb;
-	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t common_clock_configuration;
-	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t extended_synch;
-	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t enable_clock_power_management;
+	/* 0x0.0 - 0x2c.31 */
+	 union connectib_reg_access_reg_tlv_data reg_data;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - reg access is shared with smp mads that are limited to 0x40B */
+	/* 0x2c.0 - 0x10c.31 */
+	 u_int32_t more_data[56];
 };
 
-/* Description -  PCI express link capabilities register */
-/* Size in bytes - 4 */
-struct connectib_link_caps {
+/* Description -   */
+/* Size in bytes - 264 */
+union connectib_access_register_data_layout {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t max_link_speed;
-	/* Description -  */
-	/* 0.4 - 0.9 */
-	 u_int8_t max_link_width;
-	/* Description -  */
-	/* 0.10 - 0.11 */
-	 u_int8_t aspm_support;
-	/* Description -  */
-	/* 0.12 - 0.14 */
-	 u_int8_t l0s_exit_latency;
-	/* Description -  */
-	/* 0.15 - 0.17 */
-	 u_int8_t l1_exit_latency;
-	/* Description -  */
-	/* 0.18 - 0.18 */
-	 u_int8_t clock_power_management;
-	/* Description -  */
-	/* 0.19 - 0.19 */
-	 u_int8_t surprise_down_error_reporting_cap;
-	/* Description -  */
-	/* 0.20 - 0.20 */
-	 u_int8_t link_active_reporting_cap;
+	/* 0x0.0 - 0x48.31 */
+	 struct connectib_mcam_reg mcam_reg;
 	/* Description -  */
-	/* 0.21 - 0.21 */
-	 u_int8_t link_bw_notification_cap;
+	/* 0x0.0 - 0x50.31 */
+	 struct connectib_pcam_reg pcam_reg;
 	/* Description -  */
-	/* 0.22 - 0.22 */
-	 u_int8_t aspm_optionality_compliance;
+	/* 0x0.0 - 0x50.31 */
+	 struct connectib_qetcr_reg qetcr;
 	/* Description -  */
-	/* 0.24 - 4.31 */
-	 u_int8_t port_number;
-};
-
-/* Description -  PCI express device status register */
-/* Size in bytes - 2 */
-struct connectib_device_stat {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_qpdp_reg qpdp;
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t correctable_error;
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_qtct_reg qtct;
+	/* Description - Table 363 - QHLL - QoS Head of Queue Lifetime Limit Register Layout */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_qhll qhll;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t non_fatal_error;
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_mlcr mlcr;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t fatal_error;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_dcbx_param_reg dcbx;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t unsupported_request;
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_dcbx_app_reg dcbx_app;
+	/* Description - register_set_node */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_register_set_node register_set_node;
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t aux_power;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_access_register_unit_perf_counters_cfg perf_counters_cfg;
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t transactions_pending;
-};
-
-/* Description -  PCI express device control register */
-/* Size in bytes - 2 */
-struct connectib_device_ctl {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_access_register_unit_perf_counters_data perf_counters_data;
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t correctable_error_report;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_register_unit_perf_counters_global_ctrl perf_counters_global_ctrl;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t non_fatal_error_report;
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_access_register_unit_port_capabilities port_capabilities_reg;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t fatal_error_report;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_pfcc_reg port_flow_control_cfg_reg;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t unsupported_request_report;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_register_loopback_control loopback_control_reg;
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t relaxed_ordering;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_register_power_settings power_settings_reg;
 	/* Description -  */
-	/* 0.5 - 0.7 */
-	 u_int8_t max_payload_size;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_register_fp_sl_map fp_sl_map_reg;
+	/* Description - register_host_endianness layout */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_register_host_endianness register_host_endianness;
+	/* Description - register_pplr */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_register_pplr register_pplr;
+	/* Description - misc_counters */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_register_misc_counters misc_counters;
 	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t extended_tag_field_en;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_db_threshold_register_layout db_threshold;
 	/* Description -  */
-	/* 0.9 - 0.9 */
-	 u_int8_t phantom_funcs;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_register_mfpa flash_mfpa;
 	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t aux_power;
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_register_mfba flash_mfba;
 	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t no_snoop;
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_register_mfbe flash_mfbe;
+	/* Description - Table 236 - PAOS - Ports Administrative and Operational Status Register Layout */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_paos_reg access_register_paos;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_pmtu_reg access_register_pmtu;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_pmlp_reg access_register_pmlp;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_ptys_reg access_register_ptys;
+	/* Description -  */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_ppcnt_reg access_register_ppcnt;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_pvlc_reg access_register_pvlc;
+	/* Description - Table 307 - [Internal] PPAMP - Port Phy opAMP data Register Layout */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_pamp_reg access_register_pamp;
+	/* Description - Table 315 - PTAS - Phy Tuning Algorithm Settings Register Layout */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_ptas_reg access_register_ptas;
+	/* Description - Table 313 - SLRG - Serdes Lane Receive Grade Register Layout */
+	/* 0x0.0 - 0x28.31 */
+	 struct connectib_slrg_reg access_register_slrg;
+	/* Description - Serdes Lane Receive Parameters */
+	/* 0x0.0 - 0x28.31 */
+	 struct connectib_slrp_reg access_register_slrp;
+	/* Description - Table 311 - [Internal] SLTP - Serdes Lane Transmit Parameters Register Layout */
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_sltp_reg access_register_sltp;
+	/* Description - Table 291 - PPLR - Port Physical Loopback Register Layout */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_pplr_reg access_register_pplr;
+	/* Description - Table 297 - PLPC - Phy Link Profiles Control Register Layout */
+	/* 0x0.0 - 0x28.31 */
+	 struct connectib_plpc_reg access_register_plpc;
+	/* Description - Table 299 - PPLM - Port Phy Link Mode Register Layout */
+	/* 0x0.0 - 0x18.31 */
+	 struct connectib_pplm_reg access_register_pplm;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_ppad_reg access_register_ppad;
+	/* Description - mcia - misc cable info access */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_mcia_reg access_register_mcia;
+	/* Description - Table 438 - pcie info register */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_mpein_reg access_register_mpein;
+	/* Description - Table 440 */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_mpcnt_reg access_register_mpcnt;
+	/* Description -  */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_pddr_reg access_register_pddr;
+	/* Description - Table 440 */
+	/* 0x0.0 - 0x18.31 */
+	 struct connectib_mcion_reg access_register_mcion;
+	/* Description -  */
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_pptt_reg access_register_pptt;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_pprt_reg access_register_pprt;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_ppaos_reg access_register_ppaos;
+	/* Description - Table 406 - PCMR - Ports Check Mask Register Layout */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_pcmr_reg access_register_pcmr;
+	/* Description - Port Module Memory Map Properties Register */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_pmmp_reg access_register_pmmp;
+	/* Description - Port Module Control Register */
+	/* 0x0.0 - 0x18.31 */
+	 struct connectib_pmcr_reg access_register_pmcr;
+	/* Description - Table 344 - FPGA_ACCESS_REG_SPACE Register Layout */
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_fpga_access_reg fpga_access_reg;
+	/* Description - Table 338 - FPGA_CAP Register Layout */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_fpga_cap fpga_cap;
+	/* Description - Table 342 - FPGA_CTRL Register Layout */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_fpga_ctrl fpga_ctrl;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_mtpps_reg access_register_mtpps;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_mtppse_reg access_register_mtppse;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_pmaos_reg access_register_pmaos;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_scheduling_context {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Type of Scheduling Element
+0x0: TSAR
+0x1: VPORT
+0x2: VPORT_TC
+0x3: PARA_VPORT_TC
+other values are reserved */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t element_type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Specific attributes according to the 
+element_type
+.
+TSAR - 
+ See Table 1465, "
+TSAR Element Attributes Format
+," on 
+page 1082
+VPORT - 
+ See Table 1467, "
+VPORT Element Attributes Format
+," on 
+page 1082
+VPORT_TC - 
+ See Table 1469, "
+VPORT_TC Element Attributes 
+Format
+," on page 1083
+PARA_VPORT_TC - 
+ See Table 1471, "
+PARA_VPORT_TC Ele
+ment Attributes Format
+," on page 1083 */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t element_attributes;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Identifier of the Scheduling element to which the created Scheduling 
+element will be connected. This field is reserved for the root TSAR. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t parent_element_id;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - The relative BW share allocated for this element. This field has no 
+units. The BW is shared between all elements connected to the same 
+parent element, relatively to their 
+bw_share
+.
+Value 0x0 indicates a device default Weight. This field is reserved 
+for the root TSAR */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t bw_share;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - The maximal transmission rate allowed for the element, averaged 
+over time. 
+Value is given in units of 1 Mbit/sec.
+Value 0x0 indicates the rate is unlimited. */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t max_average_bw;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_fw_ipoib_meta {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.12 - 0.14 */
-	 u_int8_t max_read_request_size;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t q_key;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t initiate_function_level_reset;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t pkey_index;
 };
 
-/* Description -  PCI express device capabilities register */
-/* Size in bytes - 4 */
-struct connectib_device_caps {
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_fw_q_counters {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.2 */
-	 u_int8_t max_payload_size_supported;
-	/* Description -  */
-	/* 0.3 - 0.4 */
-	 u_int8_t phantom_funcs;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t extended_tag_field_sup;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t duplicate_request;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.6 - 0.8 */
-	 u_int8_t l0s_acceptable_latency;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t rnr_nack_retry_err;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.9 - 0.11 */
-	 u_int8_t l1_acceptable_latency;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t packet_seq_err;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t role_based_error_reporting;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t implied_nack_seq_err;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 0.18 - 0.25 */
-	 u_int8_t captured_slot_power_limit_value;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t local_ack_timeout_err;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.26 - 0.27 */
-	 u_int8_t captured_slot_power_limit_scale;
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t resp_rnr_nak;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t function_level_reset_capability;
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t req_rnr_retries_exceeded;
 };
 
-/* Description -  PCI express device capabilities reg1 */
-/* Size in bytes - 2 */
-struct connectib_pciex_cap {
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_fw_transport_domain {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t version;
-	/* Description -  */
-	/* 0.4 - 0.7 */
-	 u_int8_t device_port_type;
-	/* Description - slot implemented */
-	/* 0.9 - 0.9 */
-	 u_int8_t slot;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.10 - 0.14 */
-	 u_int8_t int_message_num;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t sq_list_size;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_exp_rom {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - expansion ROM exist */
-	/* 0.0 - 0.0 */
-	 u_int8_t exp_rom_en;
-	/* Description - ADDR[31:11] */
-	/* 0.11 - 4.31 */
-	 u_int32_t addr_31_11;
+/* Size in bytes - 32 */
+struct connectib_vqos_arb_ctx {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 1 arbiter is allowed to distribute tokens */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t allowed;
+	/* Description - ID of the lower level arbiter */
+	/* 0x0.1 - 0x0.11 */
+	 u_int16_t father_id;
+	/* Description - arbiter's weight for consuming tokens */
+	/* 0x0.12 - 0x0.15 */
+	 u_int8_t weight;
+	/* Description - Sum of childrens weights */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t sum_of_weights;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - arbiters amount of tokens */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t token_count;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - cweight for rate limiter */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t cweight;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - ctoken count */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t ctoken_count;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - indication for being the first sq to need tokens from father */
+	/* 0x10.0 - 0x10.0 */
+	 u_int8_t i_am_first;
 };
 
 /* Description -   */
-/* Size in bytes - 2 */
-struct connectib_stat_reg1 {
+/* Size in bytes - 64 */
+struct connectib_dc_control_packet_desc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t int_status;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t dlid;
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t capabilities_list;
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t slid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t master_data_perr;
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t source_qp;
 	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t signaled_ta;
+	/* 0x4.24 - 0x4.24 */
+	 u_int8_t valid;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.12 - 0.12 */
-	 u_int8_t received_ta;
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t dest_qp;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.13 - 0.13 */
-	 u_int8_t received_ma;
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t psn;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.14 - 0.14 */
-	 u_int8_t signaled_serr;
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t pkey;
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t detected_perr;
-};
-
-/* Description -   */
-/* Size in bytes - 2 */
-struct connectib_cmd_reg1 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x10.16 - 0x10.19 */
+	 u_int8_t sl;
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t io_space;
+	/* 0x10.20 - 0x10.20 */
+	 u_int8_t port_id;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t memory_space;
+	/* 0x10.21 - 0x10.21 */
+	 u_int8_t has_grh;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t bus_master_en;
+	/* 0x10.22 - 0x10.22 */
+	 u_int8_t force_loopback;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t perr_enable;
+	/* 0x14.0 - 0x14.15 */
+	 u_int16_t dct_gvmi;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t serr_enable;
+	/* 0x18.0 - 0x18.7 */
+	 u_int8_t tclass;
 	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t int_disable;
+	/* 0x18.8 - 0x18.15 */
+	 u_int8_t hop_limit;
+	/* Description -  */
+	/* 0x18.16 - 0x18.31 */
+	 u_int16_t flow_label;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x30.31 */
+	 struct connectib_ib_gid dgid;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x40.31 */
+	 struct connectib_ib_gid sgid;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_nv_tlv_data_vpi_settings {
+/* Size in bytes - 64 */
+union connectib_dmfs_resources {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t network_link_type_ib;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_dmfs_fg_meta fg_meta;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t network_link_type_eth;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_dmfs_ft_meta ft_meta;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t default_link_type_ib;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_dmfs_fte_meta fte_meta;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t default_link_type_eth;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_dword_val {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_l2_table_entry_fw_ctx l2_table_entry_fw_ctx;
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t val;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_flow_counter_fw_ctx flow_counter_fw_ctx;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_dmfs_encap_meta encap_meta;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_port_cap_mask1_fields {
+/* Size in bytes - 8 */
+struct connectib_list_element {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t is_sm;
+	/* 0x0.0 - 0x0.24 */
+	 u_int32_t next;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t is_notice_sup;
+	/* 0x0.25 - 0x0.30 */
+	 u_int8_t list_ix;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t is_trap_sup;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t in_list;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t is_optional_ipd_sup;
+	/* 0x4.0 - 0x4.24 */
+	 u_int32_t prev;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_fw_rqt {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t is_automatic_migration_sup;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t is_sl_mapping_sup;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t rqt_max_size;
 	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t is_mkey_nvram;
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t rqt_actual_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t is_pkey_nvram;
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t lro_max_ip_payload_size;
 	/* Description -  */
-	/* 0.9 - 0.9 */
-	 u_int8_t is_led_info_sup;
+	/* 0x8.8 - 0x8.11 */
+	 u_int8_t lro_enable_mask;
 	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t is_sm_disabled;
+	/* 0x8.12 - 0x8.12 */
+	 u_int8_t tunneled_offload_en;
 	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t is_system_image_guid_sup;
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t lro_timeout_period_usecs;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.12 - 0.12 */
-	 u_int8_t is_pkey_switch_external_port_trap_sup;
+	/* 0xc.0 - 0xc.1 */
+	 u_int8_t rss_qpn_size;
 	/* Description -  */
-	/* 0.13 - 0.13 */
-	 u_int8_t is_cable_info_supported;
+	/* 0xc.2 - 0xc.25 */
+	 u_int32_t rss_indirection_table_base_qpn;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.14 - 0.14 */
-	 u_int8_t is_extended_speed_sup;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t rqt_hw_data_ix;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t is_capability_mask2_supported;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t rqt_fw_data_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_fw_cqc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.16 - 0.16 */
-	 u_int8_t is_communication_management_sup;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 0x0 = Ok
+0x1 = Error: CQ Overrun
+0x2 = Error: Access Violation */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t cq_status;
 	/* Description -  */
-	/* 0.17 - 0.17 */
-	 u_int8_t is_snmp_tunneling_sup;
+	/* 0x4.8 - 0x4.11 */
+	 u_int8_t trap_reason;
 	/* Description -  */
-	/* 0.18 - 0.18 */
-	 u_int8_t is_reinit_sup;
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t in_cq_overrun_list;
 	/* Description -  */
-	/* 0.19 - 0.19 */
-	 u_int8_t is_device_management_sup;
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t in_eq_overrun_list;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_fw_psv {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.20 - 0.20 */
-	 u_int8_t is_vendor_class_sup;
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t pd;
 	/* Description -  */
-	/* 0.21 - 0.21 */
-	 u_int8_t is_dr_notice_sup;
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t fw_marked_sigerr;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_fw_mkc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.22 - 0.22 */
-	 u_int8_t is_capability_mask_notice_sup;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.23 - 0.23 */
-	 u_int8_t is_boot_management_sup;
+	/* 0x4.0 - 0x4.30 */
+	 u_int32_t state;
 	/* Description -  */
-	/* 0.24 - 0.24 */
-	 u_int8_t is_link_round_trip_latency_sup;
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t sync_umr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.25 - 0.25 */
-	 u_int8_t is_client_reregistration_sup;
+	/* 0x8.0 - 0xc.31 */
+	 struct connectib_mkey_dump mkey_dump;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.26 - 0.26 */
-	 u_int8_t is_other_local_changes_notice_supported;
+	/* 0xc.0 - 0xc.0 */
+	 u_int8_t next_num_of_sigerr;
 	/* Description -  */
-	/* 0.27 - 0.27 */
-	 u_int8_t is_link_speed_width_pairs_table_supported;
+	/* 0xc.1 - 0xc.1 */
+	 u_int8_t pg_access;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_fw_cre {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t is_vendor_specific_mads_table_supported;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_fw_srqc fw_srqc;
 	/* Description -  */
-	/* 0.29 - 0.29 */
-	 u_int8_t is_multicast_pkey_trap_suppression_supported;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_fw_qpc fw_qpc;
 	/* Description -  */
-	/* 0.30 - 0.30 */
-	 u_int8_t is_multicast_fdb_top_supported;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_fw_tir fw_tir;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t is_hierarchy_info_supported;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_fw_tis fw_tis;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_ib_port_counters {
+/* Size in bytes - 4 */
+struct connectib_fw_basic_res_ctx {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Total number of times the Port Training state machine has failed the link error recovery process and downed the link. Refer to the InfiniBand Architecture Specification, Volume 2, Link/Phy Interface. */
-	/* 0.0 - 0.7 */
-	 u_int8_t link_downed_counter;
-	/* Description - Total number of times the Port Training state machine has successfully completed the link error recovery. */
-	/* 0.8 - 0.15 */
-	 u_int8_t link_error_recovery_counter;
-	/* Description - Total number of minor link errors detected on one or more physical lanes. */
-	/* 0.16 - 4.31 */
-	 u_int16_t symbol_error_counter;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Total number of packets marked with the EBP delimiter received on the port. */
-	/* 4.0 - 4.15 */
-	 u_int16_t port_rcv_remote_physical_errors;
-	/* Description - Total number of packets containing an error that were received on the port. */
-	/* 4.16 - 8.31 */
-	 u_int16_t port_rcv_errors;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.15 */
-	 u_int16_t port_xmit_discards;
-	/* Description - Total number of packets received on the port that were discarded because they could not be forwarded by the switch relay. */
-	/* 8.16 - 12.31 */
-	 u_int16_t port_rcv_switch_relay_errors;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - The number of times that OverrunErrors consecutive flow control update periods occurred., each having at least one overrun error. */
-	/* 12.0 - 12.3 */
-	 u_int8_t excessive_buffer_overrun_errors;
-	/* Description - The number of times that the count of local physical errors exceeded the threshold */
-	/* 12.4 - 12.7 */
-	 u_int8_t local_link_integrity_errors;
-	/* Description - Total number of packets received on the port that are discarded. */
-	/* 12.16 - 12.23 */
-	 u_int8_t port_rcv_constraint_errors;
-	/* Description - Total number of packets not transmitted from the port for the following reasons: " FilterRawOutbound is true and packet is raw " PartitionEnforcementOutbound is true and packet fails partition key check or IP version check */
-	/* 12.24 - 16.31 */
-	 u_int8_t port_xmit_constraint_errors;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - Number of incoming VL15 packets dropped due to resource limitations (e.g., lack of buffers) in the port */
-	/* 16.0 - 16.15 */
-	 u_int16_t vl15_dropped;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - Optional; shall be zero if not implemented. Total number of data octets, divided by 4, transmitted on all VLs from the port. This includes all octets between (and not including) the start of packet delimiter and the VCRC, and may include packets containing errors. */
-	/* 20.0 - 24.31 */
-	 u_int32_t port_xmit_data;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Optional; shall be zero if not implemented. Total number of data octets, divided by 4, received on all VLs at the port. This includes all octets between (and not including) the start of packet delimiter and the VCRC, and may include packets containing errors. */
-	/* 24.0 - 28.31 */
-	 u_int32_t port_rcv_data;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - Optional; shall be zero if not implemented. Total number of packets transmitted on all VLs from the port. */
-	/* 28.0 - 32.31 */
-	 u_int32_t port_xmit_pkts;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - Optional; shall be zero if not implemented. Total number of packets, including packets containing errors */
-	/* 32.0 - 36.31 */
-	 u_int32_t port_rcv_pkts;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - If ClassPortInfo:CapabilityMask.PortCountersXmitWaitSupported
-is set to 1, the number of ticks during which the port
-selected by PortSelect had data to transmit but no data was sent
-during the entire tick either because of insufficient credits or
-because of lack of arbitration.
-Otherwise, undefined. */
-	/* 36.0 - 40.31 */
-	 u_int32_t port_xmit_wait;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_llr_counters {
+/* Size in bytes - 48 */
+struct connectib_fw_alt_path {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The total number of cells recieved (including bad cells) */
-	/* 0.0 - 4.31 */
-	 u_int32_t llr_rx_cells_high;
+	/* Description - ads layout */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_sw_ads alt;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_fw_eqc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Note: ref_counter must be in offset 0x0 ! */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_ref_count fw_ref_count;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 0x0 = Ok
+0x2 = Error: Access Violation */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t eq_status;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t llr_rx_cells_low;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - The total number of bad cells recieved (including CRC error) */
-	/* 8.0 - 12.31 */
-	 u_int32_t llr_rx_error_high;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t llr_rx_error_low;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - The total number of cells recieved with CRC error */
-	/* 16.0 - 20.31 */
-	 u_int32_t llr_rx_crc_error_high;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t llr_rx_crc_error_low;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - The total number of cells transmitted (including retransmitted cells) */
-	/* 24.0 - 28.31 */
-	 u_int32_t llr_tx_cells_high;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x4.8 - 0x4.11 */
+	 u_int8_t trap_reason;
 	/* Description -  */
-	/* 28.0 - 32.31 */
-	 u_int32_t llr_tx_cells_low;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - The total number of cells retransmitted */
-	/* 32.0 - 36.31 */
-	 u_int32_t llr_tx_ret_cells_high;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* 0x4.16 - 0x4.20 */
+	 u_int8_t log_page_size;
 	/* Description -  */
-	/* 36.0 - 40.31 */
-	 u_int32_t llr_tx_ret_cells_low;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - The total number of retransmission events */
-	/* 40.0 - 44.31 */
-	 u_int32_t llr_tx_ret_events_high;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t needs_eq_probe;
 	/* Description -  */
-	/* 44.0 - 48.31 */
-	 u_int32_t llr_tx_ret_events_low;
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t in_eq_overrun_list;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_discard_cntrs_grp_data {
+/* Size in bytes - 64 */
+struct connectib_hw_qp_counter {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t ingress_general_high;
+	/* Description - Only RX (Out-of-buffer induced dropped Rx packet count) */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t pkt_nobuffer_drop;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t ingress_general_low;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t pkt_good_unicast;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t ingress_policy_engine_high;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t pkt_good_multicast;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t ingress_policy_engine_low;
+	/* Description - RX - Error induced dropped Rx packet count. SX - Dropped Tx packet count */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t pkt_dropped;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t ingress_vlan_membership_high;
+	/* Description - Only RX */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t msg_write_req;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t ingress_vlan_membership_low;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t msg_rnr_nack;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t ingress_tag_frame_type_high;
+	/* Description - RX: Read Requests. SX : Read Responses */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t msg_read;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
-	 u_int32_t ingress_tag_frame_type_low;
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t msg_dct_connect;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description -  */
-	/* 32.0 - 36.31 */
-	 u_int32_t egress_vlan_membership_high;
+	/* Description - RX: Atomic Requests. SX : Atomic Ack */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t msg_atomic;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.0 - 40.31 */
-	 u_int32_t egress_vlan_membership_low;
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t fw_reserved;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description -  */
-	/* 40.0 - 44.31 */
-	 u_int32_t loopback_filter_high;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description -  */
-	/* 44.0 - 48.31 */
-	 u_int32_t loopback_filter_low;
+	/* Description - PAYLOAD bytes of RDMA frames that carry data */
+	/* 0x28.0 - 0x30.31 */
+	 u_int64_t bytes_rdma_frame;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 52.31 */
-	 u_int32_t egress_general_high;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description -  */
-	/* 52.0 - 56.31 */
-	 u_int32_t egress_general_low;
+	/* 0x30.0 - 0x38.31 */
+	 u_int64_t bytes_good_unicast;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 56.0 - 60.31 */
-	 u_int32_t egress_link_down_high;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description -  */
-	/* 60.0 - 64.31 */
-	 u_int32_t egress_link_down_low;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description -  */
-	/* 64.0 - 68.31 */
-	 u_int32_t egress_hoq_high;
-/*---------------- DWORD[17] (Offset 0x44) ----------------*/
-	/* Description -  */
-	/* 68.0 - 72.31 */
-	 u_int32_t egress_hoq_low;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
-	/* Description -  */
-	/* 72.0 - 76.31 */
-	 u_int32_t port_isolation_high;
-/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
-	/* Description -  */
-	/* 76.0 - 80.31 */
-	 u_int32_t port_isolation_low;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description -  */
-	/* 80.0 - 84.31 */
-	 u_int32_t egress_policy_engine_high;
-/*---------------- DWORD[21] (Offset 0x54) ----------------*/
-	/* Description -  */
-	/* 84.0 - 88.31 */
-	 u_int32_t egress_policy_engine_low;
+	/* 0x38.0 - 0x40.31 */
+	 u_int64_t bytes_good_multicast;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_hw_msix {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - pci spec msix vector */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_msix_context msix_context;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - msix extended context */
+	/* 0x10.0 - 0x20.31 */
+	 struct connectib_hw_msix_ext_context msix_ext_context;
 };
 
 /* Description -   */
-/* Size in bytes - 200 */
-struct connectib_phys_layer_cntrs {
+/* Size in bytes - 64 */
+struct connectib_hw_rdb {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The time passed since the last counters clear event in 
-msec. */
-	/* 0.0 - 4.31 */
-	 u_int32_t time_since_last_clear_high;
+	/* Description -  */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t opcode;
+	/* Description - TODO: need to align this field to 32.  */
+	/* 0x0.8 - 0x0.31 */
+	 u_int32_t psn;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The time passed since the last counters clear event in 
-msec. */
-	/* 4.0 - 8.31 */
-	 u_int32_t time_since_last_clear_low;
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t r_key;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Perf.PortCounters(SymbolErrorCounter)
- = Perf.Port
-Counters(UnknownSymbol) */
-	/* 8.0 - 12.31 */
-	 u_int32_t symbol_errors_high;
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t address_63_32;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - Perf.PortCounters(SymbolErrorCounter)
- = Perf.Port
-Counters(UnknownSymbol) */
-	/* 12.0 - 16.31 */
-	 u_int32_t symbol_errors_low;
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t address_31_0;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - Perf.PortExtendedSpeedsCounters(SynchHeaderError
-Counter) */
-	/* 16.0 - 20.31 */
-	 u_int32_t sync_headers_errors_high;
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t byte_count;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - Perf.PortExtendedSpeedsCounters(SynchHeaderError
-Counter) */
-	/* 20.0 - 24.31 */
-	 u_int32_t sync_headers_errors_low;
+	/* Description -  */
+	/* 0x14.7 - 0x14.7 */
+	 u_int8_t can_use_reserved_lkey;
+	/* Description - TODO: need to align this field to 32.  */
+	/* 0x14.8 - 0x14.31 */
+	 u_int32_t pd;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(ErrorDetectionPerLane0Counter) / BIP error 
-counter, lane 0
-In PRBS test mode, indicates the number of PRBS errors 
-on lane 0 */
-	/* 24.0 - 28.31 */
-	 u_int32_t edpl_bip_errors_lane0_high;
+	/* Description -  */
+	/* 0x18.0 - 0x18.10 */
+	 u_int16_t protection_ffser;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(ErrorDetectionPerLane0Counter) / BIP error 
-counter, lane 0
-In PRBS test mode, indicates the number of PRBS errors 
-on lane 0 */
-	/* 28.0 - 32.31 */
-	 u_int32_t edpl_bip_errors_lane0_low;
+	/* Description - new name for fw_marked_as_read */
+	/* 0x1c.0 - 0x1c.0 */
+	 u_int8_t allow_excessiveness;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(ErrorDetectionPerLane1Counter) / BIP error 
-counter, lane 1
-In PRBS test mode, indicates the number of PRBS errors 
-on lane 1 */
-	/* 32.0 - 36.31 */
-	 u_int32_t edpl_bip_errors_lane1_high;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(ErrorDetectionPerLane1Counter) / BIP error 
-counter, lane 1
-In PRBS test mode, indicates the number of PRBS errors 
-on lane 1 */
-	/* 36.0 - 40.31 */
-	 u_int32_t edpl_bip_errors_lane1_low;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(ErrorDetectionPerLane2Counter) / BIP error 
-counter, lane 2
-In PRBS test mode, indicates the number of PRBS errors 
-on lane 2 */
-	/* 40.0 - 44.31 */
-	 u_int32_t edpl_bip_errors_lane2_high;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(ErrorDetectionPerLane2Counter) / BIP error 
-counter, lane 2
-In PRBS test mode, indicates the number of PRBS errors 
-on lane 2 */
-	/* 44.0 - 48.31 */
-	 u_int32_t edpl_bip_errors_lane2_low;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(ErrorDetectionPerLane3Counter) / BIP error 
-counter, lane 3
-In PRBS test mode, indicates the number of PRBS errors 
-on lane 3 */
-	/* 48.0 - 52.31 */
-	 u_int32_t edpl_bip_errors_lane3_high;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(ErrorDetectionPerLane3Counter) / BIP error 
-counter, lane 3
-In PRBS test mode, indicates the number of PRBS errors 
-on lane 3 */
-	/* 52.0 - 56.31 */
-	 u_int32_t edpl_bip_errors_lane3_low;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane0) */
-	/* 56.0 - 60.31 */
-	 u_int32_t fc_fec_corrected_blocks_lane0_high;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane0) */
-	/* 60.0 - 64.31 */
-	 u_int32_t fc_fec_corrected_blocks_lane0_low;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane1) */
-	/* 64.0 - 68.31 */
-	 u_int32_t fc_fec_corrected_blocks_lane1_high;
-/*---------------- DWORD[17] (Offset 0x44) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane1) */
-	/* 68.0 - 72.31 */
-	 u_int32_t fc_fec_corrected_blocks_lane1_low;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane2) */
-	/* 72.0 - 76.31 */
-	 u_int32_t fc_fec_corrected_blocks_lane2_high;
-/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane2) */
-	/* 76.0 - 80.31 */
-	 u_int32_t fc_fec_corrected_blocks_lane2_low;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane3) */
-	/* 80.0 - 84.31 */
-	 u_int32_t fc_fec_corrected_blocks_lane3_high;
-/*---------------- DWORD[21] (Offset 0x54) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane3) */
-	/* 84.0 - 88.31 */
-	 u_int32_t fc_fec_corrected_blocks_lane3_low;
-/*---------------- DWORD[22] (Offset 0x58) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane0) */
-	/* 88.0 - 92.31 */
-	 u_int32_t fc_fec_uncorrectable_blocks_lane0_high;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane0) */
-	/* 92.0 - 96.31 */
-	 u_int32_t fc_fec_uncorrectable_blocks_lane0_low;
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane1) */
-	/* 96.0 - 100.31 */
-	 u_int32_t fc_fec_uncorrectable_blocks_lane1_high;
-/*---------------- DWORD[25] (Offset 0x64) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane1) */
-	/* 100.0 - 104.31 */
-	 u_int32_t fc_fec_uncorrectable_blocks_lane1_low;
-/*---------------- DWORD[26] (Offset 0x68) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane2) */
-	/* 104.0 - 108.31 */
-	 u_int32_t fc_fec_uncorrectable_blocks_lane2_high;
-/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane2) */
-	/* 108.0 - 112.31 */
-	 u_int32_t fc_fec_uncorrectable_blocks_lane2_low;
-/*---------------- DWORD[28] (Offset 0x70) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane3) */
-	/* 112.0 - 116.31 */
-	 u_int32_t fc_fec_uncorrectable_blocks_lane3_high;
-/*---------------- DWORD[29] (Offset 0x74) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-sCounters(FECCorrectableBlockCounterLane3) */
-	/* 116.0 - 120.31 */
-	 u_int32_t fc_fec_uncorrectable_blocks_lane3_low;
-/*---------------- DWORD[30] (Offset 0x78) ----------------*/
-	/* Description - Perf.PortExtendedSpeedsCounters(FECCorrecable
-BlockCounter) */
-	/* 120.0 - 124.31 */
-	 u_int32_t rs_fec_corrected_blocks_high;
-/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
-	/* Description - Perf.PortExtendedSpeedsCounters(FECCorrecable
-BlockCounter) */
-	/* 124.0 - 128.31 */
-	 u_int32_t rs_fec_corrected_blocks_low;
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
-	/* Description - Perf.PortExtendedSpeedsCounters(FEUncorrecable
-BlockCounter) */
-	/* 128.0 - 132.31 */
-	 u_int32_t rs_fec_uncorrectable_blocks_high;
-/*---------------- DWORD[33] (Offset 0x84) ----------------*/
-	/* Description - Perf.PortExtendedSpeedsCounters(FEUncorrecable
-BlockCounter) */
-	/* 132.0 - 136.31 */
-	 u_int32_t rs_fec_uncorrectable_blocks_low;
-/*---------------- DWORD[34] (Offset 0x88) ----------------*/
-	/* Description - The number of RS-FEC blocks received that had no 
-errors.
-Note: Total rs_fec blocks received = 
-rs_fec_corrected_blocks + rs_fec_uncorrectable_blocks 
-+ rs_fec_no_errors_blocks */
-	/* 136.0 - 140.31 */
-	 u_int32_t rs_fec_no_errors_blocks_high;
-/*---------------- DWORD[35] (Offset 0x8c) ----------------*/
-	/* Description - The number of RS-FEC blocks received that had no 
-errors.
-Note: Total rs_fec blocks received = 
-rs_fec_corrected_blocks + rs_fec_uncorrectable_blocks 
-+ rs_fec_no_errors_blocks */
-	/* 140.0 - 144.31 */
-	 u_int32_t rs_fec_no_errors_blocks_low;
-/*---------------- DWORD[36] (Offset 0x90) ----------------*/
-	/* Description - The number of corrected RS-FEC blocks received that 
-had exactly 1 error symbol. 
-Note: A FEC block that is counted by 
-rs_fec_single_error_blocks is counted also by 
-rs_fec_corrected_blocks */
-	/* 144.0 - 148.31 */
-	 u_int32_t rs_fec_single_error_blocks_high;
-/*---------------- DWORD[37] (Offset 0x94) ----------------*/
-	/* Description - The number of corrected RS-FEC blocks received that 
-had exactly 1 error symbol. 
-Note: A FEC block that is counted by 
-rs_fec_single_error_blocks is counted also by 
-rs_fec_corrected_blocks */
-	/* 148.0 - 152.31 */
-	 u_int32_t rs_fec_single_error_blocks_low;
-/*---------------- DWORD[38] (Offset 0x98) ----------------*/
-	/* Description - Perf.PortExtendedSpeedCounters(PortFECCorrect
-edSymbolCounter) */
-	/* 152.0 - 156.31 */
-	 u_int32_t rs_fec_corrected_symbols_total_high;
-/*---------------- DWORD[39] (Offset 0x9c) ----------------*/
-	/* Description - Perf.PortExtendedSpeedCounters(PortFECCorrect
-edSymbolCounter) */
-	/* 156.0 - 160.31 */
-	 u_int32_t rs_fec_corrected_symbols_total_low;
-/*---------------- DWORD[40] (Offset 0xa0) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-Counters(FECCorrectedSymbolCounterLane0) */
-	/* 160.0 - 164.31 */
-	 u_int32_t rs_fec_corrected_symbols_lane0_high;
-/*---------------- DWORD[41] (Offset 0xa4) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-Counters(FECCorrectedSymbolCounterLane0) */
-	/* 164.0 - 168.31 */
-	 u_int32_t rs_fec_corrected_symbols_lane0_low;
-/*---------------- DWORD[42] (Offset 0xa8) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-Counters(FECCorrectedSymbolCounterLane1) */
-	/* 168.0 - 172.31 */
-	 u_int32_t rs_fec_corrected_symbols_lane1_high;
-/*---------------- DWORD[43] (Offset 0xac) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-Counters(FECCorrectedSymbolCounterLane1) */
-	/* 172.0 - 176.31 */
-	 u_int32_t rs_fec_corrected_symbols_lane1_low;
-/*---------------- DWORD[44] (Offset 0xb0) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-Counters(FECCorrectedSymbolCounterLane2) */
-	/* 176.0 - 180.31 */
-	 u_int32_t rs_fec_corrected_symbols_lane2_high;
-/*---------------- DWORD[45] (Offset 0xb4) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-Counters(FECCorrectedSymbolCounterLane2) */
-	/* 180.0 - 184.31 */
-	 u_int32_t rs_fec_corrected_symbols_lane2_low;
-/*---------------- DWORD[46] (Offset 0xb8) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-Counters(FECCorrectedSymbolCounterLane3) */
-	/* 184.0 - 188.31 */
-	 u_int32_t rs_fec_corrected_symbols_lane3_high;
-/*---------------- DWORD[47] (Offset 0xbc) ----------------*/
-	/* Description - Perf.PortExtendedSpeed
-Counters(FECCorrectedSymbolCounterLane3) */
-	/* 188.0 - 192.31 */
-	 u_int32_t rs_fec_corrected_symbols_lane3_low;
-/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
-	/* Description - Perf.PortCounters(LinkDownedCounter) */
-	/* 192.0 - 196.31 */
-	 u_int32_t link_down_events;
-/*---------------- DWORD[49] (Offset 0xc4) ----------------*/
-	/* Description - Perf.PortCounters(LinkErrorRecoveryCounter) */
-	/* 196.0 - 200.31 */
-	 u_int32_t successful_recovery_events;
+	/* Description -  */
+	/* 0x20.0 - 0x40.31 */
+	 struct connectib_hw_rdb_atomic_data atomic_data;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+union connectib_icm_mtt {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_hw_mtt hw;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_hw_mtt2 as_dw;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_eth_per_traffic_grp_data_layout {
+/* Size in bytes - 64 */
+union connectib_steering_entry_icmc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Contains the transmit queue depth in bytes on traffic class selected 
-by 
-traffic_class
- of the port selected by 
-local_port
-. */
-	/* 0.0 - 4.31 */
-	 u_int32_t transmit_queue_high;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_ste hw_ste;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_steering_qp_list steering_qp_list;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_hw_pkey {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t pkey;
+};
+
+/* Description -  the timer is 8 bit, this is an adapter to node to unions */
+/* Size in bytes - 4 */
+struct connectib_hw_timer_32 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.7 */
+	 struct connectib_hw_timer hw_timer;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_hw_sq_qp_list {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  QPN QP number */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t qpi;
+	/* Description -  DCR if this bit is set, the QP came from DCR DB */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t global_gvmi;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_hw_pipa {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  Producer Index Physical Address */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t pa_63_32;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Contains the transmit queue depth in bytes on traffic class selected 
-by 
-traffic_class
- of the port selected by 
-local_port
-. */
-	/* 4.0 - 8.31 */
-	 u_int32_t transmit_queue_low;
+	/* Description -  if 0, there will not br recovery on this QPn */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t recovery_en;
+	/* Description -  */
+	/* 0x4.1 - 0x4.1 */
+	 u_int8_t always_zero;
+	/* Description -  Producer Index Physical Address */
+	/* 0x4.2 - 0x4.31 */
+	 u_int32_t pa_31_2;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_eth_per_prio_grp_data_layout {
+/* Size in bytes - 8 */
+union connectib_hw_sxdc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The total number of octets received, including framing characters. */
-	/* 0.0 - 4.31 */
-	 u_int32_t rx_octets_high;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_uar uar;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_swqe_producer_index swqe_producer_index;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_sq sq;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_valid valid;
+	/* Description - only when set external DB are accepted by the device, when cleared they are silently dropped */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_external_db_en external_db_en;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_fast_path fast_path;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_doorbell_int doorbell_int;
+	/* Description - for QP flush FW flow. Indicates that the QP should not be scheduled when popping from the SQ but go the FW state */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_scheduling_interrupt scheduling_interrupt;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_responder_in_sq responder_in_sq;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_sxdc_requestor_in_sq requestor_in_sq;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_klm_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t length;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The total number of octets received, including framing characters. */
-	/* 4.0 - 8.31 */
-	 u_int32_t rx_octets_low;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - The total number of packets received for this priority (including control 
-frames). */
-	/* 32.0 - 36.31 */
-	 u_int32_t rx_frames_high;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - The total number of packets received for this priority (including control 
-frames). */
-	/* 36.0 - 40.31 */
-	 u_int32_t rx_frames_low;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - The total number of octets transmitted, including framing characters. */
-	/* 40.0 - 44.31 */
-	 u_int32_t tx_octets_high;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - The total number of octets transmitted, including framing characters. */
-	/* 44.0 - 48.31 */
-	 u_int32_t tx_octets_low;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
-	/* Description - The total number of packets transmitted. */
-	/* 72.0 - 76.31 */
-	 u_int32_t tx_frames_high;
-/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
-	/* Description - The total number of packets transmitted. */
-	/* 76.0 - 80.31 */
-	 u_int32_t tx_frames_low;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description - The total number of PAUSE frames received from the far-end port. */
-	/* 80.0 - 84.31 */
-	 u_int32_t rx_pause_high;
-/*---------------- DWORD[21] (Offset 0x54) ----------------*/
-	/* Description - The total number of PAUSE frames received from the far-end port. */
-	/* 84.0 - 88.31 */
-	 u_int32_t rx_pause_low;
-/*---------------- DWORD[22] (Offset 0x58) ----------------*/
-	/* Description - The total time in microseconds that transmission of packets to the far-end 
-port have been paused. */
-	/* 88.0 - 92.31 */
-	 u_int32_t rx_pause_duration_high;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
-	/* Description - The total time in microseconds that transmission of packets to the far-end 
-port have been paused. */
-	/* 92.0 - 96.31 */
-	 u_int32_t rx_pause_duration_low;
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description - The total number of PAUSE frames sent to the far-end port. */
-	/* 96.0 - 100.31 */
-	 u_int32_t tx_pause_high;
-/*---------------- DWORD[25] (Offset 0x64) ----------------*/
-	/* Description - The total number of PAUSE frames sent to the far-end port. */
-	/* 100.0 - 104.31 */
-	 u_int32_t tx_pause_low;
-/*---------------- DWORD[26] (Offset 0x68) ----------------*/
-	/* Description - The total time in microseconds that the far-end port have been requested 
-to paused. */
-	/* 104.0 - 108.31 */
-	 u_int32_t tx_pause_duration_high;
-/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
-	/* Description - The total time in microseconds that the far-end port have been requested 
-to paused. */
-	/* 108.0 - 112.31 */
-	 u_int32_t tx_pause_duration_low;
-/*---------------- DWORD[28] (Offset 0x70) ----------------*/
-	/* Description - Counts the number of transitions from Xoff to Xon. */
-	/* 112.0 - 116.31 */
-	 u_int32_t rx_pause_transition_high;
-/*---------------- DWORD[29] (Offset 0x74) ----------------*/
-	/* Description - Counts the number of transitions from Xoff to Xon. */
-	/* 116.0 - 120.31 */
-	 u_int32_t rx_pause_transition_low;
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t key;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t va;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_hw_sq_tokens {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  number of tokens to transfer in case the SQ has WareHouse QPs */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t ware_house_burst_size_23_8;
+	/* Description -  */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  Number of bytes for transmission by SXW for a QP popped from this SQ responder queue */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t responder_burst_size;
+	/* Description -  number of tokens to transfer in case the SQ has WareHouse QPs */
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t ware_house_burst_size_7_0;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  Number of bytes for transmission by SXW for a QP popped from this SQ requestor queue */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t requestor_burst_size;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  Number of bytes to add to GvmiTokenCount from GVMI tokens pool */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t gvmi_vl_weight;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  Number of bytes allocated to the SQ from the GVMI tokens pool */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t gvmi_vl_token_count;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  Maximum value of GvmiVlTokenCount */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t gvmi_vl_saturation;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  Number of bytes to add to SwitchTokenCount during reset event of SQ-to-SL virtual switch arbiter */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t dwrr_weight;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  Number of Tokens that the SQ has to Transfer to the SXW from the DWRR token Count */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t dwrr_token_count;
+	/* Description -  */
+	/* 0x1c.24 - 0x1c.27 */
+	 u_int8_t vl;
+	/* Description -  */
+	/* 0x1c.28 - 0x1c.30 */
+	 u_int8_t vlg;
+	/* Description -  */
+	/* 0x1c.31 - 0x1c.31 */
+	 u_int8_t port;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_hw_gvmi_tokens {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  Maximum value in *_token_count = (2 ^ *_weight_saturation - 1); must be  <= 23 to allow negative tokens */
+	/* 0x8.0 - 0x8.4 */
+	 u_int8_t port1_avg_saturation;
+	/* Description -  VL group that will get tokens in next distribution cycle; updated during token reset cycle */
+	/* 0x8.5 - 0x8.7 */
+	 u_int8_t port1_high_vlg_req_token;
+	/* Description -  port1_avg_time Log2 of the number of token distribution cycles to wait before adding tokens to average bandwidth bucket */
+	/* 0x8.8 - 0x8.12 */
+	 u_int8_t port1_log2avg_time;
+	/* Description -  Maximum bucket bandwidth = weight_mantissa * 2^weight_exp, in bytes */
+	/* 0x8.13 - 0x8.15 */
+	 u_int8_t port1_max_weight_exp;
+	/* Description -  port1_max_time Log2 of the number of token distribution cycles to wait before adding tokens to maximum bandwidth bucket */
+	/* 0x8.16 - 0x8.20 */
+	 u_int8_t port1_log2max_time;
+	/* Description -  port0_has_tokens During token distribution cycle (from GVMI to SQ), indicates if maximum bandwidth bucket had tokens at the beginning of the cycle */
+	/* 0x8.21 - 0x8.21 */
+	 u_int8_t port0_has_token;
+	/* Description -  VL group that will get tokens in next distribution cycle; updated during token reset cycle */
+	/* 0x8.22 - 0x8.22 */
+	 u_int8_t port0_vlg_req_vld;
+	/* Description -  During token distribution cycle (from GVMI to SQ), indicates if maximum bandwidth bucket had tokens at the beginning of the cycle */
+	/* 0x8.23 - 0x8.23 */
+	 u_int8_t port1_has_token;
+	/* Description -  Maximum value in *_token_count = (2 ^ *_weight_saturation - 1); must be  <= 23 to allow negative tokens */
+	/* 0x8.24 - 0x8.28 */
+	 u_int8_t port1_max_saturation;
+	/* Description -  VL group that will get tokens in next distribution cycle; updated during token reset cycle */
+	/* 0x8.29 - 0x8.29 */
+	 u_int8_t port1_vlg_req_vld;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  Maximum value in *_token_count = (2 ^ *_weight_saturation - 1); must be  <= 23 to allow negative tokens */
+	/* 0xc.0 - 0xc.4 */
+	 u_int8_t port0_avg_saturation;
+	/* Description -  Maximum bucket bandwidth = weight_mantissa * 2^weight_exp, in bytes */
+	/* 0xc.5 - 0xc.7 */
+	 u_int8_t port0_avg_weight_exp;
+	/* Description -  port0_avg_time Log2 of the number of token distribution cycles to wait before adding tokens to average bandwidth bucket */
+	/* 0xc.8 - 0xc.12 */
+	 u_int8_t port0_log2avg_time;
+	/* Description -  VL group that will get tokens in next distribution cycle; updated during token reset cycle */
+	/* 0xc.13 - 0xc.15 */
+	 u_int8_t port0_high_vlg_req_token;
+	/* Description -  port0_max_time Log2 of the number of token distribution cycles to wait before adding tokens to maximum bandwidth bucket */
+	/* 0xc.16 - 0xc.20 */
+	 u_int8_t port0_log2max_time;
+	/* Description -  Maximum bucket bandwidth = weight_mantissa * 2^weight_exp, in bytes */
+	/* 0xc.21 - 0xc.23 */
+	 u_int8_t port0_max_weight_exp;
+	/* Description -  Maximum value in *_token_count = (2 ^ *_weight_saturation - 1); must be  <= 23 to allow negative tokens */
+	/* 0xc.24 - 0xc.28 */
+	 u_int8_t port0_max_saturation;
+	/* Description -  Average bucket bandwidth = weight_mantissa * 2^weight_exp, in bytes */
+	/* 0xc.29 - 0xc.31 */
+	 u_int8_t port1_avg_weight_exp;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  Maximum bandwidth bucket token count */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t port1_max_token_count;
+	/* Description -  */
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t port1_max_weight_mantissa;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  Average bandwidth bucket token count */
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t port1_avg_token_count;
+	/* Description -  */
+	/* 0x14.24 - 0x14.31 */
+	 u_int8_t port1_avg_weight_mantissa;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  Maximum bandwidth bucket token count */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t port0_max_token_count;
+	/* Description -  */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t port0_max_weight_mantissa;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  Average bandwidth bucket token count */
+	/* 0x1c.0 - 0x1c.23 */
+	 u_int32_t port0_avg_token_count;
+	/* Description -  */
+	/* 0x1c.24 - 0x1c.31 */
+	 u_int8_t port0_avg_weight_mantissa;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_eth_extended_cntrs_grp_data_layout {
+/* Size in bytes - 32 */
+struct connectib_hw_sq_pointers {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The number of ticks during which the port selected had data to 
-transmit but no data was sent during the entire tick either because 
-of insufficient credits or because of lack of arbitration.
-A tick is a multiple of the time needed to transfer one byte on a 
-single lane, that is, the symbol time. 
-For example, for links operating at IBA SDR (single data rate), 
-the symbol time is 4nsec. independent of the width of the link. 
-For links operating at Ethernet 10GE on a single lane or 40GE on 
-4 lanes, the symbol time is 0.8nSec. */
-	/* 0.0 - 4.31 */
-	 u_int32_t port_transmit_wait_high;
+	/* Description -  weight of requestor for dwrr between requstor and responder */
+	/* 0x0.0 - 0x0.9 */
+	 u_int16_t weight_requestor;
+	/* Description - NO_DESCR */
+	/* 0x0.10 - 0x0.15 */
+	 u_int8_t sq_offset_11_6;
+	/* Description -  weight of responder for dwrr between requstor and responder */
+	/* 0x0.16 - 0x0.25 */
+	 u_int16_t weight_responder;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The number of ticks during which the port selected had data to 
-transmit but no data was sent during the entire tick either because 
-of insufficient credits or because of lack of arbitration.
-A tick is a multiple of the time needed to transfer one byte on a 
-single lane, that is, the symbol time. 
-For example, for links operating at IBA SDR (single data rate), 
-the symbol time is 4nsec. independent of the width of the link. 
-For links operating at Ethernet 10GE on a single lane or 40GE on 
-4 lanes, the symbol time is 0.8nSec. */
-	/* 4.0 - 8.31 */
-	 u_int32_t port_transmit_wait_low;
+	/* Description -  Guest Virtual Machine ID */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
+	/* Description -  requestor_responder_dwrr_token number of corrent tokens for corrent LastGntRequestor */
+	/* 0x4.16 - 0x4.25 */
+	 u_int16_t token;
+	/* Description - NO_DESCR */
+	/* 0x4.26 - 0x4.31 */
+	 u_int8_t sq_offset_5_0;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  ware_house_counter_responder Number of responder QPs unscheduled back into the SQ due to lack of VL credits */
+	/* 0x8.0 - 0x8.24 */
+	 u_int32_t ware_house_counter_responder;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  ware_house_counter_requestor Number of requestor QPs unscheduled back into the SQ due to lack of VL credits */
+	/* 0xc.0 - 0xc.24 */
+	 u_int32_t ware_house_counter_requestor;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  responder_push_pointer responder push pointer at the SQ */
+	/* 0x10.0 - 0x10.24 */
+	 u_int32_t push_pointer_responder;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  requestor_push_pointer requestor push pointer at the SQ */
+	/* 0x14.0 - 0x14.24 */
+	 u_int32_t push_pointer_requestor;
+	/* Description -  */
+	/* 0x14.25 - 0x14.25 */
+	 u_int8_t port;
+	/* Description -  scheduling_interrupt if set QPs at this SQ will not be sched to the SXW, but will move to FW state at the scheduling slices */
+	/* 0x14.26 - 0x14.26 */
+	 u_int8_t scheduling_interrupt;
+	/* Description -  Virtual lane */
+	/* 0x14.28 - 0x14.31 */
+	 u_int8_t vl;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  responder_pop_pointer responder pop pointer at the SQ */
+	/* 0x18.0 - 0x18.24 */
+	 u_int32_t pop_pointer_responder;
+	/* Description -  last grant ID (requestor/responder) for DWRR at the SQ */
+	/* 0x18.25 - 0x18.25 */
+	 u_int8_t last_gnt_requestor;
+	/* Description -  Log2 size of responder schedule queue, opened in ICM for QP list */
+	/* 0x18.26 - 0x18.31 */
+	 u_int8_t log2_max_num_of_qp_responder;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  requestor_pop_pointer requestor pop pointer at the SQ */
+	/* 0x1c.0 - 0x1c.24 */
+	 u_int32_t pop_pointer_requestor;
+	/* Description -  scheduling_interrupt if set QPs at this SQ will not be sched to the SXW, but will move to FW state at the scheduling slices */
+	/* 0x1c.25 - 0x1c.25 */
+	 u_int8_t db_interrupt;
+	/* Description -  Log2 size of requestor schedule queue, opened in ICM for QP list */
+	/* 0x1c.26 - 0x1c.31 */
+	 u_int8_t log2_max_num_of_qp_requestor;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_eth_3635_cntrs_grp_data_layout {
+/* Size in bytes - 16 */
+struct connectib_hw_trasta {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - A count of frames received that are not an integral number 
-of octets in length and do not pass the FCS check. */
-	/* 0.0 - 4.31 */
-	 u_int32_t dot3stats_alignment_errors_high;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t va_offset_63_32;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - A count of frames received that are not an integral number 
-of octets in length and do not pass the FCS check. */
-	/* 4.0 - 8.31 */
-	 u_int32_t dot3stats_alignment_errors_low;
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t va_offset_31_0;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - A count of frames received that are an integral number of 
-octets in length but do not pass the FCS check. This count 
-does not include frames received with frame-too-long or 
-frame-too-short errors. */
-	/* 8.0 - 12.31 */
-	 u_int32_t dot3stats_fcs_errors_high;
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t klm_index;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - A count of frames received that are an integral number of 
-octets in length but do not pass the FCS check. This count 
-does not include frames received with frame-too-long or 
-frame-too-short errors. */
-	/* 12.0 - 16.31 */
-	 u_int32_t dot3stats_fcs_errors_low;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - A count of frames that are involved in a single collision, 
-and are subsequently transmitted successfully.
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 16.0 - 20.31 */
-	 u_int32_t dot3stats_single_collision_frames_high;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - A count of frames that are involved in a single collision, 
-and are subsequently transmitted successfully.
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 20.0 - 24.31 */
-	 u_int32_t dot3stats_single_collision_frames_low;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - A count of frames that are involved in more than one colli
-sion and are subsequently transmitted successfully. 
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 24.0 - 28.31 */
-	 u_int32_t dot3stats_multiple_collision_frames_high;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - A count of frames that are involved in more than one colli
-sion and are subsequently transmitted successfully. 
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 28.0 - 32.31 */
-	 u_int32_t dot3stats_multiple_collision_frames_low;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - A count of times that the SQE TEST ERROR is received 
-on a particular interface.
-This counter does not increment on interfaces operating at 
-speeds greater than 10 Mb/s, or on interfaces operating in 
-full-duplex mode. */
-	/* 32.0 - 36.31 */
-	 u_int32_t dot3stats_sqe_test_errors_high;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - A count of times that the SQE TEST ERROR is received 
-on a particular interface.
-This counter does not increment on interfaces operating at 
-speeds greater than 10 Mb/s, or on interfaces operating in 
-full-duplex mode. */
-	/* 36.0 - 40.31 */
-	 u_int32_t dot3stats_sqe_test_errors_low;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - A count of frames for which the first transmission attempt 
-on a particular interface is delayed because the medium is 
-busy. 
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 40.0 - 44.31 */
-	 u_int32_t dot3stats_deferred_transmissions_high;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - A count of frames for which the first transmission attempt 
-on a particular interface is delayed because the medium is 
-busy. 
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 44.0 - 48.31 */
-	 u_int32_t dot3stats_deferred_transmissions_low;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - The number of times that a collision is detected on a par
-ticular interface later than one slotTime into the transmis
-sion of a packet.
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 48.0 - 52.31 */
-	 u_int32_t dot3stats_late_collisions_high;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - The number of times that a collision is detected on a par
-ticular interface later than one slotTime into the transmis
-sion of a packet.
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 52.0 - 56.31 */
-	 u_int32_t dot3stats_late_collisions_low;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - A count of frames for which transmission on a particular 
-interface fails due to excessive collisions.
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 56.0 - 60.31 */
-	 u_int32_t dot3stats_excessive_collisions_high;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - A count of frames for which transmission on a particular 
-interface fails due to excessive collisions.
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 60.0 - 64.31 */
-	 u_int32_t dot3stats_excessive_collisions_low;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description - A count of frames for which transmission failed and were 
-discarded even though no errors had been detected to pre
-vent their being deliverable to a higher-layer protocol. */
-	/* 64.0 - 68.31 */
-	 u_int32_t dot3stats_internal_mac_transmit_errors_high;
-/*---------------- DWORD[17] (Offset 0x44) ----------------*/
-	/* Description - A count of frames for which transmission failed and were 
-discarded even though no errors had been detected to pre
-vent their being deliverable to a higher-layer protocol. */
-	/* 68.0 - 72.31 */
-	 u_int32_t dot3stats_internal_mac_transmit_errors_low;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
-	/* Description - The number of times that the carrier sense condition was 
-lost or never asserted when attempting to transmit a frame 
-on a particular interface. 
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 72.0 - 76.31 */
-	 u_int32_t dot3stats_carrier_sense_errors_high;
-/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
-	/* Description - The number of times that the carrier sense condition was 
-lost or never asserted when attempting to transmit a frame 
-on a particular interface. 
-This counter does not increment when the interface is 
-operating in full-duplex mode. */
-	/* 76.0 - 80.31 */
-	 u_int32_t dot3stats_carrier_sense_errors_low;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description - A count of frames received that exceed the maximum per
-mitted frame size. */
-	/* 80.0 - 84.31 */
-	 u_int32_t dot3stats_frame_too_longs_high;
-/*---------------- DWORD[21] (Offset 0x54) ----------------*/
-	/* Description - A count of frames received that exceed the maximum per
-mitted frame size. */
-	/* 84.0 - 88.31 */
-	 u_int32_t dot3stats_frame_too_longs_low;
-/*---------------- DWORD[22] (Offset 0x58) ----------------*/
-	/* Description - A count of frames for which reception failed and were dis
-carded even though no errors had been detected to prevent 
-their being deliverable to a higher-layer protocol. */
-	/* 88.0 - 92.31 */
-	 u_int32_t dot3stats_internal_mac_receive_errors_high;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
-	/* Description - A count of frames for which reception failed and were dis
-carded even though no errors had been detected to prevent 
-their being deliverable to a higher-layer protocol. */
-	/* 92.0 - 96.31 */
-	 u_int32_t dot3stats_internal_mac_receive_errors_low;
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description - The number of times the receiving media is non-idle (a 
-carrier event) for a period of time equal to or greater than 
-minFrameSize, and during which there was at least one 
-occurrence of an event that causes the PHY to indicate 
-"Receive Error". */
-	/* 96.0 - 100.31 */
-	 u_int32_t dot3stats_symbol_errors_high;
-/*---------------- DWORD[25] (Offset 0x64) ----------------*/
-	/* Description - The number of times the receiving media is non-idle (a 
-carrier event) for a period of time equal to or greater than 
-minFrameSize, and during which there was at least one 
-occurrence of an event that causes the PHY to indicate 
-"Receive Error". */
-	/* 100.0 - 104.31 */
-	 u_int32_t dot3stats_symbol_errors_low;
-/*---------------- DWORD[26] (Offset 0x68) ----------------*/
-	/* Description - A count of MAC Control frames received that contain an 
-opcode that is not supported. */
-	/* 104.0 - 108.31 */
-	 u_int32_t dot3control_in_unknown_opcodes_high;
-/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
-	/* Description - A count of MAC Control frames received that contain an 
-opcode that is not supported. */
-	/* 108.0 - 112.31 */
-	 u_int32_t dot3control_in_unknown_opcodes_low;
-/*---------------- DWORD[28] (Offset 0x70) ----------------*/
-	/* Description - A count of MAC Control frames received with an opcode 
-indicating the PAUSE operation. */
-	/* 112.0 - 116.31 */
-	 u_int32_t dot3in_pause_frames_high;
-/*---------------- DWORD[29] (Offset 0x74) ----------------*/
-	/* Description - A count of MAC Control frames received with an opcode 
-indicating the PAUSE operation. */
-	/* 116.0 - 120.31 */
-	 u_int32_t dot3in_pause_frames_low;
-/*---------------- DWORD[30] (Offset 0x78) ----------------*/
-	/* Description - A count of MAC Control frames transmitted with an 
-opcode indicating the PAUSE operation. */
-	/* 120.0 - 124.31 */
-	 u_int32_t dot3out_pause_frames_high;
-/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
-	/* Description - A count of MAC Control frames transmitted with an 
-opcode indicating the PAUSE operation. */
-	/* 124.0 - 128.31 */
-	 u_int32_t dot3out_pause_frames_low;
+	/* Description -  */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t invalidation_counter;
+	/* Description -  */
+	/* 0xc.16 - 0xc.16 */
+	 u_int8_t valid;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_eth_2819_cntrs_grp_data_layout {
+/* Size in bytes - 32 */
+struct connectib_hw_trastb {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The total number of events in which packets were 
-dropped by the probe due to lack of resources. */
-	/* 0.0 - 4.31 */
-	 u_int32_t ether_stats_drop_events_high;
+	/* Description -  generation 16 bits: MKC.generation at the moment of last update. TRAST is stale if the genartion does not match current MKC, and will not be used */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t generation_count;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The total number of events in which packets were 
-dropped by the probe due to lack of resources. */
-	/* 4.0 - 8.31 */
-	 u_int32_t ether_stats_drop_events_low;
+	/* Description -  bsf_offset 32 bits: offset in 16B granularity of the BSF described by the entry, from the first BSF pointed by MKC */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t bsf_offset;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - The total number of octets of data (including those in 
-bad packets) received (excluding framing bits but 
-including FCS octets). */
-	/* 8.0 - 12.31 */
-	 u_int32_t ether_stats_octets_high;
+	/* Description -  memory_fbo 32 bits: offset in bytes inside memory signature block, carried from previous BSF */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t m_fbo;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - The total number of octets of data (including those in 
-bad packets) received (excluding framing bits but 
-including FCS octets). */
-	/* 12.0 - 16.31 */
-	 u_int32_t ether_stats_octets_low;
+	/* Description -  wire_fbo 32 bits: offset in bytes inside wire signature block, carried from previous BSF */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t w_fbo;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - The total number of packets (including bad packets, 
-broadcast packets, and multicast packets) received. */
-	/* 16.0 - 20.31 */
-	 u_int32_t ether_stats_pkts_high;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - The total number of packets (including bad packets, 
-broadcast packets, and multicast packets) received. */
-	/* 20.0 - 24.31 */
-	 u_int32_t ether_stats_pkts_low;
+	/* Description -  memory_va 64 bits: accumulated memory address from all BSFs prior to the one described by the entry */
+	/* 0x10.0 - 0x18.31 */
+	 u_int64_t m_va;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - The total number of good packets received that were 
-directed to the broadcast address. 
-Note: This does not include multicast packets. */
-	/* 24.0 - 28.31 */
-	 u_int32_t ether_stats_broadcast_pkts_high;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - The total number of good packets received that were 
-directed to the broadcast address. 
-Note: This does not include multicast packets. */
-	/* 28.0 - 32.31 */
-	 u_int32_t ether_stats_broadcast_pkts_low;
+	/* Description -  wire_va 64 bits: accumulated wire address from all BSFs prior to the one described by the entry */
+	/* 0x18.0 - 0x20.31 */
+	 u_int64_t w_va;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_hw_base_psv {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t pd;
+	/* Description -  */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t data_heart_beat;
+	/* Description -  */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t wqe_heart_beat;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t status;
+	/* Description -  */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t syndrome;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t transient_signature;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t reference_tag;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_hw_bsf_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_bsf_entry_same_block_repeating same_block_repeating;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_bsf_entry_same_block_non_repeating same_block_non_repeating;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_bsf_entry_w_repeating_m_repeating hw_bsf_entry_w_repeating_m_repeating;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_bsf_entry_w_repeating_m_non_repeating hw_bsf_entry_w_repeating_m_non_repeating;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_bsf_entry_w_non_repeating_m_repeating hw_bsf_entry_w_non_repeating_m_repeating;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating hw_bsf_entry_w_non_repeating_m_non_repeating;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_port_info {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x0.0 - 0x0.2 */
+	 u_int8_t lmc;
+	/* Description - NO_DESCR */
+	/* 0x0.28 - 0x0.29 */
+	 u_int8_t mad_filter;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t lid;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t gid_prefix;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - The total number of good packets received that were 
-directed to a multicast MAC address. 
-Note: This number does not include packets directed 
-to the broadcast address. */
-	/* 32.0 - 36.31 */
-	 u_int32_t ether_stats_multicast_pkts_high;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - The total number of good packets received that were 
-directed to a multicast MAC address. 
-Note: This number does not include packets directed 
-to the broadcast address. */
-	/* 36.0 - 40.31 */
-	 u_int32_t ether_stats_multicast_pkts_low;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - The total number of packets received that had a length 
-(excluding framing bits, but including FCS octets) of 
-between 64 and MTU
- octets, inclusive, but had either 
-a bad frame check sequence (FCS) with an integral 
-number of octets (FCS error) or a bad FCS with a 
-non-integral number of octets (alignment error). */
-	/* 40.0 - 44.31 */
-	 u_int32_t ether_stats_crc_align_errors_high;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - The total number of packets received that had a length 
-(excluding framing bits, but including FCS octets) of 
-between 64 and MTU
- octets, inclusive, but had either 
-a bad frame check sequence (FCS) with an integral 
-number of octets (FCS error) or a bad FCS with a 
-non-integral number of octets (alignment error). */
-	/* 44.0 - 48.31 */
-	 u_int32_t ether_stats_crc_align_errors_low;
+	/* Description - NO_DESCR */
+	/* 0x20.16 - 0x40.15 */
+	 u_int16_t dc_rsl2sq_map[16];
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_hw_qpc_r_dct {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_r_qpc qpc;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_dct dct;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_hw_s_qpc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Hermon: highest_psn */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_first_unsent_psn first_unsent_psn;
+	/* Description - Counts number of outstanding reads and atomic */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_number_outstanding_reads number_outstanding_reads;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_first_psn_of_message_currently_completing first_psn_of_message_currently_completing;
+	/* Description - value 0 means that we are not in the middle of a read response read middle: if DS is too big rx slice should skip the REQSL machine */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_currently_completing_ds currently_completing_ds;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_timer_enable timer_enable;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_vl15 vl15;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_force_grh force_grh;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_dc_access_key_31_0 dc_access_key_31_0;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_dc_access_key_63_32 dc_access_key_63_32;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_lsn lsn;
+	/* Description - How many bytes were sent from current WQE LSO byte granularty, otherwise 256B granularty */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_sx_gather_commit sx_gather_commit;
+	/* Description - if set gid index is taken from sqpc.mgid (my gid) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_force_my_gid_index force_my_gid_index;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_to_sequence_error_retry_limit to_sequence_error_retry_limit;
+	/* Description - set by SX on every packet sent or WQE executed */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_sx_heartbeat sx_heartbeat;
+	/* Description - Transport service (0-7: same as packet.BTH.opcode[7:5]) 0-RC 1-UC 2-RD (reserved) 3-UD 5-XRC (SRC in hermon) 8-RMC parent 9-RMC child (RX only) 10-FCP 11-DCI/DCR 12-DCT 15-L2 (Hermon name: L2 & MLX) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_ts ts;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_force_grh_tclass force_grh_tclass;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_reverse_sl reverse_sl;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_to_sequence_error_retry_counter to_sequence_error_retry_counter;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_ssn ssn;
+	/* Description - index to the counters table 0-disable */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_counter_index counter_index;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_flush_syndrom flush_syndrom;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_next_to_send_psn next_to_send_psn;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_cq_number cq_number;
+	/* Description - copied from packet on first ack */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_responder_session_id responder_session_id;
+	/* Description - SX should put this field in D    ETH.SQPN field */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_deth_sqpn deth_sqpn;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_oldest_non_acked_psn oldest_non_acked_psn;
+	/* Description - ACKREQ_PSN (PSN of last packet sent with ACKREQ=1, virtual field for timer decision) = QP.next_to_send_psn - 1 - QP.PSN_since_ACKREQ */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_psn_since_ackreq psn_since_ackreq;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_qp_state qp_state;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_swqe_consumer_index swqe_consumer_index;
+	/* Description - index updated when poping from ldb (ldb_index) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_currently_completing_wqe_index currently_completing_wqe_index;
+	/* Description - 0: not connected 1: connect packet sent 2: connect was acked */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_dc_state dc_state;
+	/* Description - 0-no limit, 1-outstanding reads, 2-fence, 3-strong ordering, 4-fc_seq_initiative, 5-outstanding psn, 6-dc wait for connect, 7-e2e credit (limited state) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_limited_qp limited_qp;
+	/* Description -  2^value is the frequency at which we send ackreq.valid. values are 0-8 giving ackreq bit per 1-256 packets */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_ack_req_frequency ack_req_frequency;
+	/* Description - interrupt FW when packet arrives to tcu on this Qp Hermon: tcu_int */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_tcu_trap tcu_trap;
+	/* Description - Used for translation and key check (TPT) TODO: next project move to common section? */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_can_use_reserved_lkey can_use_reserved_lkey;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_tcu_drop tcu_drop;
+	/* Description - Hermon name: bind_enable */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_umr_enable umr_enable;
+	/* Description - enable fast register WQE Hermon name: frwr_en */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_frwr_enable frwr_enable;
+	/* Description - set by RX on every packet received and accepted */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_rx_heartbeat rx_heartbeat;
+	/* Description - TODO this bit does not work and is not needed, delete on next project */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_ldb_int ldb_int;
+	/* Description - 0: disable - data will always be scattered accoding to the scatter entry 1: up to 32B - if payload<=32B, data should be scattered into the CQE (inline) 2: up to 64B - if payload<=64B, data should be scattered into the CQE (inline) Hermon: disable_inline_scatter */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_inline_scatter inline_scatter;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_rnr_nak_retry_limit rnr_nak_retry_limit;
+	/* Description - This QP should use the fast_path inside the device */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_fast_path fast_path;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_rnr_nak_retry_counter rnr_nak_retry_counter;
+	/* Description - TODO next project: rename to pkey_check_enable TODO next project: delete it from all TS (who needs it)? */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_ignore_pkey_check ignore_pkey_check;
+	/* Description - in the below description the size relates to the operands size (meaning: size of each operand) 0: disable atomic 1: IB spec (responder extended RDB is N/A) all enum from here support extended atomic in addition 2: only 8B (hermon mode, responder extended RDB is N/A) 3: up to 8B (also 4B, responder extended RDB is N/A) 4: up to 16B (responder extended RDB is N/A) 5: up to 32B (responder extended RDB is N/A) 6: up to 64B (responder extended RDB is 64B) 7: up to 128B (resp [...]
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_extended_atomic extended_atomic;
+	/* Description - 2^this value=max number of atomic/rdma reads Hermon: max_rdma_atomic */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_max_read_atomic max_read_atomic;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_umr_permission_select umr_permission_select;
+	/* Description - When set no-direct-access is allowed to this QP (i.e. by BTH.QPN). When clear, both direct (i.e. by BTH.QPN) and indirect access (i.e. by RSS remapping, MC remapping etc) is allowed. See issue 34551  TODO: rename to direct_access_enable */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_no_direct_access no_direct_access;
+	/* Description - TCU requestor should trap when e2e_credits_enabled==&AETH.syndrom.CCCCC */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_e2e_credits_enabled e2e_credits_enabled;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_dc_full_handshake dc_full_handshake;
+	/* Description - set by SX when executing a non wire WQE cleared by RX when LDB is empty used by LDB for performance optimisation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_uncompleted_non_wire_wqe uncompleted_non_wire_wqe;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_qp_valid qp_valid;
+	/* Description - SX WQE opcode that cause packet creation are allowed */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_s_qpc_packet_allowed packet_allowed;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_hw_c_qpc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_peer_gid_31_0 peer_gid_31_0;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_peer_gid_63_32 peer_gid_63_32;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_peer_gid_95_64 peer_gid_95_64;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_peer_gid_127_96 peer_gid_127_96;
+	/* Description - this hold the 2'nd peer_lid for dual write */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_peer_lid2 peer_lid2;
+	/* Description - this hold the 2'nd peer_qp for dual write */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_peer_qp2 peer_qp2;
+	/* Description - protection domain */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_pd pd;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_mtt_pointer_4_0 mtt_pointer_4_0;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_mtt_pointer_36_5 mtt_pointer_36_5;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_mtt_pointer_39_37 mtt_pointer_39_37;
+	/* Description - In DCE this field is {VLAN.prio, CFI\DA} */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_sl sl;
+	/* Description - IB native only: packet should have GRH header not used in UD/L2 responder */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_grh_bit grh_bit;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_port_number port_number;
+	/* Description - mark packets as eligible for adaptive routing; supported on UC & UD transports */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_adaptive_routing adaptive_routing;
+	/* Description - WQ size = 64B*2^value */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_swqe_buffer_size swqe_buffer_size;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_peer_lid peer_lid;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_my_lid my_lid;
+	/* Description - access ICM with {GVMI, my_gid_index} to get GRH.MyGID, IPv6 and IPv4 use the same field */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_my_gid_mac_index my_gid_mac_index;
+	/* Description - 2^thisValue is the max number of bytes per mesaage */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_max_message_size max_message_size;
+	/* Description - 0: 256 bytes   1: 512 bytes   2: 1K bytes  3: 2K bytes  4: 4k bytes 5: 8k bytes */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_mtu mtu;
+	/* Description - sx: used when WQE.Qkey[31]=1 TODO FCP: what about FCoIB */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_qkey qkey;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_flow_label flow_label;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_pkey_table_index pkey_table_index;
+	/* Description - except for DCR this is MyQPN in the packet */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_context_number context_number;
+	/* Description - If rwq_type==0 then      swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64 else      rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64     swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16  + masked_wqe_index*64 */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_wqe_page_offset wqe_page_offset;
+	/* Description - sx will put this field in the migreq field Hermon: path_migration_fsm[1] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_sx_migreq sx_migreq;
+	/* Description - tcu check will jump if pkt.migreq differ from this bit Hermon: mig_req */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_rx_migreq rx_migreq;
+	/* Description - Dest Qp in connection */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_peer_qp peer_qp;
+	/* Description - Number of hops between subnets a packet can make before being discarded Used by TCU for CNP with GRH in connected mode */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_hop_limit hop_limit;
+	/* Description - UD-see force_grh_tclass golan2: we should have 2 tclass fields for ETHoIB enforcement */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_tclass tclass;
+	/* Description - number of WQEs in the WQ: 2 in power of */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_rwqe_buffer_size rwqe_buffer_size;
+	/* Description - WQE size: (2^this field)*16B */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_rcyclic_size rcyclic_size;
+	/* Description - WQE size: (2^this field)*16B */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_rwqe_stride rwqe_stride;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_ipd ipd;
+	/* Description - IB port: all packets go to loopback port Ethernet port: see IAS see issue 32965 */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_force_loopback force_loopback;
+	/* Description - Work Queue Type 1: normal WQ 2: attached to SRQ 3: Receive Cyclic Buffer */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_rwq_type rwq_type;
+	/* Description - page_size = 4096*2^log_page_size */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_log_page_size log_page_size;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_dual_write dual_write;
+	/* Description - each WQE in the r&s WQ are signature protected */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_wq_signature wq_signature;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_c_qpc_common_valid common_valid;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_hw_c_srq {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_e2e_consumer_index e2e_consumer_index;
+	/* Description - FW bits, these are the only reserved bits that are not overriden by HW in ICM */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_srq_fw srq_fw;
+	/* Description - index to next free wqe
+rwq_type=SRQ: copy index from SRQ on packet first
+EAS NAME: rq_wqe_counter
+condition:rwq_type!=RCYCLIC */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_rwqe_consumer_index rwqe_consumer_index;
+	/* Description - written by e2e credit machine */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_e2e_producer_index e2e_producer_index;
+	/* Description - Hermon: srcd
+EAS NAME: xrcd
+condition:ts==XRC */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_xrc_domain xrc_domain;
+	/* Description - protection domain
+EAS NAME: pd */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_pd pd;
+	/* Description - 2^ this value is the threshold to check for new E2E credits
+0 means e2e prefethch disabled for this qp
+in rcylic this thrshould is in MTU, otherwise in WQEs
+EAS NAME: N/A
+condition:ts!=DCR */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_e2e_credits_prefetch_threshold e2e_credits_prefetch_threshold;
+	/* Description - 
+EAS NAME: cqn_snd, cqn_rcv
+condition:ts!=DCR */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_cq_number cq_number;
+	/* Description - number of WQEs in the WQ: 2 in power of
+EAS NAME: log_rq_size
+condition:rwq_type!=RCYCLIC */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_rwqe_buffer_size rwqe_buffer_size;
+	/* Description - WQE size: (2^this field)*16B
+EAS NAME: log_rq_stride
+condition:rwq_type!=RCYCLIC */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_rwqe_stride rwqe_stride;
+	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
+EAS NAME: local_qpn */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_context_number context_number;
+	/* Description - page_size = 4096*2^log_page_size */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_log_page_size log_page_size;
+	/* Description - 
+EAS NAME: N/A */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_tcu_drop tcu_drop;
+	/* Description - Used for translation and key check (TPT)
+TODO: next project move to common section?
+EAS NAME: rlkey */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_can_use_reserved_lkey can_use_reserved_lkey;
+	/* Description - interrupt FW when packet arrives to tcu on this Qp
+Hermon: tcu_int
+EAS NAME: N/A */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_tcu_trap tcu_trap;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_mtt_pointer_39_32 mtt_pointer_39_32;
+	/* Description - If rwq_type==0 then 
+ swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
+else 
+ rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
+ swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16 + masked_wqe_index*64
+EAS NAME: page_offset */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_wqe_page_offset wqe_page_offset;
+	/* Description - set by RX on every packet received and accepted
+EAS NAME: N/A */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_rx_heartbeat rx_heartbeat;
+	/* Description - e2e fetch is allowed only according to this bit */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_e2e_fetch_enable e2e_fetch_enable;
+	/* Description - E2E Limit on 
+TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
+EAS NAME: N/A
+condition:ts!=DCR */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_rwqe_limit_event rwqe_limit_event;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_mtt_pointer_31_0 mtt_pointer_31_0;
+	/* Description - e2e credits pysical address, bits[63:2]
+EAS NAME: rcv_dbr_adr
+condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_e2e_pa_63_34 e2e_pa_63_34;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_srq_valid srq_valid;
+	/* Description - each WQE in the r&s WQ are signature protected */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_wq_signature wq_signature;
+	/* Description - e2e credits pysical address, bits[63:2]
+EAS NAME: rcv_dbr_adr
+condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_e2e_pa_33_2 e2e_pa_33_2;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_hw_toc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  number that should be added to EQ number when giving an EQ DoorBell to RXC */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t eqn_offset;
+	/* Description -  number that should be added to MSIx Vector Number when giving an MSIx Read/Write operation to RXC */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t msix_offset;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 0-idle, 1-in progress, 2-do not used, 3-returning pages */
+	/* 0x4.0 - 0x4.1 */
+	 u_int8_t flr_state;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - NO_DESCR */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t cmdq_phy_addr;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_hw_init_info init_info;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - pci_configuration_per_pf_vf */
+	/* 0x14.0 - 0x30.31 */
+	 struct connectib_pf_vf_cfg_space pci_cfg_space;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - The total number of packets received that were less 
-than 64 octets long (excluding framing bits, but 
-including FCS octets) and were otherwise well 
-formed. */
-	/* 48.0 - 52.31 */
-	 u_int32_t ether_stats_undersize_pkts_high;
+	/* Description -  */
+	/* 0x30.0 - 0x30.7 */
+	 u_int8_t sw_cmd_eq;
+	/* Description - cmdif_checksum */
+	/* 0x30.8 - 0x30.9 */
+	 u_int8_t csum;
+	/* Description -  */
+	/* 0x30.10 - 0x30.10 */
+	 u_int8_t ext_mod;
+	/* Description -  */
+	/* 0x30.11 - 0x30.11 */
+	 u_int8_t teardown_event;
+	/* Description -  */
+	/* 0x30.12 - 0x30.12 */
+	 u_int8_t pre_icm_driver_refused;
+	/* Description - Reported in function initialization segment: 1 - device still in initializing state.0 - device is ready to receive commands. There is also global bit - static_config_not_done */
+	/* 0x30.13 - 0x30.13 */
+	 u_int8_t initializing;
+	/* Description -  */
+	/* 0x30.24 - 0x30.31 */
+	 u_int8_t issi;
 /*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - The total number of packets received that were less 
-than 64 octets long (excluding framing bits, but 
-including FCS octets) and were otherwise well 
-formed. */
-	/* 52.0 - 56.31 */
-	 u_int32_t ether_stats_undersize_pkts_low;
+	/* Description - state for init gvmix function  - pre init hca */
+	/* 0x34.0 - 0x34.7 */
+	 u_int8_t hca_state;
+	/* Description - 0 - disabled, 1 - full driver , 2 - simple nic - internal FW copy */
+	/* 0x34.8 - 0x34.9 */
+	 u_int8_t nic_interface_type;
+	/* Description - 0 - disabled, 1 - full driver , 2 - simple nic - value of SW visible field */
+	/* 0x34.10 - 0x34.11 */
+	 u_int8_t nic_interface_type_sw;
+	/* Description - If set FLR was triggered by internal flr and not pci related */
+	/* 0x34.12 - 0x34.12 */
+	 u_int8_t non_pci_flr;
+	/* Description - If set PCI error was triggered */
+	/* 0x34.13 - 0x34.13 */
+	 u_int8_t icmc_error_px;
+	/* Description - GALIL ONLY : per gvmi bit for enabling/disabling doorbell recovery */
+	/* 0x34.14 - 0x34.14 */
+	 u_int8_t doorbell_recovery_en;
+	/* Description - global nodnic (simple nic interface) index */
+	/* 0x34.16 - 0x34.18 */
+	 u_int8_t nodnic_idx;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - The total number of packets received that were longer 
-than MTU octets (excluding framing bits, but includ
-ing FCS octets) but were otherwise well formed. */
-	/* 56.0 - 60.31 */
-	 u_int32_t ether_stats_oversize_pkts_high;
+	/* Description - NO_DESCR */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t doorbell_record;
 /*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - The total number of packets received that were longer 
-than MTU octets (excluding framing bits, but includ
-ing FCS octets) but were otherwise well formed. */
-	/* 60.0 - 64.31 */
-	 u_int32_t ether_stats_oversize_pkts_low;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description - The total number of packets received that were less 
-than 64 octets in length (excluding framing bits but 
-including FCS octets) and had either a bad FCS with 
-an integral number of octets (FCS error) or a bad FCS 
-with a non-integral number of octets (alignment 
-error). */
-	/* 64.0 - 68.31 */
-	 u_int32_t ether_stats_fragments_high;
-/*---------------- DWORD[17] (Offset 0x44) ----------------*/
-	/* Description - The total number of packets received that were less 
-than 64 octets in length (excluding framing bits but 
-including FCS octets) and had either a bad FCS with 
-an integral number of octets (FCS error) or a bad FCS 
-with a non-integral number of octets (alignment 
-error). */
-	/* 68.0 - 72.31 */
-	 u_int32_t ether_stats_fragments_low;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
-	/* Description - The total number of packets received that were longer 
-than MTU octets (excluding framing bits, but includ
-ing FCS octets), and had either a bad FCS with an 
-integral number of octets (FCS error) or a bad FCS 
-with a non-integral number of octets (alignment 
-error). */
-	/* 72.0 - 76.31 */
-	 u_int32_t ether_stats_jabbers_high;
-/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
-	/* Description - The total number of packets received that were longer 
-than MTU octets (excluding framing bits, but includ
-ing FCS octets), and had either a bad FCS with an 
-integral number of octets (FCS error) or a bad FCS 
-with a non-integral number of octets (alignment 
-error). */
-	/* 76.0 - 80.31 */
-	 u_int32_t ether_stats_jabbers_low;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description - The best estimate of the total number of collisions on 
-this Ethernet segment. */
-	/* 80.0 - 84.31 */
-	 u_int32_t ether_stats_collisions_high;
-/*---------------- DWORD[21] (Offset 0x54) ----------------*/
-	/* Description - The best estimate of the total number of collisions on 
-this Ethernet segment. */
-	/* 84.0 - 88.31 */
-	 u_int32_t ether_stats_collisions_low;
-/*---------------- DWORD[22] (Offset 0x58) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were 64 octets in length (excluding 
-framing bits but including FCS octets). */
-	/* 88.0 - 92.31 */
-	 u_int32_t ether_stats_pkts64octets_high;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were 64 octets in length (excluding 
-framing bits but including FCS octets). */
-	/* 92.0 - 96.31 */
-	 u_int32_t ether_stats_pkts64octets_low;
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 65 and 127 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 96.0 - 100.31 */
-	 u_int32_t ether_stats_pkts65to127octets_high;
-/*---------------- DWORD[25] (Offset 0x64) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 65 and 127 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 100.0 - 104.31 */
-	 u_int32_t ether_stats_pkts65to127octets_low;
-/*---------------- DWORD[26] (Offset 0x68) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 128 and 255 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 104.0 - 108.31 */
-	 u_int32_t ether_stats_pkts128to255octets_high;
-/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 128 and 255 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 108.0 - 112.31 */
-	 u_int32_t ether_stats_pkts128to255octets_low;
-/*---------------- DWORD[28] (Offset 0x70) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 256 and 511 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 112.0 - 116.31 */
-	 u_int32_t ether_stats_pkts256to511octets_high;
-/*---------------- DWORD[29] (Offset 0x74) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 256 and 511 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 116.0 - 120.31 */
-	 u_int32_t ether_stats_pkts256to511octets_low;
-/*---------------- DWORD[30] (Offset 0x78) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 512 and 1023 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 120.0 - 124.31 */
-	 u_int32_t ether_stats_pkts512to1023octets_high;
-/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 512 and 1023 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 124.0 - 128.31 */
-	 u_int32_t ether_stats_pkts512to1023octets_low;
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1024 and 1518 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 128.0 - 132.31 */
-	 u_int32_t ether_stats_pkts1024to1518octets_high;
-/*---------------- DWORD[33] (Offset 0x84) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1024 and 1518 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 132.0 - 136.31 */
-	 u_int32_t ether_stats_pkts1024to1518octets_low;
-/*---------------- DWORD[34] (Offset 0x88) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1519 and 2047 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 136.0 - 140.31 */
-	 u_int32_t ether_stats_pkts1519to2047octets_high;
-/*---------------- DWORD[35] (Offset 0x8c) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1519 and 2047 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 140.0 - 144.31 */
-	 u_int32_t ether_stats_pkts1519to2047octets_low;
-/*---------------- DWORD[36] (Offset 0x90) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1519 and 2047 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 144.0 - 148.31 */
-	 u_int32_t ether_stats_pkts2048to4095octets_high;
-/*---------------- DWORD[37] (Offset 0x94) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1519 and 2047 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 148.0 - 152.31 */
-	 u_int32_t ether_stats_pkts2048to4095octets_low;
-/*---------------- DWORD[38] (Offset 0x98) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1519 and 2047 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 152.0 - 156.31 */
-	 u_int32_t ether_stats_pkts4096to8191octets_high;
-/*---------------- DWORD[39] (Offset 0x9c) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1519 and 2047 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 156.0 - 160.31 */
-	 u_int32_t ether_stats_pkts4096to8191octets_low;
-/*---------------- DWORD[40] (Offset 0xa0) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1519 and 2047 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 160.0 - 164.31 */
-	 u_int32_t ether_stats_pkts8192to10239octets_high;
-/*---------------- DWORD[41] (Offset 0xa4) ----------------*/
-	/* Description - The total number of packets (including bad packets) 
-received that were between 1519 and 2047 octets in 
-length (excluding framing bits but including FCS 
-octets). */
-	/* 164.0 - 168.31 */
-	 u_int32_t ether_stats_pkts8192to10239octets_low;
+	/* Description - Used in CAPI for ICM pages */
+	/* 0x3c.0 - 0x3c.15 */
+	 u_int16_t capi_direct_pasid;
+	/* Description - Used in CAPI for command mailbox */
+	/* 0x3c.16 - 0x3c.31 */
+	 u_int16_t capi_pasid;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_eth_2863_cntrs_grp_data_layout {
+/* Size in bytes - 64 */
+struct connectib_hw_mkc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The total number of octets received, including framing charac
-ters. Including MAC control frames. */
-	/* 0.0 - 4.31 */
-	 u_int32_t if_in_octets_high;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The total number of octets received, including framing charac
-ters. Including MAC control frames. */
-	/* 4.0 - 8.31 */
-	 u_int32_t if_in_octets_low;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - The number of packets successfully received, which were not 
-addressed to a multicast or broadcast MAC address. */
-	/* 8.0 - 12.31 */
-	 u_int32_t if_in_ucast_pkts_high;
+	/* Description -  check that the mkey version fit to cr_space version. */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t version;
+	/* Description -   0x0: PA - (VA=PA, no translation needed)
+0x1: MTT - (PA is needed)
+0x2: KLMs (Indirect access) 
+ */
+	/* 0x0.8 - 0x0.9 */
+	 u_int8_t access_mode;
+	/* Description -  If set, local read is enabled why is this check not part of the EAS? It's part of the IB Spec */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t lr;
+	/* Description -  If set, local write is enabled */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t lw;
+	/* Description -  If set, remote read is enabled */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t rr;
+	/* Description -  If set, remote write is enabled */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t rw;
+	/* Description -  If set, atomic operation is enabled */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t a;
+	/* Description -  If set, this Mkey context support UMR operations */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t umr_en;
+	/* Description -  If set, the corresponding bit in the transaltion response will be set
+EAS: responder will have one read request toward the PCIe (per QP) */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t small_fence_on_rdma_read_response;
+	/* Description -  If cleared, no PCI access will be performed on the target address.
+RDMA write will be druped drooped.
+RDMA read will give zeroes.
+need to open on QUERY_DUMP_FILL_MKEY
+ */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t goto_pci;
+	/* Description -  If set issue PCIe cycle with  relaxed ordering  attribute (allows write after write bypassing)
+EAS: If cleared, PCIe cycle should be issued with relaxed ordering attribute */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t relaxed_ordering;
+	/* Description -  If set, issue PCIe cycle with (no Snoop) attribute and this cycle will not be snooped in CPU cache */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t no_snoop;
+	/* Description - NO_DESCR */
+	/* 0x0.20 - 0x0.21 */
+	 u_int8_t tlp_processing_hints;
+	/* Description - NO_DESCR */
+	/* 0x0.22 - 0x0.22 */
+	 u_int8_t tlp_processing_hints_en;
+	/* Description -  Unbound Type1 windows are denoted by _len=0.
+ Unbound Type II windows are denoted by Status = Free. */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t free;
+	/* Description - NO_DESCR */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  Variant part of MKey specified by this MKey context */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t mem_key;
+	/* Description -  QP number this MW is attached to. (no QPN attached if QPN = 0xFFFFFF) */
+	/* 0x4.8 - 0x4.31 */
+	 u_int32_t qpn;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - The number of packets successfully received, which were not 
-addressed to a multicast or broadcast MAC address. */
-	/* 12.0 - 16.31 */
-	 u_int32_t if_in_ucast_pkts_low;
+	/* Description -  Protection Domain. (no Protection Domain if PD = 0xFFFFFF) */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t pd;
+	/* Description -  Enable remote invalidation */
+	/* 0xc.24 - 0xc.24 */
+	 u_int8_t en_rinval;
+	/* Description -  If set, MKEY is armed to produce sigerr cqe. */
+	/* 0xc.26 - 0xc.26 */
+	 u_int8_t num_of_sigerr;
+	/* Description -  can improve permormance of klm */
+	/* 0xc.28 - 0xc.28 */
+	 u_int8_t trast_a_en;
+	/* Description -  can improve permormance of bsf */
+	/* 0xc.29 - 0xc.29 */
+	 u_int8_t trast_b_en;
+	/* Description -  If set, this MKey specifies BSF (signature context) remove? */
+	/* 0xc.30 - 0xc.30 */
+	 u_int8_t bsf_enabled;
+	/* Description -  to determine that len is 2^64 */
+	/* 0xc.31 - 0xc.31 */
+	 u_int8_t length_64;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - The number of inbound packets which were chosen to be dis
-carded even though no errors had been detected to prevent 
-their being deliverable to a higher-layer protocol. */
-	/* 16.0 - 20.31 */
-	 u_int32_t if_in_discards_high;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - The number of inbound packets which were chosen to be dis
-carded even though no errors had been detected to prevent 
-their being deliverable to a higher-layer protocol. */
-	/* 20.0 - 24.31 */
-	 u_int32_t if_in_discards_low;
+	/* Description -  Start Address - Virtual Address where this region/window starts */
+	/* 0x10.0 - 0x18.31 */
+	 u_int64_t start_address;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - The number of inbound packets that contained errors prevent
-ing them from being deliverable to a higher-layer protocol. */
-	/* 24.0 - 28.31 */
-	 u_int32_t if_in_errors_high;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - The number of inbound packets that contained errors prevent
-ing them from being deliverable to a higher-layer protocol. */
-	/* 28.0 - 32.31 */
-	 u_int32_t if_in_errors_low;
+	/* Description -  Region/Window Length [bytes] */
+	/* 0x18.0 - 0x20.31 */
+	 u_int64_t length;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - The number of packets received via the interface which were 
-discarded because of an unknown or unsupported protocol. */
-	/* 32.0 - 36.31 */
-	 u_int32_t if_in_unknown_protos_high;
+	/* Description - NO_DESCR */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t bsf_octoword_count;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - The number of packets received via the interface which were 
-discarded because of an unknown or unsupported protocol. */
-	/* 36.0 - 40.31 */
-	 u_int32_t if_in_unknown_protos_low;
+	/* Description - NO_DESCR */
+	/* 0x24.0 - 0x24.14 */
+	 u_int16_t bsf_first_index_46_32;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - The total number of octets transmitted out of the interface, 
-including framing characters. */
-	/* 40.0 - 44.31 */
-	 u_int32_t if_out_octets_high;
+	/* Description - NO_DESCR */
+	/* 0x28.4 - 0x28.31 */
+	 u_int32_t bsf_first_index_31_4;
 /*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - The total number of octets transmitted out of the interface, 
-including framing characters. */
-	/* 44.0 - 48.31 */
-	 u_int32_t if_out_octets_low;
+	/* Description -  Handle specifying ICM area allocated for the MTT This area will be used by the HCA to store translation pages or list of pointers (indirect MKey) */
+	/* 0x2c.0 - 0x2c.14 */
+	 u_int16_t mtt_first_index_46_32;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - The total number of packets that higher-level protocols 
-requested be transmitted and were not addressed to a multicast 
-or broadcast MAC address, including those that were discarded 
-or not sent. */
-	/* 48.0 - 52.31 */
-	 u_int32_t if_out_ucast_pkts_high;
+	/* Description -  Handle specifying ICM area allocated for the MTT This area will be used by the HCA to store translation pages or list of pointers (indirect MKey) */
+	/* 0x30.3 - 0x30.31 */
+	 u_int32_t mtt_first_index_31_3;
 /*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - The total number of packets that higher-level protocols 
-requested be transmitted and were not addressed to a multicast 
-or broadcast MAC address, including those that were discarded 
-or not sent. */
-	/* 52.0 - 56.31 */
-	 u_int32_t if_out_ucast_pkts_low;
+	/* Description -  number of MTTs/KLMs octowords (16B) that are mapped to this region */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t mtt_octoword_count;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - The number of outbound packets which were chosen to be dis
-carded, even though no errors had been detected to prevent 
-their being transmitted. */
-	/* 56.0 - 60.31 */
-	 u_int32_t if_out_discards_high;
+	/* Description -  page size = 2^(entity_size) [byte] */
+	/* 0x38.0 - 0x38.4 */
+	 u_int8_t entity_size;
 /*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - The number of outbound packets which were chosen to be dis
-carded, even though no errors had been detected to prevent 
-their being transmitted. */
-	/* 60.0 - 64.31 */
-	 u_int32_t if_out_discards_low;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description - The number of outbound packets that could not be transmitted 
-because of errors. */
-	/* 64.0 - 68.31 */
-	 u_int32_t if_out_errors_high;
-/*---------------- DWORD[17] (Offset 0x44) ----------------*/
-	/* Description - The number of outbound packets that could not be transmitted 
-because of errors. */
-	/* 68.0 - 72.31 */
-	 u_int32_t if_out_errors_low;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
-	/* Description - The number of packets successfully received, which were 
-addressed to a multicast MAC address. */
-	/* 72.0 - 76.31 */
-	 u_int32_t if_in_multicast_pkts_high;
-/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
-	/* Description - The number of packets successfully received, which were 
-addressed to a multicast MAC address. */
-	/* 76.0 - 80.31 */
-	 u_int32_t if_in_multicast_pkts_low;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description - The number of packets successfully received, which were 
-addressed to a broadcast MAC address. */
-	/* 80.0 - 84.31 */
-	 u_int32_t if_in_broadcast_pkts_high;
-/*---------------- DWORD[21] (Offset 0x54) ----------------*/
-	/* Description - The number of packets successfully received, which were 
-addressed to a broadcast MAC address. */
-	/* 84.0 - 88.31 */
-	 u_int32_t if_in_broadcast_pkts_low;
-/*---------------- DWORD[22] (Offset 0x58) ----------------*/
-	/* Description - The total number of packets that higher-level protocols 
-requested be transmitted, and which were addressed to a multi
-cast MAC address, including those that were discarded or not 
-sent. */
-	/* 88.0 - 92.31 */
-	 u_int32_t if_out_multicast_pkts_high;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
-	/* Description - The total number of packets that higher-level protocols 
-requested be transmitted, and which were addressed to a multi
-cast MAC address, including those that were discarded or not 
-sent. */
-	/* 92.0 - 96.31 */
-	 u_int32_t if_out_multicast_pkts_low;
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description - The total number of packets that higher-level protocols 
-requested be transmitted, and which were addressed to a broad
-cast MAC address, including those that were discarded or not 
-sent. */
-	/* 96.0 - 100.31 */
-	 u_int32_t if_out_broadcast_pkts_high;
-/*---------------- DWORD[25] (Offset 0x64) ----------------*/
-	/* Description - The total number of packets that higher-level protocols 
-requested be transmitted, and which were addressed to a broad
-cast MAC address, including those that were discarded or not 
-sent. */
-	/* 100.0 - 104.31 */
-	 u_int32_t if_out_broadcast_pkts_low;
+	/* Description -  init to 0 */
+	/* 0x3c.0 - 0x3c.15 */
+	 u_int16_t generation_counter;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_hw_c_eqc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - When pi - ci = lookahead_size ci is read from memory
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_lookahead_size_23_8 lookahead_size_23_8;
+	/* Description - when this bit is cleared IRISC should be called */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cqc_valid cqc_valid;
+	/* Description - CQE size: 0-64B, 1-128B
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cqe_128b_size cqe_128b_size;
+	/* Description - qe_coalesce_checksum - Shomron only!!!
+msix:
+1: send interupt to MSIX
+0:send interupt to int pin
+condition:~cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cqe_coalesce_checksum_msix cqe_coalesce_checksum_msix;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa_error pa_error;
+	/* Description - page_size = 4096*2^log_page_size */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_log_page_size log_page_size;
+	/* Description - 
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue poll_cq_cqe_with_error_generated_on_this_queue;
+	/* Description - 
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_poll_cq_queue_in_error_state poll_cq_queue_in_error_state;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_last_notified_check_for_arm_en last_notified_check_for_arm_en;
+	/* Description - index of the last CQE with SE bit set
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_last_solicited_index last_solicited_index;
+	/* Description - When pi - ci = lookahead_size ci is read from memory
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_lookahead_size_7_0 lookahead_size_7_0;
+	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa0_63_32 pa0_63_32;
+	/* Description - CQ start address is: cq_page_offset << (crspace+6)
+It was changed to log page size from the context */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cq_page_offset cq_page_offset;
+	/* Description - 
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_db_recovery_enable db_recovery_enable;
+	/* Description - set to 1 on every CQE creation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cqe_heartbeat cqe_heartbeat;
+	/* Description - 0: no pa fetch
+1: single pa (bring next pa when last CQE of page is written)
+2: dual pa prefetch */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa_mode pa_mode;
+	/* Description - All the CQEs are written to the same address. Required for CQE coalescing */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_shrink shrink;
+	/* Description - when this bit is set, FW should be called */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cq_trap cq_trap;
+	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa0_31_12 pa0_31_12;
+	/* Description - minimum # of cqes to generate eqe
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_cnt_limit_15_8 moderation_cnt_limit_15_8;
+	/* Description - last index for which an event was created */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_last_notified_index last_notified_index;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_producer_index producer_index;
+	/* Description - minimum # of cqes to generate eqe
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_cnt_limit_7_0 moderation_cnt_limit_7_0;
+	/* Description - CQC: eqn+eq_offset
+EQC with MSIX: ^ MSIX number+offset
+EQC with interrupt: 0-INT_A, 1-INT_B, 2-INT_C, 3-INT_D, 4-INT_YU */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_eqn_msix eqn_msix;
+	/* Description - minimum wait time between eqe:
+0 means moderation is disabled on this CQ
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_min_wait_time moderation_min_wait_time;
+	/* Description - doorbell ci - in the case of cq_state different from Fired, this field indicates what should be pi for firing the event. Updated by the doorbell handler */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_db_ci db_ci;
+	/* Description - amount of CQE in CQ is 2^los2_size */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_log2_size log2_size;
+	/* Description - set to 1 on every received DB */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_db_heartbeat db_heartbeat;
+	/* Description - used for db.db_sn check
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_number_of_events_generated number_of_events_generated;
+	/* Description - bits[63:3] of the physical address of the ci
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cipa_63_32 cipa_63_32;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_mtt_pointer_39_37 mtt_pointer_39_37;
+	/* Description - bits[63:3] of the physical address of the ci
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cipa_31_3 cipa_31_3;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_mtt_pointer_36_5 mtt_pointer_36_5;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_consumer_index consumer_index;
+	/* Description - 0-Fired
+1-Armed Solicited
+2-Armed
+3-Always Armed
+Hermon name: state */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cq_state cq_state;
+	/* Description - When set: ci is ignored, and never read (block,lookahead) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_overrun_ignore overrun_ignore;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_mtt_pointer_4_0 mtt_pointer_4_0;
+	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa1_63_32 pa1_63_32;
+	/* Description - updated when eqe is generated from a global timer */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_timestamp_51_40 moderation_timestamp_51_40;
+	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa1_31_12 pa1_31_12;
+	/* Description - updated when eqe is generated from a global timer */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_timestamp_39_8 moderation_timestamp_39_8;
+	/* Description - 
+EAS NAME: usr_page */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_uar uar;
+	/* Description - updated when eqe is generated from a global timer */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_timestamp_7_0 moderation_timestamp_7_0;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_hw_c_cqc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - When pi - ci = lookahead_size ci is read from memory
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_lookahead_size_23_8 lookahead_size_23_8;
+	/* Description - when this bit is cleared IRISC should be called */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cqc_valid cqc_valid;
+	/* Description - CQE size: 0-64B, 1-128B
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cqe_128b_size cqe_128b_size;
+	/* Description - qe_coalesce_checksum - Shomron only!!!
+msix:
+1: send interupt to MSIX
+0:send interupt to int pin
+condition:~cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cqe_coalesce_checksum_msix cqe_coalesce_checksum_msix;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa_error pa_error;
+	/* Description - page_size = 4096*2^log_page_size */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_log_page_size log_page_size;
+	/* Description - 
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue poll_cq_cqe_with_error_generated_on_this_queue;
+	/* Description - 
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_poll_cq_queue_in_error_state poll_cq_queue_in_error_state;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_last_notified_check_for_arm_en last_notified_check_for_arm_en;
+	/* Description - index of the last CQE with SE bit set
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_last_solicited_index last_solicited_index;
+	/* Description - When pi - ci = lookahead_size ci is read from memory
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_lookahead_size_7_0 lookahead_size_7_0;
+	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa0_63_32 pa0_63_32;
+	/* Description - CQ start address is: cq_page_offset << (crspace+6)
+It was changed to log page size from the context */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cq_page_offset cq_page_offset;
+	/* Description - 
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_db_recovery_enable db_recovery_enable;
+	/* Description - set to 1 on every CQE creation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cqe_heartbeat cqe_heartbeat;
+	/* Description - 0: no pa fetch
+1: single pa (bring next pa when last CQE of page is written)
+2: dual pa prefetch */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa_mode pa_mode;
+	/* Description - All the CQEs are written to the same address. Required for CQE coalescing */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_shrink shrink;
+	/* Description - when this bit is set, FW should be called */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cq_trap cq_trap;
+	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa0_31_12 pa0_31_12;
+	/* Description - minimum # of cqes to generate eqe
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_cnt_limit_15_8 moderation_cnt_limit_15_8;
+	/* Description - last index for which an event was created */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_last_notified_index last_notified_index;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_producer_index producer_index;
+	/* Description - minimum # of cqes to generate eqe
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_cnt_limit_7_0 moderation_cnt_limit_7_0;
+	/* Description - CQC: eqn+eq_offset
+EQC with MSIX: ^ MSIX number+offset
+EQC with interrupt: 0-INT_A, 1-INT_B, 2-INT_C, 3-INT_D, 4-INT_YU */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_eqn_msix eqn_msix;
+	/* Description - minimum wait time between eqe:
+0 means moderation is disabled on this CQ
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_min_wait_time moderation_min_wait_time;
+	/* Description - doorbell ci - in the case of cq_state different from Fired, this field indicates what should be pi for firing the event. Updated by the doorbell handler */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_db_ci db_ci;
+	/* Description - amount of CQE in CQ is 2^los2_size */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_log2_size log2_size;
+	/* Description - set to 1 on every received DB */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_db_heartbeat db_heartbeat;
+	/* Description - used for db.db_sn check
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_number_of_events_generated number_of_events_generated;
+	/* Description - bits[63:3] of the physical address of the ci
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cipa_63_32 cipa_63_32;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_mtt_pointer_39_37 mtt_pointer_39_37;
+	/* Description - bits[63:3] of the physical address of the ci
+condition:cq */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cipa_31_3 cipa_31_3;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_mtt_pointer_36_5 mtt_pointer_36_5;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_consumer_index consumer_index;
+	/* Description - 0-Fired
+1-Armed Solicited
+2-Armed
+3-Always Armed
+Hermon name: state */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_cq_state cq_state;
+	/* Description - When set: ci is ignored, and never read (block,lookahead) */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_overrun_ignore overrun_ignore;
+	/* Description - Used in TPT for wqe translation */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_mtt_pointer_4_0 mtt_pointer_4_0;
+	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa1_63_32 pa1_63_32;
+	/* Description - updated when eqe is generated from a global timer */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_timestamp_51_40 moderation_timestamp_51_40;
+	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_pa1_31_12 pa1_31_12;
+	/* Description - updated when eqe is generated from a global timer */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_timestamp_39_8 moderation_timestamp_39_8;
+	/* Description - 
+EAS NAME: usr_page */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_uar uar;
+	/* Description - updated when eqe is generated from a global timer */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_cqc_moderation_timestamp_7_0 moderation_timestamp_7_0;
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-struct connectib_eth_802_3_cntrs_grp_data_layout {
+/* Size in bytes - 8 */
+struct connectib_ffe_tap_set {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - A count of frames that are successfully transmitted. */
-	/* 0.0 - 4.31 */
-	 u_int32_t a_frames_transmitted_ok_high;
+	/* Description -  */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t ffe_tap0;
+	/* Description -  */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t ffe_tap1;
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t ffe_tap2;
+	/* Description -  */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t ffe_tap3;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - A count of frames that are successfully transmitted. */
-	/* 4.0 - 8.31 */
-	 u_int32_t a_frames_transmitted_ok_low;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - A count of frames that are successfully received. This 
-does not include frames received with frame-too-long, 
-frame check sequence (FCS), length or alignment errors, 
-or frames lost due to other MAC errors. */
-	/* 8.0 - 12.31 */
-	 u_int32_t a_frames_received_ok_high;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - A count of frames that are successfully received. This 
-does not include frames received with frame-too-long, 
-frame check sequence (FCS), length or alignment errors, 
-or frames lost due to other MAC errors. */
-	/* 12.0 - 16.31 */
-	 u_int32_t a_frames_received_ok_low;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - A count of receive frames that are an integral number of 
-octets in length and do not pass the FCS check. This 
-does not include frames received with frame-too-long, or 
-frame-too-short (frame fragment) errors. */
-	/* 16.0 - 20.31 */
-	 u_int32_t a_frame_check_sequence_errors_high;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - A count of receive frames that are an integral number of 
-octets in length and do not pass the FCS check. This 
-does not include frames received with frame-too-long, or 
-frame-too-short (frame fragment) errors. */
-	/* 20.0 - 24.31 */
-	 u_int32_t a_frame_check_sequence_errors_low;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - A count of frames that are not an integral number of 
-octets in length and do not pass the FCS check. */
-	/* 24.0 - 28.31 */
-	 u_int32_t a_alignment_errors_high;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - A count of frames that are not an integral number of 
-octets in length and do not pass the FCS check. */
-	/* 28.0 - 32.31 */
-	 u_int32_t a_alignment_errors_low;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - A count of data and padding octets of frames that are 
-successfully transmitted. */
-	/* 32.0 - 36.31 */
-	 u_int32_t a_octets_transmitted_ok_high;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - A count of data and padding octets of frames that are 
-successfully transmitted. */
-	/* 36.0 - 40.31 */
-	 u_int32_t a_octets_transmitted_ok_low;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - A count of data and padding octets in frames that are 
-successfully received. This does not include octets in 
-frames received with frame-too-long, FCS, length or 
-alignment errors, or frames lost due to other MAC 
-errors. */
-	/* 40.0 - 44.31 */
-	 u_int32_t a_octets_received_ok_high;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - A count of data and padding octets in frames that are 
-successfully received. This does not include octets in 
-frames received with frame-too-long, FCS, length or 
-alignment errors, or frames lost due to other MAC 
-errors. */
-	/* 44.0 - 48.31 */
-	 u_int32_t a_octets_received_ok_low;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - A count of frames that are successfully transmitted to a 
-group destination address other than broadcast. */
-	/* 48.0 - 52.31 */
-	 u_int32_t a_multicast_frames_xmitted_ok_high;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - A count of frames that are successfully transmitted to a 
-group destination address other than broadcast. */
-	/* 52.0 - 56.31 */
-	 u_int32_t a_multicast_frames_xmitted_ok_low;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - A count of the frames that were successfully transmitted 
-to the broadcast address. Frames transmitted to multicast 
-addresses are not broadcast frames and are excluded. */
-	/* 56.0 - 60.31 */
-	 u_int32_t a_broadcast_frames_xmitted_ok_high;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - A count of the frames that were successfully transmitted 
-to the broadcast address. Frames transmitted to multicast 
-addresses are not broadcast frames and are excluded. */
-	/* 60.0 - 64.31 */
-	 u_int32_t a_broadcast_frames_xmitted_ok_low;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description - A count of frames that are successfully received and 
-directed to an active nonbroadcast group address. This 
-does not include frames received with frame-too-long, 
-FCS, length or alignment errors, or frames lost due to 
-internal MAC sublayer error. */
-	/* 64.0 - 68.31 */
-	 u_int32_t a_multicast_frames_received_ok_high;
-/*---------------- DWORD[17] (Offset 0x44) ----------------*/
-	/* Description - A count of frames that are successfully received and 
-directed to an active nonbroadcast group address. This 
-does not include frames received with frame-too-long, 
-FCS, length or alignment errors, or frames lost due to 
-internal MAC sublayer error. */
-	/* 68.0 - 72.31 */
-	 u_int32_t a_multicast_frames_received_ok_low;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
-	/* Description - A count of the frames that were successfully transmitted 
-to the broadcast address. Frames transmitted to multicast 
-addresses are not broadcast frames and are excluded. */
-	/* 72.0 - 76.31 */
-	 u_int32_t a_broadcast_frames_recieved_ok_high;
-/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
-	/* Description - A count of the frames that were successfully transmitted 
-to the broadcast address. Frames transmitted to multicast 
-addresses are not broadcast frames and are excluded. */
-	/* 76.0 - 80.31 */
-	 u_int32_t a_broadcast_frames_recieved_ok_low;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description - A count of frames with a length/type field value between 
-the minimum unpadded MAC client data size and the 
-maximum allowed MAC client data size, inclusive, that 
-does not match the number of MAC client data octets 
-received. The counter also increments for frames whose 
-length/type field value is less than the minimum allowed 
-unpadded MAC client data size and the number of MAC 
-client data octets received is greater than the minimum 
-unpadded MAC client data size. */
-	/* 80.0 - 84.31 */
-	 u_int32_t a_in_range_length_errors_high;
-/*---------------- DWORD[21] (Offset 0x54) ----------------*/
-	/* Description - A count of frames with a length/type field value between 
-the minimum unpadded MAC client data size and the 
-maximum allowed MAC client data size, inclusive, that 
-does not match the number of MAC client data octets 
-received. The counter also increments for frames whose 
-length/type field value is less than the minimum allowed 
-unpadded MAC client data size and the number of MAC 
-client data octets received is greater than the minimum 
-unpadded MAC client data size. */
-	/* 84.0 - 88.31 */
-	 u_int32_t a_in_range_length_errors_low;
-/*---------------- DWORD[22] (Offset 0x58) ----------------*/
-	/* Description - A count of frames with a length field value greater than 
-the maximum allowed LLC data size. */
-	/* 88.0 - 92.31 */
-	 u_int32_t a_out_of_range_length_field_high;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
-	/* Description - A count of frames with a length field value greater than 
-the maximum allowed LLC data size. */
-	/* 92.0 - 96.31 */
-	 u_int32_t a_out_of_range_length_field_low;
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description - A count of frames received that exceed the maximum 
-permitted frame size by IEEE 802.3 (
-MTU size). */
-	/* 96.0 - 100.31 */
-	 u_int32_t a_frame_too_long_errors_high;
-/*---------------- DWORD[25] (Offset 0x64) ----------------*/
-	/* Description - A count of frames received that exceed the maximum 
-permitted frame size by IEEE 802.3 (
-MTU size). */
-	/* 100.0 - 104.31 */
-	 u_int32_t a_frame_too_long_errors_low;
-/*---------------- DWORD[26] (Offset 0x68) ----------------*/
-	/* Description - For full duplex operation at 1000 Mb/s, it is a count of 
-the number of times the receiving media is non-idle (a 
-carrier event) for a period of time equal to or greater than 
-minFrameSize, and during which there was at least one 
-occurrence of an event that causes the PHY to indicate 
-"Data reception error". */
-	/* 104.0 - 108.31 */
-	 u_int32_t a_symbol_error_during_carrier_high;
-/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
-	/* Description - For full duplex operation at 1000 Mb/s, it is a count of 
-the number of times the receiving media is non-idle (a 
-carrier event) for a period of time equal to or greater than 
-minFrameSize, and during which there was at least one 
-occurrence of an event that causes the PHY to indicate 
-"Data reception error". */
-	/* 108.0 - 112.31 */
-	 u_int32_t a_symbol_error_during_carrier_low;
-/*---------------- DWORD[28] (Offset 0x70) ----------------*/
-	/* Description - A count of MAC Control frames passed to the MAC 
-sublayer for transmission. */
-	/* 112.0 - 116.31 */
-	 u_int32_t a_mac_control_frames_transmitted_high;
-/*---------------- DWORD[29] (Offset 0x74) ----------------*/
-	/* Description - A count of MAC Control frames passed to the MAC 
-sublayer for transmission. */
-	/* 116.0 - 120.31 */
-	 u_int32_t a_mac_control_frames_transmitted_low;
-/*---------------- DWORD[30] (Offset 0x78) ----------------*/
-	/* Description - A count of MAC Control frames passed by the MAC 
-sublayer to the MAC Control sublayer. */
-	/* 120.0 - 124.31 */
-	 u_int32_t a_mac_control_frames_received_high;
-/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
-	/* Description - A count of MAC Control frames passed by the MAC 
-sublayer to the MAC Control sublayer. */
-	/* 124.0 - 128.31 */
-	 u_int32_t a_mac_control_frames_received_low;
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
-	/* Description - A count of MAC Control frames received that contain an 
-opcode that is not supported by the device. */
-	/* 128.0 - 132.31 */
-	 u_int32_t a_unsupported_opcodes_received_high;
-/*---------------- DWORD[33] (Offset 0x84) ----------------*/
-	/* Description - A count of MAC Control frames received that contain an 
-opcode that is not supported by the device. */
-	/* 132.0 - 136.31 */
-	 u_int32_t a_unsupported_opcodes_received_low;
-/*---------------- DWORD[34] (Offset 0x88) ----------------*/
-	/* Description - A count of MAC PAUSE frames passed by the MAC 
-sublayer to the MAC Control sublayer. */
-	/* 136.0 - 140.31 */
-	 u_int32_t a_pause_mac_ctrl_frames_received_high;
-/*---------------- DWORD[35] (Offset 0x8c) ----------------*/
-	/* Description - A count of MAC PAUSE frames passed by the MAC 
-sublayer to the MAC Control sublayer. */
-	/* 140.0 - 144.31 */
-	 u_int32_t a_pause_mac_ctrl_frames_received_low;
-/*---------------- DWORD[36] (Offset 0x90) ----------------*/
-	/* Description - A count of PAUSE frames passed to the MAC sublayer 
-for transmission. */
-	/* 144.0 - 148.31 */
-	 u_int32_t a_pause_mac_ctrl_frames_transmitted_high;
-/*---------------- DWORD[37] (Offset 0x94) ----------------*/
-	/* Description - A count of PAUSE frames passed to the MAC sublayer 
-for transmission. */
-	/* 148.0 - 152.31 */
-	 u_int32_t a_pause_mac_ctrl_frames_transmitted_low;
+	/* Description -  */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t ffe_tap4;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-union connectib_cmdif_ctx_special {
+/* Size in bytes - 4 */
+struct connectib_GEN3_TRANSMITTER_SETTING {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_create c;
-	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_modify_tir tir;
-	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_create_qp qp;
-	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_create_rq rq;
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t post;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_create_srq srq;
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t reject_coeff;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_rqt rqt;
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t parity;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_create_eq eq;
+	/* 0x0.8 - 0x0.13 */
+	 u_int8_t main;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_create_cq c_cq;
+	/* 0x0.16 - 0x0.21 */
+	 u_int8_t pre;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_modify_cq m_cq;
+	/* 0x0.24 - 0x0.25 */
+	 u_int8_t ec;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_mkey mkey;
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t reset_eieos;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_arm_rq arm_rq;
+	/* 0x0.27 - 0x0.30 */
+	 u_int8_t preset;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_special_modify_rmp modify_rmp;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t use_preset;
+};
+
+/* Description -   */
+/* Size in bytes - 1 */
+struct connectib_gpio_config {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_sniffer sniffer;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t mode0;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_mcg mcg;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t mode1;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_psv psv;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t def_val;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_create_mtt mtt;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t pull_up;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_cmdif_ctx_dmfs dmfs;
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t pull_en;
+	/* Description - 1-masked (don't use function defaults), 0-not masked */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t masked;
 };
 
 /* Description -   */
+/* Size in bytes - 1 */
+struct connectib_gpio_function {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Map function to GPIO num, 0x3f - function not present. */
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t mapping;
+	/* Description - function polarity 0-normal, 1-reverse. Normal polarity means 0 = non active, 1 = active. */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t reverse_polarity;
+	/* Description - 1-masked (don't use function defaults), 0-not masked */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t masked;
+};
+
+/* Description -  to be used in core2phy interface (not in page format) */
 /* Size in bytes - 4 */
-union connectib_flush_type {
+struct connectib_mlpn_enhanced_database_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_flush_type_bits bits;
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_flush_type_bitmask bitmask;
+	/* Description - mlpn bits */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_mlnx_enhanced_equal_info_ini as_bits;
+};
+
+/* Description -  mlpn cability (ability)/ admin (request) bits for ScratchPad (not in pages foramt) */
+/* Size in bytes - 4 */
+struct connectib_mlpn_database_all_protocol_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - mlpn bits */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_mlpn_database_all_protocol_bits_ini as_bits;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_sw_eqe_flat_data {
+/* Size in bytes - 32 */
+struct connectib_tx_rx_logic_serdes_mapping_node_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 28.31 */
-	 u_int32_t data[7];
+	/* 0x0.0 - 0x20.31 */
+	 u_int32_t logic_to_serdes[8];
 };
 
 /* Description -   */
-/* Size in bytes - 24 */
-struct connectib_db_bf_congestion_event {
+/* Size in bytes - 1088 */
+struct connectib_serdes_conf_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 0 - N/A
-1 - Mild congestion
-...
-7 - Severe congestion */
-	/* 0.8 - 0.15 */
-	 u_int8_t congestion_level;
-	/* Description - 0 - Doorbell congestion
-1 - BlueFlame congestion */
-	/* 0.24 - 4.31 */
-	 u_int8_t event_subtype;
+	/* Description -  */
+	/* 0x0.0 - 0x180.31 */
+	 struct connectib_serdes_autoneg_sets_ini nego;
+/*---------------- DWORD[96] (Offset 0x180) ----------------*/
+	/* Description - sets 0-7   : IB 8/10
+sets 8-15 : IB 8/10 for legacy device
+sets16-31: IB FDR */
+	/* 0x180.0 - 0x300.31 */
+	 struct connectib_serdes_aba_sets_ini aba;
+/*---------------- DWORD[192] (Offset 0x300) ----------------*/
+	/* Description - set0: force sdr
+set1: force ddr
+set2: force qdr
+set3: force fdr
+set4: aggressor
+set5: force xaui
+set6: force sgmii
+set7: force xfi
+set8: ffe initial
+set9: for slicer4err calib */
+	/* 0x300.0 - 0x378.31 */
+	 struct connectib_serdes_force_sets_ini force;
+/*---------------- DWORD[222] (Offset 0x378) ----------------*/
+	/* Description - set0: half active fibre IB 8/10
+set1: active fibre IB 8/10
+set2: half active fibre IB FDR (64/66)
+set3: active fibre IB FDR (64/66) */
+	/* 0x378.0 - 0x3a8.31 */
+	 struct connectib_serdes_active_sets_ini active;
+/*---------------- DWORD[234] (Offset 0x3a8) ----------------*/
+	/* Description - spec1_3 preset for fdr */
+	/* 0x3a8.0 - 0x3e8.31 */
+	 struct connectib_serdes_preset_sets_ini preset_tx_fdr;
+/*---------------- DWORD[250] (Offset 0x3e8) ----------------*/
+	/* Description - spec1_3 preset for qdr */
+	/* 0x3e8.0 - 0x428.31 */
+	 struct connectib_serdes_preset_sets_ini preset_tx_qdr;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_rdma_page_fault_event {
+/* Size in bytes - 24 */
+struct connectib_rx_adapt_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The number of bytes already sent/received in this WQE before the fault. */
-	/* 0.0 - 4.31 */
-	 u_int32_t bytes_committed;
+	/* Description - max number of FFE steps bedore stop. 0 - unlimited */
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t max_num_ffe_search;
+	/* Description - number of FFE taps to use.
+allow values: 1-5 */
+	/* 0x0.6 - 0x0.8 */
+	 u_int8_t num_of_ffe_taps;
+	/* Description - number of HW machine FFE searches before FW interfere */
+	/* 0x0.9 - 0x0.14 */
+	 u_int8_t num_of_ffe_hw_steps;
+	/* Description - how many HW machine runs before doing eye open to help with ffe stop condition.
+0 - dont do eye open for ffe stop condition */
+	/* 0x0.15 - 0x0.18 */
+	 u_int8_t num_hw_ffe_before_open_eye;
+	/* Description - when set, dont do FFE search in RX adaptation flow, just go over RX sets. */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t skip_ffe_srch;
+	/* Description - when set, dont do RX buffer sets seatch in RX adaptation. */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t skip_rx_srch;
+	/* Description -  */
+	/* 0x0.21 - 0x0.27 */
+	 u_int8_t offset_eye_opener_range;
+	/* Description - Max gap between eye pointers of current set and best set */
+	/* 0x0.28 - 0x0.31 */
+	 u_int8_t mixer_offset_grade_margin;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The R-key used for the RDMA transaction which caused the fault. */
-	/* 4.0 - 8.31 */
-	 u_int32_t r_key;
+	/* Description - jump size for first level of FFE search */
+	/* 0x4.0 - 0x4.3 */
+	 u_int8_t jump_size_ffe_level1;
+	/* Description - jump size for second level of FFE search */
+	/* 0x4.4 - 0x4.7 */
+	 u_int8_t jump_size_ffe_level2;
+	/* Description - jump size for third level of FFE search */
+	/* 0x4.8 - 0x4.11 */
+	 u_int8_t jump_size_ffe_level3;
+	/* Description - determines start point of linear search on phase  */
+	/* 0x4.12 - 0x4.16 */
+	 u_int8_t delta_from_edges_phase;
+	/* Description - determines start point of linear search on offset */
+	/* 0x4.17 - 0x4.22 */
+	 u_int8_t delta_from_edges_offst;
+	/* Description -  */
+	/* 0x4.23 - 0x4.23 */
+	 u_int8_t offset_penalty_en;
+	/* Description -  */
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t offset_penalty_weight;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - The length of the packet received/constructed for transmission when the 
-fault occurred. Measured in bytes.
-This can be used on RDMA write operations, where we do not always 
-know the rdma_op_len. The software may attempt to prefetch memory 
-based on the event attributes, but must make sure it can map the pages 
-needed for packet_len bytes. */
-	/* 8.0 - 8.15 */
-	 u_int16_t packet_len;
+	/* Description - center the eye on the phase */
+	/* 0x8.0 - 0x8.0 */
+	 u_int8_t center_mix90phase;
+	/* Description -  */
+	/* 0x8.1 - 0x8.1 */
+	 u_int8_t disable_calib_in_QDR_rev0;
+	/* Description - center the eye on the offset */
+	/* 0x8.2 - 0x8.2 */
+	 u_int8_t center_mixer_offset;
+	/* Description - enable mixer_offset_grade_margin feature */
+	/* 0x8.3 - 0x8.3 */
+	 u_int8_t grade_mixer_margin_en;
+	/* Description - 2^value * 64ns */
+	/* 0x8.4 - 0x8.8 */
+	 u_int8_t eye_open_machine_measure_time;
+	/* Description - 2^value * 64ns */
+	/* 0x8.9 - 0x8.13 */
+	 u_int8_t eye_open_machine_stab_time;
+	/* Description - minimum grade for eye. if below this grade, dont finish RX adaptation */
+	/* 0x8.14 - 0x8.21 */
+	 u_int8_t best_grade_th;
+	/* Description -  */
+	/* 0x8.22 - 0x8.26 */
+	 u_int8_t eye_open_machine_stab_time_extended;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - The length of the RDMA operation, in bytes. If the HW cannot reliably 
-report the length, it will put 0 in this field, and the driver should perform 
-prefetching based on access pattern */
-	/* 12.0 - 16.31 */
-	 u_int32_t rdma_op_len;
+	/* Description -  */
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t eye_phase_diff_min;
+	/* Description -  */
+	/* 0xc.8 - 0xc.15 */
+	 u_int8_t eye_offset_diff_min;
+	/* Description -  */
+	/* 0xc.16 - 0xc.16 */
+	 u_int8_t min_eye_en;
+	/* Description -  */
+	/* 0xc.17 - 0xc.17 */
+	 u_int8_t grade_eye_from_center;
+	/* Description - if max_tap_offset exceeds this value - offset_grade is 0 */
+	/* 0xc.18 - 0xc.23 */
+	 u_int8_t offset_zero_grade_threshold;
+	/* Description -  */
+	/* 0xc.24 - 0xc.28 */
+	 u_int8_t eye_open_machine_measure_time_in_stab_extend;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - The VA used for the beginning of the RDMA operation, upper 32-bits. */
-	/* 16.0 - 20.31 */
-	 u_int32_t rdma_va_hi;
+	/* Description - Maximal value for offset_grade. If offset_grade exceeds - it truncated to this value */
+	/* 0x10.2 - 0x10.7 */
+	 u_int8_t offset_max_grade;
+	/* Description - seperate the eyes that passes this limit from the ones that did not pass */
+	/* 0x10.8 - 0x10.12 */
+	 u_int8_t phase_limit;
+	/* Description -  */
+	/* 0x10.13 - 0x10.15 */
+	 u_int8_t rx_adaptation_reattempts;
+	/* Description - weight for phase in grade calc */
+	/* 0x10.16 - 0x10.23 */
+	 u_int8_t phase_weight;
+	/* Description - weight for offsetin grade calc */
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t offset_weight;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - The VA used for the beginning of the RDMA operation, lower 32-bits. */
-	/* 20.0 - 24.31 */
-	 u_int32_t rdma_va_lo;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - The QP on which the fault occurred */
-	/* 24.0 - 24.23 */
-	 u_int32_t qpn;
-	/* Description - If set, the fault happened on the requestor (initiator) side of the QP.
-Not set - responder side of the QP */
-	/* 24.24 - 24.24 */
-	 u_int8_t requestor;
-	/* Description - If set, the operation attempted was writing memory. 
-Not set - reading from memory */
-	/* 24.25 - 24.25 */
-	 u_int8_t write_read_;
-	/* Description - 1 - RDMA associated page fault.
-0 - WQE associated page fault */
-	/* 24.26 - 24.26 */
-	 u_int8_t rdma;
-};
-
-/* Description -   */
-/* Size in bytes - 28 */
-struct connectib_wqe_page_fault_event {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The number of bytes already sent/received in this WQE before the fault. */
-	/* 0.0 - 4.31 */
-	 u_int32_t bytes_committed;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - The WQE index (from the beginning of the relevant queue, in WQEBB units) where the fault occurred. */
-	/* 4.0 - 4.15 */
-	 u_int16_t wqe_index;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - The length of the packet received/constructed for transmission when the fault occurred. Measured in bytes. */
-	/* 8.0 - 8.15 */
-	 u_int16_t packet_len;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - The QP on which the fault occurred. */
-	/* 24.0 - 24.23 */
-	 u_int32_t qpn;
-	/* Description - If set, the fault happened on the requestor (initiator) side of the QP. */
-	/* 24.24 - 24.24 */
-	 u_int8_t req_res_;
-	/* Description - If set, the operation attempted was writing memory. */
-	/* 24.25 - 24.25 */
-	 u_int8_t write_read_;
-	/* Description - If set, the operation attempted was an RDMA operation. */
-	/* 24.26 - 24.26 */
-	 u_int8_t rdma;
+	/* Description - maximum for the sum of rx taps */
+	/* 0x14.0 - 0x14.7 */
+	 u_int8_t rx_taps_norm_val;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_page_request_event {
+/* Size in bytes - 96 */
+struct connectib_ib_ini_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - function_ix + function_en */
-	/* 0.0 - 0.15 */
-	 u_int16_t function_id;
+	/* Description - The time to wait (* 50 usec) before turn off llr if lp don't has llr enabled.
+Actual only for FDR
+SDR/DDR/QDR wait time is 150 usec. */
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t llr_wait_time;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t spec1_3_ignore_peer_tx_req;
+	/* Description -  */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t qdr_tx_aggressor_en;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t equal_req_en;
+	/* Description -  */
+	/* 0x0.9 - 0x0.10 */
+	 u_int8_t ts3_fcu;
+	/* Description -  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t ts3_hbr;
+	/* Description -  */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t ts3_sct;
+	/* Description -  */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t ts3_tp;
+	/* Description -  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t ts3_mpr;
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t ts3_ft;
+	/* Description -  */
+	/* 0x0.16 - 0x0.20 */
+	 u_int8_t min_ib_grade;
+	/* Description -  */
+	/* 0x0.21 - 0x0.24 */
+	 u_int8_t tx_polarity_port0;
+	/* Description -  */
+	/* 0x0.25 - 0x0.28 */
+	 u_int8_t tx_polarity_port1;
+	/* Description - bit mask per logical port */
+	/* 0x0.29 - 0x0.30 */
+	 u_int8_t Mloop_en_mask;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Number of missing / unneeded pages (signed number, msb indicate sign) */
-	/* 4.0 - 8.31 */
-	 u_int32_t num_pages;
-};
-
-/* Description -   */
-/* Size in bytes - 28 */
-struct connectib_port_state_change_event {
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Port number */
-	/* 8.28 - 12.31 */
-	 u_int8_t port_num;
+	/* Description -  */
+	/* 0x4.0 - 0xc.31 */
+	 struct connectib_ib_ini_per_lcl_ini lcl[2];
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.6 */
+	 u_int8_t retry_counter_threshold;
+	/* Description -  */
+	/* 0xc.7 - 0xc.14 */
+	 u_int8_t time_2_clear_err_after_linkup;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - hold the spec1_3 preset mask from INI and all the ABA masks and borders */
+	/* 0x10.0 - 0x5c.31 */
+	 struct connectib_spec1_3_preset_ini spec1_3_preset;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description -  */
+	/* 0x5c.0 - 0x5c.0 */
+	 u_int8_t disable_llr_on_long_optic;
+	/* Description -  */
+	/* 0x5c.1 - 0x5c.7 */
+	 u_int8_t llr_max_cable_length;
+	/* Description -  */
+	/* 0x5c.8 - 0x5c.8 */
+	 u_int8_t terminate_pkt_timeout;
+	/* Description -  */
+	/* 0x5c.9 - 0x5c.9 */
+	 u_int8_t llr_rx_check_en;
+	/* Description -  */
+	/* 0x5c.10 - 0x5c.10 */
+	 u_int8_t enable_fec_on_long_optic;
+	/* Description -  */
+	/* 0x5c.11 - 0x5c.17 */
+	 u_int8_t fec_min_cable_length;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_sw_eqe_qp_data {
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+/* Size in bytes - 16 */
+struct connectib_PORT_PHY_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 24.0 - 24.23 */
-	 u_int32_t qpn;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_serdes_param_mask_ini serdes_param_mask;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_sw_eqe_error_data {
+/* Size in bytes - 4 */
+struct connectib_nv_tlv_data_vpi_settings {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t cqn;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t network_link_type_ib;
 	/* Description -  */
-	/* 8.0 - 8.7 */
-	 u_int8_t syndrome;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t network_link_type_eth;
+	/* Description -  */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t default_link_type_ib;
+	/* Description -  */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t default_link_type_eth;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_sw_eqe_cq_data {
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 24.23 */
-	 u_int32_t cqn;
+/* Size in bytes - 4 */
+struct connectib_nv_config_kdnet_data {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - indicates if KDNET is ebnabled - remove when ticket #869451 closed and pick node from EAS_st */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t kdnet_en;
 };
 
 /* Description -   */
-/* Size in bytes - 44 */
-union connectib_reg_access_reg_tlv_data {
+/* Size in bytes - 8 */
+struct connectib_nv_config_tpt {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_mfpa mfpa;
-	/* Description - misc flash activate image */
-	/* 0.0 - 16.31 */
-	 struct connectib_register_mfai mfai;
-	/* Description - misc flash reset level */
-	/* 0.0 - 16.31 */
-	 struct connectib_register_mfrl mfrl;
-	/* Description - misc temperature */
-	/* 0.0 - 28.31 */
-	 struct connectib_mtmp mtmp;
-	/* Description - misc_counters */
-	/* 0.0 - 32.31 */
-	 struct connectib_register_misc_counters misc_counters;
-	/* Description - misc flash block access */
-	/* 0.0 - 44.31 */
-	 struct connectib_project_mfba mfba;
-	/* Description - misc flash block erase */
-	/* 0.0 - 12.31 */
-	 struct connectib_mfbe mfbe;
-	/* Description - mjtag - master jtag register */
-	/* 0.0 - 44.31 */
-	 struct connectib_mjtag mjtag;
-	/* Description - Table 236 - PAOS - Ports Administrative and Operational Status Register Layout */
-	/* 0.0 - 16.31 */
-	 struct connectib_paos_reg paos;
-	/* Description - Serdes Lane Receive Parameters */
-	/* 0.0 - 40.31 */
-	 struct connectib_slrp_reg slrp;
-	/* Description - Table 305 - [Internal] SLTP - Serdes Lane Transmit Parameters Register Layout */
-	/* 0.0 - 20.31 */
-	 struct connectib_sltp_reg sltp;
-	/* Description - Table 309 - PTAS - Phy Tuning Algorithm Settings Register Layout */
-	/* 0.0 - 44.31 */
-	 struct connectib_ptas_reg ptas;
-	/* Description - Table 307 - SLRG - Serdes Lane Receive Grade Register Layou */
-	/* 0.0 - 40.31 */
-	 struct connectib_slrg_reg slrg;
-	/* Description - Table 301 - [Internal] PPAMP - Port Phy opAMP data Register Layout */
-	/* 0.0 - 44.31 */
-	 struct connectib_pamp_reg ppamp;
-	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_pmtu_reg pmtu;
-	/* Description -  */
-	/* 0.0 - 44.31 */
-	 struct connectib_project_nvda nvda;
-	/* Description -  */
-	/* 0.0 - 12.31 */
-	 struct connectib_nv_tlv_hdr nvdi;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_tpt_conf settings;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_project_nvqc nvqc;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_nv_tlv_data_tpt_capabilities capabilities;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_reg_access_tlv {
+/* Size in bytes - 32 */
+struct connectib_nv_config_pci {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.16 - 0.26 */
-	 u_int16_t len;
-	/* Description - enum {
-    EMAD_TLV_TYPE_END   = 0x0,
-    EMAD_TLV_TYPE_OPER  = 0x1,
-    EMAD_TLV_TYPE_RD    = 0x2,
-    EMAD_TLV_TYPE_REG   = 0x3,
-    EMAD_TLV_TYPE_UDATA = 0x4,
-};
- */
-	/* 0.27 - 4.31 */
-	 u_int8_t type;
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_nv_global_pci_conf settings;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x20.31 */
+	 struct connectib_nv_global_pci_cap capabilities;
 };
 
-/* Description -   */
+/* Description -  ACS Extended capability */
 /* Size in bytes - 8 */
-struct connectib_IB_TID {
+struct connectib_acs_ext_cap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t High;
+	/* Description - capability id */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t cap_id;
+	/* Description - capability version */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t version;
+	/* Description - next capability pointer */
+	/* 0x0.20 - 0x0.31 */
+	 u_int16_t nxt_ptr;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t Low;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_pcie_acs_ctrl_fields acs_ctrl_fields;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_dc_control_packet_desc {
+/* Size in bytes - 56 */
+struct connectib_advanced_error_reporting {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t dlid;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t cap_id;
 	/* Description -  */
-	/* 0.16 - 4.31 */
-	 u_int16_t slid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t version;
 	/* Description -  */
-	/* 4.0 - 4.23 */
-	 u_int32_t source_qp;
+	/* 0x0.20 - 0x0.31 */
+	 u_int16_t nxt_ptr;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.24 - 4.24 */
-	 u_int8_t valid;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_uncorrectable_error_status uncorrectable_error_status;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.23 */
-	 u_int32_t dest_qp;
+	/* 0x8.0 - 0xc.31 */
+	 struct connectib_uncorrectable_error_mask uncorrectable_error_mask;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.23 */
-	 u_int32_t psn;
+	/* 0xc.0 - 0x10.31 */
+	 struct connectib_uncorrectable_error_severity uncorrectable_error_severity;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 16.15 */
-	 u_int16_t pkey;
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_correctable_error_status correctable_error_status;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 16.16 - 16.19 */
-	 u_int8_t sl;
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_correctable_error_mask correctable_error_mask;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 16.20 - 16.20 */
-	 u_int8_t port_id;
+	/* 0x18.0 - 0x1c.31 */
+	 struct connectib_advanced_error_cap_ctl advanced_error_cap_ctl;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 16.21 - 16.21 */
-	 u_int8_t has_grh;
+	/* 0x1c.0 - 0x2c.31 */
+	 struct connectib_header_log header_log;
+};
+
+/* Description -  Device serial number capability */
+/* Size in bytes - 12 */
+struct connectib_dev_serial_num_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - capability id */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t cap_id;
+	/* Description - capability id */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t version;
+	/* Description - next capability pointer */
+	/* 0x0.20 - 0x0.31 */
+	 u_int16_t nxt_ptr;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 16.22 - 16.22 */
-	 u_int8_t force_loopback;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t serial_number_31_0;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 20.0 - 20.15 */
-	 u_int16_t dct_gvmi;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t serial_number_63_32;
+};
+
+/* Description -  Single Root IO virtualization capability */
+/* Size in bytes - 64 */
+struct connectib_sriov_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - SR-IOV capability id */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t cap_id;
+	/* Description - SR-IOV capability version */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t version;
+	/* Description - next capability pointer */
+	/* 0x0.20 - 0x0.31 */
+	 u_int16_t nxt_ptr;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 24.0 - 24.7 */
-	 u_int8_t tclass;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_sriov_capabilities capabilities;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 24.8 - 24.15 */
-	 u_int8_t hop_limit;
+	/* 0x8.0 - 0x8.15 */
+	 struct connectib_sriov_control ctrl;
 	/* Description -  */
-	/* 24.16 - 28.31 */
-	 u_int16_t flow_label;
+	/* 0x8.16 - 0x8.31 */
+	 struct connectib_sriov_status status;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - The number of VFs that are initially associated with the PF    - default is not in use (overwrite by NV */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t initial_vfs;
+	/* Description - The maximum number of VFs that could be associated with the PF - default is not in use (overwrite by NV */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t total_vfs;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The number of VFs that are visible */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t num_vfs;
+	/* Description - Function dependency Link */
+	/* 0x10.16 - 0x10.23 */
+	 u_int8_t func_dependency_link;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - First VF Offset */
+	/* 0x14.0 - 0x14.15 */
+	 u_int16_t first_vf_offset;
+	/* Description - VF Stride */
+	/* 0x14.16 - 0x14.31 */
+	 u_int16_t vf_stride;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.16 - 0x18.31 */
+	 u_int16_t vf_device_id;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Supported Page Sizes. By default support all page size up to 4MB */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t supported_page_sizes;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - System Page Size */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t system_page_size;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 32.0 - 48.31 */
-	 struct connectib_ib_gid dgid;
+	/* 0x24.0 - 0x28.31 */
+	 struct connectib_bar_low vf_bar0;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.0 - 0x2c.31 */
+	 struct connectib_bar_high vf_bar1;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x30.31 */
+	 struct connectib_bar_low vf_bar2;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 64.31 */
-	 struct connectib_ib_gid sgid;
+	/* 0x30.0 - 0x34.31 */
+	 struct connectib_bar_high vf_bar3;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description -  */
+	/* 0x34.0 - 0x38.31 */
+	 struct connectib_bar_low vf_bar4;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description -  */
+	/* 0x38.0 - 0x3c.31 */
+	 struct connectib_bar_high vf_bar5;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - VF Migration State Array Offset */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t vf_migstate_arrayofst;
 };
 
-/* Description -   */
-/* Size in bytes - 64 */
-union connectib_dmfs_resources {
+/* Description -  alternative routing id cap */
+/* Size in bytes - 8 */
+struct connectib_ari_cap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - capability id */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t cap_id;
+	/* Description - capability id */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t version;
+	/* Description - next capability pointer */
+	/* 0x0.20 - 0x0.31 */
+	 u_int16_t nxt_ptr;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_dmfs_group_meta group_meta;
-	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_dmfs_ft_meta ft_meta;
-	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_dmfs_fte_meta fte_meta;
+	/* 0x4.0 - 0x4.15 */
+	 struct connectib_ari_capabilities ari_capabilities;
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_dmfs_hash_meta hash_meta;
+	/* 0x4.16 - 0x4.31 */
+	 struct connectib_ari_control ari_control;
 };
 
-/* Description -   */
-/* Size in bytes - 8 */
-struct connectib_list_element {
+/* Description -  Secondary pcie extended capability for gen3 device */
+/* Size in bytes - 44 */
+struct connectib_secondary_pciex_ext_cap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - capability id */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t cap_id;
+	/* Description - capability version */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t version;
+	/* Description - next capability pointer */
+	/* 0x0.20 - 0x0.31 */
+	 u_int16_t nxt_ptr;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.24 */
-	 u_int32_t next;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_pciex_link_ctl3 pciex_link_ctl3;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t in_list;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t lane_err_bits;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.24 */
-	 u_int32_t prev;
+	/* 0xc.0 - 0x2c.31 */
+	 struct connectib_lane_eql_ctl lane_eql_ctl[8];
 };
 
-/* Description -   */
-/* Size in bytes - 32 */
-struct connectib_fw_rqt {
+/* Description -  type1 configuration space header */
+/* Size in bytes - 64 */
+struct connectib_pci_cfg_type1_header {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
+	/* Description - Vendor ID */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t vendor_id;
+	/* Description - Device ID */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t device_id;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t rqt_max_size;
-	/* Description -  */
-	/* 4.16 - 8.31 */
-	 u_int16_t rqt_actual_size;
+	/* Description - Command Register */
+	/* 0x4.0 - 0x4.15 */
+	 struct connectib_cmd_reg1 command;
+	/* Description - Status Register */
+	/* 0x4.16 - 0x4.31 */
+	 struct connectib_stat_reg1 status;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Revision ID */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t revision_id;
+	/* Description - Class Code */
+	/* 0x8.8 - 0x8.31 */
+	 u_int32_t class_code;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Cache Line Size */
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t cache_line;
+	/* Description - Primary Latency Timer */
+	/* 0xc.8 - 0xc.15 */
+	 u_int8_t latency;
+	/* Description - Header Type */
+	/* 0xc.16 - 0xc.23 */
+	 struct connectib_header_type header_type;
+	/* Description - BIST */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t bist;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t rqt_hw_data_ix;
+	/* Description - Base Address Register 0 */
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_bar_low bar_low;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t rqt_fw_data_ix;
+	/* Description - Base Address Register 1 */
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_bar_high bar_high;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Bus immediatly above the bridge */
+	/* 0x18.0 - 0x18.7 */
+	 u_int8_t primary_bus;
+	/* Description - Bus immediatly below the bridge */
+	/* 0x18.8 - 0x18.15 */
+	 u_int8_t secondary_bus;
+	/* Description - Furthest bus below the bridge */
+	/* 0x18.16 - 0x18.23 */
+	 u_int8_t subordinate_bus;
+	/* Description - Secondary Latency */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t secondary_latency;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - IO Base */
+	/* 0x1c.0 - 0x1c.7 */
+	 u_int8_t io_base;
+	/* Description - IO Limit */
+	/* 0x1c.8 - 0x1c.15 */
+	 u_int8_t io_limit;
+	/* Description - Secondary Status */
+	/* 0x1c.16 - 0x1c.31 */
+	 struct connectib_secondary_status secondary_status;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Memory Base */
+	/* 0x20.0 - 0x20.15 */
+	 u_int16_t memory_base;
+	/* Description - Memory Limit */
+	/* 0x20.16 - 0x20.31 */
+	 u_int16_t memory_limit;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - Prefetchable Memory Base */
+	/* 0x24.0 - 0x24.15 */
+	 u_int16_t pre_memory_base;
+	/* Description - Prefetchable Memory Limit */
+	/* 0x24.16 - 0x24.31 */
+	 u_int16_t pre_memory_limit;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Prefetchable Base Upper 32 Bits */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t pre_base_upper_32;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - Prefetchable Limit Upper 32 Bits */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t pre_limit_upper_32;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - IO Base Upper 16 Bits */
+	/* 0x30.0 - 0x30.15 */
+	 u_int16_t io_base_upper_16;
+	/* Description - IO Limit Upper 16 Bits */
+	/* 0x30.16 - 0x30.31 */
+	 u_int16_t io_limit_upper_16;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - Capabilities Pointer */
+	/* 0x34.0 - 0x34.7 */
+	 u_int8_t cap_ptr;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - Expansion ROM Base Address */
+	/* 0x38.0 - 0x3c.31 */
+	 struct connectib_exp_rom exp_rom_bar;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - Interrupt Line */
+	/* 0x3c.0 - 0x3c.7 */
+	 u_int8_t interrupt_line;
+	/* Description - Interrupt Pin */
+	/* 0x3c.8 - 0x3c.15 */
+	 u_int8_t interrupt_pin;
+	/* Description - Bridge Control */
+	/* 0x3c.16 - 0x3c.31 */
+	 struct connectib_bridge_control bridge_control;
 };
 
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_fw_cqc {
+/* Description -  PCIe MSIX capability block */
+/* Size in bytes - 12 */
+struct connectib_msix_cap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
+	/* Description - capability id */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t msix_cap_id;
+	/* Description - next capability pointer */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t nxt_ptr;
+	/* Description - VPD address */
+	/* 0x0.16 - 0x0.31 */
+	 struct connectib_message_control message_control;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - 0x0 = Ok
-0x1 = Error: CQ Overrun
-0x2 = Error: Access Violation */
-	/* 4.0 - 4.7 */
-	 u_int8_t cq_status;
-	/* Description -  */
-	/* 4.8 - 4.11 */
-	 u_int8_t trap_reason;
-	/* Description -  */
-	/* 4.30 - 4.30 */
-	 u_int8_t in_cq_overrun_list;
-	/* Description -  */
-	/* 4.31 - 8.31 */
-	 u_int8_t in_eq_overrun_list;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_fw_psv {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t pd;
-	/* Description -  */
-	/* 0.24 - 0.24 */
-	 u_int8_t fw_marked_sigerr;
+	/* Description - Vector table BAR number */
+	/* 0x4.0 - 0x4.2 */
+	 u_int8_t Table_BIR;
+	/* Description - Vector table offset in the BAR */
+	/* 0x4.3 - 0x4.31 */
+	 u_int32_t Table_Offset;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Pending bit array BAR number */
+	/* 0x8.0 - 0x8.2 */
+	 u_int8_t PBA_BIR;
+	/* Description - PBA offset in the BAR */
+	/* 0x8.3 - 0x8.31 */
+	 u_int32_t PBA_Offset;
 };
 
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_fw_mkc {
+/* Description -  PCIe capability block */
+/* Size in bytes - 60 */
+struct connectib_pciex_cap_block {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - capability id */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t pciex_cap_id;
+	/* Description - next capability pointer */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t nxt_ptr;
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
+	/* 0x0.16 - 0x0.31 */
+	 struct connectib_pciex_cap pciex_cap;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.30 */
-	 u_int32_t state;
-	/* Description -  */
-	/* 4.31 - 8.31 */
-	 u_int8_t sync_umr;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_device_caps device_caps;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 struct connectib_mkey_dump mkey_dump;
+	/* 0x8.0 - 0x8.15 */
+	 struct connectib_device_ctl device_ctl;
+	/* Description -  */
+	/* 0x8.16 - 0x8.31 */
+	 struct connectib_device_stat device_stat;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.0 */
-	 u_int8_t next_num_of_sigerr;
+	/* 0xc.0 - 0x10.31 */
+	 struct connectib_link_caps link_caps;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 12.1 - 12.1 */
-	 u_int8_t pg_access;
-};
-
-/* Description -   */
-/* Size in bytes - 64 */
-union connectib_fw_cre {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x10.0 - 0x10.15 */
+	 struct connectib_link_ctl link_ctl;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_fw_srqc fw_srqc;
+	/* 0x10.16 - 0x10.31 */
+	 struct connectib_link_stat link_stat;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_fw_qpc fw_qpc;
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_slot_caps slot_caps;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_fw_tir fw_tir;
+	/* 0x24.0 - 0x28.31 */
+	 struct connectib_device_caps2 device_caps2;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_fw_tis fw_tis;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_fw_basic_res_ctx {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x28.0 - 0x28.15 */
+	 struct connectib_device_ctl2 device_ctl2;
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
+	/* 0x28.16 - 0x28.31 */
+	 struct connectib_device_stat2 device_stat2;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x30.31 */
+	 struct connectib_link_caps2 link_caps2;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x30.15 */
+	 struct connectib_link_ctl2 link_ctl2;
+	/* Description -  */
+	/* 0x30.16 - 0x30.31 */
+	 struct connectib_link_stat2 link_stat2;
 };
 
-/* Description -   */
-/* Size in bytes - 48 */
-struct connectib_fw_alt_path {
+/* Description -  PCIe VPD capability block */
+/* Size in bytes - 8 */
+struct connectib_vpd_cap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - ads layout */
-	/* 0.0 - 44.31 */
-	 struct connectib_sw_ads alt;
+	/* Description - capability id */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t vpd_cap_id;
+	/* Description - next capability pointer */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t nxt_ptr;
+	/* Description - VPD address */
+	/* 0x0.16 - 0x0.30 */
+	 u_int16_t vpd_address;
+	/* Description - Flag - indicates a read/write command */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t F;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - VPD data */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t vpd_data;
 };
 
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_fw_eqc {
+/* Description -  Power Management Capability */
+/* Size in bytes - 8 */
+struct connectib_pci_power_management_cap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Note: ref_counter must be in offset 0x0 ! */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_ref_count fw_ref_count;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - 0x0 = Ok
-0x2 = Error: Access Violation */
-	/* 4.0 - 4.7 */
-	 u_int8_t eq_status;
 	/* Description -  */
-	/* 4.8 - 4.11 */
-	 u_int8_t trap_reason;
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t cap_id;
 	/* Description -  */
-	/* 4.30 - 4.30 */
-	 u_int8_t needs_eq_probe;
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t nxt_ptr;
 	/* Description -  */
-	/* 4.31 - 8.31 */
-	 u_int8_t in_eq_overrun_list;
-};
-
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_qp_counter {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Only RX (Out-of-buffer induced dropped Rx packet count) */
-	/* 0.0 - 4.31 */
-	 u_int32_t pkt_nobuffer_drop;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.16 - 0x0.18 */
+	 u_int8_t version;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t pkt_good_unicast;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t pme_clock;
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t pkt_good_multicast;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - RX - Error induced dropped Rx packet count. SX - Dropped Tx packet count */
-	/* 12.0 - 16.31 */
-	 u_int32_t pkt_dropped;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - Only RX */
-	/* 16.0 - 20.31 */
-	 u_int32_t msg_write_req;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x0.21 - 0x0.21 */
+	 u_int8_t device_specific;
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t msg_rnr_nack;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - RX: Read Requests. SX : Read Responses */
-	/* 24.0 - 28.31 */
-	 u_int32_t msg_read;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x0.22 - 0x0.24 */
+	 u_int8_t aux_current;
 	/* Description -  */
-	/* 28.0 - 32.31 */
-	 u_int32_t msg_dct_connect;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - RX: Atomic Requests. SX : Atomic Ack */
-	/* 32.0 - 36.31 */
-	 u_int32_t msg_atomic;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t d1_support;
 	/* Description -  */
-	/* 36.0 - 40.31 */
-	 u_int32_t fw_reserved;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - PAYLOAD bytes of RDMA frames that carry data */
-	/* 40.0 - 48.31 */
-	 u_int64_t bytes_rdma_frame;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t d2_support;
 	/* Description -  */
-	/* 48.0 - 56.31 */
-	 u_int64_t bytes_good_unicast;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* 0x0.27 - 0x0.31 */
+	 u_int8_t pme_support;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 0-D0, 1-D1, 2-D2, 3-D3 */
+	/* 0x4.0 - 0x4.1 */
+	 u_int8_t power_state;
+	/* Description - No_Soft_Reset - When set , this bit indicates that devices transitioning from D3hot to D0 because ofPowerState commands do not perform an internal reset. */
+	/* 0x4.3 - 0x4.3 */
+	 u_int8_t no_soft_reset;
+	/* Description -  */
+	/* 0x4.8 - 0x4.8 */
+	 u_int8_t pme_enable;
+	/* Description -  */
+	/* 0x4.9 - 0x4.12 */
+	 u_int8_t data_select;
+	/* Description -  */
+	/* 0x4.13 - 0x4.14 */
+	 u_int8_t data_scale;
+	/* Description -  */
+	/* 0x4.15 - 0x4.15 */
+	 u_int8_t pme_status;
+	/* Description - not applicable for PCIe- should be 0 all the time */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t pmcsr_bse;
 	/* Description -  */
-	/* 56.0 - 64.31 */
-	 u_int64_t bytes_good_multicast;
-};
-
-/* Description -   */
-/* Size in bytes - 32 */
-struct connectib_hw_msix {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - pci spec msix vector */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_msix_context msix_context;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - msix extended context */
-	/* 16.0 - 32.31 */
-	 struct connectib_hw_msix_ext_context msix_ext_context;
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t data;
 };
 
-/* Description -   */
+/* Description -  type0 configuration space */
 /* Size in bytes - 64 */
-struct connectib_hw_rdb {
+struct connectib_pci_cfg_type0_header {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t opcode;
-	/* Description - TODO: need to align this field to 32.  */
-	/* 0.8 - 4.31 */
-	 u_int32_t psn;
+	/* Description - pcie vendor id */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t vendor_id;
+	/* Description - pcie device id */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t device_id;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t r_key;
+	/* 0x4.0 - 0x4.15 */
+	 struct connectib_cmd_reg1 cmd;
+	/* Description -  */
+	/* 0x4.16 - 0x4.31 */
+	 struct connectib_stat_reg1 status;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 8.0 - 12.31 */
-	 u_int32_t address_63_32;
+	/* Description - revision id */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t rev_id;
+	/* Description - class code */
+	/* 0x8.8 - 0x8.31 */
+	 u_int32_t class_code;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 12.0 - 16.31 */
-	 u_int32_t address_31_0;
+	/* Description -  */
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t cache_line;
+	/* Description -  */
+	/* 0xc.8 - 0xc.15 */
+	 u_int8_t latency;
+	/* Description -  */
+	/* 0xc.16 - 0xc.23 */
+	 u_int8_t hdr_type;
+	/* Description -  */
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t bist;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t byte_count;
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_bar_low reg4;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.7 - 20.7 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - TODO: need to align this field to 32.  */
-	/* 20.8 - 24.31 */
-	 u_int32_t pd;
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_bar_high reg5;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 24.10 */
-	 u_int16_t protection_ffser;
+	/* 0x18.0 - 0x1c.31 */
+	 struct connectib_bar_low reg6;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 28.0 */
-	 u_int8_t fw_marked_as_read;
+	/* 0x1c.0 - 0x20.31 */
+	 struct connectib_bar_high reg7;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 64.31 */
-	 struct connectib_hw_rdb_atomic_data atomic_data;
-};
-
-/* Description -   */
-/* Size in bytes - 8 */
-union connectib_icm_mtt {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x20.0 - 0x24.31 */
+	 struct connectib_bar_low reg8;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_hw_mtt hw;
+	/* 0x24.0 - 0x28.31 */
+	 struct connectib_bar_high reg9;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_hw_mtt2 as_dw;
-};
-
-/* Description -   */
-/* Size in bytes - 64 */
-union connectib_steering_entry_icmc {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x2c.0 - 0x2c.15 */
+	 u_int16_t sub_vendor_id;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_ste hw_ste;
+	/* 0x2c.16 - 0x2c.31 */
+	 u_int16_t subsystem_id;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - expansion ROM base address */
+	/* 0x30.0 - 0x34.31 */
+	 struct connectib_exp_rom reg12;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - Capabilities pointer */
+	/* 0x34.0 - 0x34.7 */
+	 u_int8_t cap_ptr;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_steering_qp_list steering_qp_list;
+	/* 0x3c.0 - 0x3c.7 */
+	 u_int8_t interrupt_line;
+	/* Description -  */
+	/* 0x3c.8 - 0x3c.15 */
+	 u_int8_t interrupt_pin;
+	/* Description -  */
+	/* 0x3c.16 - 0x3c.31 */
+	 u_int16_t min_gnt_max_lat;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_hw_pkey {
+struct connectib_fw_block_behavior_fields {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 0.15 */
-	 u_int16_t pkey;
+	/* Description - [MCC/MCDA flow] disable MFPA, MFBA and MFBE reg access cmds */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t disable_mfpa_mfba_mfbe;
+	/* Description - [MCC/MCDA flow] write access to flash GW is disabled */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t disable_cr_space_flash_gw;
+	/* Description - [MCC/MCDA flow] the fw_block_behavior fields overwrite the defaults value */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t en;
 };
 
-/* Description -  the timer is 8 bit, this is an adapter to node to unions */
+/* Description -   */
 /* Size in bytes - 4 */
-struct connectib_hw_timer_32 {
+struct connectib_fw_block_behavior_dw {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 struct connectib_hw_timer hw_timer;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t dw;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_hw_sq_qp_list {
+/* Size in bytes - 24 */
+struct connectib_nv_config_host_func_main {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  QPN QP number */
-	/* 0.0 - 0.23 */
-	 u_int32_t qpi;
-	/* Description -  DCR if this bit is set, the QP came from DCR DB */
-	/* 0.31 - 4.31 */
-	 u_int8_t global_gvmi;
+	/* Description -  */
+	/* 0x0.0 - 0x18.31 */
+	 struct connectib_external_port_pf_array external_port;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_hw_pipa {
+/* Size in bytes - 64 */
+struct connectib_nv_config_global_main {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  Producer Index Physical Address */
-	/* 0.0 - 4.31 */
-	 u_int32_t pa_63_32;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_roce_1_5_conf roce_1_5_next_prot;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  if 0, there will not br recovery on this QPn */
-	/* 4.0 - 4.0 */
-	 u_int8_t recovery_en;
 	/* Description -  */
-	/* 4.1 - 4.1 */
-	 u_int8_t always_zero;
-	/* Description -  Producer Index Physical Address */
-	/* 4.2 - 8.31 */
-	 u_int32_t pa_31_2;
+	/* 0x4.0 - 0xc.31 */
+	 struct connectib_nv_sw_offload_conf sw_offload_conf;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 struct connectib_nv_tlv_tweaks tweaks;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_nv_config_host_2_bmc host_2_bmc;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_nv_config_flex_nic flex_nic;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 struct connectib_nv_tlv_data_curr_config current_configurator;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_hw_sxdc {
+/* Size in bytes - 256 */
+struct connectib_port_settings {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t sq;
-	/* Description - wqe_producer_index used in mpi to update producer index */
-	/* 0.16 - 4.31 */
-	 u_int16_t swqe_producer_index;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_roce_cc roce_cc_ctrl;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x4c.31 */
+	 struct connectib_nv_roce_cc_ecn roce_ecn;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.23 */
-	 u_int32_t uar;
+	/* 0x58.0 - 0x5c.31 */
+	 struct connectib_nv_keep_link_up keep_link_up;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
 	/* Description -  */
-	/* 4.24 - 4.24 */
-	 u_int8_t requestor_in_sq;
+	/* 0x60.0 - 0x6c.31 */
+	 struct connectib_nv_lldp_nb_cap lldp_nb_cap;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
 	/* Description -  */
-	/* 4.25 - 4.25 */
-	 u_int8_t responder_in_sq;
-	/* Description - for QP flush FW flow. Indicates that the QP should not be scheduled when popping from the SQ but go the FW state */
-	/* 4.26 - 4.26 */
-	 u_int8_t scheduling_interrupt;
+	/* 0x6c.0 - 0x78.31 */
+	 struct connectib_nv_lldp_nb_conf lldp_nb_param;
+/*---------------- DWORD[30] (Offset 0x78) ----------------*/
 	/* Description -  */
-	/* 4.28 - 4.28 */
-	 u_int8_t doorbell_int;
+	/* 0x78.0 - 0x7c.31 */
+	 struct connectib_nv_lldp_nb_dcbx dcbx_nb;
+/*---------------- DWORD[33] (Offset 0x84) ----------------*/
 	/* Description -  */
-	/* 4.29 - 4.29 */
-	 u_int8_t fast_path;
-	/* Description - only when set external DB are accepted by the device, when cleared they are silently dropped */
-	/* 4.30 - 4.30 */
-	 u_int8_t external_db_en;
+	/* 0x84.0 - 0x90.31 */
+	 struct connectib_nv_qos_conf qos_conf;
+/*---------------- DWORD[36] (Offset 0x90) ----------------*/
 	/* Description -  */
-	/* 4.31 - 8.31 */
-	 u_int8_t valid;
+	/* 0x90.0 - 0x94.31 */
+	 struct connectib_nv_qos_cap qos_cap;
+/*---------------- DWORD[37] (Offset 0x94) ----------------*/
+	/* Description -  */
+	/* 0x94.0 - 0xdc.31 */
+	 struct connectib_nv_qos_ets_tc_conf qos_ets_tc_conf;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_klm_entry {
+/* Size in bytes - 4 */
+struct connectib_phy_lcl_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 4.31 */
-	 u_int32_t length;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t key;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 16.31 */
-	 u_int64_t va;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t PlaceHolder;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_hw_sq_tokens {
+/* Size in bytes - 4 */
+union connectib_port_cap_mask1 {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  number of tokens to transfer in case the SQ has WareHouse QPs */
-	/* 0.0 - 0.15 */
-	 u_int16_t ware_house_burst_size_23_8;
-	/* Description -  */
-	/* 0.16 - 4.31 */
-	 u_int16_t gvmi;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  Number of bytes for transmission by SXW for a QP popped from this SQ responder queue */
-	/* 4.0 - 4.23 */
-	 u_int32_t responder_burst_size;
-	/* Description -  number of tokens to transfer in case the SQ has WareHouse QPs */
-	/* 4.24 - 8.31 */
-	 u_int8_t ware_house_burst_size_7_0;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  Number of bytes for transmission by SXW for a QP popped from this SQ requestor queue */
-	/* 8.0 - 8.23 */
-	 u_int32_t requestor_burst_size;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  Number of bytes to add to GvmiTokenCount from GVMI tokens pool */
-	/* 12.0 - 12.23 */
-	 u_int32_t gvmi_vl_weight;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  Number of bytes allocated to the SQ from the GVMI tokens pool */
-	/* 16.0 - 16.23 */
-	 u_int32_t gvmi_vl_token_count;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  Maximum value of GvmiVlTokenCount */
-	/* 20.0 - 20.23 */
-	 u_int32_t gvmi_vl_saturation;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  Number of bytes to add to SwitchTokenCount during reset event of SQ-to-SL virtual switch arbiter */
-	/* 24.0 - 24.23 */
-	 u_int32_t dwrr_weight;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description -  Number of Tokens that the SQ has to Transfer to the SXW from the DWRR token Count */
-	/* 28.0 - 28.23 */
-	 u_int32_t dwrr_token_count;
 	/* Description -  */
-	/* 28.24 - 28.27 */
-	 u_int8_t vl;
-	/* Description -  */
-	/* 28.28 - 28.30 */
-	 u_int8_t vlg;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_port_cap_mask1_fields fields;
 	/* Description -  */
-	/* 28.31 - 32.31 */
-	 u_int8_t port;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_dword_val dword;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_hw_gvmi_tokens {
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  Maximum value in *_token_count = (2 ^ *_weight_saturation - 1); must be  <= 23 to allow negative tokens */
-	/* 8.0 - 8.4 */
-	 u_int8_t port1_avg_saturation;
-	/* Description -  VL group that will get tokens in next distribution cycle; updated during token reset cycle */
-	/* 8.5 - 8.7 */
-	 u_int8_t port1_high_vlg_req_token;
-	/* Description -  port1_avg_time Log2 of the number of token distribution cycles to wait before adding tokens to average bandwidth bucket */
-	/* 8.8 - 8.12 */
-	 u_int8_t port1_log2avg_time;
-	/* Description -  Maximum bucket bandwidth = weight_mantissa * 2^weight_exp, in bytes */
-	/* 8.13 - 8.15 */
-	 u_int8_t port1_max_weight_exp;
-	/* Description -  port1_max_time Log2 of the number of token distribution cycles to wait before adding tokens to maximum bandwidth bucket */
-	/* 8.16 - 8.20 */
-	 u_int8_t port1_log2max_time;
-	/* Description -  port0_has_tokens During token distribution cycle (from GVMI to SQ), indicates if maximum bandwidth bucket had tokens at the beginning of the cycle */
-	/* 8.21 - 8.21 */
-	 u_int8_t port0_has_token;
-	/* Description -  VL group that will get tokens in next distribution cycle; updated during token reset cycle */
-	/* 8.22 - 8.22 */
-	 u_int8_t port0_vlg_req_vld;
-	/* Description -  During token distribution cycle (from GVMI to SQ), indicates if maximum bandwidth bucket had tokens at the beginning of the cycle */
-	/* 8.23 - 8.23 */
-	 u_int8_t port1_has_token;
-	/* Description -  Maximum value in *_token_count = (2 ^ *_weight_saturation - 1); must be  <= 23 to allow negative tokens */
-	/* 8.24 - 8.28 */
-	 u_int8_t port1_max_saturation;
-	/* Description -  VL group that will get tokens in next distribution cycle; updated during token reset cycle */
-	/* 8.29 - 8.29 */
-	 u_int8_t port1_vlg_req_vld;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  Maximum value in *_token_count = (2 ^ *_weight_saturation - 1); must be  <= 23 to allow negative tokens */
-	/* 12.0 - 12.4 */
-	 u_int8_t port0_avg_saturation;
-	/* Description -  Maximum bucket bandwidth = weight_mantissa * 2^weight_exp, in bytes */
-	/* 12.5 - 12.7 */
-	 u_int8_t port0_avg_weight_exp;
-	/* Description -  port0_avg_time Log2 of the number of token distribution cycles to wait before adding tokens to average bandwidth bucket */
-	/* 12.8 - 12.12 */
-	 u_int8_t port0_log2avg_time;
-	/* Description -  VL group that will get tokens in next distribution cycle; updated during token reset cycle */
-	/* 12.13 - 12.15 */
-	 u_int8_t port0_high_vlg_req_token;
-	/* Description -  port0_max_time Log2 of the number of token distribution cycles to wait before adding tokens to maximum bandwidth bucket */
-	/* 12.16 - 12.20 */
-	 u_int8_t port0_log2max_time;
-	/* Description -  Maximum bucket bandwidth = weight_mantissa * 2^weight_exp, in bytes */
-	/* 12.21 - 12.23 */
-	 u_int8_t port0_max_weight_exp;
-	/* Description -  Maximum value in *_token_count = (2 ^ *_weight_saturation - 1); must be  <= 23 to allow negative tokens */
-	/* 12.24 - 12.28 */
-	 u_int8_t port0_max_saturation;
-	/* Description -  Average bucket bandwidth = weight_mantissa * 2^weight_exp, in bytes */
-	/* 12.29 - 16.31 */
-	 u_int8_t port1_avg_weight_exp;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  Maximum bandwidth bucket token count */
-	/* 16.0 - 16.23 */
-	 u_int32_t port1_max_token_count;
-	/* Description -  */
-	/* 16.24 - 20.31 */
-	 u_int8_t port1_max_weight_mantissa;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  Average bandwidth bucket token count */
-	/* 20.0 - 20.23 */
-	 u_int32_t port1_avg_token_count;
-	/* Description -  */
-	/* 20.24 - 24.31 */
-	 u_int8_t port1_avg_weight_mantissa;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  Maximum bandwidth bucket token count */
-	/* 24.0 - 24.23 */
-	 u_int32_t port0_max_token_count;
-	/* Description -  */
-	/* 24.24 - 28.31 */
-	 u_int8_t port0_max_weight_mantissa;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description -  Average bandwidth bucket token count */
-	/* 28.0 - 28.23 */
-	 u_int32_t port0_avg_token_count;
-	/* Description -  */
-	/* 28.24 - 32.31 */
-	 u_int8_t port0_avg_weight_mantissa;
+/* Size in bytes - 4 */
+struct connectib_reset_version {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Reset considered only if valid is set */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t valid;
+	/* Description - If Major matches. Match means seamless reset. Greater means reset supported. Less then upgrade not supported */
+	/* 0x0.4 - 0x0.15 */
+	 u_int16_t minor;
+	/* Description - Match means upgrade supported, mismatch implies reset not supported */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t major;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_hw_sq_pointers {
+/* Size in bytes - 64 */
+struct connectib_dcr_odp_events {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  weight of requestor for dwrr between requstor and responder */
-	/* 0.0 - 0.9 */
-	 u_int16_t weight_requestor;
-	/* Description - NO_DESCR */
-	/* 0.10 - 0.15 */
-	 u_int8_t sq_offset_11_6;
-	/* Description -  weight of responder for dwrr between requstor and responder */
-	/* 0.16 - 0.25 */
-	 u_int16_t weight_responder;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  Guest Virtual Machine ID */
-	/* 4.0 - 4.15 */
-	 u_int16_t gvmi;
-	/* Description -  requestor_responder_dwrr_token number of corrent tokens for corrent LastGntRequestor */
-	/* 4.16 - 4.25 */
-	 u_int16_t token;
-	/* Description - NO_DESCR */
-	/* 4.26 - 8.31 */
-	 u_int8_t sq_offset_5_0;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  ware_house_counter_responder Number of responder QPs unscheduled back into the SQ due to lack of VL credits */
-	/* 8.0 - 8.24 */
-	 u_int32_t ware_house_counter_responder;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  ware_house_counter_requestor Number of requestor QPs unscheduled back into the SQ due to lack of VL credits */
-	/* 12.0 - 12.24 */
-	 u_int32_t ware_house_counter_requestor;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  responder_push_pointer responder push pointer at the SQ */
-	/* 16.0 - 16.24 */
-	 u_int32_t push_pointer_responder;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  requestor_push_pointer requestor push pointer at the SQ */
-	/* 20.0 - 20.24 */
-	 u_int32_t push_pointer_requestor;
 	/* Description -  */
-	/* 20.25 - 20.25 */
-	 u_int8_t port;
-	/* Description -  scheduling_interrupt if set QPs at this SQ will not be sched to the SXW, but will move to FW state at the scheduling slices */
-	/* 20.26 - 20.26 */
-	 u_int8_t scheduling_interrupt;
-	/* Description -  Virtual lane */
-	/* 20.28 - 24.31 */
-	 u_int8_t vl;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  responder_pop_pointer responder pop pointer at the SQ */
-	/* 24.0 - 24.24 */
-	 u_int32_t pop_pointer_responder;
-	/* Description -  last grant ID (requestor/responder) for DWRR at the SQ */
-	/* 24.25 - 24.25 */
-	 u_int8_t last_gnt_requestor;
-	/* Description -  Log2 size of responder schedule queue, opened in ICM for QP list */
-	/* 24.26 - 28.31 */
-	 u_int8_t log2_max_num_of_qp_responder;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description -  requestor_pop_pointer requestor pop pointer at the SQ */
-	/* 28.0 - 28.24 */
-	 u_int32_t pop_pointer_requestor;
-	/* Description -  scheduling_interrupt if set QPs at this SQ will not be sched to the SXW, but will move to FW state at the scheduling slices */
-	/* 28.25 - 28.25 */
-	 u_int8_t db_interrupt;
-	/* Description -  Log2 size of requestor schedule queue, opened in ICM for QP list */
-	/* 28.26 - 32.31 */
-	 u_int8_t log2_max_num_of_qp_requestor;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_dcr_odp_event_entry event_entry[16];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_trasta {
+/* Size in bytes - 4 */
+struct connectib_disable_mask_value {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - This value correspond to the bits in enable_mask_bits that influence any_disable_bit_set function. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t value;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_disable_mask_bits {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t va_offset_63_32;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t module_not_present;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t va_offset_31_0;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t paos;
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t klm_index;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t mad;
 	/* Description -  */
-	/* 12.0 - 12.15 */
-	 u_int16_t invalidation_counter;
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t non_mlnx_long_range_cable;
 	/* Description -  */
-	/* 12.16 - 12.16 */
-	 u_int8_t valid;
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t verification;
+	/* Description -  */
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t ekey;
+	/* Description -  */
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t high_power_not_allowed;
+	/* Description -  */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t unknown_identifier;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t paos_up_once_active;
+	/* Description -  */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t stamping_failure;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_hw_trastb {
+/* Size in bytes - 4 */
+struct connectib_dmfs_ft_type_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  generation 16 bits: MKC.generation at the moment of last update. TRAST is stale if the genartion does not match current MKC, and will not be used */
-	/* 0.0 - 0.15 */
-	 u_int16_t generation_count;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  bsf_offset 32 bits: offset in 16B granularity of the BSF described by the entry, from the first BSF pointed by MKC */
-	/* 4.0 - 8.31 */
-	 u_int32_t bsf_offset;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  memory_fbo 32 bits: offset in bytes inside memory signature block, carried from previous BSF */
-	/* 8.0 - 12.31 */
-	 u_int32_t m_fbo;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  wire_fbo 32 bits: offset in bytes inside wire signature block, carried from previous BSF */
-	/* 12.0 - 16.31 */
-	 u_int32_t w_fbo;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  memory_va 64 bits: accumulated memory address from all BSFs prior to the one described by the entry */
-	/* 16.0 - 24.31 */
-	 u_int64_t m_va;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  wire_va 64 bits: accumulated wire address from all BSFs prior to the one described by the entry */
-	/* 24.0 - 32.31 */
-	 u_int64_t w_va;
+	/* Description - the root flow table id */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t root_ft;
+	/* Description -  */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t ft_exist;
+	/* Description -  */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t level0_ft_exist;
+	/* Description -  */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t is_ft_root_set;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_hw_base_psv {
+/* Size in bytes - 68 */
+struct connectib_ocbb_fields_from_vpd {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t pd;
-	/* Description -  */
-	/* 0.29 - 0.29 */
-	 u_int8_t data_heart_beat;
-	/* Description -  */
-	/* 0.30 - 0.30 */
-	 u_int8_t wqe_heart_beat;
+	/* 0x0.24 - 0x28.23 */
+	 u_int8_t product_name[40];
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x28.24 - 0x34.23 */
+	 u_int8_t part_number[12];
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t status;
+	/* 0x34.24 - 0x40.23 */
+	 u_int8_t serial_number[12];
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 4.16 - 8.31 */
-	 u_int16_t syndrome;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x40.8 - 0x40.15 */
+	 u_int8_t serial_number_size;
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t transient_signature;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x40.16 - 0x40.23 */
+	 u_int8_t part_number_size;
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t reference_tag;
+	/* 0x40.24 - 0x40.31 */
+	 u_int8_t product_name_size;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-union connectib_hw_bsf_entry {
+/* Size in bytes - 12 */
+struct connectib_fw_banner {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_bsf_entry_same_block_repeating same_block_repeating;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_bsf_entry_same_block_non_repeating same_block_non_repeating;
+	/* 0x0.0 - 0xc.31 */
+	 u_int32_t fw_banner_str[3];
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_resource_type_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_bsf_entry_w_repeating_m_repeating hw_bsf_entry_w_repeating_m_repeating;
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t type;
+	/* Description - resource is locked in icmc */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t locked;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_index_and_length {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - first open resource index */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t index;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - number of open resources following (including the first one) */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t length;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+union connectib_flow_list {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_bsf_entry_w_repeating_m_non_repeating hw_bsf_entry_w_repeating_m_non_repeating;
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_dest_format_struct dest;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_bsf_entry_w_non_repeating_m_repeating hw_bsf_entry_w_non_repeating_m_repeating;
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_flow_counter_list cntr;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_flow_table_entry_match_set_lyr_2_4 {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Source MAC address of incoming packet. */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t smac_47_16;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Incoming packet Ethertype - this is the Ethertype following the last VLAN 
+tag of the packet. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t ethertype;
+	/* Description - Source MAC address of incoming packet. */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t smac_15_0;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Destination MAC address of incoming packet. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t dmac_47_16;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - VLAN ID of first VLAN tag in the incoming packet. Valid only when 
+cvlan_tag==1 or svlan_tag==1. */
+	/* 0xc.0 - 0xc.11 */
+	 u_int16_t first_vid;
+	/* Description - CFI bit of first VLAN tag in the incoming packet. Valid only when 
+cvlan_tag==1 or svlan_tag==1. */
+	/* 0xc.12 - 0xc.12 */
+	 u_int8_t first_cfi;
+	/* Description - Priority of first VLAN tag in the incoming packet. Valid only when 
+cvlan_tag==1 or svlan_tag==1. */
+	/* 0xc.13 - 0xc.15 */
+	 u_int8_t first_prio;
+	/* Description - Destination MAC address of incoming packet. */
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t dmac_15_0;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - TCP flags. 
+Bit 0: FIN
+Bit 1: SYN
+Bit 2: RST
+Bit 3: PSH
+Bit 4: ACK
+Bit 5: URG
+Bit 6: ECE
+Bit 7: CWR
+Bit 8: NS */
+	/* 0x10.0 - 0x10.8 */
+	 u_int16_t tcp_flags;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating hw_bsf_entry_w_non_repeating_m_non_repeating;
+	/* 0x10.9 - 0x10.12 */
+	 u_int8_t ip_version;
+	/* Description - Packet is an IP fragment. */
+	/* 0x10.13 - 0x10.13 */
+	 u_int8_t frag;
+	/* Description - The first vlan in the packet is s-vlan (0x8a88). cvlan_tag and svlan_tag 
+cannot be set together. */
+	/* 0x10.14 - 0x10.14 */
+	 u_int8_t svlan_tag;
+	/* Description - The first vlan in the packet is c-vlan (0x8100). cvlan_tag and svlan_tag 
+cannot be set together */
+	/* 0x10.15 - 0x10.15 */
+	 u_int8_t cvlan_tag;
+	/* Description - Explicit Congestion Notification derived from Traffic Class/TOS field of 
+IPv6/v4 */
+	/* 0x10.16 - 0x10.17 */
+	 u_int8_t ip_ecn;
+	/* Description - Differentiated Services Code Point derived from Traffic Class/TOS field 
+of IPv6/v4 */
+	/* 0x10.18 - 0x10.23 */
+	 u_int8_t ip_dscp;
+	/* Description - IP protocol. */
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t ip_protocol;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - TCP destination port. 
+tcp and udp sport/dport are mutually exclusive. */
+	/* 0x14.0 - 0x14.15 */
+	 u_int16_t tcp_dport;
+	/* Description - TCP source port.
+tcp and udp sport/dport are mutually exclusive. */
+	/* 0x14.16 - 0x14.31 */
+	 u_int16_t tcp_sport;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - UDP destination port.
+tcp and udp sport/dport are mutually exclusive. */
+	/* 0x1c.0 - 0x1c.15 */
+	 u_int16_t udp_dport;
+	/* Description - UDP source port.
+tcp and udp sport/dport are mutually exclusive. */
+	/* 0x1c.16 - 0x1c.31 */
+	 u_int16_t udp_sport;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - IPv6 source address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t src_ip_127_96;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - IPv6 source address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t src_ip_95_64;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - IPv6 source address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t src_ip_63_32;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - IPv6 source address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t src_ip_31_0;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - IPv6 destination address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t dst_ip_127_96;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - IPv6 destination address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t dst_ip_95_64;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - IPv6 destination address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t dst_ip_63_32;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - IPv6 destination address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
+	/* 0x3c.0 - 0x40.31 */
+	 u_int32_t dst_ip_31_0;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_port_info {
+struct connectib_flow_table_entry_match_set_misc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - NO_DESCR */
-	/* 0.0 - 0.2 */
-	 u_int8_t lmc;
-	/* Description - NO_DESCR */
-	/* 0.28 - 0.29 */
-	 u_int8_t mad_filter;
+	/* Description - Source SQN */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t source_sqn;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 4.15 */
-	 u_int16_t lid;
+	/* Description - Source port.
+0xffff determines wire port. */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t source_port;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 16.31 */
-	 u_int64_t gid_prefix;
+	/* Description - VLAN ID of first VLAN tag the inner header of the incoming packet. Valid 
+only when inner_second_cvlan_tag ==1 or inner_second_svlan_tag ==1. */
+	/* 0x8.0 - 0x8.11 */
+	 u_int16_t inner_second_vid;
+	/* Description - CFI bit of first VLAN tag in the inner header of the incoming packet. Valid 
+only when inner_second_cvlan_tag ==1 or inner_second_svlan_tag ==1. */
+	/* 0x8.12 - 0x8.12 */
+	 u_int8_t inner_second_cfi;
+	/* Description - Priority of second VLAN tag in the inner header of the incoming packet. 
+Valid only when inner_second_cvlan_tag ==1 or inner_second_svlan_tag 
+==1. */
+	/* 0x8.13 - 0x8.15 */
+	 u_int8_t inner_second_prio;
+	/* Description - VLAN ID of first VLAN tag the outer header of the incoming packet. Valid 
+only when outer_second_cvlan_tag ==1 or outer_second_svlan_tag ==1. */
+	/* 0x8.16 - 0x8.27 */
+	 u_int16_t outer_second_vid;
+	/* Description - CFI bit of first VLAN tag in the outer header of the incoming packet. Valid 
+only when outer_second_cvlan_tag ==1 or outer_second_svlan_tag ==1. */
+	/* 0x8.28 - 0x8.28 */
+	 u_int8_t outer_second_cfi;
+	/* Description - Priority of second VLAN tag in the outer header of the incoming packet. 
+Valid only when outer_second_cvlan_tag ==1 or outer_second_svlan_tag 
+==1. */
+	/* 0x8.29 - 0x8.31 */
+	 u_int8_t outer_second_prio;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - GRE Protocol (outer). */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t gre_protocol;
+	/* Description - The second vlan in the inner header of the packet is s-vlan (0x8a88). 
+inner_second_cvlan_tag and inner_second_svlan_tag cannot be set together. */
+	/* 0xc.28 - 0xc.28 */
+	 u_int8_t inner_second_svlan_tag;
+	/* Description - The second vlan in the outer header of the packet is s-vlan (0x8a88). out
+er_second_cvlan_tag and outer_second_svlan_tag cannot be set together. */
+	/* 0xc.29 - 0xc.29 */
+	 u_int8_t outer_second_svlan_tag;
+	/* Description - The second vlan in the inner header of the packet is c-vlan (0x8100). 
+inner_second_cvlan_tag and inner_second_svlan_tag cannot be set together. */
+	/* 0xc.30 - 0xc.30 */
+	 u_int8_t inner_second_cvlan_tag;
+	/* Description - The second vlan in the outer header of the packet is c-vlan (0x8100). out
+er_second_cvlan_tag and outer_second_svlan_tag cannot be set together. */
+	/* 0xc.31 - 0xc.31 */
+	 u_int8_t outer_second_cvlan_tag;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - GRE Key [7:0] (outer). */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t gre_key_l;
+	/* Description - GRE Key[31:8] (outer). */
+	/* 0x10.8 - 0x10.31 */
+	 u_int32_t gre_key_h;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - VXLAN VNI (outer). */
+	/* 0x14.8 - 0x14.31 */
+	 u_int32_t vxlan_vni;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - GENEVE OAM field (outer) */
+	/* 0x18.0 - 0x18.0 */
+	 u_int8_t geneve_oam;
+	/* Description - GENEVE VNI field (outer) */
+	/* 0x18.8 - 0x18.31 */
+	 u_int32_t geneve_vni;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Flow label of incoming IPv6 packet (outer). */
+	/* 0x1c.0 - 0x1c.19 */
+	 u_int32_t outer_ipv6_flow_label;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - NO_DESCR */
-	/* 32.16 - 64.15 */
-	 u_int16_t dc_rsl2sq_map[16];
+	/* Description - Flow label of incoming IPv6 packet (inner). */
+	/* 0x20.0 - 0x20.19 */
+	 u_int32_t inner_ipv6_flow_label;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - GENEVE protocol type (outer) */
+	/* 0x24.0 - 0x24.15 */
+	 u_int16_t geneve_protocol_type;
+	/* Description - GENEVE protocol type (outer) */
+	/* 0x24.16 - 0x24.21 */
+	 u_int8_t geneve_opt_len;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Destination QP in BTH header. */
+	/* 0x28.0 - 0x28.23 */
+	 u_int32_t bth_dst_qp;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-union connectib_hw_r_qpc {
+/* Size in bytes - 4 */
+struct connectib_icmd_ver_data_one_qp_per_recovery {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_common shared;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_connected_common shared_connected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_rc_uc_dci connected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_rc_uc_cd connected_cd;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_rc_uc_2cycbuff connected_2cycbuff;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_rc_uc_2srq connected_2srq;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_dcr connected_dcr;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_xrc connected_xrc;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_unconnected_common shared_unconnected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_ud_l2 unconnected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_ud_l2_2cyclicbuff unconnected_2cyclicbuff;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_ud_l2_2srq unconnected_2srq;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t rw_;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_r_qpc_ud_l2_cd unconnected_cd;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t input;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_dct dct;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t output;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-union connectib_hw_s_qpc {
+/* Size in bytes - 4 */
+struct connectib_icmd_ver_data_max_atomic {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_s_qpc_common shared;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_s_qpc_connected_common shared_connected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_s_qpc_rc_uc_dcr connected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_s_qpc_dci connected_dci;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_s_qpc_ud_l2 unconnected;
+	/* Description - minimum value of 5, max value is 8. Set 0 to return to original value */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t log_max_atomic_size;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-union connectib_hw_c_qpc {
+/* Size in bytes - 2 */
+struct connectib_fw_vport_ctx {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  0-port is down, 1-port is up, 2-follow */
+	/* 0x0.0 - 0x0.1 */
+	 u_int8_t esw_state;
+	/* Description -  ETH: 0-port is down, 1-port is up, IB: 1-down, 2- initalize, 3- arm, 4- active */
+	/* 0x0.2 - 0x0.4 */
+	 u_int8_t nic_state;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_c_qpc_common shared;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_c_qpc_connected_common shared_connected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_c_qpc_connected connected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_c_qpc_connected_2cycbuff connected_2cycbuff;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_c_qpc_connected_dual connected_dual;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_c_qpc_unconnected_common shared_unconnected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_c_qpc_unconnected unconnected;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_c_qpc_unconnected_2cycbuff unconnected_2cycbuff;
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t connected_2_steering;
+	/* Description - bit mask: PORT_MAD_EVENT_NUM_PKEY =  0
+PORT_MAD_EVENT_NUM_LID =  1
+PORT_MAD_EVENT_NUM_CLIENT_REREG = 2
+PORT_MAD_EVENT_NUM_GUID = 3
+ PORT_MAD_EVENT_NUM_PORT_STATE = 4
+PORT_MAD_EVENT_NUM_ERROR_CABLE_M0 = 5
+PORT_MAD_EVENT_NUM_ERROR_CABLE_M1 = 6
+ */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t event_mask;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_srq {
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 24.15 */
-	 u_int16_t e2e_consumer_index;
-	/* Description - FW bits, these are the only reserved bits that are not overriden by HW in ICM */
-	/* 24.16 - 24.25 */
-	 u_int16_t srq_fw;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - index to next free wqe
-rwq_type=SRQ: copy index from SRQ on packet first
-EAS NAME: rq_wqe_counter
-condition:rwq_type!=RCYCLIC */
-	/* 28.0 - 28.15 */
-	 u_int16_t rwqe_consumer_index;
-	/* Description - written by e2e credit machine */
-	/* 28.16 - 32.31 */
-	 u_int16_t e2e_producer_index;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - Hermon: srcd
-EAS NAME: xrcd
-condition:ts==XRC */
-	/* 32.0 - 32.23 */
-	 u_int32_t xrc_domain;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - protection domain
-EAS NAME: pd */
-	/* 36.0 - 36.23 */
-	 u_int32_t pd;
-	/* Description - 2^ this value is the threshold to check for new E2E credits
-0 means e2e prefethch disabled for this qp
-in rcylic this thrshould is in MTU, otherwise in WQEs
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 36.24 - 36.26 */
-	 u_int8_t e2e_credits_prefetch_threshold;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - 
-EAS NAME: cqn_snd, cqn_rcv
-condition:ts!=DCR */
-	/* 40.0 - 40.23 */
-	 u_int32_t cq_number;
-	/* Description - number of WQEs in the WQ: 2 in power of
-EAS NAME: log_rq_size
-condition:rwq_type!=RCYCLIC */
-	/* 40.24 - 40.27 */
-	 u_int8_t rwqe_buffer_size;
-	/* Description - WQE size: (2^this field)*16B
-EAS NAME: log_rq_stride
-condition:rwq_type!=RCYCLIC */
-	/* 40.28 - 40.30 */
-	 u_int8_t rwqe_stride;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - in DCR this is the DCT number, this is MyQPN in the packet
-EAS NAME: local_qpn */
-	/* 44.0 - 44.23 */
-	 u_int32_t context_number;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 44.24 - 44.28 */
-	 u_int8_t log_page_size;
-	/* Description - 
-EAS NAME: N/A */
-	/* 44.29 - 44.29 */
-	 u_int8_t tcu_drop;
-	/* Description - Used for translation and key check (TPT)
-TODO: next project move to common section?
-EAS NAME: rlkey */
-	/* 44.30 - 44.30 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description - interrupt FW when packet arrives to tcu on this Qp
-Hermon: tcu_int
-EAS NAME: N/A */
-	/* 44.31 - 48.31 */
-	 u_int8_t tcu_trap;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 48.0 - 48.7 */
-	 u_int8_t mtt_pointer_39_32;
-	/* Description - If rwq_type==0 then 
- swqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
-else 
- rwqe_address=(2^log_page_size)*wqe_page_offset*64 + masked_wqe_index*64
- swqe_address=(2^log_page_size)*wqe_page_offset*64 + 2^(rwqe_buffer_size+rwqe_stride)*16 + masked_wqe_index*64
-EAS NAME: page_offset */
-	/* 48.8 - 48.13 */
-	 u_int8_t wqe_page_offset;
-	/* Description - set by RX on every packet received and accepted
-EAS NAME: N/A */
-	/* 48.14 - 48.14 */
-	 u_int8_t rx_heartbeat;
-	/* Description - e2e fetch is allowed only according to this bit */
-	/* 48.15 - 48.15 */
-	 u_int8_t e2e_fetch_enable;
-	/* Description - E2E Limit on 
-TCU: exception if descriptor is required and Number_of_E2E_credits=RQ/SRQ.rwqe_limit_event
-EAS NAME: N/A
-condition:ts!=DCR */
-	/* 48.16 - 52.31 */
-	 u_int16_t rwqe_limit_event;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 52.0 - 56.31 */
-	 u_int32_t mtt_pointer_31_0;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 56.0 - 56.29 */
-	 u_int32_t e2e_pa_63_34;
+struct connectib_vf_pages_list {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 56.30 - 56.30 */
-	 u_int8_t srq_valid;
-	/* Description - each WQE in the r&s WQ are signature protected */
-	/* 56.31 - 60.31 */
-	 u_int8_t wq_signature;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - e2e credits pysical address, bits[63:2]
-EAS NAME: rcv_dbr_adr
-condition:rwq_type!=SRQ & ts!=XRC & ts!=DCR & ~post_receive_slave_enable */
-	/* 60.0 - 64.31 */
-	 u_int32_t e2e_pa_33_2;
+	/* 0x0.0 - 0x40.31 */
+	 u_int64_t pages[8];
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_toc {
+/* Size in bytes - 32 */
+struct connectib_icm_page_manager {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  number that should be added to EQ number when giving an EQ DoorBell to RXC */
-	/* 0.0 - 0.15 */
-	 u_int16_t eqn_offset;
-	/* Description -  number that should be added to MSIx Vector Number when giving an MSIx Read/Write operation to RXC */
-	/* 0.16 - 4.31 */
-	 u_int16_t msix_offset;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - NO_DESCR */
-	/* 4.0 - 8.31 */
-	 u_int32_t doorbell_record;
+	/* Description - pointer to first free page. Head of page linked list */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t page_list;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - NO_DESCR */
-	/* 8.0 - 16.31 */
-	 u_int64_t cmdq_phy_addr;
+	/* Description - Number of free pages (without the pre-allocated pages) available to GVMI */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t free_count;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Number of used pages of GVMI */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t used_count;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 20.31 */
-	 struct connectib_hw_init_info init_info;
+	/* Description - Number of free pages + pre-allocated unused pages */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t page_list_length;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - pci_configuration_per_pf_vf */
-	/* 20.0 - 48.31 */
-	 struct connectib_pf_vf_cfg_space pci_cfg_space;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description -  */
-	/* 48.0 - 48.7 */
-	 u_int8_t sw_cmd_eq;
-	/* Description - cmdif_checksum */
-	/* 48.8 - 48.9 */
-	 u_int8_t csum;
-	/* Description -  */
-	/* 48.10 - 48.10 */
-	 u_int8_t ext_mod;
+	/* Description - If set, means page manager is used by another flow */
+	/* 0x14.0 - 0x14.0 */
+	 u_int8_t lock;
+	/* Description - Event was triggered and response is still pending */
+	/* 0x14.1 - 0x14.1 */
+	 u_int8_t event_pending;
+	/* Description - Received a command from driver refusing to give pages. Return fail instead of wait for alloc pages request */
+	/* 0x14.2 - 0x14.2 */
+	 u_int8_t driver_refused;
+	/* Description -  0-init state, 1-default state, 2-teardown state */
+	/* 0x14.3 - 0x14.4 */
+	 u_int8_t state;
 	/* Description -  */
-	/* 48.11 - 48.11 */
-	 u_int8_t teardown_event;
+	/* 0x14.5 - 0x14.5 */
+	 u_int8_t valid;
 	/* Description -  */
-	/* 48.12 - 48.12 */
-	 u_int8_t pre_icm_driver_refused;
-	/* Description - Reported in function initialization segment: 1 - device still in initializing state.0 - device is ready to receive commands. There is also global bit - static_config_not_done */
-	/* 48.13 - 48.13 */
-	 u_int8_t initializing;
-	/* Description - 0-idle, 1-in progress, 2-returning pages */
-	/* 48.14 - 48.15 */
-	 u_int8_t flr_state;
+	/* 0x14.16 - 0x14.23 */
+	 u_int8_t num_vf_pages;
 	/* Description -  */
-	/* 48.24 - 52.31 */
-	 u_int8_t issi;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - state for init gvmix function  - pre init hca */
-	/* 52.0 - 52.7 */
-	 u_int8_t hca_state;
-	/* Description - 0 - disabled, 1 - full driver , 2 - simple nic - internal FW copy */
-	/* 52.8 - 52.9 */
-	 u_int8_t nic_interface_type;
-	/* Description - 0 - disabled, 1 - full driver , 2 - simple nic - value of SW visible field */
-	/* 52.10 - 52.11 */
-	 u_int8_t nic_interface_type_sw;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - global nodnic (simple nic interface) index */
-	/* 56.0 - 56.2 */
-	 u_int8_t nodnic_idx;
+	/* 0x14.24 - 0x14.31 */
+	 u_int8_t vf_page_ix;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - process address space id - CAPI/ATS */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t page_owner_pasid;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_hw_mkc {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  check that the mkey version fit to cr_space version. */
-	/* 0.0 - 0.3 */
-	 u_int8_t version;
-	/* Description -   0x0: PA - (VA=PA, no translation needed)
-0x1: MTT - (PA is needed)
-0x2: KLMs (Indirect access) 
- */
-	/* 0.8 - 0.9 */
-	 u_int8_t access_mode;
-	/* Description -  If set, local read is enabled why is this check not part of the EAS? It's part of the IB Spec */
-	/* 0.10 - 0.10 */
-	 u_int8_t lr;
-	/* Description -  If set, local write is enabled */
-	/* 0.11 - 0.11 */
-	 u_int8_t lw;
-	/* Description -  If set, remote read is enabled */
-	/* 0.12 - 0.12 */
-	 u_int8_t rr;
-	/* Description -  If set, remote write is enabled */
-	/* 0.13 - 0.13 */
-	 u_int8_t rw;
-	/* Description -  If set, atomic operation is enabled */
-	/* 0.14 - 0.14 */
-	 u_int8_t a;
-	/* Description -  If set, this Mkey context support UMR operations */
-	/* 0.15 - 0.15 */
-	 u_int8_t umr_en;
-	/* Description -  If set, the corresponding bit in the transaltion response will be set
-EAS: responder will have one read request toward the PCIe (per QP) */
-	/* 0.16 - 0.16 */
-	 u_int8_t small_fence_on_rdma_read_response;
-	/* Description -  If cleared, no PCI access will be performed on the target address.
-RDMA write will be druped drooped.
-RDMA read will give zeroes.
-need to open on QUERY_DUMP_FILL_MKEY
- */
-	/* 0.17 - 0.17 */
-	 u_int8_t goto_pci;
-	/* Description -  If set issue PCIe cycle with  relaxed ordering  attribute (allows write after write bypassing)
-EAS: If cleared, PCIe cycle should be issued with relaxed ordering attribute */
-	/* 0.18 - 0.18 */
-	 u_int8_t relaxed_ordering;
-	/* Description -  If set, issue PCIe cycle with (no Snoop) attribute and this cycle will not be snooped in CPU cache */
-	/* 0.19 - 0.19 */
-	 u_int8_t no_snoop;
-	/* Description - NO_DESCR */
-	/* 0.20 - 0.21 */
-	 u_int8_t tlp_processing_hints;
-	/* Description - NO_DESCR */
-	/* 0.22 - 0.22 */
-	 u_int8_t tlp_processing_hints_en;
-	/* Description -  Unbound Type1 windows are denoted by _len=0.
- Unbound Type II windows are denoted by Status = Free. */
-	/* 0.30 - 0.30 */
-	 u_int8_t free;
-	/* Description - NO_DESCR */
-	/* 0.31 - 4.31 */
-	 u_int8_t valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  Variant part of MKey specified by this MKey context */
-	/* 4.0 - 4.7 */
-	 u_int8_t mem_key;
-	/* Description -  QP number this MW is attached to. (no QPN attached if QPN = 0xFFFFFF) */
-	/* 4.8 - 8.31 */
-	 u_int32_t qpn;
+/* Size in bytes - 32 */
+struct connectib_hca_params {
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t partition_cap;
+	/* Description -  */
+	/* 0x8.24 - 0x8.28 */
+	 u_int8_t log_max_qp;
+	/* Description -  */
+	/* 0x8.29 - 0x8.29 */
+	 u_int8_t phy_port_owner;
+	/* Description -  */
+	/* 0x8.30 - 0x8.30 */
+	 u_int8_t eswitch_owner;
+	/* Description -  */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t dct;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  Protection Domain. (no Protection Domain if PD = 0xFFFFFF) */
-	/* 12.0 - 12.23 */
-	 u_int32_t pd;
-	/* Description -  Enable remote invalidation */
-	/* 12.24 - 12.24 */
-	 u_int8_t en_rinval;
-	/* Description -  If set, MKEY is armed to produce sigerr cqe. */
-	/* 12.26 - 12.26 */
-	 u_int8_t num_of_sigerr;
-	/* Description -  can improve permormance of klm */
-	/* 12.28 - 12.28 */
-	 u_int8_t trast_a_en;
-	/* Description -  can improve permormance of bsf */
-	/* 12.29 - 12.29 */
-	 u_int8_t trast_b_en;
-	/* Description -  If set, this MKey specifies BSF (signature context) remove? */
-	/* 12.30 - 12.30 */
-	 u_int8_t bsf_enabled;
-	/* Description -  to determine that len is 2^64 */
-	/* 12.31 - 16.31 */
-	 u_int8_t length_64;
+	/* Description -  */
+	/* 0xc.8 - 0xc.13 */
+	 u_int8_t log_max_ra_res_qp;
+	/* Description -  */
+	/* 0xc.24 - 0xc.29 */
+	 u_int8_t log_max_ra_req_qp;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  Start Address - Virtual Address where this region/window starts */
-	/* 16.0 - 24.31 */
-	 u_int64_t start_address;
+	/* Description -  */
+	/* 0x10.8 - 0x10.15 */
+	 u_int8_t num_ports;
+	/* Description - If set, 128 byte Cache line size is supported.0 means only 64 byte cache line is supported */
+	/* 0x10.31 - 0x10.31 */
+	 u_int8_t cache_line_128byte;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - log2_uar_page_sz in 4kbyte chunks. 4-64 kbyte supported */
+	/* 0x14.0 - 0x14.15 */
+	 u_int16_t log_uar_page_sz;
+	/* Description - sw format = log_gid_table_size-3: 0: 8 gid entries, 1: 16 gid entries, 2: 32 gid entries, 3: 64 gid entries, 4: 128 gid entries, other: reserved */
+	/* 0x14.16 - 0x14.21 */
+	 u_int8_t log_gid_table_size;
+	/* Description -  */
+	/* 0x14.22 - 0x14.22 */
+	 u_int8_t uar_4k;
+	/* Description - snapshot named_qp capability */
+	/* 0x14.23 - 0x14.23 */
+	 u_int8_t named_qp;
+	/* Description - snapshot named_mkey capability */
+	/* 0x14.24 - 0x14.24 */
+	 u_int8_t named_mkey;
+	/* Description - 0:BE,  1: according to HOST_ENDIENESS for 8B only */
+	/* 0x14.28 - 0x14.29 */
+	 u_int8_t atomic_req_8b_endianess_mode;
+	/* Description -  */
+	/* 0x14.30 - 0x14.30 */
+	 u_int8_t init_hca_disable_linkup;
+	/* Description - 0:BE   1:LE */
+	/* 0x14.31 - 0x14.31 */
+	 u_int8_t host_endianess;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  Region/Window Length [bytes] */
-	/* 24.0 - 32.31 */
-	 u_int64_t length;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - NO_DESCR */
-	/* 32.0 - 36.31 */
-	 u_int32_t bsf_octoword_count;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - NO_DESCR */
-	/* 36.0 - 36.14 */
-	 u_int16_t bsf_first_index_46_32;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - NO_DESCR */
-	/* 40.4 - 44.31 */
-	 u_int32_t bsf_first_index_31_4;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description -  Handle specifying ICM area allocated for the MTT This area will be used by the HCA to store translation pages or list of pointers (indirect MKey) */
-	/* 44.0 - 44.14 */
-	 u_int16_t mtt_first_index_46_32;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description -  Handle specifying ICM area allocated for the MTT This area will be used by the HCA to store translation pages or list of pointers (indirect MKey) */
-	/* 48.3 - 52.31 */
-	 u_int32_t mtt_first_index_31_3;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description -  number of MTTs/KLMs octowords (16B) that are mapped to this region */
-	/* 52.0 - 56.31 */
-	 u_int32_t mtt_octoword_count;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description -  page size = 2^(entity_size) [byte] */
-	/* 56.0 - 56.4 */
-	 u_int8_t entity_size;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description -  init to 0 */
-	/* 60.0 - 60.15 */
-	 u_int16_t generation_counter;
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 struct connectib_odp_hca_params odp_caps;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_hw_cqc {
+struct connectib_dummy_addresses_one_cache_line {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - When pi - ci = lookahead_size ci is read from memory
-condition:cq */
-	/* 0.0 - 0.15 */
-	 u_int16_t lookahead_size_23_8;
-	/* Description - when this bit is cleared IRISC should be called */
-	/* 0.16 - 0.16 */
-	 u_int8_t cqc_valid;
-	/* Description - CQE size: 0-64B, 1-128B
-condition:cq */
-	/* 0.17 - 0.17 */
-	 u_int8_t cqe_128b_size;
-	/* Description - qe_coalesce_checksum - Shomron only!!!
-msix:
-1: send interupt to MSIX
-0:send interupt to int pin
-condition:~cq */
-	/* 0.18 - 0.18 */
-	 u_int8_t cqe_coalesce_checksum_msix;
 	/* Description -  */
-	/* 0.22 - 0.23 */
-	 u_int8_t pa_error;
-	/* Description - page_size = 4096*2^log_page_size */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_page_size;
-	/* Description - 
-condition:cq */
-	/* 0.29 - 0.29 */
-	 u_int8_t poll_cq_cqe_with_error_generated_on_this_queue;
-	/* Description - 
-condition:cq */
-	/* 0.30 - 0.30 */
-	 u_int8_t poll_cq_queue_in_error_state;
+	/* 0x0.0 - 0x40.31 */
+	 u_int64_t ix[8];
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_cmdif_ctx {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t last_notified_check_for_arm_en;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t done_missions;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - index of the last CQE with SE bit set
-condition:cq */
-	/* 4.0 - 4.23 */
-	 u_int32_t last_solicited_index;
-	/* Description - When pi - ci = lookahead_size ci is read from memory
-condition:cq */
-	/* 4.24 - 8.31 */
-	 u_int8_t lookahead_size_7_0;
+	/* Description -  */
+	/* 0x4.0 - 0x4.24 */
+	 u_int32_t res_num;
+	/* Description -  */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t cmd_valid;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
-	/* 8.0 - 12.31 */
-	 u_int32_t pa0_63_32;
+	/* Description -  */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t opcode;
+	/* Description -  */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t op_mod;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - CQ start address is: cq_page_offset << (crspace+6)
-It was changed to log page size from the context */
-	/* 12.0 - 12.5 */
-	 u_int8_t cq_page_offset;
-	/* Description - 
-condition:cq */
-	/* 12.6 - 12.6 */
-	 u_int8_t db_recovery_enable;
-	/* Description - set to 1 on every CQE creation */
-	/* 12.7 - 12.7 */
-	 u_int8_t cqe_heartbeat;
-	/* Description - 0: no pa fetch
-1: single pa (bring next pa when last CQE of page is written)
-2: dual pa prefetch */
-	/* 12.8 - 12.9 */
-	 u_int8_t pa_mode;
-	/* Description - All the CQEs are written to the same address. Required for CQE coalescing */
-	/* 12.10 - 12.10 */
-	 u_int8_t shrink;
-	/* Description - when this bit is set, FW should be called */
-	/* 12.11 - 12.11 */
-	 u_int8_t cq_trap;
-	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
-	/* 12.12 - 16.31 */
-	 u_int32_t pa0_31_12;
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t allocated_pages;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - minimum # of cqes to generate eqe
-condition:cq */
-	/* 16.0 - 16.7 */
-	 u_int8_t moderation_cnt_limit_15_8;
-	/* Description - last index for which an event was created */
-	/* 16.8 - 20.31 */
-	 u_int32_t last_notified_index;
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t needed_pages;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 20.23 */
-	 u_int32_t producer_index;
-	/* Description - minimum # of cqes to generate eqe
-condition:cq */
-	/* 20.24 - 24.31 */
-	 u_int8_t moderation_cnt_limit_7_0;
+	/* 0x14.0 - 0x18.31 */
+	 union connectib_flush_type flush_type;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - CQC: eqn+eq_offset
-EQC with MSIX: ^ MSIX number+offset
-EQC with interrupt: 0-INT_A, 1-INT_B, 2-INT_C, 3-INT_D, 4-INT_YU */
-	/* 24.0 - 24.19 */
-	 u_int32_t eqn_msix;
-	/* Description - minimum wait time between eqe:
-0 means moderation is disabled on this CQ
-condition:cq */
-	/* 24.20 - 28.31 */
-	 u_int16_t moderation_min_wait_time;
+	/* Description - valid only when flush_type qp_flush is set */
+	/* 0x18.0 - 0x18.23 */
+	 u_int32_t flush_qpn;
+	/* Description - valid only when flush_type qp_flush is set */
+	/* 0x18.24 - 0x18.31 */
+	 u_int8_t flush_synd;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - doorbell ci - in the case of cq_state different from Fired, this field indicates what should be pi for firing the event. Updated by the doorbell handler */
-	/* 28.0 - 28.23 */
-	 u_int32_t db_ci;
-	/* Description - amount of CQE in CQ is 2^los2_size */
-	/* 28.24 - 28.28 */
-	 u_int8_t log2_size;
-	/* Description - set to 1 on every received DB */
-	/* 28.29 - 28.29 */
-	 u_int8_t db_heartbeat;
-	/* Description - used for db.db_sn check
-condition:cq */
-	/* 28.30 - 32.31 */
-	 u_int8_t number_of_events_generated;
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t nim_start_offset;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - bits[63:3] of the physical address of the ci
-condition:cq */
-	/* 32.0 - 36.31 */
-	 u_int32_t cipa_63_32;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 36.0 - 36.2 */
-	 u_int8_t mtt_pointer_39_37;
-	/* Description - bits[63:3] of the physical address of the ci
-condition:cq */
-	/* 36.3 - 40.31 */
-	 u_int32_t cipa_31_3;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - Used in TPT for wqe translation */
-	/* 40.0 - 44.31 */
-	 u_int32_t mtt_pointer_36_5;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 44.0 - 44.23 */
-	 u_int32_t consumer_index;
-	/* Description - 0-Fired
-1-Armed Solicited
-2-Armed
-3-Always Armed
-Hermon name: state */
-	/* 44.24 - 44.25 */
-	 u_int8_t cq_state;
-	/* Description - When set: ci is ignored, and never read (block,lookahead) */
-	/* 44.26 - 44.26 */
-	 u_int8_t overrun_ignore;
-	/* Description - Used in TPT for wqe translation */
-	/* 44.27 - 48.31 */
-	 u_int8_t mtt_pointer_4_0;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
-	/* 48.0 - 52.31 */
-	 u_int32_t pa1_63_32;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - updated when eqe is generated from a global timer */
-	/* 52.0 - 52.11 */
-	 u_int16_t moderation_timestamp_51_40;
-	/* Description - MSB of physical address translation, 12lsb are VA[11:0] */
-	/* 52.12 - 56.31 */
-	 u_int32_t pa1_31_12;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - updated when eqe is generated from a global timer */
-	/* 56.0 - 60.31 */
-	 u_int32_t moderation_timestamp_39_8;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - 
-EAS NAME: usr_page */
-	/* 60.0 - 60.23 */
-	 u_int32_t uar;
-	/* Description - updated when eqe is generated from a global timer */
-	/* 60.24 - 64.31 */
-	 u_int8_t moderation_timestamp_7_0;
+	/* 0x20.0 - 0x40.31 */
+	 union connectib_cmdif_ctx_special s;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_ffe_tap_set {
+/* Size in bytes - 28 */
+union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t ffe_tap0;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_sw_eqe_flat_data flat_data;
 	/* Description -  */
-	/* 0.8 - 0.15 */
-	 u_int8_t ffe_tap1;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_comp_event comp_event;
 	/* Description -  */
-	/* 0.16 - 0.23 */
-	 u_int8_t ffe_tap2;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_dct_events dct_events;
 	/* Description -  */
-	/* 0.24 - 4.31 */
-	 u_int8_t ffe_tap3;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_qp_events qp_events;
 	/* Description -  */
-	/* 4.0 - 4.7 */
-	 u_int8_t ffe_tap4;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_GEN3_TRANSMITTER_SETTING {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_wqe_associated_page_fault_event wqe_associated_page_fault_event;
 	/* Description -  */
-	/* 0.0 - 0.5 */
-	 u_int8_t post;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_rdma_page_fault_event rdma_page_fault_event;
 	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t reject_coeff;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_cq_error cq_error;
 	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t parity;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_dropped_packet_logged dropped_packet_logged;
 	/* Description -  */
-	/* 0.8 - 0.13 */
-	 u_int8_t main;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_port_state_change_event port_state_change_event;
 	/* Description -  */
-	/* 0.16 - 0.21 */
-	 u_int8_t pre;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_gpio_event gpio_event;
 	/* Description -  */
-	/* 0.24 - 0.25 */
-	 u_int8_t ec;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_port_module_event port_module_event;
 	/* Description -  */
-	/* 0.26 - 0.26 */
-	 u_int8_t reset_eieos;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_dcbx_change_event dcbx_change_event;
 	/* Description -  */
-	/* 0.27 - 0.30 */
-	 u_int8_t preset;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_temp_warning_event temp_warning_event;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t use_preset;
-};
-
-/* Description -   */
-/* Size in bytes - 1 */
-struct connectib_gpio_config {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.0 - 0x18.31 */
+	 struct connectib_db_bf_congestion_event db_bf_congestion_event;
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t mode0;
+	/* 0x0.0 - 0x18.31 */
+	 struct connectib_stall_vl_event stall_vl_event;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t mode1;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_cmd_inter_comp_event cmd_inter_comp_event;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t def_val;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_pages_req_event pages_req_event;
 	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t pull_up;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_nic_vport_change_event nic_vport_change_event;
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t pull_en;
-	/* Description - 1-masked (don't use function defaults), 0-not masked */
-	/* 0.7 - 0.7 */
-	 u_int8_t masked;
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_fpga_error_event fpga_error_event;
+	/* Description -  */
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_fpga_qp_error_event fpga_qp_error_event;
+	/* Description -  */
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_pps_event pps_event;
+	/* Description -  */
+	/* 0x0.0 - 0x1c.31 */
+	 struct connectib_general_notification_delay_drop_event general_notification_delay_drop_event;
 };
 
 /* Description -   */
-/* Size in bytes - 1 */
-struct connectib_gpio_function {
+/* Size in bytes - 272 */
+union connectib_icmd_generic_reg_access_reg_tlv_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Map function to GPIO num, 0x3f - function not present. */
-	/* 0.0 - 0.5 */
-	 u_int8_t mapping;
-	/* Description - function polarity 0-normal, 1-reverse. Normal polarity means 0 = non active, 1 = active. */
-	/* 0.6 - 0.6 */
-	 u_int8_t reverse_polarity;
-	/* Description - 1-masked (don't use function defaults), 0-not masked */
-	/* 0.7 - 0.7 */
-	 u_int8_t masked;
+	/* Description -  */
+	/* 0x0.0 - 0x108.31 */
+	 union connectib_access_register_data_layout cmdif_access_register;
+	/* Description -  */
+	/* 0x0.0 - 0x10c.31 */
+	 struct connectib_generic_flash_reg_access_data flash_reg_access;
 };
 
-/* Description -  to be used in core2phy interface (not in page format) */
+/* Description -   */
 /* Size in bytes - 4 */
-struct connectib_mlpn_enhanced_database_ini {
+struct connectib_reg_access_tlv {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - mlpn bits */
-	/* 0.0 - 4.31 */
-	 struct connectib_mlnx_enhanced_equal_info_ini as_bits;
+	/* Description -  */
+	/* 0x0.16 - 0x0.26 */
+	 u_int16_t len;
+	/* Description - enum {
+    EMAD_TLV_TYPE_END   = 0x0,
+    EMAD_TLV_TYPE_OPER  = 0x1,
+    EMAD_TLV_TYPE_RD    = 0x2,
+    EMAD_TLV_TYPE_REG   = 0x3,
+    EMAD_TLV_TYPE_UDATA = 0x4,
 };
-
-/* Description -  mlpn cability (ability)/ admin (request) bits for ScratchPad (not in pages foramt) */
-/* Size in bytes - 4 */
-struct connectib_mlpn_database_all_protocol_ini {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - mlpn bits */
-	/* 0.0 - 4.31 */
-	 struct connectib_mlpn_database_all_protocol_bits_ini as_bits;
+ */
+	/* 0x0.27 - 0x0.31 */
+	 u_int8_t type;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_tx_rx_logic_serdes_mapping_node_ini {
+/* Size in bytes - 8 */
+struct connectib_IB_TID {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 u_int32_t logic_to_serdes[8];
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t High;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t Low;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_icmd_kdnet_ctrl_out {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Bus-Device-Function (BDF) of the PF that was/will be created for KDNET use.
+This field is reserved when 
+status
+ field is DISABLED or ERROR. */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t kdnet_bdf;
+	/* Description - Current status of the KDNET PF:
+0x0: DISABLED
+0x1: ENABLED
+0x2: DISABLE_PENDING- the KDNET PF will be disabled after the next server boot
+0x3: ENABLE_PENDING - the KDNET PF will be disabled after the next server boot.
+0x4: BUSY - KDNET is enabled on other port
+0xF: ERROR
+other values are reserved */
+	/* 0x0.28 - 0x0.31 */
+	 u_int8_t status;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_icmd_kdnet_ctrl_in {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Command operation:
+0x0: DISABLE 
+0x1: ENABLE 
+0x2: QUERY 
+other values are reserved */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t operation;
 };
 
 /* Description -   */
-/* Size in bytes - 1088 */
-struct connectib_serdes_conf_ini {
+/* Size in bytes - 4 */
+struct connectib_itrace_ctrl {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 384.31 */
-	 struct connectib_serdes_autoneg_sets_ini nego;
-/*---------------- DWORD[96] (Offset 0x180) ----------------*/
-	/* Description - sets 0-7   : IB 8/10
-sets 8-15 : IB 8/10 for legacy device
-sets16-31: IB FDR */
-	/* 384.0 - 768.31 */
-	 struct connectib_serdes_aba_sets_ini aba;
-/*---------------- DWORD[192] (Offset 0x300) ----------------*/
-	/* Description - set0: force sdr
-set1: force ddr
-set2: force qdr
-set3: force fdr
-set4: aggressor
-set5: force xaui
-set6: force sgmii
-set7: force xfi
-set8: ffe initial
-set9: for slicer4err calib */
-	/* 768.0 - 888.31 */
-	 struct connectib_serdes_force_sets_ini force;
-/*---------------- DWORD[222] (Offset 0x378) ----------------*/
-	/* Description - set0: half active fibre IB 8/10
-set1: active fibre IB 8/10
-set2: half active fibre IB FDR (64/66)
-set3: active fibre IB FDR (64/66) */
-	/* 888.0 - 936.31 */
-	 struct connectib_serdes_active_sets_ini active;
-/*---------------- DWORD[234] (Offset 0x3a8) ----------------*/
-	/* Description - spec1_3 preset for fdr */
-	/* 936.0 - 1000.31 */
-	 struct connectib_serdes_preset_sets_ini preset_tx_fdr;
-/*---------------- DWORD[250] (Offset 0x3e8) ----------------*/
-	/* Description - spec1_3 preset for qdr */
-	/* 1000.0 - 1064.31 */
-	 struct connectib_serdes_preset_sets_ini preset_tx_qdr;
+	/* Description - threashhold of logging to print from:
+0 - LOG_DEBUG
+1 - LOG_INFO
+2 - LOG_WARNING
+3 - LOG_ERROR */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t log_level;
+	/* Description - added delay (usec) to prevent log event lost */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t log_delay;
 };
 
 /* Description -   */
-/* Size in bytes - 24 */
-struct connectib_rx_adapt_ini {
+/* Size in bytes - 16 */
+struct connectib_output_inline_standart {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - max number of FFE steps bedore stop. 0 - unlimited */
-	/* 0.0 - 0.5 */
-	 u_int8_t max_num_ffe_search;
-	/* Description - number of FFE taps to use.
-allow values: 1-5 */
-	/* 0.6 - 0.8 */
-	 u_int8_t num_of_ffe_taps;
-	/* Description - number of HW machine FFE searches before FW interfere */
-	/* 0.9 - 0.14 */
-	 u_int8_t num_of_ffe_hw_steps;
-	/* Description - how many HW machine runs before doing eye open to help with ffe stop condition.
-0 - dont do eye open for ffe stop condition */
-	/* 0.15 - 0.18 */
-	 u_int8_t num_hw_ffe_before_open_eye;
-	/* Description - when set, dont do FFE search in RX adaptation flow, just go over RX sets. */
-	/* 0.19 - 0.19 */
-	 u_int8_t skip_ffe_srch;
-	/* Description - when set, dont do RX buffer sets seatch in RX adaptation. */
-	/* 0.20 - 0.20 */
-	 u_int8_t skip_rx_srch;
+	/* Description - check the io function before changing this field.
+overrun while status and syndrom is writen */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t auto_1;
 	/* Description -  */
-	/* 0.21 - 0.27 */
-	 u_int8_t offset_eye_opener_range;
-	/* Description - Max gap between eye pointers of current set and best set */
-	/* 0.28 - 4.31 */
-	 u_int8_t mixer_offset_grade_margin;
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t status;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - jump size for first level of FFE search */
-	/* 4.0 - 4.3 */
-	 u_int8_t jump_size_ffe_level1;
-	/* Description - jump size for second level of FFE search */
-	/* 4.4 - 4.7 */
-	 u_int8_t jump_size_ffe_level2;
-	/* Description - jump size for third level of FFE search */
-	/* 4.8 - 4.11 */
-	 u_int8_t jump_size_ffe_level3;
-	/* Description - determines start point of linear search on phase  */
-	/* 4.12 - 4.16 */
-	 u_int8_t delta_from_edges_phase;
-	/* Description - determines start point of linear search on offset */
-	/* 4.17 - 4.22 */
-	 u_int8_t delta_from_edges_offst;
-	/* Description -  */
-	/* 4.23 - 4.23 */
-	 u_int8_t offset_penalty_en;
 	/* Description -  */
-	/* 4.24 - 8.31 */
-	 u_int8_t offset_penalty_weight;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t syndrome;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - center the eye on the phase */
-	/* 8.0 - 8.0 */
-	 u_int8_t center_mix90phase;
 	/* Description -  */
-	/* 8.1 - 8.1 */
-	 u_int8_t disable_calib_in_QDR_rev0;
-	/* Description - center the eye on the offset */
-	/* 8.2 - 8.2 */
-	 u_int8_t center_mixer_offset;
-	/* Description - enable mixer_offset_grade_margin feature */
-	/* 8.3 - 8.3 */
-	 u_int8_t grade_mixer_margin_en;
-	/* Description - 2^value * 64ns */
-	/* 8.4 - 8.8 */
-	 u_int8_t eye_open_machine_measure_time;
-	/* Description - 2^value * 64ns */
-	/* 8.9 - 8.13 */
-	 u_int8_t eye_open_machine_stab_time;
-	/* Description - minimum grade for eye. if below this grade, dont finish RX adaptation */
-	/* 8.14 - 8.21 */
-	 u_int8_t best_grade_th;
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t ix;
 	/* Description -  */
-	/* 8.22 - 8.26 */
-	 u_int8_t eye_open_machine_stab_time_extended;
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t auto_2;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.7 */
-	 u_int8_t eye_phase_diff_min;
-	/* Description -  */
-	/* 12.8 - 12.15 */
-	 u_int8_t eye_offset_diff_min;
-	/* Description -  */
-	/* 12.16 - 12.16 */
-	 u_int8_t min_eye_en;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t auto_3;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_input_inline_standart {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - manually added, for reserved equal zero test */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t reserved_0;
 	/* Description -  */
-	/* 12.17 - 12.17 */
-	 u_int8_t grade_eye_from_center;
-	/* Description - if max_tap_offset exceeds this value - offset_grade is 0 */
-	/* 12.18 - 12.23 */
-	 u_int8_t offset_zero_grade_threshold;
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t opcode;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 12.24 - 12.28 */
-	 u_int8_t eye_open_machine_measure_time_in_stab_extend;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - Maximal value for offset_grade. If offset_grade exceeds - it truncated to this value */
-	/* 16.2 - 16.7 */
-	 u_int8_t offset_max_grade;
-	/* Description - seperate the eyes that passes this limit from the ones that did not pass */
-	/* 16.8 - 16.12 */
-	 u_int8_t phase_limit;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t opcode_mod;
+	/* Description - manually added, for reserved equal zero test */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t reserved_1;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 16.13 - 16.15 */
-	 u_int8_t rx_adaptation_reattempts;
-	/* Description - weight for phase in grade calc */
-	/* 16.16 - 16.23 */
-	 u_int8_t phase_weight;
-	/* Description - weight for offsetin grade calc */
-	/* 16.24 - 20.31 */
-	 u_int8_t offset_weight;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - maximum for the sum of rx taps */
-	/* 20.0 - 20.7 */
-	 u_int8_t rx_taps_norm_val;
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t ix;
+	/* Description - manually added, for reserved equal zero test */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t reserved_2;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - manually added, for reserved equal zero test */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t reserved_3;
 };
 
 /* Description -   */
-/* Size in bytes - 96 */
-struct connectib_ib_ini_ini {
+/* Size in bytes - 256 */
+struct connectib_g_rse_decoders_as_dwords {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - The time to wait (* 50 usec) before turn off llr if lp don't has llr enabled.
-Actual only for FDR
-SDR/DDR/QDR wait time is 150 usec. */
-	/* 0.0 - 0.5 */
-	 u_int8_t llr_wait_time;
 	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t spec1_3_ignore_peer_tx_req;
+	/* 0x0.0 - 0x100.31 */
+	 u_int32_t dword[64];
+};
+
+/* Description -  // Created At Mon Oct  7 12:23:46 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxs_rxt_desc_decoder.v -o rxs_rxt_desc_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
+/* Size in bytes - 64 */
+struct connectib_rxs_rxt_desc_decoder {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t qdr_tx_aggressor_en;
+	/* 0x4.0 - 0x4.13 */
+	 u_int16_t payload_end_offset;
 	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t equal_req_en;
+	/* 0x4.14 - 0x4.14 */
+	 u_int8_t mask_px_icmc_tpt_vld;
 	/* Description -  */
-	/* 0.9 - 0.10 */
-	 u_int8_t ts3_fcu;
+	/* 0x4.15 - 0x4.15 */
+	 u_int8_t need_invalidation;
 	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t ts3_hbr;
+	/* 0x4.16 - 0x4.19 */
+	 u_int8_t extended_rdb_size;
 	/* Description -  */
-	/* 0.12 - 0.12 */
-	 u_int8_t ts3_sct;
+	/* 0x4.20 - 0x4.22 */
+	 u_int8_t max_rdma_atomic;
 	/* Description -  */
-	/* 0.13 - 0.13 */
-	 u_int8_t ts3_tp;
+	/* 0x4.23 - 0x4.23 */
+	 u_int8_t scatter_grh;
 	/* Description -  */
-	/* 0.14 - 0.14 */
-	 u_int8_t ts3_mpr;
+	/* 0x4.24 - 0x4.26 */
+	 u_int8_t packet_type;
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t ts3_ft;
+	/* 0x4.27 - 0x4.27 */
+	 u_int8_t can_use_reserved_lkey;
 	/* Description -  */
-	/* 0.16 - 0.20 */
-	 u_int8_t min_ib_grade;
+	/* 0x4.28 - 0x4.28 */
+	 u_int8_t use_dcr_gvmi_for_rdb;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.21 - 0.24 */
-	 u_int8_t tx_polarity_port0;
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.25 - 0.28 */
-	 u_int8_t tx_polarity_port1;
-	/* Description - bit mask per logical port */
-	/* 0.29 - 0.30 */
-	 u_int8_t Mloop_en_mask;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x8.16 - 0x8.29 */
+	 u_int16_t packet_len;
 	/* Description -  */
-	/* 4.0 - 12.31 */
-	 struct connectib_ib_ini_per_lcl_ini lcl[2];
+	/* 0x8.30 - 0x8.30 */
+	 u_int8_t free_line;
+	/* Description -  */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t header_capture;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.6 */
-	 u_int8_t retry_counter_threshold;
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t qpn;
 	/* Description -  */
-	/* 12.7 - 12.14 */
-	 u_int8_t time_2_clear_err_after_linkup;
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t rdb_write_pointer;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - hold the spec1_3 preset mask from INI and all the ABA masks and borders */
-	/* 16.0 - 92.31 */
-	 struct connectib_spec1_3_preset_ini spec1_3_preset;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
 	/* Description -  */
-	/* 92.0 - 92.0 */
-	 u_int8_t disable_llr_on_long_optic;
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t psn;
 	/* Description -  */
-	/* 92.1 - 92.7 */
-	 u_int8_t llr_max_cable_length;
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t payload_offset;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 92.8 - 92.8 */
-	 u_int8_t terminate_pkt_timeout;
+	/* 0x14.0 - 0x14.23 */
+	 u_int32_t pd;
 	/* Description -  */
-	/* 92.9 - 92.9 */
-	 u_int8_t llr_rx_check_en;
+	/* 0x14.24 - 0x14.31 */
+	 u_int8_t grh_offset;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 92.10 - 92.10 */
-	 u_int8_t enable_fec_on_long_optic;
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t rkey;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 92.11 - 92.17 */
-	 u_int8_t fec_min_cable_length;
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t dma_length;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t va_63_32;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t va_31_0;
 };
 
-/* Description -   */
+/* Description -  // Created At Mon Oct  7 12:23:46 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxt_context_fetch_qp_desc_decoder.v -o rxt_context_fetch_qp_desc_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
 /* Size in bytes - 16 */
-struct connectib_PORT_PHY_ini {
+struct connectib_rxt_context_fetch_qp_desc_decoder {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t qpc_ts_3_3;
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_serdes_param_mask_ini serdes_param_mask;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t port_number;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x4.0 - 0x4.12 */
+	 u_int16_t srq_number_23_11;
+	/* Description - TODO: need to align this field to 16.  */
+	/* 0x4.13 - 0x4.28 */
+	 u_int16_t gvmi;
+	/* Description - TODO: need to align this field to 4. This Field was broken due to 32-bit miss-alignement  */
+	/* 0x4.29 - 0x4.31 */
+	 u_int8_t qpc_ts_2_0;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.11 */
+	 u_int16_t pkey_index;
+	/* Description - TODO: need to align this field to 8.  */
+	/* 0x8.12 - 0x8.19 */
+	 u_int8_t my_gid_index;
+	/* Description -  */
+	/* 0x8.20 - 0x8.20 */
+	 u_int8_t srq_vld;
+	/* Description - TODO: need to align this field to 32. This Field was broken due to 32-bit miss-alignement  */
+	/* 0x8.21 - 0x8.31 */
+	 u_int16_t srq_number_10_0;
 };
 
-/* Description -   */
-/* Size in bytes - 8 */
-struct connectib_nv_config_tpt {
+/* Description -  // Created At Mon Oct  7 12:23:46 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxt_checks_steering_results_decoder.v -o rxt_checks_steering_results_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
+/* Size in bytes - 16 */
+struct connectib_rxt_checks_steering_results_decoder {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_nv_tlv_data_tpt_settings settings;
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t vport_packet_counters_trigger;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x4.0 - 0x4.8 */
+	 u_int16_t xqpn_40_32;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_nv_tlv_data_tpt_capabilities capabilities;
-};
-
-/* Description -   */
-/* Size in bytes - 32 */
-struct connectib_nv_config_pci {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x4.9 - 0x4.9 */
+	 u_int8_t pport_counters_trigger_vld;
+	/* Description -  */
+	/* 0x4.10 - 0x4.10 */
+	 u_int8_t qpn_direct_access;
+	/* Description -  */
+	/* 0x4.11 - 0x4.11 */
+	 u_int8_t vport_counters_trigger_vld;
 	/* Description -  */
-	/* 0.0 - 12.31 */
-	 struct connectib_nv_tlv_data_pci_settings settings;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x4.12 - 0x4.15 */
+	 u_int8_t vport_byte_counters_trigger;
+	/* Description -  */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t pport_byte_counters_trigger;
 	/* Description -  */
-	/* 12.0 - 32.31 */
-	 struct connectib_nv_tlv_data_pci_capabilities capabilities;
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t pport_packet_counters_trigger;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t xqpn_31_0;
 };
 
-/* Description -   */
-/* Size in bytes - 56 */
-struct connectib_advanced_error_reporting {
+/* Description -  // Created At Mon Oct  7 12:23:46 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxt_steering_context_decoder.v -o rxt_steering_context_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
+/* Size in bytes - 32 */
+struct connectib_rxt_steering_context_decoder {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t cap_id;
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t log2_hit_table_size;
 	/* Description -  */
-	/* 0.16 - 0.19 */
-	 u_int8_t version;
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t take_qp_from_packet;
 	/* Description -  */
-	/* 0.20 - 4.31 */
-	 u_int16_t nxt_ptr;
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t vport_byte_counters_trigger;
+	/* Description -  */
+	/* 0x0.12 - 0x0.15 */
+	 u_int8_t vport_packet_counters_trigger;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_uncorrectable_error_status uncorrectable_error_status;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 struct connectib_uncorrectable_error_mask uncorrectable_error_mask;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t pport_packet_counters_trigger;
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 struct connectib_uncorrectable_error_severity uncorrectable_error_severity;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x4.24 - 0x4.29 */
+	 u_int8_t log2_hit_entry_size;
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 struct connectib_correctable_error_status correctable_error_status;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t first_line_of_steering_entry;
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 struct connectib_correctable_error_mask correctable_error_mask;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t sx_sniffer_accomulated;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
-	 struct connectib_advanced_error_cap_ctl advanced_error_cap_ctl;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t qp_list_index;
 	/* Description -  */
-	/* 28.0 - 44.31 */
-	 struct connectib_header_log header_log;
-};
-
-/* Description -  Device serial number capability */
-/* Size in bytes - 12 */
-struct connectib_dev_serial_num_cap {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - capability id */
-	/* 0.0 - 0.15 */
-	 u_int16_t cap_id;
-	/* Description - capability id */
-	/* 0.16 - 0.19 */
-	 u_int8_t version;
-	/* Description - next capability pointer */
-	/* 0.20 - 4.31 */
-	 u_int16_t nxt_ptr;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t pport_byte_counters_trigger;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t serial_number_31_0;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t member_count;
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t serial_number_63_32;
+	/* 0xc.24 - 0xc.31 */
+	 u_int8_t hit_lookup_type_hash_field_mask;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t hit_base_address_55_32;
+	/* Description -  */
+	/* 0x10.24 - 0x10.31 */
+	 u_int8_t hit_lookup_type;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t hit_base_address_31_0;
 };
 
-/* Description -  Single Root IO virtualization capability */
+/* Description -  // Created At Mon Oct  7 12:23:47 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxt_checks_packet_descriptor_decoder.v -o rxt_checks_packet_descriptor_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
 /* Size in bytes - 64 */
-struct connectib_sriov_cap {
+struct connectib_rxt_checks_packet_descriptor_decoder {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - SR-IOV capability id */
-	/* 0.0 - 0.15 */
-	 u_int16_t cap_id;
-	/* Description - SR-IOV capability version */
-	/* 0.16 - 0.19 */
-	 u_int8_t version;
-	/* Description - next capability pointer */
-	/* 0.20 - 4.31 */
-	 u_int16_t nxt_ptr;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_sriov_capabilities capabilities;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.15 */
-	 struct connectib_sriov_control ctrl;
+	/* 0x0.0 - 0x0.1 */
+	 u_int8_t timestamp_version;
 	/* Description -  */
-	/* 8.16 - 12.31 */
-	 struct connectib_sriov_status status;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - The numbe rof VFs that are initially associated with the PF */
-	/* 12.0 - 12.15 */
-	 u_int16_t initial_vfs;
-	/* Description - The maximum number of VFs that could be associated with the PF */
-	/* 12.16 - 16.31 */
-	 u_int16_t total_vfs;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - The number of VFs that are visible */
-	/* 16.0 - 16.15 */
-	 u_int16_t num_vfs;
-	/* Description - Function dependency Link */
-	/* 16.16 - 16.23 */
-	 u_int8_t func_dependency_link;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - First VF Offset */
-	/* 20.0 - 20.15 */
-	 u_int16_t first_vf_offset;
-	/* Description - VF Stride */
-	/* 20.16 - 24.31 */
-	 u_int16_t vf_stride;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t force_loopback;
 	/* Description -  */
-	/* 24.16 - 28.31 */
-	 u_int16_t vf_device_id;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - Supported Page Sizes. By default support all page size up to 4MB */
-	/* 28.0 - 32.31 */
-	 u_int32_t supported_page_sizes;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - System Page Size */
-	/* 32.0 - 36.31 */
-	 u_int32_t system_page_size;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t functional_loopback;
 	/* Description -  */
-	/* 36.0 - 40.31 */
-	 struct connectib_bar_low vf_bar0;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t inner_crc_ok;
 	/* Description -  */
-	/* 40.0 - 44.31 */
-	 struct connectib_bar_high vf_bar1;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* 0x0.5 - 0x0.5 */
+	 u_int8_t mad_baseversion_error;
 	/* Description -  */
-	/* 44.0 - 48.31 */
-	 struct connectib_bar_low vf_bar2;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* 0x0.6 - 0x0.6 */
+	 u_int8_t mad_classversion_error;
 	/* Description -  */
-	/* 48.0 - 52.31 */
-	 struct connectib_bar_high vf_bar3;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t mad_send2host;
 	/* Description -  */
-	/* 52.0 - 56.31 */
-	 struct connectib_bar_low vf_bar4;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t outer_crc_ok;
 	/* Description -  */
-	/* 56.0 - 60.31 */
-	 struct connectib_bar_high vf_bar5;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - VF Migration State Array Offset */
-	/* 60.0 - 64.31 */
-	 u_int32_t vf_migstate_arrayofst;
-};
-
-/* Description -  alternative routing id cap */
-/* Size in bytes - 8 */
-struct connectib_ari_cap {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - capability id */
-	/* 0.0 - 0.15 */
-	 u_int16_t cap_id;
-	/* Description - capability id */
-	/* 0.16 - 0.19 */
-	 u_int8_t version;
-	/* Description - next capability pointer */
-	/* 0.20 - 4.31 */
-	 u_int16_t nxt_ptr;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t port_error;
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 struct connectib_ari_capabilities ari_capabilities;
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t sx_sniffer;
 	/* Description -  */
-	/* 4.16 - 8.31 */
-	 struct connectib_ari_control ari_control;
-};
-
-/* Description -  Secondary pcie extended capability for gen3 device */
-/* Size in bytes - 44 */
-struct connectib_secondary_pciex_ext_cap {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - capability id */
-	/* 0.0 - 0.15 */
-	 u_int16_t cap_id;
-	/* Description - capability version */
-	/* 0.16 - 0.19 */
-	 u_int8_t version;
-	/* Description - next capability pointer */
-	/* 0.20 - 4.31 */
-	 u_int16_t nxt_ptr;
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t timestamp_vld;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_pciex_link_ctl3 pciex_link_ctl3;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t payload_offset;
 	/* Description -  */
-	/* 8.0 - 8.15 */
-	 u_int16_t lane_err_bits;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x4.16 - 0x4.19 */
+	 u_int8_t custom_dw0_vld;
 	/* Description -  */
-	/* 12.0 - 44.31 */
-	 struct connectib_lane_eql_ctl lane_eql_ctl[8];
-};
-
-/* Description -  PCIe MSIX capability block */
-/* Size in bytes - 12 */
-struct connectib_msix_cap {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - capability id */
-	/* 0.0 - 0.7 */
-	 u_int8_t msix_cap_id;
-	/* Description - next capability pointer */
-	/* 0.8 - 0.15 */
-	 u_int8_t nxt_ptr;
-	/* Description - VPD address */
-	/* 0.16 - 4.31 */
-	 struct connectib_message_control message_control;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Vector table BAR number */
-	/* 4.0 - 4.2 */
-	 u_int8_t Table_BIR;
-	/* Description - Vector table offset in the BAR */
-	/* 4.3 - 8.31 */
-	 u_int32_t Table_Offset;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Pending bit array BAR number */
-	/* 8.0 - 8.2 */
-	 u_int8_t PBA_BIR;
-	/* Description - PBA offset in the BAR */
-	/* 8.3 - 12.31 */
-	 u_int32_t PBA_Offset;
-};
-
-/* Description -  PCIe capability block */
-/* Size in bytes - 60 */
-struct connectib_pciex_cap_block {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - capability id */
-	/* 0.0 - 0.7 */
-	 u_int8_t pciex_cap_id;
-	/* Description - next capability pointer */
-	/* 0.8 - 0.15 */
-	 u_int8_t nxt_ptr;
+	/* 0x4.20 - 0x4.23 */
+	 u_int8_t custom_dw1_vld;
 	/* Description -  */
-	/* 0.16 - 4.31 */
-	 struct connectib_pciex_cap pciex_cap;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x4.24 - 0x4.27 */
+	 u_int8_t custom_dw2_vld;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_device_caps device_caps;
+	/* 0x4.28 - 0x4.31 */
+	 u_int8_t custom_dw3_vld;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.15 */
-	 struct connectib_device_ctl device_ctl;
-	/* Description -  */
-	/* 8.16 - 12.31 */
-	 struct connectib_device_stat device_stat;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t custom_dw3;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 struct connectib_link_caps link_caps;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t custom_dw2;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 16.15 */
-	 struct connectib_link_ctl link_ctl;
-	/* Description -  */
-	/* 16.16 - 20.31 */
-	 struct connectib_link_stat link_stat;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description -  */
-	/* 36.0 - 40.31 */
-	 struct connectib_device_caps2 device_caps2;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description -  */
-	/* 40.0 - 40.15 */
-	 struct connectib_device_ctl2 device_ctl2;
-	/* Description -  */
-	/* 40.16 - 44.31 */
-	 struct connectib_device_stat2 device_stat2;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t custom_dw1;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 44.0 - 48.31 */
-	 struct connectib_link_caps2 link_caps2;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t custom_dw0;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x18.0 - 0x18.8 */
+	 u_int16_t source_xqpn_40_32;
 	/* Description -  */
-	/* 48.0 - 48.15 */
-	 struct connectib_link_ctl2 link_ctl2;
+	/* 0x18.9 - 0x18.9 */
+	 u_int8_t dummy_packet;
+	/* Description - TODO: need to align this field to 8.  */
+	/* 0x18.10 - 0x18.15 */
+	 u_int8_t mad_qp1_class;
 	/* Description -  */
-	/* 48.16 - 52.31 */
-	 struct connectib_link_stat2 link_stat2;
+	/* 0x18.16 - 0x18.31 */
+	 u_int16_t packet_end_offset;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t source_xqpn_31_0;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t timestamp_63_32;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - This Field was broken due to 32-bit miss-alignement  */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t timestamp_31_0;
 };
 
-/* Description -  PCIe VPD capability block */
-/* Size in bytes - 8 */
-struct connectib_vpd_cap {
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_ctx_as_dwords {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - capability id */
-	/* 0.0 - 0.7 */
-	 u_int8_t vpd_cap_id;
-	/* Description - next capability pointer */
-	/* 0.8 - 0.15 */
-	 u_int8_t nxt_ptr;
-	/* Description - VPD address */
-	/* 0.16 - 0.30 */
-	 u_int16_t vpd_address;
-	/* Description - Flag - indicates a read/write command */
-	/* 0.31 - 4.31 */
-	 u_int8_t F;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - VPD data */
-	/* 4.0 - 8.31 */
-	 u_int32_t vpd_data;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 u_int32_t dwords[16];
 };
 
-/* Description -  Power Management Capability */
-/* Size in bytes - 8 */
-struct connectib_pci_power_management_cap {
+/* Description -   */
+/* Size in bytes - 64 */
+union connectib_fw_resource_context {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t cap_id;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_fw_eqc fw_eqc;
+	/* Description - ads layout */
+	/* 0x0.0 - 0x30.31 */
+	 struct connectib_fw_alt_path fw_alt_path;
 	/* Description -  */
-	/* 0.8 - 0.15 */
-	 u_int8_t nxt_ptr;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_basic_res_ctx fw_basic;
 	/* Description -  */
-	/* 0.16 - 0.18 */
-	 u_int8_t version;
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_fw_cre fw_cre;
 	/* Description -  */
-	/* 0.19 - 0.19 */
-	 u_int8_t pme_clock;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_fw_mkc fw_mkc;
 	/* Description -  */
-	/* 0.21 - 0.21 */
-	 u_int8_t device_specific;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_psv fw_psv;
 	/* Description -  */
-	/* 0.22 - 0.22 */
-	 u_int8_t aux_current;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_fw_cqc fw_cqc;
 	/* Description -  */
-	/* 0.25 - 0.25 */
-	 u_int8_t d1_support;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_fw_rqt fw_rqt;
 	/* Description -  */
-	/* 0.26 - 0.26 */
-	 u_int8_t d2_support;
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_list_element list_element;
 	/* Description -  */
-	/* 0.27 - 4.31 */
-	 u_int8_t pme_support;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - 0-D0, 1-D1, 2-D2, 3-D3 */
-	/* 4.0 - 4.1 */
-	 u_int8_t power_state;
-	/* Description - No_Soft_Reset - When set , this bit indicates that devices transitioning from D3hot to D0 because ofPowerState commands do not perform an internal reset. */
-	/* 4.3 - 4.3 */
-	 u_int8_t no_soft_reset;
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_dmfs_resources dmfs_resources;
 	/* Description -  */
-	/* 4.8 - 4.8 */
-	 u_int8_t pme_enable;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_dc_control_packet_desc dc_control_packet_desc;
 	/* Description -  */
-	/* 4.9 - 4.12 */
-	 u_int8_t data_select;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_vqos_arb_ctx vqos_arb_ctx;
 	/* Description -  */
-	/* 4.13 - 4.14 */
-	 u_int8_t data_scale;
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_fw_transport_domain fw_transport_domain;
 	/* Description -  */
-	/* 4.15 - 4.15 */
-	 u_int8_t pme_status;
-	/* Description - not applicable for PCIe- should be 0 all the time */
-	/* 4.16 - 4.23 */
-	 u_int8_t pmcsr_bse;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_fw_q_counters fw_q_counters;
 	/* Description -  */
-	/* 4.24 - 8.31 */
-	 u_int8_t data;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_fw_ipoib_meta fw_ipoib_meta;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_scheduling_context sched_element_ctx;
 };
 
-/* Description -  type0 configuration space */
+/* Description -   */
 /* Size in bytes - 64 */
-struct connectib_pci_cfg_hdr {
+union connectib_hw_hca_contexts {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - pcie vendor id */
-	/* 0.0 - 0.15 */
-	 u_int16_t vendor_id;
-	/* Description - pcie device id */
-	/* 0.16 - 4.31 */
-	 u_int16_t device_id;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 struct connectib_cmd_reg1 cmd;
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_c_cqc hw_c_cqc;
 	/* Description -  */
-	/* 4.16 - 8.31 */
-	 struct connectib_stat_reg1 status;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - revision id */
-	/* 8.0 - 8.7 */
-	 u_int8_t rev_id;
-	/* Description - class code */
-	/* 8.8 - 12.31 */
-	 u_int32_t class_code;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_c_eqc hw_c_eqc;
 	/* Description -  */
-	/* 12.0 - 12.7 */
-	 u_int8_t cache_line;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_mkc mkc;
 	/* Description -  */
-	/* 12.8 - 12.15 */
-	 u_int8_t latency;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_toc toc;
 	/* Description -  */
-	/* 12.16 - 12.23 */
-	 u_int8_t hdr_type;
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_c_srq hw_c_srq;
 	/* Description -  */
-	/* 12.24 - 16.31 */
-	 u_int8_t bist;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_dct dct;
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 struct connectib_bar_low reg4;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_c_qpc c_qpc;
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 struct connectib_bar_high reg5;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_s_qpc s_qpc;
 	/* Description -  */
-	/* 24.0 - 28.31 */
-	 struct connectib_bar_low reg6;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_qpc_r_dct r_qpc;
 	/* Description -  */
-	/* 28.0 - 32.31 */
-	 struct connectib_bar_high reg7;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_port_info port_info;
 	/* Description -  */
-	/* 32.0 - 36.31 */
-	 struct connectib_bar_low reg8;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_bsf_entry bsf_entry;
 	/* Description -  */
-	/* 36.0 - 40.31 */
-	 struct connectib_bar_high reg9;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_base_psv base_psv;
 	/* Description -  */
-	/* 44.0 - 44.15 */
-	 u_int16_t sub_vendor_id;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_hw_trastb trastb;
 	/* Description -  */
-	/* 44.16 - 48.31 */
-	 u_int16_t subsystem_id;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - expansion ROM base address */
-	/* 48.0 - 52.31 */
-	 struct connectib_exp_rom reg12;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - Capabilities pointer */
-	/* 52.0 - 52.7 */
-	 u_int8_t cap_ptr;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_trasta trasta;
 	/* Description -  */
-	/* 60.0 - 60.7 */
-	 u_int8_t interrupt_line;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_hw_sq_pointers sq_pointers;
 	/* Description -  */
-	/* 60.8 - 60.15 */
-	 u_int8_t interrupt_pin;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_hw_gvmi_tokens gvmi_tokens;
 	/* Description -  */
-	/* 60.16 - 64.31 */
-	 u_int16_t min_gnt_max_lat;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_hw_sq_tokens sq_tokens;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_hw_klm_entry klm_entry;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 union connectib_hw_sxdc sxdc;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_hw_pipa pipa;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_hw_sq_qp_list sq_qp_list;
+	/* Description - the timer is 8 bit, here its just a wrapper */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_hw_timer_32 timer;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_hw_pkey pkey;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_ste hw_ste;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_steering_entry_icmc steering_entry_icmc;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 union connectib_icm_mtt mtt;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_rdb rdb;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_hw_msix msix;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_hw_qp_counter qp_counter;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_port_settings {
+struct connectib_field_boundary {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_nv_tlv_data_vpi_settings vpi;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t field_boundary;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_phy_lcl_ini {
+struct connectib_add_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t PlaceHolder;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t add_data;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-union connectib_port_cap_mask1 {
+struct connectib_compare_mask_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_port_cap_mask1_fields fields;
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_dword_val dword;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t compare_mask_data;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_reset_version {
+struct connectib_swap_mask_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Reset considered only if valid is set */
-	/* 0.0 - 0.0 */
-	 u_int8_t valid;
-	/* Description - If Major matches. Match means seamless reset. Greater means reset supported. Less then upgrade not supported */
-	/* 0.4 - 0.15 */
-	 u_int16_t minor;
-	/* Description - Match means upgrade supported, mismatch implies reset not supported */
-	/* 0.16 - 4.31 */
-	 u_int16_t major;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t swap_mask_data;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_mac_address_layout {
+/* Size in bytes - 4 */
+struct connectib_compare_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Upper bits of mac address. */
-	/* 0.0 - 0.15 */
-	 u_int16_t mac_addr_47_32;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Lower bits of mac address. */
-	/* 4.0 - 8.31 */
-	 u_int32_t mac_addr_31_0;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t compare_data;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_resource_type_entry {
+struct connectib_swap_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t type;
-	/* Description - resource is locked in icmc */
-	/* 0.31 - 4.31 */
-	 u_int8_t locked;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t swap_data;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_index_and_length {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - first open resource index */
-	/* 0.0 - 8.31 */
-	 u_int64_t index;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - number of open resources following (including the first one) */
-	/* 8.0 - 12.31 */
-	 u_int32_t length;
+/* Size in bytes - 4 */
+struct connectib_component_authentication_configuration {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0-NULL, 1-SHA256Digest, 3-2048 bit RSA */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t auth_type;
+	/* Description - used for authenticating Factory Re-COnfiguration Responses */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t frc_en;
+	/* Description - used for signing NVCONFIG at MLNX level */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t mlnx_nvconfig_en;
+	/* Description - used for authenticating NVCONFIG at OEM level */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t vendor_nvconfig_en;
+	/* Description - used for authenticating CS tokens at OEM level */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t cs_token_en;
+	/* Description - Used for authenticating firmware, DBG_FW, DBG Tokens */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t fw_en;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_dest_format_struct {
+/* Size in bytes - 4 */
+struct connectib_nv_data_pointer {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - when destination_type == VPORT - destination
- 
-is vport number .
-when destination_type == FLOW_TABLE - destination is Flow Table Id.
-when destination_type == TIR - destination is TIR. */
-	/* 0.0 - 0.23 */
-	 u_int32_t destination_id;
-	/* Description - Define the destination type. valid only when action==FWD_DEST
-1: FLOW_TABLE.
-2: TIR
-others: reserved. */
-	/* 0.24 - 4.31 */
-	 u_int8_t destination_type;
+	/* Description - Offset of entire list area from start of NV data area. Every unit is 64 bytes */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t offset_in_64_bytes;
+	/* Description - Size of entire list area. Every unit is 64 bytes. */
+	/* 0x0.16 - 0x0.25 */
+	 u_int16_t size_in_64_bytes;
 };
 
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_flow_table_entry_match_set_lyr_2_4 {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Source MAC address of incoming packet. */
-	/* 0.0 - 4.31 */
-	 u_int32_t smac_47_16;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Incoming packet Ethertype - this is the Ethertype following the last VLAN 
-tag of the packet. */
-	/* 4.0 - 4.15 */
-	 u_int16_t ethertype;
-	/* Description - Source MAC address of incoming packet. */
-	/* 4.16 - 8.31 */
-	 u_int16_t smac_15_0;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Destination MAC address of incoming packet. */
-	/* 8.0 - 12.31 */
-	 u_int32_t dmac_47_16;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - VLAN ID of incoming packet VLAN tag. This field represents the first tag 
-for Q in Q, and the only tag in single tagged packet. */
-	/* 12.0 - 12.11 */
-	 u_int16_t first_vid;
-	/* Description - CFI bit of incoming packet VLAN tag. This field represents the first tag 
-for Q in Q, and the only tag in single tagged packet. */
-	/* 12.12 - 12.12 */
-	 u_int8_t first_cfi;
-	/* Description - Priority of incoming packet VLAN tag. This field represents the first tag 
-for Q in Q, and the only tag in single tagged packet. */
-	/* 12.13 - 12.15 */
-	 u_int8_t first_prio;
-	/* Description - Destination MAC address of incoming packet. */
-	/* 12.16 - 16.31 */
-	 u_int16_t dmac_15_0;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - TCP flags. 
-Bit 0: FIN
-Bit 1: SYN
-Bit 2: RST
-Bit 3: PSH
-Bit 4: ACK
-Bit 5: URG
-Bit 6: ECE
-Bit 7: CWR
-Bit 8: NS */
-	/* 16.0 - 16.8 */
-	 u_int16_t tcp_flags;
-	/* Description - Packet is an IP fragment
-. */
-	/* 16.13 - 16.13 */
-	 u_int8_t frag;
-	/* Description - Packet has a first VLAN tag present. */
-	/* 16.15 - 16.15 */
-	 u_int8_t vlan_tag;
-	/* Description - Explicit Congestion Notification derived from Traffic Class/TOS field of 
-IPv6/v4 */
-	/* 16.16 - 16.17 */
-	 u_int8_t ip_ecn;
-	/* Description - Differentiated Services Code Point derived from Traffic Class/TOS field 
-of IPv6/v4 */
-	/* 16.18 - 16.23 */
-	 u_int8_t ip_dscp;
-	/* Description - IP protocol. */
-	/* 16.24 - 20.31 */
-	 u_int8_t ip_protocol;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - TCP
-d
-estination port. 
-tcp and udp sport/dport are mutual exclusive. i.e. can't have udp and tcp 
-together. */
-	/* 20.0 - 20.15 */
-	 u_int16_t tcp_dport;
-	/* Description - TCP
- s
-ource port.
-tcp and udp sport/dport are mutual exclusive. i.e. can't have udp and tcp 
-together. */
-	/* 20.16 - 24.31 */
-	 u_int16_t tcp_sport;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - U
-DP destination port.
-tcp and udp sport/dport are mutual exclusive. i.e. can't have udp and tcp 
-together. */
-	/* 28.0 - 28.15 */
-	 u_int16_t udp_dport;
-	/* Description - U
-DP source port.
-tcp and udp sport/dport are mutual exclusive. i.e. can't have udp and tcp 
-together. */
-	/* 28.16 - 32.31 */
-	 u_int16_t udp_sport;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - IPv6 source address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
-	/* 32.0 - 36.31 */
-	 u_int32_t src_ip_127_96;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - IPv6 source address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
-	/* 36.0 - 40.31 */
-	 u_int32_t src_ip_95_64;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - IPv6 source address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
-	/* 40.0 - 44.31 */
-	 u_int32_t src_ip_63_32;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - IPv6 source address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
-	/* 44.0 - 48.31 */
-	 u_int32_t src_ip_31_0;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - IPv6 destination address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
-	/* 48.0 - 52.31 */
-	 u_int32_t dst_ip_127_96;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - IPv6 destination address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
-	/* 52.0 - 56.31 */
-	 u_int32_t dst_ip_95_64;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - IPv6 destination address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
-	/* 56.0 - 60.31 */
-	 u_int32_t dst_ip_63_32;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - IPv6 destination address of incoming packets ;For IPv4 address use bits 31:0 (rest of the bits are reserved);This field should be qualified by an appropriate ;ether;t;ype */
-	/* 60.0 - 64.31 */
-	 u_int32_t dst_ip_31_0;
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_jump_addresses {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t plastic;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_flow_table_entry_match_set_misc {
+/* Size in bytes - 68 */
+struct connectib_pcie_rx_adaptation_cfg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t actual_ffe_tap_config_num;
+	/* Description -  */
+	/* 0x0.4 - 0x0.4 */
+	 u_int8_t ffe_tap_value_lifting_en;
+	/* Description - In case the ffe_tap values are modified manually in scratchpad,
+ pushing this button will cause performing calibration for each set. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t redo_calibration;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Source port.
-0xffff determines wire port. */
-	/* 4.0 - 4.15 */
-	 u_int16_t source_port;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - VLAN ID of incoming packet VLAN tag. This field represent the second tag 
-for Q in Q, and is not valid in single tagged packet (encapsulated). */
-	/* 8.0 - 8.11 */
-	 u_int16_t inner_second_vid;
-	/* Description - CFI bit of incoming packet VLAN tag. This field represent the second tag for 
-Q in Q, and is not valid in single tagged packet (encapsulated). */
-	/* 8.12 - 8.12 */
-	 u_int8_t inner_second_cfi;
-	/* Description - Priority of incoming packet VLAN tag. This field represent the second tag for 
-Q in Q, and is not valid in single tagged packet (encapsulated). */
-	/* 8.13 - 8.15 */
-	 u_int8_t inner_second_prio;
-	/* Description - VLAN ID of incoming packet VLAN tag. This field represent the second tag 
-for Q in Q, and is not valid in single tagged packet (outer). */
-	/* 8.16 - 8.27 */
-	 u_int16_t outer_second_vid;
-	/* Description - CFI bit of incoming packet VLAN tag. This field represent the second tag for 
-Q in Q, and is not valid in single tagged packet (outer). */
-	/* 8.28 - 8.28 */
-	 u_int8_t outer_second_cfi;
-	/* Description - Priority of incoming packet VLAN tag. This field represent the second tag for 
-Q in Q, and is not valid in single tagged packet (outer). */
-	/* 8.29 - 12.31 */
-	 u_int8_t outer_second_prio;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - GRE Protocol (outer). */
-	/* 12.0 - 12.15 */
-	 u_int16_t gre_protocol;
-	/* Description - Packet has a second inner VLAN tag present. */
-	/* 12.30 - 12.30 */
-	 u_int8_t inner_second_vlan_tag;
-	/* Description - Packet has a second outer VLAN tag present. */
-	/* 12.31 - 16.31 */
-	 u_int8_t outer_second_vlan_tag;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - GRE Key [7:0] (outer). */
-	/* 16.0 - 16.7 */
-	 u_int8_t gre_key_l;
-	/* Description - GRE Key[31:8] (outer). */
-	/* 16.8 - 20.31 */
-	 u_int32_t gre_key_h;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - VXLAN VNI (outer). */
-	/* 20.8 - 24.31 */
-	 u_int32_t vxlan_vni;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - Flow label of incoming IPv6 packet (outer). */
-	/* 28.0 - 28.19 */
-	 u_int32_t outer_ipv6_flow_label;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - Flow label of incoming IPv6 packet (inner). */
-	/* 32.0 - 32.19 */
-	 u_int32_t inner_ipv6_flow_label;
+	/* Description - 0: Default setup ffe tap values
+1: PLX optimized ffe tap vlaues
+ 2-7: Default setup ffe tap values - Not used by default */
+	/* 0x4.0 - 0x44.31 */
+	 struct connectib_ffe_tap_set ffe_tap_config[8];
 };
 
 /* Description -   */
-/* Size in bytes - 248 */
-union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto {
+/* Size in bytes - 16 */
+struct connectib_pcie_tx_adaptation_cfg {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - enable for tx adaptation at Ph 2. */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t tx_adaptation_config_num;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_eth_802_3_cntrs_grp_data_layout eth_802_3_cntrs_grp_data_layout;
+	/* 0x4.0 - 0x10.31 */
+	 struct connectib_GEN3_TRANSMITTER_SETTING tx_adaptation_ts_param[3];
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_pcie_debug_cap {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_eth_2863_cntrs_grp_data_layout eth_2863_cntrs_grp_data_layout;
+	/* 0x0.0 - 0x0.12 */
+	 u_int16_t internal_cause_mask;
+	/* Description - Opens PCIe width debug capability (can be used for width degrade debug)
+When enabled pxp.port_state will be stoped at each Config.Width state and sample the received TS. */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t width_debug_en;
+	/* Description - Opens PCIe speed debug capability (can be used for speed degrade debug)
+
+TODO (still not affect FW operation)! */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t speed_debug_en;
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_eth_2819_cntrs_grp_data_layout eth_2819_cntrs_grp_data_layout;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t internal_cause_en;
+};
+
+/* Description -   */
+/* Size in bytes - 52 */
+struct connectib_pcie_equalization_and_eye {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Mellanox full swing parameter - default is max 63 */
+	/* 0x0.0 - 0x0.5 */
+	 u_int8_t local_fs;
+	/* Description - Mellanox full swing parameter - default is max 63 */
+	/* 0x0.8 - 0x0.12 */
+	 u_int8_t local_lf;
+	/* Description - preset to be requested at phase 2 */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t preset;
+	/* Description - set in case we wish to request some preset at phase 2 */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t force_preset;
+	/* Description - Equalization phase 0 timeout in     msec.
+After this timeout (started upon entering to phase 0), and if relevant TS arrived on all lanes we move to phase 1. */
+	/* 0x0.21 - 0x0.25 */
+	 u_int8_t phase0_timeout;
+	/* Description - Equalization phase 2 timeout i    n msec.
+After this timeout (started upon entering to phase 2) we move to phase 3. */
+	/* 0x0.26 - 0x0.30 */
+	 u_int8_t phase2_timeout;
+	/* Description - enables fast (within 1 usec) phase3 FW response during the equalization process */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t fast_x1_eql_for_compliance;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_eth_3635_cntrs_grp_data_layout eth_3635_cntrs_grp_data_layout;
+	/* 0x4.0 - 0x30.31 */
+	 u_int32_t gen3_preset[11];
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - ffe_tap_offset1 offset used for vertical eye opening */
+	/* 0x30.0 - 0x30.4 */
+	 u_int8_t eye_center_mixer_offset;
+	/* Description - enable eye centering on the phase (horizontal). */
+	/* 0x30.5 - 0x30.5 */
+	 u_int8_t eye_center_mix90_en;
+	/* Description - enable eye centering on the offset (vertical). */
+	/* 0x30.6 - 0x30.6 */
+	 u_int8_t eye_center_offset_en;
+	/* Description - when set perform vertiacal eye centerting before horizntal. When clear perform horizontal eye centering first. */
+	/* 0x30.7 - 0x30.7 */
+	 u_int8_t first_offset_phase_second;
+	/* Description - The time (in usec) we wait for error in TS */
+	/* 0x30.8 - 0x30.15 */
+	 u_int8_t phase_err_wait_time;
+	/* Description - The time (in usec) we wait since mix90phase set, and till we reset the the TS error counter */
+	/* 0x30.16 - 0x30.19 */
+	 u_int8_t phase_stabilize_time;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_pcie_serdes_cfg {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_eth_extended_cntrs_grp_data_layout eth_extended_cntrs_grp_data_layout;
+	/* 0x0.0 - 0x0.2 */
+	 u_int8_t sdr_preemp;
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_eth_per_prio_grp_data_layout eth_per_prio_grp_data_layout;
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t sdr_preemp_pre;
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_eth_per_traffic_grp_data_layout eth_per_traffic_grp_data_layout;
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t sdr_preemp_post;
 	/* Description -  */
-	/* 0.0 - 200.31 */
-	 struct connectib_phys_layer_cntrs phys_layer_cntrs;
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t sdr_preemp_main;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_discard_cntrs_grp_data discard;
+	/* 0x4.0 - 0x4.2 */
+	 u_int8_t ddr_6_db_preemp;
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_llr_counters llr_counters;
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t ddr_6_db_preemp_pre;
 	/* Description -  */
-	/* 0.0 - 248.31 */
-	 struct connectib_ib_port_counters ib_port_counters;
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t ddr_6_db_preemp_post;
+	/* Description -  */
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t ddr_6_db_preemp_main;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.2 */
+	 u_int8_t ddr_3_dot_5_db_preemp;
+	/* Description -  */
+	/* 0x8.8 - 0x8.15 */
+	 u_int8_t ddr_3_dot_5_db_preemp_pre;
+	/* Description -  */
+	/* 0x8.16 - 0x8.23 */
+	 u_int8_t ddr_3_dot_5_db_preemp_post;
+	/* Description -  */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t ddr_3_dot_5_db_preemp_main;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 struct connectib_GEN3_TRANSMITTER_SETTING gen3_def_tx_preset;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t slicer_ind_en;
+	/* Description -  */
+	/* 0x10.8 - 0x10.11 */
+	 u_int8_t slicer1_enable;
+	/* Description -  */
+	/* 0x10.12 - 0x10.15 */
+	 u_int8_t slicer2_enable;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x14.6 */
+	 u_int8_t signal_detect_threshold;
+	/* Description - If set, signal detect will be enabled by setting rx_power_mode = 0, and its threshold will be according INI.
+Else, rx_power_mode = 1 */
+	/* 0x14.7 - 0x14.7 */
+	 u_int8_t signal_detect_en;
+	/* Description -  */
+	/* 0x14.8 - 0x14.11 */
+	 u_int8_t ob_bias;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x20.31 */
+	 struct connectib_ffe_tap_set default_ffe_tap_set;
 };
 
 /* Description -   */
-/* Size in bytes - 2 */
-struct connectib_fw_vport_ctx {
+/* Size in bytes - 48 */
+struct connectib_gpio_configurations {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  0-port is down, 1-port is up, 2-follow */
-	/* 0.0 - 0.1 */
-	 u_int8_t esw_state;
-	/* Description -  ETH: 0-port is down, 1-port is up, IB: 1-down, 2- initalize, 3- arm, 4- active */
-	/* 0.2 - 0.4 */
-	 u_int8_t nic_state;
 	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t connected_2_steering;
-	/* Description - bit mask: PORT_MAD_EVENT_NUM_PKEY =  0
-PORT_MAD_EVENT_NUM_LID =  1
-PORT_MAD_EVENT_NUM_CLIENT_REREG = 2
-PORT_MAD_EVENT_NUM_GUID = 3
- PORT_MAD_EVENT_NUM_PORT_STATE = 4
- */
-	/* 0.8 - 0.15 */
-	 u_int8_t event_mask;
+	/* 0x0.24 - 0x30.23 */
+	 struct connectib_gpio_config gpio[48];
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_vf_pages_list {
+/* Size in bytes - 84 */
+struct connectib_gpio_functions {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 u_int64_t pages[8];
-};
-
-/* Description -   */
-/* Size in bytes - 24 */
-struct connectib_icm_page_manager {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - pointer to first free page. Head of page linked list */
-	/* 0.0 - 8.31 */
-	 u_int64_t page_list;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Number of free pages (without the pre-allocated pages) available to GVMI */
-	/* 8.0 - 12.31 */
-	 u_int32_t free_count;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - Number of used pages of GVMI */
-	/* 12.0 - 16.31 */
-	 u_int32_t used_count;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - Number of free pages + pre-allocated unused pages */
-	/* 16.0 - 20.31 */
-	 u_int32_t page_list_length;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - If set, means page manager is used by another flow */
-	/* 20.0 - 20.0 */
-	 u_int8_t lock;
-	/* Description - Event was triggered and response is still pending */
-	/* 20.1 - 20.1 */
-	 u_int8_t event_pending;
-	/* Description - Received a command from driver refusing to give pages. Return fail instead of wait for alloc pages request */
-	/* 20.2 - 20.2 */
-	 u_int8_t driver_refused;
-	/* Description -  0-init state, 1-default state, 2-teardown state */
-	/* 20.3 - 20.4 */
-	 u_int8_t state;
+	/* 0x0.0 - 0x0.7 */
+	 struct connectib_gpio_function physical_led_p1;
+	/* Description -  */
+	/* 0x0.8 - 0x0.15 */
+	 struct connectib_gpio_function physical_led_p2;
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 struct connectib_gpio_function logical_led_p1;
+	/* Description -  */
+	/* 0x0.24 - 0x0.31 */
+	 struct connectib_gpio_function logical_led_p2;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.7 */
+	 struct connectib_gpio_function gp_lv;
+	/* Description -  */
+	/* 0x4.8 - 0x4.15 */
+	 struct connectib_gpio_function int_p1_l;
+	/* Description -  */
+	/* 0x4.16 - 0x4.23 */
+	 struct connectib_gpio_function int_p2_l;
+	/* Description -  */
+	/* 0x4.24 - 0x4.31 */
+	 struct connectib_gpio_function modprs_p1_l;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.7 */
+	 struct connectib_gpio_function modprs_p2_l;
+	/* Description -  */
+	/* 0x8.8 - 0x8.15 */
+	 struct connectib_gpio_function modsel_p1_l;
+	/* Description -  */
+	/* 0x8.16 - 0x8.23 */
+	 struct connectib_gpio_function modsel_p2_l;
+	/* Description -  */
+	/* 0x8.24 - 0x8.31 */
+	 struct connectib_gpio_function ncsi_arb_in;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.7 */
+	 struct connectib_gpio_function ncsi_arb_out;
+	/* Description -  */
+	/* 0xc.8 - 0xc.15 */
+	 struct connectib_gpio_function ncsi_crs_dv;
+	/* Description -  */
+	/* 0xc.16 - 0xc.23 */
+	 struct connectib_gpio_function ncsi_rxd0;
+	/* Description -  */
+	/* 0xc.24 - 0xc.31 */
+	 struct connectib_gpio_function ncsi_rxd1;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.7 */
+	 struct connectib_gpio_function ncsi_txd0;
+	/* Description -  */
+	/* 0x10.8 - 0x10.15 */
+	 struct connectib_gpio_function ncsi_txd1;
+	/* Description -  */
+	/* 0x10.16 - 0x10.23 */
+	 struct connectib_gpio_function ncsi_ref_clk;
+	/* Description -  */
+	/* 0x10.24 - 0x10.31 */
+	 struct connectib_gpio_function ncsi_tx_en;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x14.7 */
+	 struct connectib_gpio_function oc_int_l;
+	/* Description -  */
+	/* 0x14.8 - 0x14.15 */
+	 struct connectib_gpio_function ovt_wrng;
+	/* Description -  */
+	/* 0x14.16 - 0x14.23 */
+	 struct connectib_gpio_function ovt_shtdn;
+	/* Description -  */
+	/* 0x14.24 - 0x14.31 */
+	 struct connectib_gpio_function pe_rst_l;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.7 */
+	 struct connectib_gpio_function gpio_func_reserved;
+	/* Description -  */
+	/* 0x18.8 - 0x18.15 */
+	 struct connectib_gpio_function reset_p1_l;
+	/* Description -  */
+	/* 0x18.16 - 0x18.23 */
+	 struct connectib_gpio_function reset_p2_l;
+	/* Description -  */
+	/* 0x18.24 - 0x18.31 */
+	 struct connectib_gpio_function spi_clk;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.7 */
+	 struct connectib_gpio_function spi_cs0_l;
+	/* Description -  */
+	/* 0x1c.8 - 0x1c.15 */
+	 struct connectib_gpio_function spi_cs1_l;
+	/* Description -  */
+	/* 0x1c.16 - 0x1c.23 */
+	 struct connectib_gpio_function spi_io0;
+	/* Description -  */
+	/* 0x1c.24 - 0x1c.31 */
+	 struct connectib_gpio_function spi_io1;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 20.5 - 20.5 */
-	 u_int8_t valid;
+	/* 0x20.0 - 0x20.7 */
+	 struct connectib_gpio_function spi_io2;
 	/* Description -  */
-	/* 20.16 - 20.23 */
-	 u_int8_t num_vf_pages;
+	/* 0x20.8 - 0x20.15 */
+	 struct connectib_gpio_function spi_io3;
 	/* Description -  */
-	/* 20.24 - 24.31 */
-	 u_int8_t vf_page_ix;
-};
-
-/* Description -   */
-/* Size in bytes - 32 */
-struct connectib_hca_params {
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x20.16 - 0x20.23 */
+	 struct connectib_gpio_function i2c_scl1;
 	/* Description -  */
-	/* 8.0 - 8.15 */
-	 u_int16_t partition_cap;
+	/* 0x20.24 - 0x20.31 */
+	 struct connectib_gpio_function i2c_scl2;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 8.24 - 8.28 */
-	 u_int8_t log_max_qp;
+	/* 0x24.0 - 0x24.7 */
+	 struct connectib_gpio_function i2c_scl3;
 	/* Description -  */
-	/* 8.29 - 8.29 */
-	 u_int8_t phy_port_owner;
+	/* 0x24.8 - 0x24.15 */
+	 struct connectib_gpio_function i2c_sda1;
 	/* Description -  */
-	/* 8.30 - 8.30 */
-	 u_int8_t eswitch_owner;
+	/* 0x24.16 - 0x24.23 */
+	 struct connectib_gpio_function i2c_sda2;
 	/* Description -  */
-	/* 8.31 - 12.31 */
-	 u_int8_t dct;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x24.24 - 0x24.31 */
+	 struct connectib_gpio_function i2c_sda3;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 12.8 - 12.13 */
-	 u_int8_t log_max_ra_res_qp;
+	/* 0x28.0 - 0x28.7 */
+	 struct connectib_gpio_function i2c_int_l;
 	/* Description -  */
-	/* 12.24 - 12.29 */
-	 u_int8_t log_max_ra_req_qp;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x28.8 - 0x28.15 */
+	 struct connectib_gpio_function i2c_rst_l;
 	/* Description -  */
-	/* 16.8 - 16.15 */
-	 u_int8_t num_ports;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - log2_uar_page_sz in 4kbyte chunks. 4-64 kbyte supported */
-	/* 20.0 - 20.15 */
-	 u_int16_t log_uar_page_sz;
-	/* Description - sw format = log_gid_table_size-3: 0: 8 gid entries, 1: 16 gid entries, 2: 32 gid entries, 3: 64 gid entries, 4: 128 gid entries, other: reserved */
-	/* 20.16 - 20.21 */
-	 u_int8_t log_gid_table_size;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - log2 max size of unicast mac list size */
-	/* 24.0 - 24.10 */
-	 u_int16_t log_max_mac_uc_lst_sz;
-};
-
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_dummy_addresses_one_cache_line {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x28.16 - 0x28.23 */
+	 struct connectib_gpio_function vdd_mod;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 u_int64_t ix[8];
-};
-
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_cmdif_ctx {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x28.24 - 0x28.31 */
+	 struct connectib_gpio_function wake_l;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t done_missions;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x2c.0 - 0x2c.7 */
+	 struct connectib_gpio_function ibm_mezz_fault_l;
 	/* Description -  */
-	/* 4.0 - 4.24 */
-	 u_int32_t res_num;
+	/* 0x2c.8 - 0x2c.15 */
+	 struct connectib_gpio_function ibm_ite_all_pgood;
 	/* Description -  */
-	/* 4.31 - 8.31 */
-	 u_int8_t cmd_valid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x2c.16 - 0x2c.23 */
+	 struct connectib_gpio_function ibm_t_control_l;
 	/* Description -  */
-	/* 8.0 - 8.15 */
-	 u_int16_t opcode;
+	/* 0x2c.24 - 0x2c.31 */
+	 struct connectib_gpio_function ibm_t_warning_l;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 8.16 - 12.31 */
-	 u_int16_t op_mod;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x30.0 - 0x30.7 */
+	 struct connectib_gpio_function ibm_t_critical_l;
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t allocated_pages;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x30.8 - 0x30.15 */
+	 struct connectib_gpio_function ibm_cib_slot_id_0;
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t needed_pages;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x30.16 - 0x30.23 */
+	 struct connectib_gpio_function ibm_cib_slot_id_1;
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 union connectib_flush_type flush_type;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - valid only when flush_type qp_flush is set */
-	/* 24.0 - 24.23 */
-	 u_int32_t flush_qpn;
-	/* Description - valid only when flush_type qp_flush is set */
-	/* 24.24 - 28.31 */
-	 u_int8_t flush_synd;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x30.24 - 0x30.31 */
+	 struct connectib_gpio_function ibm_vpd_update_l;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 32.0 - 64.31 */
-	 union connectib_cmdif_ctx_special s;
+	/* 0x34.0 - 0x34.7 */
+	 struct connectib_gpio_function ibm_vpd_cache_comp;
+	/* Description -  */
+	/* 0x34.8 - 0x34.15 */
+	 struct connectib_gpio_function ibm_vpd_ctrl;
+	/* Description -  */
+	/* 0x34.16 - 0x34.23 */
+	 struct connectib_gpio_function gpio_port_swap;
+	/* Description -  */
+	/* 0x34.24 - 0x34.31 */
+	 struct connectib_gpio_function gpio_func_reserved_1;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-union connectib_sw_eqe_data {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - completion event data format */
-	/* 0.0 - 28.31 */
-	 struct connectib_sw_eqe_cq_data cq_data;
-	/* Description - asynch error event data format */
-	/* 0.0 - 28.31 */
-	 struct connectib_sw_eqe_error_data error_data;
-	/* Description - asynch qp event data format */
-	/* 0.0 - 28.31 */
-	 struct connectib_sw_eqe_qp_data qp_data;
-	/* Description - port change event data format */
-	/* 0.0 - 28.31 */
-	 struct connectib_port_state_change_event port_change;
-	/* Description - page request event data format */
-	/* 0.0 - 28.31 */
-	 struct connectib_page_request_event page_request;
-	/* Description - WQE page fault event data format */
-	/* 0.0 - 28.31 */
-	 struct connectib_wqe_page_fault_event wqe_page_fault;
-	/* Description - RDMA page fault event data format */
-	/* 0.0 - 28.31 */
-	 struct connectib_rdma_page_fault_event rdma_page_fault;
-	/* Description - Table 145 - Event_data Field - Doorbell / Blueflame Congestion Event Layout */
-	/* 0.0 - 24.31 */
-	 struct connectib_db_bf_congestion_event db_bf_congestion_event;
-	/* Description -  */
-	/* 0.0 - 28.31 */
-	 struct connectib_sw_eqe_flat_data flat_data;
+/* Size in bytes - 4 */
+struct connectib_i2c_device_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - I2C slave address of device */
+	/* 0x0.0 - 0x0.6 */
+	 u_int8_t slave_addr;
+	/* Description - I2C bus number of device */
+	/* 0x0.8 - 0x0.9 */
+	 u_int8_t bus_id;
+	/* Description - I2C addr size of device */
+	/* 0x0.16 - 0x0.18 */
+	 u_int8_t addr_size;
 };
 
 /* Description -   */
-/* Size in bytes - 48 */
-struct connectib_reg_access_reg_tlv {
+/* Size in bytes - 4 */
+struct connectib_module_config_st {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_reg_access_tlv hdr;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 48.31 */
-	 union connectib_reg_access_reg_tlv_data reg_tlv_data;
+	/* Description - 0 - 1.5W
+1 - 2W
+2 - 2.5W
+3 - 3.5W */
+	/* 0x0.0 - 0x0.1 */
+	 u_int8_t module_power_level_supported;
+	/* Description - 0.1W granularity */
+	/* 0x0.2 - 0x0.7 */
+	 u_int8_t module_mlnx_sub_power_supported;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_reg_access_oper_tlv {
+/* Size in bytes - 4 */
+struct connectib_iopx_power {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Code indicating status of operation */
-	/* 0.8 - 0.14 */
-	 u_int8_t Status;
-	/* Description - Direct route - must be set on direct route packets. DR TLV must follow. */
-	/* 0.15 - 0.15 */
-	 u_int8_t dr;
-	/* Description -  */
-	/* 0.16 - 0.26 */
-	 u_int16_t len;
-	/* Description -  */
-	/* 0.27 - 4.31 */
-	 u_int8_t type;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Class of operation */
-	/* 4.0 - 4.7 */
-	 u_int8_t class_;
-	/* Description - Method to perform Based on Management Class */
-	/* 4.8 - 4.14 */
-	 u_int8_t Method;
-	/* Description - Response
-0 Request */
-	/* 4.15 - 4.15 */
-	 u_int8_t r;
-	/* Description - Defines objects being operated by a management class (Page 658) */
-	/* 4.16 - 8.31 */
-	 u_int16_t register_id;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 16.31 */
-	 struct connectib_IB_TID TID;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t ref_clk_right_left_;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_output_inline_standart {
+/* Size in bytes - 4 */
+struct connectib_iopl_power {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - check the io function before changing this field.
-overrun while status and syndrom is writen */
-	/* 0.0 - 0.23 */
-	 u_int32_t auto_1;
-	/* Description -  */
-	/* 0.24 - 4.31 */
-	 u_int8_t status;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t syndrome;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.23 */
-	 u_int32_t ix;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t ref_clk_right_left_;
 	/* Description -  */
-	/* 8.24 - 12.31 */
-	 u_int8_t auto_2;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t dynamic_pll_manage_en;
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t auto_3;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t dynamic_serdes_manage_en;
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_input_inline_standart {
+struct connectib_port_mlpn_db {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - manually added, for reserved equal zero test */
-	/* 0.0 - 0.15 */
-	 u_int16_t reserved_0;
-	/* Description -  */
-	/* 0.16 - 4.31 */
-	 u_int16_t opcode;
+	/* Description - mlpn ability bits */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_mlpn_database_all_protocol_ini mlpn_supported;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t opcode_mod;
-	/* Description - manually added, for reserved equal zero test */
-	/* 4.16 - 8.31 */
-	 u_int16_t reserved_1;
+	/* Description - mlpn request bits */
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_mlpn_database_all_protocol_ini mlpn_request;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 8.23 */
-	 u_int32_t ix;
-	/* Description - manually added, for reserved equal zero test */
-	/* 8.24 - 12.31 */
-	 u_int8_t reserved_2;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - manually added, for reserved equal zero test */
-	/* 12.0 - 16.31 */
-	 u_int32_t reserved_3;
+	/* Description - mlpn mlnx_enhanced_equalization_info bits */
+	/* 0x8.0 - 0xc.31 */
+	 struct connectib_mlpn_enhanced_database_ini mlpn_enhanced_database;
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-struct connectib_g_rse_decoders_as_dwords {
+/* Size in bytes - 36 */
+struct connectib_pll_params {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 256.31 */
-	 u_int32_t dword[64];
-};
-
-/* Description -  // Created At Mon Oct  7 12:23:46 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxs_rxt_desc_decoder.v -o rxs_rxt_desc_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
-/* Size in bytes - 64 */
-struct connectib_rxs_rxt_desc_decoder {
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.13 */
-	 u_int16_t payload_end_offset;
-	/* Description -  */
-	/* 4.14 - 4.14 */
-	 u_int8_t mask_px_icmc_tpt_vld;
-	/* Description -  */
-	/* 4.15 - 4.15 */
-	 u_int8_t need_invalidation;
-	/* Description -  */
-	/* 4.16 - 4.19 */
-	 u_int8_t extended_rdb_size;
-	/* Description -  */
-	/* 4.20 - 4.22 */
-	 u_int8_t max_rdma_atomic;
-	/* Description -  */
-	/* 4.23 - 4.23 */
-	 u_int8_t scatter_grh;
-	/* Description -  */
-	/* 4.24 - 4.26 */
-	 u_int8_t packet_type;
-	/* Description -  */
-	/* 4.27 - 4.27 */
-	 u_int8_t can_use_reserved_lkey;
-	/* Description -  */
-	/* 4.28 - 4.28 */
-	 u_int8_t use_dcr_gvmi_for_rdb;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 8.15 */
-	 u_int16_t gvmi;
-	/* Description -  */
-	/* 8.16 - 8.29 */
-	 u_int16_t packet_len;
-	/* Description -  */
-	/* 8.30 - 8.30 */
-	 u_int8_t free_line;
-	/* Description -  */
-	/* 8.31 - 12.31 */
-	 u_int8_t header_capture;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 12.23 */
-	 u_int32_t qpn;
-	/* Description -  */
-	/* 12.24 - 16.31 */
-	 u_int8_t rdb_write_pointer;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t pll_fctrl_th;
 	/* Description -  */
-	/* 16.0 - 16.23 */
-	 u_int32_t psn;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t enable_phy_varactor_calibration;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 16.24 - 20.31 */
-	 u_int8_t payload_offset;
+	/* 0x4.0 - 0x14.31 */
+	 u_int32_t pll_fctrl_var[4];
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 20.23 */
-	 u_int32_t pd;
-	/* Description -  */
-	/* 20.24 - 24.31 */
-	 u_int8_t grh_offset;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t rkey;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description -  */
-	/* 28.0 - 32.31 */
-	 u_int32_t dma_length;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 32.0 - 36.31 */
-	 u_int32_t va_63_32;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 36.0 - 40.31 */
-	 u_int32_t va_31_0;
+	/* 0x14.0 - 0x24.31 */
+	 u_int32_t pll_fctrl_val[4];
 };
 
-/* Description -  // Created At Mon Oct  7 12:23:47 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxt_checks_packet_descriptor_decoder.v -o rxt_checks_packet_descriptor_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
+/* Description -   */
 /* Size in bytes - 64 */
-struct connectib_rxt_checks_packet_descriptor_decoder {
+struct connectib_logic_serdes_mapping_node_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.1 */
-	 u_int8_t timestamp_version;
-	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t force_loopback;
-	/* Description -  */
-	/* 0.3 - 0.3 */
-	 u_int8_t functional_loopback;
-	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t inner_crc_ok;
-	/* Description -  */
-	/* 0.5 - 0.5 */
-	 u_int8_t mad_baseversion_error;
-	/* Description -  */
-	/* 0.6 - 0.6 */
-	 u_int8_t mad_classversion_error;
-	/* Description -  */
-	/* 0.7 - 0.7 */
-	 u_int8_t mad_send2host;
-	/* Description -  */
-	/* 0.8 - 0.8 */
-	 u_int8_t outer_crc_ok;
-	/* Description -  */
-	/* 0.9 - 0.9 */
-	 u_int8_t port_error;
-	/* Description -  */
-	/* 0.10 - 0.10 */
-	 u_int8_t sx_sniffer;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_tx_rx_logic_serdes_mapping_node_ini tx;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 0.11 - 0.11 */
-	 u_int8_t timestamp_vld;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x20.0 - 0x40.31 */
+	 struct connectib_tx_rx_logic_serdes_mapping_node_ini rx;
+};
+
+/* Description -   */
+/* Size in bytes - 1472 */
+struct connectib_phy_hw_main_config_ip {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t payload_offset;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_PORT_PHY_ini port[2];
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 4.16 - 4.19 */
-	 u_int8_t custom_dw0_vld;
+	/* 0x20.0 - 0x80.31 */
+	 struct connectib_ib_ini_ini ib;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
 	/* Description -  */
-	/* 4.20 - 4.23 */
-	 u_int8_t custom_dw1_vld;
+	/* 0x80.0 - 0x98.31 */
+	 struct connectib_rx_adapt_ini rx_adapt_ini;
+/*---------------- DWORD[40] (Offset 0xa0) ----------------*/
 	/* Description -  */
-	/* 4.24 - 4.27 */
-	 u_int8_t custom_dw2_vld;
+	/* 0xa0.0 - 0x4e0.31 */
+	 struct connectib_serdes_conf_ini serdes_conf;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_nv_config_boot_port_settings {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 4.28 - 8.31 */
-	 u_int8_t custom_dw3_vld;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_nv_tlv_data_vpi_settings vpi;
+};
+
+/* Description -   */
+/* Size in bytes - 48 */
+struct connectib_nv_config_boot_global {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t custom_dw3;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_nv_config_pci pci;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t custom_dw2;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x20.0 - 0x28.31 */
+	 struct connectib_nv_config_tpt tpt;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t custom_dw1;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x2c.0 - 0x30.31 */
+	 struct connectib_nv_config_kdnet_data kdnet_data;
+};
+
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_pciex_ext_cfg_space {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t custom_dw0;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 24.0 - 24.8 */
-	 u_int16_t source_xqpn_40_32;
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_secondary_pciex_ext_cap secondary_pciex_ext_cap;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - Alternative Routing ID cap */
+	/* 0x2c.0 - 0x34.31 */
+	 struct connectib_ari_cap ari;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - Single Root IO virtualization capability */
+	/* 0x34.0 - 0x74.31 */
+	 struct connectib_sriov_cap sriov;
+/*---------------- DWORD[29] (Offset 0x74) ----------------*/
+	/* Description - Device serial number capability */
+	/* 0x74.0 - 0x80.31 */
+	 struct connectib_dev_serial_num_cap device_serial_number;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
 	/* Description -  */
-	/* 24.9 - 24.9 */
-	 u_int8_t dummy_packet;
-	/* Description - TODO: need to align this field to 8.  */
-	/* 24.10 - 24.15 */
-	 u_int8_t mad_qp1_class;
+	/* 0x80.0 - 0xb8.31 */
+	 struct connectib_advanced_error_reporting advanced_error_reporting;
+/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
 	/* Description -  */
-	/* 24.16 - 28.31 */
-	 u_int16_t packet_end_offset;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 28.0 - 32.31 */
-	 u_int32_t source_xqpn_31_0;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 32.0 - 36.31 */
-	 u_int32_t timestamp_63_32;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 36.0 - 40.31 */
-	 u_int32_t timestamp_31_0;
+	/* 0xc0.0 - 0xc8.31 */
+	 struct connectib_acs_ext_cap acs;
 };
 
-/* Description -  // Created At Mon Oct  7 12:23:46 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxt_context_fetch_qp_desc_decoder.v -o rxt_context_fetch_qp_desc_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
-/* Size in bytes - 16 */
-struct connectib_rxt_context_fetch_qp_desc_decoder {
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_pci_cfg_space {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 0.0 - 0.0 */
-	 u_int8_t qpc_ts_3_3;
-	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t port_number;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 4.0 - 4.12 */
-	 u_int16_t srq_number_23_11;
-	/* Description - TODO: need to align this field to 16.  */
-	/* 4.13 - 4.28 */
-	 u_int16_t gvmi;
-	/* Description - TODO: need to align this field to 4. This Field was broken due to 32-bit miss-alignement  */
-	/* 4.29 - 8.31 */
-	 u_int8_t qpc_ts_2_0;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.11 */
-	 u_int16_t pkey_index;
-	/* Description - TODO: need to align this field to 8.  */
-	/* 8.12 - 8.19 */
-	 u_int8_t my_gid_index;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_pci_cfg_type0_header cfg_hdr;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - Power Management Capability */
+	/* 0x40.0 - 0x48.31 */
+	 struct connectib_pci_power_management_cap power_management;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description - VPD Capability */
+	/* 0x48.0 - 0x50.31 */
+	 struct connectib_vpd_cap vpd;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - image status - if not 0 then indicates the cause for going to livefish */
+	/* 0x50.0 - 0x54.31 */
+	 u_int32_t image_status;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - The address for crspace access */
+	/* 0x58.0 - 0x5c.31 */
+	 u_int32_t cr_addr;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description - The data for crspace access */
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t cr_data;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - PCIe capability block */
+	/* 0x60.0 - 0x9c.31 */
+	 struct connectib_pciex_cap_block pciex_cap_block;
+/*---------------- DWORD[39] (Offset 0x9c) ----------------*/
+	/* Description - PCIe MSIX capability block */
+	/* 0x9c.0 - 0xa8.31 */
+	 struct connectib_msix_cap msix;
+/*---------------- DWORD[42] (Offset 0xa8) ----------------*/
 	/* Description -  */
-	/* 8.20 - 8.20 */
-	 u_int8_t srq_vld;
-	/* Description - TODO: need to align this field to 32. This Field was broken due to 32-bit miss-alignement  */
-	/* 8.21 - 12.31 */
-	 u_int16_t srq_number_10_0;
+	/* 0xa8.0 - 0xe8.31 */
+	 struct connectib_pci_cfg_type1_header type1_cfg_hdr;
 };
 
-/* Description -  // Created At Mon Oct  7 12:23:46 IST 2013, By the following script (revision 1.45): ./decoder2adb.tcl -f /net/mtlfs01/vol/veri2/rev/golan/../../../../../../fwgwork/danielg/shomron/verilog/golan/./rxt_checks_steering_results_decoder.v -o rxt_checks_steering_results_decoder -adbfile ../adabe/golan//hw_decoders_st.adb */
-/* Size in bytes - 16 */
-struct connectib_rxt_checks_steering_results_decoder {
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_logger_init_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t vport_packet_counters_trigger;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 4.0 - 4.8 */
-	 u_int16_t xqpn_40_32;
-	/* Description -  */
-	/* 4.9 - 4.9 */
-	 u_int8_t pport_counters_trigger_vld;
+	/* 0x0.0 - 0x0.14 */
+	 u_int16_t cfg_request_mask;
 	/* Description -  */
-	/* 4.10 - 4.10 */
-	 u_int8_t qpn_direct_access;
+	/* 0x0.15 - 0x0.24 */
+	 u_int16_t splix_mask;
 	/* Description -  */
-	/* 4.11 - 4.11 */
-	 u_int8_t vport_counters_trigger_vld;
+	/* 0x0.25 - 0x0.30 */
+	 u_int8_t writes_amount;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+union connectib_fw_block_behavior {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - dword for the extra capabilities */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_block_behavior_dw dw;
+	/* Description - fields description for the extra capabilities */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_fw_block_behavior_fields fields;
+};
+
+/* Description -   */
+/* Size in bytes - 768 */
+struct connectib_nv_config_main_fw_data {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 4.12 - 4.15 */
-	 u_int8_t vport_byte_counters_trigger;
+	/* 0x0.0 - 0x200.31 */
+	 struct connectib_port_settings port[2];
+/*---------------- DWORD[128] (Offset 0x200) ----------------*/
 	/* Description -  */
-	/* 4.16 - 4.23 */
-	 u_int8_t pport_byte_counters_trigger;
+	/* 0x200.0 - 0x240.31 */
+	 struct connectib_nv_config_global_main global;
+/*---------------- DWORD[160] (Offset 0x280) ----------------*/
+	/* Description - tlvs with class host_func */
+	/* 0x280.0 - 0x298.31 */
+	 struct connectib_nv_config_host_func_main host_func_pf_order;
+};
+
+/* Description -   */
+/* Size in bytes - 384 */
+struct connectib_phy_fw_main_config_ip {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 4.24 - 8.31 */
-	 u_int8_t pport_packet_counters_trigger;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - This Field was broken due to 32-bit miss-alignement  */
-	/* 8.0 - 12.31 */
-	 u_int32_t xqpn_31_0;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t PlaceHolder;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_ctx_as_dwords {
+/* Size in bytes - 232 */
+struct connectib_phy_fw_main_config_golan {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 u_int32_t dwords[16];
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_phy_lcl_ini lcl[2];
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-union connectib_fw_resource_context {
+/* Size in bytes - 4 */
+struct connectib_wol_cap_host_port {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - bit0 - host0 port0, bit1 - host1 port 0, ..., bit 4 - host0 port 1, bit5 - host1 port1 */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t magic_packet;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_ibm_thermal_config {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_fw_eqc fw_eqc;
-	/* Description - ads layout */
-	/* 0.0 - 48.31 */
-	 struct connectib_fw_alt_path fw_alt_path;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t enable;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_basic_res_ctx fw_basic;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t thermal_threshold_tcontrol;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_fw_cre fw_cre;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t thermal_threshold_tcontrol_low;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_fw_mkc fw_mkc;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t thermal_threshold_twarning;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_fw_psv fw_psv;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t thermal_threshold_twarning_low;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t thermal_threshold_tcritical;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t thermal_threshold_tcritical_low;
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_ocsd_config {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_fw_cqc fw_cqc;
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t enable;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_fw_rqt fw_rqt;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t internal_caution_threshold;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_list_element list_element;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t extrenal_caution_threshold;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_dmfs_resources dmfs_resources;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t internal_max_cont_threshold;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_dc_control_packet_desc dc_control_packet_desc;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t external_max_cont_threshold;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-union connectib_hw_hca_contexts {
+/* Size in bytes - 4 */
+struct connectib_fw_vport0_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_cqc cqc;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_mkc mkc;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t partition_cap;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_toc toc;
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t log_guid_cap;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_extended_port_info_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_srq srq;
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t link_speed_supported;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_dct dct;
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t link_speed_enabled;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_hw_c_qpc c_qpc;
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t llr_64_byte_cell_size;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_hw_s_qpc s_qpc;
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t llr_128_byte_cell_size;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_hw_r_qpc r_qpc;
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t link_up_after_boot;
+};
+
+/* Description -   */
+/* Size in bytes - 28 */
+struct connectib_ib_port_info_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Additional supported capabilities of this port. Valid only if IsCapabilityMask2Supported bit is set in CapabilityMask. A bit set to 1 indicates affirmation of supported capability. 0: IsSetNodeDescriptionSupportede 1: IsPortInfoExtendedSupported 2-15: Reserved */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t cap_mask2;
+	/* Description - Diagnostic code, as described in 14.2.5.6.1 Interpretation of DiagCode on page 889. */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t diag_code;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Optional; shall be 0 if not implemented (PortInfo:CapabilityMask.IsLinkRoundTripLatency-Supported = 0). This value represents a measurement of the round-trip latency of the link attached to this port. It is an unsigned 24-bit integer counting 4 nsec. intervals. This value might not be accurate to better than +/- 4 nsec. A value of 0 is valid when implemented, and indicates a latency of up to 4 nsec. LinkRoundTripLatency is reset to 0xFFFFFF whenever this port transition [...]
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t link_roundtrip_lat;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - Optional; shall be 0 if not implemented (PortInfo:CapabilityMask.IsLinkRoundTripLatency-Supported = 0). This value provides a vendordependent indication of the maximum number of credits available per VL on the Port. */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t max_credit_hint;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_port_info port_info;
+	/* 0xc.0 - 0x10.31 */
+	 union connectib_port_cap_mask1 cap_mask;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_hw_bsf_entry bsf_entry;
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t link_width_sup;
+	/* Description - Enabled link width, indicated as follows: 0: No State Change valid only on Set(); 1: 1x 2: 4x; 3: 1x or 4x; 4: 8x; 5: 1x or 8x; 6: 4x or 8x; 7: 1x or 4x or 8x; 8: 12x; 9: 1x or 12x; 10: 4x or 12x; 11: 1x or 4x or 12x; 12: 8x or 12x; 13: 1x or 8x or 12x; 14: 4x or 8x or 12x; 15: 1x or 4x or 8x or 12x; 16 - 254: Reserved; 255: Set to LinkWidthSupported value; response; contains actual LinkWidthSupported.;Changes to this component do not take effect immediately. See Infini [...]
+	/* 0x10.8 - 0x10.15 */
+	 u_int8_t link_width_ena;
+	/* Description - Enabled link speed, indicated as follows: 0: No State Change; valid only on Set(); 1: 2.5 Gbps (also when SMSupportsExtended-Speeds is set to 0 on set, disable any extended speeds); 3: 2.5 or 5.0 Gbps (also when SMSupportsExtendedSpeeds is set to 0 on set, disable any extended speeds); 5: 2.5 or 10.0 Gbps (or higher when SMSupportsExtendedSpeeds is set to 0 in request/response AM); 7: 2.5 or 5.0 or 10.0 Gbps (or higher when SMSupportsExtendedSpeeds is set to 0 in reques [...]
+	/* 0x10.16 - 0x10.19 */
+	 u_int8_t link_speed_ena;
+	/* Description - 0: No state change; valid only on Set(); 1: Sleep; 2: Polling; 3 - 15: Reserved; See InfiniBand Architecture Specification Volume 2, Link/Phy Interface chapter. */
+	/* 0x10.20 - 0x10.23 */
+	 u_int8_t down_def_state;
+	/* Description - Supported link speed, indicated as follows: 1: 2.5 Gbps; 3: 2.5 or 5.0 Gbps; 5: 2.5 or 10.0 Gbps (or higher when SMSupportsExtendedSpeeds is set to 0 in request/response AM); 7: 2.5 or 5.0 or 10.0 Gbps (or higher when SMSupportsExtendedSpeeds is set to 0 in request/response AM); 0, 2, 4, 6, 8-15: Reserved; Note: See 14.3.14 SMSupportsExtendedLink-Speeds on page 932 for more information on SMSupportsExtendedSpeeds. */
+	/* 0x10.24 - 0x10.27 */
+	 u_int8_t link_speed_sup;
+	/* Description - Optional; shall be 0 if not implemented. Type of initialization requested by this port before SM moves it to Active or Armed state. See 14.4.4 Node Reinitialization on page 947.;/  bit 0: NoLoad. 0 = Port is requesting that its attributes be initialized (see 14.4.3 Initialization Actions on page 943). 1 = Port is requesting that no data be loaded into its attributes at all, asserting that the last-loaded data still exists and is valid.;/  bit 1: PreserveContent. 0 = Por [...]
+	/* 0x10.28 - 0x10.31 */
+	 u_int8_t init_type;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - VL/Weight pairs supported on this port in the VLArbitration table for high priority. Shall be 1 to 64 if more than one data VL is supported on this port, 0 otherwise. See 7.6.9 VL Arbitration and Prioritization on page 200. */
+	/* 0x14.0 - 0x14.7 */
+	 u_int8_t vl_arb_high_cap;
+	/* Description - Limit of High Priority component of VL Arbitration Table, as defined in 7.6.9 VL Arbitration and Prioritization on page 200. */
+	/* 0x14.8 - 0x14.15 */
+	 u_int8_t vl_high_limit;
+	/* Description - VL/Weight pairs supported on this port in the VLArbitration table for high priority. Shall be 1 to 64 if more than one data VL is supported on this port, 0 otherwise. See 7.6.9 VL Arbitration and Prioritization on page 200. */
+	/* 0x14.20 - 0x14.27 */
+	 u_int8_t vl_arb_low_cap;
+	/* Description - Virtual Lanes operational on this port, indicated as follows: 0: No change; valid only on Set();/ 1: VL0;/ 2: VL0, VL1;/ 3: VL0 - VL3;/ 4: VL0 - VL7;/ 5: VL0 - VL14;/ 6 - 15: reserved;/ Changing OperationalVLs in certain PortStates may cause flow control update errors which may initiate Link/Phy retraining. */
+	/* 0x14.28 - 0x14.31 */
+	 u_int8_t operational_vl;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - Virtual Lanes operational on this port, indicated as follows: 0: No change; valid only on Set();/ 1: VL0;/ 2: VL0, VL1;/ 3: VL0 - VL3;/ 4: VL0 - VL7;/ 5: VL0 - VL14;/ 6 - 15: reserved;/ Changing OperationalVLs in certain PortStates may cause flow control update errors which may initiate Link/Phy retraining. */
+	/* 0x18.0 - 0x18.3 */
+	 u_int8_t neighbor_mtu;
+	/* Description - Maximum MTU supported by this port.;/ 1: 256 ;/ 2: 512;/ 3: 1024;/ 4: 2048;/ 5: 4096;/ 0, 6 - 15: reserved */
+	/* 0x18.4 - 0x18.7 */
+	 u_int8_t mtu_cap;
+	/* Description - Multicast PKey Trap Suppression Enable */
+	/* 0x18.8 - 0x18.9 */
+	 u_int8_t mc_pkey_trap_suppress_en;
+	/* Description - Number of GUID entries supported in the GUIDInfo attribute for this port. */
+	/* 0x18.10 - 0x18.17 */
+	 u_int8_t guid_cap;
+	/* Description - Specifies the expected maximum time between the port reception of a SMP and the transmission of the associated response. The duration of time is calculated based on (4.096 usec * 2^RespTimeValue). */
+	/* 0x18.18 - 0x18.22 */
+	 u_int8_t resp_time_value;
+	/* Description - 0: No State Change; valid only on Set(); 1: 14.0625 Gbps (FDR); 2: 25.78125 Gbps (EDR); 3: 14.0625 Gbps (FDR) or 25.78125 Gbps (EDR); 4-29: Reserved; 30: Disable extended link speeds/Extended link speeds disabled; 31: Set to LinkSpeedExtSupported value; response contains actual LinkSpeedExtSupported; */
+	/* 0x18.23 - 0x18.27 */
+	 u_int8_t link_speed_ext_ena;
+	/* Description - 0: Reserved; 1: 14.0625 Gbps (FDR); 2: 25.78125 Gbps (EDR); 3: 14.0625 Gbps (FDR) or 25.78125 Gbps (EDR); 4-15: Reserved */
+	/* 0x18.28 - 0x18.31 */
+	 u_int8_t link_speed_ext_sup;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_node_info_ini {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_base_psv base_psv;
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t node_type;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_hw_trastb trastb;
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t class_version;
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_trasta trasta;
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t base_version;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_hw_sq_pointers sq_pointers;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t system_image_guid_hi;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_hw_gvmi_tokens gvmi_tokens;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t system_image_guid_lo;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_hw_sq_tokens sq_tokens;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t node_guid_hi;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_hw_klm_entry klm_entry;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t node_guid_lo;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_hw_sxdc sxdc;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t port_guid_hi;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_hw_pipa pipa;
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t port_guid_lo;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_hw_sq_qp_list sq_qp_list;
-	/* Description - the timer is 8 bit, here its just a wrapper */
-	/* 0.0 - 4.31 */
-	 struct connectib_hw_timer_32 timer;
+	/* 0x1c.0 - 0x1c.15 */
+	 u_int16_t device_id;
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_hw_pkey pkey;
+	/* 0x1c.16 - 0x1c.31 */
+	 u_int16_t partition_cap;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_ste hw_ste;
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t revision;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_steering_entry_icmc steering_entry_icmc;
+	/* 0x24.0 - 0x24.23 */
+	 u_int32_t vendor_id;
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 union connectib_icm_mtt mtt;
+	/* 0x24.24 - 0x24.31 */
+	 u_int8_t local_port_num;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_led_port_blink_pattern {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_rdb rdb;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t phy_pattern;
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_hw_msix msix;
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t log_pattern;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_hw_qp_counter qp_counter;
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t length;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_field_boundary {
+/* Size in bytes - 16 */
+struct connectib_uid_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t field_boundary;
+	/* Description - Number of allocated UIDs in this entry */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t num_allocated;
+	/* Description - Step size by which to derive the UIDs for this entry
+See struct description */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t step;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - For MACs, the upper 16 bits in the 'hi' dword are reserved */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t uid;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_add_data {
+struct connectib_module_version {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t add_data;
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t branch;
+	/* Description -  */
+	/* 0x0.8 - 0x0.19 */
+	 u_int16_t minor;
+	/* Description -  */
+	/* 0x0.20 - 0x0.31 */
+	 u_int16_t major;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_compare_mask_data {
+/* Size in bytes - 16 */
+struct connectib_reset_level_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t compare_mask_data;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_reset_version ver;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t ini_sig;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - 2^0-full ISFU, 2^1-management+link up ISFU 2^2-only PCIe ISFU 2^3-PCI disable/enable, 2^7-power_up */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t reset_type;
+	/* Description -  */
+	/* 0x8.8 - 0x8.8 */
+	 u_int8_t ini_sig_v;
+	/* Description -  */
+	/* 0x8.9 - 0x8.9 */
+	 u_int8_t ini_sig_ignore;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_swap_mask_data {
+/* Size in bytes - 732 */
+struct connectib_sysport_packet_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t swap_mask_data;
+	/* 0x0.0 - 0x2dc.31 */
+	 u_int32_t data[183];
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_compare_data {
+/* Size in bytes - 32 */
+struct connectib_sysport_packet_properties {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t compare_data;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t gvmi;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t portid;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t vl;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t prio;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t func_loopback;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t force_loopback;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t sx_sniffer;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t packet_is_roce;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_swap_data {
+/* Size in bytes - 64 */
+union connectib_rw_gvmi_fw_ctx_sub_structs {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t swap_data;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_dcr_odp_events dcr_odp_event;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_nv_data_pointer {
+union connectib_disable_mask {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Offset of entire list area from start of NV data area. Every unit is 64 bytes */
-	/* 0.0 - 0.15 */
-	 u_int16_t offset_in_64_bytes;
-	/* Description - Size of entire list area. Every unit is 64 bytes. */
-	/* 0.16 - 0.25 */
-	 u_int16_t size_in_64_bytes;
+	/* Description - enable the port - bit for each reason */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_disable_mask_bits bits;
+	/* Description - enable the port - total value of the mask */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_disable_mask_value value;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_jump_addresses {
+/* Size in bytes - 8 */
+struct connectib_drivers_mask_arr {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0-63 per pf */
+	/* 0x0.0 - 0x8.31 */
+	 u_int32_t mask[2];
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_vport_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - IB + ROCE */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t port_guid;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - IB + ROCE */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t node_guid;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x18.31 */
+	 struct connectib_mac_address_layout permanent_address;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.15 */
+	 u_int16_t cap_mask;
+	/* Description -  */
+	/* 0x18.16 - 0x18.27 */
+	 u_int16_t allowed_uc_list_size;
+	/* Description -  */
+	/* 0x18.28 - 0x18.28 */
+	 u_int8_t force_roce_disable_shadow;
+	/* Description - disable RoCE per function */
+	/* 0x18.29 - 0x18.29 */
+	 u_int8_t force_roce_disable;
+	/* Description - vport ctx was changed but event wasn't armed */
+	/* 0x18.30 - 0x18.30 */
+	 u_int8_t esw_ctx_dirty;
+	/* Description -  */
+	/* 0x18.31 - 0x18.31 */
+	 u_int8_t roce_en;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.15 */
+	 u_int16_t p_key_violations;
+	/* Description - IB + ROCE */
+	/* 0x1c.16 - 0x1c.31 */
+	 u_int16_t q_key_violations;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x20.11 */
+	 u_int16_t allowed_mc_list_size;
+	/* Description -  */
+	/* 0x20.12 - 0x20.12 */
+	 u_int8_t event_on_uc_address_change;
+	/* Description -  */
+	/* 0x20.13 - 0x20.13 */
+	 u_int8_t event_on_mc_address_change;
+	/* Description -  */
+	/* 0x20.14 - 0x20.14 */
+	 u_int8_t event_on_vlan_change;
+	/* Description -  */
+	/* 0x20.15 - 0x20.15 */
+	 u_int8_t event_on_promisc_change;
+	/* Description -  */
+	/* 0x20.16 - 0x20.27 */
+	 u_int16_t allowed_vlan_list_size;
+	/* Description -  */
+	/* 0x20.28 - 0x20.28 */
+	 u_int8_t arm_change_event;
+	/* Description -  */
+	/* 0x20.29 - 0x20.29 */
+	 u_int8_t promisc_all;
+	/* Description -  */
+	/* 0x20.30 - 0x20.30 */
+	 u_int8_t promisc_mc;
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t plastic;
-};
-
-/* Description -   */
-/* Size in bytes - 68 */
-struct connectib_pcie_rx_adaptation_cfg {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x20.31 - 0x20.31 */
+	 u_int8_t promisc_uc;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t actual_ffe_tap_config_num;
+	/* 0x24.22 - 0x24.22 */
+	 u_int8_t disable_mc_local_lb;
+	/* Description -  */
+	/* 0x24.23 - 0x24.23 */
+	 u_int8_t disable_uc_local_lb;
+	/* Description -  */
+	/* 0x24.24 - 0x24.26 */
+	 u_int8_t min_wqe_inline_mode;
+	/* Description - the offset in FW ICM context */
+	/* 0x24.27 - 0x24.27 */
+	 u_int8_t uc_list_offset_selector;
+	/* Description - the offset in FW ICM context */
+	/* 0x24.28 - 0x24.28 */
+	 u_int8_t mc_list_offset_selector;
+	/* Description - the offset in FW ICM context */
+	/* 0x24.29 - 0x24.29 */
+	 u_int8_t vlan_list_offset_selector;
+	/* Description - was mtu ever written by vnic */
+	/* 0x24.30 - 0x24.30 */
+	 u_int8_t mtu_vld;
+	/* Description -  */
+	/* 0x24.31 - 0x24.31 */
+	 u_int8_t event_on_mtu_change;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 0.4 - 0.4 */
-	 u_int8_t ffe_tap_value_lifting_en;
-	/* Description - In case the ffe_tap values are modified manually in scratchpad,
- pushing this button will cause performing calibration for each set. */
-	/* 0.31 - 4.31 */
-	 u_int8_t redo_calibration;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - 0: Default setup ffe tap values
-1: PLX optimized ffe tap vlaues
- 2-7: Default setup ffe tap values - Not used by default */
-	/* 4.0 - 68.31 */
-	 struct connectib_ffe_tap_set ffe_tap_config[8];
+	/* 0x28.0 - 0x28.15 */
+	 u_int16_t mtu;
+	/* Description - flow_counter_id of the vport flow counters link list head */
+	/* 0x28.16 - 0x28.31 */
+	 u_int16_t flow_counter_head;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description -  */
+	/* 0x2c.0 - 0x30.31 */
+	 struct connectib_dmfs_ft_type_info esw_egress_info;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x34.31 */
+	 struct connectib_dmfs_ft_type_info esw_ingress_info;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description - this field defines dcbx and other event types */
+	/* 0x34.0 - 0x38.31 */
+	 u_int32_t extension_event_mask;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_pcie_tx_adaptation_cfg {
+/* Size in bytes - 32 */
+struct connectib_vport_shadow {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - enable for tx adaptation at Ph 2. */
-	/* 0.0 - 0.3 */
-	 u_int8_t tx_adaptation_config_num;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - IB + ROCE */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t port_guid;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - IB + ROCE */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t node_guid;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 4.0 - 16.31 */
-	 struct connectib_GEN3_TRANSMITTER_SETTING tx_adaptation_ts_param[3];
+	/* 0x10.0 - 0x18.31 */
+	 struct connectib_mac_address_layout permanent_address;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_pcie_debug_cap {
+/* Size in bytes - 44 */
+struct connectib_ocbb_pci_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.12 */
-	 u_int16_t internal_cause_mask;
-	/* Description - Opens PCIe width debug capability (can be used for width degrade debug)
-When enabled pxp.port_state will be stoped at each Config.Width state and sample the received TS. */
-	/* 0.29 - 0.29 */
-	 u_int8_t width_debug_en;
-	/* Description - Opens PCIe speed debug capability (can be used for speed degrade debug)
-
-TODO (still not affect FW operation)! */
-	/* 0.30 - 0.30 */
-	 u_int8_t speed_debug_en;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t pci_vendor_id;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t internal_cause_en;
-};
-
-/* Description -   */
-/* Size in bytes - 52 */
-struct connectib_pcie_equalization_and_eye {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Mellanox full swing parameter - default is max 63 */
-	/* 0.0 - 0.5 */
-	 u_int8_t local_fs;
-	/* Description - Mellanox full swing parameter - default is max 63 */
-	/* 0.8 - 0.12 */
-	 u_int8_t local_lf;
-	/* Description - preset to be requested at phase 2 */
-	/* 0.16 - 0.19 */
-	 u_int8_t preset;
-	/* Description - set in case we wish to request some preset at phase 2 */
-	/* 0.20 - 0.20 */
-	 u_int8_t force_preset;
-	/* Description - Equalization phase 0 timeout in     msec.
-After this timeout (started upon entering to phase 0), and if relevant TS arrived on all lanes we move to phase 1. */
-	/* 0.21 - 0.25 */
-	 u_int8_t phase0_timeout;
-	/* Description - Equalization phase 2 timeout i    n msec.
-After this timeout (started upon entering to phase 2) we move to phase 3. */
-	/* 0.26 - 0.30 */
-	 u_int8_t phase2_timeout;
-	/* Description - enables fast (within 1 usec) phase3 FW response during the equalization process */
-	/* 0.31 - 4.31 */
-	 u_int8_t fast_x1_eql_for_compliance;
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t pci_device_id;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 48.31 */
-	 u_int32_t gen3_preset[11];
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - ffe_tap_offset1 offset used for vertical eye opening */
-	/* 48.0 - 48.4 */
-	 u_int8_t eye_center_mixer_offset;
-	/* Description - enable eye centering on the phase (horizontal). */
-	/* 48.5 - 48.5 */
-	 u_int8_t eye_center_mix90_en;
-	/* Description - enable eye centering on the offset (vertical). */
-	/* 48.6 - 48.6 */
-	 u_int8_t eye_center_offset_en;
-	/* Description - when set perform vertiacal eye centerting before horizntal. When clear perform horizontal eye centering first. */
-	/* 48.7 - 48.7 */
-	 u_int8_t first_offset_phase_second;
-	/* Description - The time (in usec) we wait for error in TS */
-	/* 48.8 - 48.15 */
-	 u_int8_t phase_err_wait_time;
-	/* Description - The time (in usec) we wait since mix90phase set, and till we reset the the TS error counter */
-	/* 48.16 - 48.19 */
-	 u_int8_t phase_stabilize_time;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t pci_subsys_vendor_id;
+	/* Description -  */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t pci_subsys_device_id;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t num_of_pcie_func_per_port;
+	/* Description -  */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t pci_bus_number;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t pci_class;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t pci_bus_rx_utilization;
+	/* Description -  */
+	/* 0x10.8 - 0x10.15 */
+	 u_int8_t pci_bus_tx_utilization;
+	/* Description -  */
+	/* 0x10.16 - 0x10.23 */
+	 u_int8_t pci_function_num;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t pci_errors_cap_id;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t pci_errors_uncor_stat;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t pci_errors_uncor_mask;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t pci_errors_corr_stat;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t pci_errors_corr_mask;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t pci_errors_cap_and_ctrl;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_pcie_serdes_cfg {
+/* Size in bytes - 512 */
+struct connectib_ocbb_fields {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.2 */
-	 u_int8_t sdr_preemp;
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_fw_banner fw_banner_str;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.8 - 0.15 */
-	 u_int8_t sdr_preemp_pre;
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t hca_cap_num_ports;
 	/* Description -  */
-	/* 0.16 - 0.23 */
-	 u_int8_t sdr_preemp_post;
+	/* 0xc.16 - 0xc.23 */
+	 u_int8_t sriov_en;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.24 - 4.31 */
-	 u_int8_t sdr_preemp_main;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t max_num_vmq_per_port;
 	/* Description -  */
-	/* 4.0 - 4.2 */
-	 u_int8_t ddr_6_db_preemp;
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t max_num_vmq_per_pf;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 4.8 - 4.15 */
-	 u_int8_t ddr_6_db_preemp_pre;
+	/* 0x14.0 - 0x14.15 */
+	 u_int16_t lowest_port_recv;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 4.16 - 4.23 */
-	 u_int8_t ddr_6_db_preemp_post;
+	/* 0x1c.24 - 0x28.23 */
+	 u_int8_t lldp_rx_get_chassis_id_tlv[12];
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 4.24 - 8.31 */
-	 u_int8_t ddr_6_db_preemp_main;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x28.24 - 0x30.23 */
+	 u_int8_t lldp_rx_get_port_id_tlv[8];
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.2 */
-	 u_int8_t ddr_3_dot_5_db_preemp;
+	/* 0x34.24 - 0x38.23 */
+	 u_int8_t core_utilization[4];
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 8.8 - 8.15 */
-	 u_int8_t ddr_3_dot_5_db_preemp_pre;
+	/* 0x38.24 - 0x44.23 */
+	 u_int8_t device_bios_version[12];
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
 	/* Description -  */
-	/* 8.16 - 8.23 */
-	 u_int8_t ddr_3_dot_5_db_preemp_post;
+	/* 0x44.24 - 0x50.23 */
+	 u_int8_t device_hw_version[12];
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
 	/* Description -  */
-	/* 8.24 - 12.31 */
-	 u_int8_t ddr_3_dot_5_db_preemp_main;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x50.0 - 0x50.7 */
+	 u_int8_t port_type;
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 struct connectib_GEN3_TRANSMITTER_SETTING gen3_def_tx_preset;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x50.8 - 0x50.15 */
+	 u_int8_t flow_control_indicator;
 	/* Description -  */
-	/* 16.0 - 16.7 */
-	 u_int8_t slicer_ind_en;
+	/* 0x50.16 - 0x50.23 */
+	 u_int8_t flex_ten_mode_en;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
 	/* Description -  */
-	/* 16.8 - 16.11 */
-	 u_int8_t slicer1_enable;
+	/* 0x54.0 - 0x58.31 */
+	 u_int32_t port_speed;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
 	/* Description -  */
-	/* 16.12 - 16.15 */
-	 u_int8_t slicer2_enable;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x58.0 - 0x58.7 */
+	 u_int8_t port_phy_link_status;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
 	/* Description -  */
-	/* 20.0 - 20.6 */
-	 u_int8_t signal_detect_threshold;
-	/* Description - If set, signal detect will be enabled by setting rx_power_mode = 0, and its threshold will be according INI.
-Else, rx_power_mode = 1 */
-	/* 20.7 - 20.7 */
-	 u_int8_t signal_detect_en;
+	/* 0x5c.0 - 0x60.31 */
+	 u_int32_t max_speed_supported;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
 	/* Description -  */
-	/* 20.8 - 20.11 */
-	 u_int8_t ob_bias;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x60.0 - 0x60.7 */
+	 u_int8_t function_type;
+/*---------------- DWORD[25] (Offset 0x64) ----------------*/
 	/* Description -  */
-	/* 24.0 - 32.31 */
-	 struct connectib_ffe_tap_set default_ffe_tap_set;
-};
-
-/* Description -   */
-/* Size in bytes - 48 */
-struct connectib_gpio_configurations {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x64.0 - 0x64.15 */
+	 u_int16_t mtu_size;
 	/* Description -  */
-	/* 0.24 - 48.23 */
-	 struct connectib_gpio_config gpio[48];
-};
-
-/* Description -   */
-/* Size in bytes - 84 */
-struct connectib_gpio_functions {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x64.16 - 0x64.31 */
+	 u_int16_t feature_flags;
+/*---------------- DWORD[26] (Offset 0x68) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 struct connectib_gpio_function physical_led_p1;
+	/* 0x68.0 - 0x68.15 */
+	 u_int16_t max_offload_size;
 	/* Description -  */
-	/* 0.8 - 0.15 */
-	 struct connectib_gpio_function physical_led_p2;
+	/* 0x68.16 - 0x68.31 */
+	 u_int16_t lso_min_seg_count;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
 	/* Description -  */
-	/* 0.16 - 0.23 */
-	 struct connectib_gpio_function logical_led_p1;
+	/* 0x6c.0 - 0x6c.7 */
+	 u_int8_t promiscuous_mode;
 	/* Description -  */
-	/* 0.24 - 4.31 */
-	 struct connectib_gpio_function logical_led_p2;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x6c.16 - 0x6c.31 */
+	 u_int16_t tx_descr_size;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.7 */
-	 struct connectib_gpio_function gp_lv;
+	/* 0x70.0 - 0x70.15 */
+	 u_int16_t rx_descr_size;
 	/* Description -  */
-	/* 4.8 - 4.15 */
-	 struct connectib_gpio_function int_p1_l;
+	/* 0x70.24 - 0x70.31 */
+	 u_int8_t iov_offload;
+/*---------------- DWORD[29] (Offset 0x74) ----------------*/
 	/* Description -  */
-	/* 4.16 - 4.23 */
-	 struct connectib_gpio_function int_p2_l;
+	/* 0x74.0 - 0x74.15 */
+	 u_int16_t num_of_netq;
+/*---------------- DWORD[30] (Offset 0x78) ----------------*/
 	/* Description -  */
-	/* 4.24 - 8.31 */
-	 struct connectib_gpio_function modprs_p1_l;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x78.0 - 0x7c.31 */
+	 u_int32_t pcp_prio_map_table;
+/*---------------- DWORD[31] (Offset 0x7c) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.7 */
-	 struct connectib_gpio_function modprs_p2_l;
+	/* 0x7c.0 - 0x7c.7 */
+	 u_int8_t max_num_pci_vfs_per_pfs;
 	/* Description -  */
-	/* 8.8 - 8.15 */
-	 struct connectib_gpio_function modsel_p1_l;
+	/* 0x7c.8 - 0x7c.15 */
+	 u_int8_t os_driver_state;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
 	/* Description -  */
-	/* 8.16 - 8.23 */
-	 struct connectib_gpio_function modsel_p2_l;
+	/* 0x80.0 - 0xc4.31 */
+	 struct connectib_ocbb_fields_from_vpd vpd_data;
+/*---------------- DWORD[49] (Offset 0xc4) ----------------*/
 	/* Description -  */
-	/* 8.24 - 12.31 */
-	 struct connectib_gpio_function ncsi_arb_in;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0xc4.0 - 0xc4.7 */
+	 u_int8_t device_power_reset_state;
 	/* Description -  */
-	/* 12.0 - 12.7 */
-	 struct connectib_gpio_function ncsi_arb_out;
+	/* 0xc4.16 - 0xc4.31 */
+	 u_int16_t max_num_of_vfs;
+/*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 12.8 - 12.15 */
-	 struct connectib_gpio_function ncsi_crs_dv;
+	/* 0x100.0 - 0x104.31 */
+	 u_int32_t rx_discards;
+/*---------------- DWORD[65] (Offset 0x104) ----------------*/
 	/* Description -  */
-	/* 12.16 - 12.23 */
-	 struct connectib_gpio_function ncsi_rxd0;
+	/* 0x104.0 - 0x108.31 */
+	 u_int32_t rx_errors;
+/*---------------- DWORD[66] (Offset 0x108) ----------------*/
 	/* Description -  */
-	/* 12.24 - 16.31 */
-	 struct connectib_gpio_function ncsi_rxd1;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x108.0 - 0x10c.31 */
+	 u_int32_t tx_errors;
+/*---------------- DWORD[67] (Offset 0x10c) ----------------*/
 	/* Description -  */
-	/* 16.0 - 16.7 */
-	 struct connectib_gpio_function ncsi_txd0;
+	/* 0x10c.0 - 0x110.31 */
+	 u_int32_t tx_discards;
+/*---------------- DWORD[68] (Offset 0x110) ----------------*/
 	/* Description -  */
-	/* 16.8 - 16.15 */
-	 struct connectib_gpio_function ncsi_txd1;
+	/* 0x110.0 - 0x118.31 */
+	 u_int64_t rx_frames_received;
+/*---------------- DWORD[70] (Offset 0x118) ----------------*/
 	/* Description -  */
-	/* 16.16 - 16.23 */
-	 struct connectib_gpio_function ncsi_ref_clk;
+	/* 0x118.0 - 0x120.31 */
+	 u_int64_t rx_bytes_received;
+/*---------------- DWORD[72] (Offset 0x120) ----------------*/
 	/* Description -  */
-	/* 16.24 - 20.31 */
-	 struct connectib_gpio_function ncsi_tx_en;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x120.0 - 0x128.31 */
+	 u_int64_t tx_frames_sent;
+/*---------------- DWORD[74] (Offset 0x128) ----------------*/
 	/* Description -  */
-	/* 20.0 - 20.7 */
-	 struct connectib_gpio_function oc_int_l;
+	/* 0x128.0 - 0x130.31 */
+	 u_int64_t tx_bytes_sent;
+/*---------------- DWORD[76] (Offset 0x130) ----------------*/
 	/* Description -  */
-	/* 20.8 - 20.15 */
-	 struct connectib_gpio_function ovt_wrng;
+	/* 0x130.0 - 0x138.31 */
+	 u_int64_t pfc_frames_sent;
+/*---------------- DWORD[78] (Offset 0x138) ----------------*/
+	/* Description -  */
+	/* 0x138.0 - 0x140.31 */
+	 u_int64_t pfc_frames_received;
+/*---------------- DWORD[80] (Offset 0x140) ----------------*/
+	/* Description -  */
+	/* 0x140.0 - 0x148.31 */
+	 u_int64_t prog_max_addr_1;
+/*---------------- DWORD[82] (Offset 0x148) ----------------*/
+	/* Description -  */
+	/* 0x148.0 - 0x150.31 */
+	 u_int64_t prog_max_addr_2;
+/*---------------- DWORD[84] (Offset 0x150) ----------------*/
+	/* Description -  */
+	/* 0x150.0 - 0x150.15 */
+	 u_int16_t max_mtu;
+	/* Description -  */
+	/* 0x150.16 - 0x150.31 */
+	 u_int16_t max_num_of_pci_func_per_port;
+};
+
+/* Description -   */
+/* Size in bytes - 56 */
+struct connectib_module_db_pre_define_st {
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_fw_driver_version {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 u_int32_t data[16];
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_iterator_result {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.16 - 0x0.17 */
+	 u_int8_t port_0_1;
+	/* Description -  */
+	/* 0x0.18 - 0x0.21 */
+	 u_int8_t vl;
+	/* Description -  */
+	/* 0x0.22 - 0x0.25 */
+	 u_int8_t sl;
+	/* Description -  */
+	/* 0x0.26 - 0x0.29 */
+	 u_int8_t pp;
+	/* Description -  */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t req_res_;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t is_fw_sq;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t sqn;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_general_fault_injector_pair {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - in config: must be bigger then 1 */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t freq;
+	/* Description - the error will be duration of times in sequence */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t duration;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_dmfs_gvmi_ctx {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 20.16 - 20.23 */
-	 struct connectib_gpio_function ovt_shtdn;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_dmfs_ft_type_info rx_nic_info;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 20.24 - 24.31 */
-	 struct connectib_gpio_function pe_rst_l;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_dmfs_ft_type_info sx_nic_info;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 24.0 - 24.7 */
-	 struct connectib_gpio_function gpio_func_reserved;
+	/* 0x8.0 - 0xc.31 */
+	 struct connectib_dmfs_ft_type_info esw_fdb_info;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 24.8 - 24.15 */
-	 struct connectib_gpio_function reset_p1_l;
+	/* 0xc.0 - 0x10.31 */
+	 struct connectib_dmfs_ft_type_info rx_sniffer_info;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 24.16 - 24.23 */
-	 struct connectib_gpio_function reset_p2_l;
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_dmfs_ft_type_info sx_sniffer_info;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 24.24 - 28.31 */
-	 struct connectib_gpio_function spi_clk;
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_dmfs_ft_type_info rx_rdma_info;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description - ref_count of vports with sx sniffer enable */
+	/* 0x18.0 - 0x18.15 */
+	 u_int16_t sx_sniffer_pf_ref_count;
+	/* Description - counter of pf active vfs */
+	/* 0x18.16 - 0x18.27 */
+	 u_int16_t active_vfs_counter;
+	/* Description - gvmi has started init flow for steering purposes */
+	/* 0x18.28 - 0x18.28 */
+	 u_int8_t is_gvmi_init_hca_set;
+	/* Description - enabled by LAG matser gvmi, via CREATE_VPORT_LAG command */
+	/* 0x18.29 - 0x18.29 */
+	 u_int8_t vport_lag_enable;
+	/* Description - vport works on VST mode */
+	/* 0x18.30 - 0x18.30 */
+	 u_int8_t cvlan_stripping_enable;
+	/* Description -  */
+	/* 0x18.31 - 0x18.31 */
+	 u_int8_t gvmi_sx_sniffer_enable;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - ETH: number of mac only addresses connected to that pf
+IB : number of IBL3 addresses connected to that pf */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t mpfs_cache_pf_mac_guid_counter;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - num of mac+vlan addresses on that pf */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t mpfs_cache_pf_mac_vlan_counter;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 28.0 - 28.7 */
-	 struct connectib_gpio_function spi_cs0_l;
-	/* Description -  */
-	/* 28.8 - 28.15 */
-	 struct connectib_gpio_function spi_cs1_l;
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t ft_link_list_head;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - number of Flow Counter that were attached to the gvmi NIC FT */
+	/* 0x28.0 - 0x28.15 */
+	 u_int16_t nic_flow_counters_cntr;
 	/* Description -  */
-	/* 28.16 - 28.23 */
-	 struct connectib_gpio_function spi_io0;
+	/* 0x28.16 - 0x28.23 */
+	 u_int8_t load_balance_mac_ref_count;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - ref_count of tables with encap_en set */
+	/* 0x2c.0 - 0x2c.7 */
+	 u_int8_t encap_en_ref_count;
+	/* Description - number of enhanced ipoib QPs opened for that gvmi */
+	/* 0x2c.8 - 0x2c.31 */
+	 u_int32_t ipoib_enhanced_qps_counter;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_dmfs_data {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - is mpfs cache enable (fast mode) */
+	/* 0x0.1 - 0x0.2 */
+	 u_int8_t mpfs_cache_enable[2];
+	/* Description - sx steering will do always loopback - patch for Utopx - DO NOT MOVE!!! */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t steering_loopback_mode;
+	/* Description - mpfs cache chicken bit (if set, cache isn't active) */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t mpfs_cache_chicken;
+	/* Description - number of bmc loopback entries of that port */
+	/* 0x0.24 - 0x0.7 */
+	 u_int8_t bmc_member_count[2];
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - number of port gvmis that has sx_sniffer  */
+	/* 0x4.16 - 0x8.15 */
+	 u_int16_t sx_sniffer_ref_counter[2];
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - ETH: number of L2 mac only addresses connected to that port
+IB : number of IBL3 addresses connected to that port */
+	/* 0x8.0 - 0x10.31 */
+	 u_int32_t mpfs_cache_mac_guid_addrs_counter[2];
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - number of L2 mac+vlan addresses connected to that port */
+	/* 0x10.0 - 0x18.31 */
+	 u_int32_t mpfs_cache_mac_vlan_addrs_counter[2];
+};
+
+/* Description -   */
+/* Size in bytes - 256 */
+struct connectib_icmd_get_ste_resources_list_out {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 28.24 - 32.31 */
-	 struct connectib_gpio_function spi_io1;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t resources_count;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.7 */
-	 struct connectib_gpio_function spi_io2;
+	/* 0x4.0 - 0x100.31 */
+	 struct connectib_resource_type_entry resource_type[63];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_icmd_get_ste_resources_list_in {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 32.8 - 32.15 */
-	 struct connectib_gpio_function spi_io3;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+};
+
+/* Description -   */
+/* Size in bytes - 768 */
+struct connectib_icmd_get_ste_open_resources_out {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - there are more open resources, please query again with the next start index */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t more;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - number of valid entries in open resources table */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t output_size;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 32.16 - 32.23 */
-	 struct connectib_gpio_function i2c_scl1;
+	/* 0x8.0 - 0x208.31 */
+	 struct connectib_index_and_length opened_resource[32];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_icmd_get_ste_open_resources_in {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 32.24 - 36.31 */
-	 struct connectib_gpio_function i2c_scl2;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 36.0 - 36.7 */
-	 struct connectib_gpio_function i2c_scl3;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t icm_resource_type;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 36.8 - 36.15 */
-	 struct connectib_gpio_function i2c_sda1;
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t start_index;
+};
+
+/* Description -   */
+/* Size in bytes - 768 */
+struct connectib_icmd_get_fte_out {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 36.16 - 36.23 */
-	 struct connectib_gpio_function i2c_sda2;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t action;
 	/* Description -  */
-	/* 36.24 - 40.31 */
-	 struct connectib_gpio_function i2c_sda3;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 40.0 - 40.7 */
-	 struct connectib_gpio_function i2c_int_l;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t group_id;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 40.8 - 40.15 */
-	 struct connectib_gpio_function i2c_rst_l;
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t flow_tag;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 40.16 - 40.23 */
-	 struct connectib_gpio_function vdd_mod;
+	/* 0xc.0 - 0xc.23 */
+	 u_int32_t destination_list_size;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 40.24 - 44.31 */
-	 struct connectib_gpio_function wake_l;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* 0x10.0 - 0x10.23 */
+	 u_int32_t flow_counter_list_size;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 44.0 - 44.7 */
-	 struct connectib_gpio_function ibm_mezz_fault_l;
+	/* 0x40.0 - 0x80.31 */
+	 struct connectib_flow_table_entry_match_set_lyr_2_4 outer_headers;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
 	/* Description -  */
-	/* 44.8 - 44.15 */
-	 struct connectib_gpio_function ibm_ite_all_pgood;
+	/* 0x80.0 - 0xc0.31 */
+	 struct connectib_flow_table_entry_match_set_misc misc_parameters;
+/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
 	/* Description -  */
-	/* 44.16 - 44.23 */
-	 struct connectib_gpio_function ibm_t_control_l;
+	/* 0xc0.0 - 0x100.31 */
+	 struct connectib_flow_table_entry_match_set_lyr_2_4 inner_headers;
+/*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 44.24 - 48.31 */
-	 struct connectib_gpio_function ibm_t_warning_l;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* 0x100.0 - 0x300.31 */
+	 union connectib_flow_list destination[64];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_icmd_get_fte_in {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 48.0 - 48.7 */
-	 struct connectib_gpio_function ibm_t_critical_l;
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t table_id;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 48.8 - 48.15 */
-	 struct connectib_gpio_function ibm_cib_slot_id_0;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 48.16 - 48.23 */
-	 struct connectib_gpio_function ibm_cib_slot_id_1;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t flow_index;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 48.24 - 52.31 */
-	 struct connectib_gpio_function ibm_vpd_update_l;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t requested_fte_partition;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_icmd_get_fte_list_out {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 52.0 - 52.7 */
-	 struct connectib_gpio_function ibm_vpd_cache_comp;
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t valid;
 	/* Description -  */
-	/* 52.8 - 52.15 */
-	 struct connectib_gpio_function ibm_vpd_ctrl;
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t last;
 	/* Description -  */
-	/* 52.16 - 52.23 */
-	 struct connectib_gpio_function gpio_port_swap;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t first;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 52.24 - 56.31 */
-	 struct connectib_gpio_function gpio_func_reserved_1;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t flow_index;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_i2c_device_entry {
+/* Size in bytes - 16 */
+struct connectib_icmd_get_fte_list_in {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - I2C slave address of device */
-	/* 0.0 - 0.6 */
-	 u_int8_t slave_addr;
-	/* Description - I2C bus number of device */
-	/* 0.8 - 0.9 */
-	 u_int8_t bus_id;
-	/* Description - I2C addr size of device */
-	/* 0.16 - 0.18 */
-	 u_int8_t addr_size;
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t table_id;
+	/* Description - 0: Request the first FTE and ignore flow_index
+1: Request the next FTE following the one pointed by flow_index */
+	/* 0x0.29 - 0x0.31 */
+	 u_int8_t info;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t flow_index;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_module_config_st {
+/* Size in bytes - 256 */
+struct connectib_icmd_get_fg_out {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 0 - 1.5W
-1 - 2W
-2 - 2.5W
-3 - 3.5W */
-	/* 0.0 - 0.1 */
-	 u_int8_t module_power_level_supported;
-	/* Description - 0.1W granularity */
-	/* 0.2 - 0.7 */
-	 u_int8_t module_mlnx_sub_power_supported;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t start_flow_index;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t end_flow_index;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t match_criteria_enable;
+	/* Description -  */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t valid;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description -  */
+	/* 0x40.0 - 0x80.31 */
+	 struct connectib_flow_table_entry_match_set_lyr_2_4 outer_headers;
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* Description -  */
+	/* 0x80.0 - 0xc0.31 */
+	 struct connectib_flow_table_entry_match_set_misc misc_parameters;
+/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
+	/* Description -  */
+	/* 0xc0.0 - 0x100.31 */
+	 struct connectib_flow_table_entry_match_set_lyr_2_4 inner_headers;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_iopx_power {
+/* Size in bytes - 16 */
+struct connectib_icmd_get_fg_in {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t ref_clk_right_left_;
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t table_id;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t group_id;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_iopl_power {
+/* Size in bytes - 16 */
+struct connectib_icmd_get_fg_list_out {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t ref_clk_right_left_;
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t valid;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t dynamic_pll_manage_en;
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t last;
 	/* Description -  */
-	/* 0.2 - 0.2 */
-	 u_int8_t dynamic_serdes_manage_en;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t first;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t group_id;
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_port_mlpn_db {
+struct connectib_icmd_get_fg_list_in {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - mlpn ability bits */
-	/* 0.0 - 4.31 */
-	 struct connectib_mlpn_database_all_protocol_ini mlpn_supported;
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t table_id;
+	/* Description - 0: Request the first FG and ignore group_ID
+1: Request the next FG following the one pointed by Group_ID */
+	/* 0x0.29 - 0x0.31 */
+	 u_int8_t info;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - mlpn request bits */
-	/* 4.0 - 8.31 */
-	 struct connectib_mlpn_database_all_protocol_ini mlpn_request;
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - mlpn mlnx_enhanced_equalization_info bits */
-	/* 8.0 - 12.31 */
-	 struct connectib_mlpn_enhanced_database_ini mlpn_enhanced_database;
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t group_id;
 };
 
 /* Description -   */
-/* Size in bytes - 36 */
-struct connectib_pll_params {
+/* Size in bytes - 16 */
+struct connectib_icmd_get_ft_info_out {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t pll_fctrl_th;
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t log_size;
+	/* Description -  */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t level;
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t table_type;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t valid;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t table_miss_id;
+	/* Description -  */
+	/* 0x4.24 - 0x4.27 */
+	 u_int8_t table_miss_mode;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t enable_phy_varactor_calibration;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t encap_en;
 	/* Description -  */
-	/* 4.0 - 20.31 */
-	 u_int32_t pll_fctrl_var[4];
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t decap_en;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 20.0 - 36.31 */
-	 u_int32_t pll_fctrl_val[4];
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t lag_master_next_table_id;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_logic_serdes_mapping_node_ini {
+/* Size in bytes - 16 */
+struct connectib_icmd_get_ft_info_in {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_tx_rx_logic_serdes_mapping_node_ini tx;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t table_id;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 32.0 - 64.31 */
-	 struct connectib_tx_rx_logic_serdes_mapping_node_ini rx;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
 };
 
 /* Description -   */
-/* Size in bytes - 1472 */
-struct connectib_phy_hw_main_config_ip {
+/* Size in bytes - 16 */
+struct connectib_icmd_get_ft_list_out {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_PORT_PHY_ini port[2];
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t table_id;
 	/* Description -  */
-	/* 32.0 - 128.31 */
-	 struct connectib_ib_ini_ini ib;
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t valid;
 	/* Description -  */
-	/* 128.0 - 152.31 */
-	 struct connectib_rx_adapt_ini rx_adapt_ini;
-/*---------------- DWORD[40] (Offset 0xa0) ----------------*/
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t last;
 	/* Description -  */
-	/* 160.0 - 1248.31 */
-	 struct connectib_serdes_conf_ini serdes_conf;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t first;
 };
 
 /* Description -   */
-/* Size in bytes - 40 */
-struct connectib_nv_config_boot_global {
+/* Size in bytes - 16 */
+struct connectib_icmd_get_ft_list_in {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_nv_config_pci pci;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t table_id;
+	/* Description - 0: Request the first FT and ignore Table_ID
+1: Request  the next FT following the one pointed by Table_ID */
+	/* 0x0.29 - 0x0.31 */
+	 u_int8_t info;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 32.0 - 40.31 */
-	 struct connectib_nv_config_tpt tpt;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-struct connectib_pciex_ext_cfg_space {
+/* Size in bytes - 64 */
+struct connectib_led_control_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 44.31 */
-	 struct connectib_secondary_pciex_ext_cap secondary_pciex_ext_cap;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - Alternative Routing ID cap */
-	/* 44.0 - 52.31 */
-	 struct connectib_ari_cap ari;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - Single Root IO virtualization capability */
-	/* 52.0 - 116.31 */
-	 struct connectib_sriov_cap sriov;
-/*---------------- DWORD[29] (Offset 0x74) ----------------*/
-	/* Description - Device serial number capability */
-	/* 116.0 - 128.31 */
-	 struct connectib_dev_serial_num_cap device_serial_number;
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
-	/* Description -  */
-	/* 128.0 - 184.31 */
-	 struct connectib_advanced_error_reporting advanced_error_reporting;
+	/* 0x0.0 - 0x40.31 */
+	 u_int32_t port_led_pair_bank[16];
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-struct connectib_pci_cfg_space {
+/* Size in bytes - 64 */
+struct connectib_steering_table_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - base index of table */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t base_index;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_pci_cfg_hdr cfg_hdr;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description - Power Management Capability */
-	/* 64.0 - 72.31 */
-	 struct connectib_pci_power_management_cap power_management;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
-	/* Description - VPD Capability */
-	/* 72.0 - 80.31 */
-	 struct connectib_vpd_cap vpd;
-/*---------------- DWORD[20] (Offset 0x50) ----------------*/
-	/* Description - image status - if not 0 then indicates the cause for going to livefish */
-	/* 80.0 - 84.31 */
-	 u_int32_t image_status;
-/*---------------- DWORD[22] (Offset 0x58) ----------------*/
-	/* Description - The address for crspace access */
-	/* 88.0 - 92.31 */
-	 u_int32_t cr_addr;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
-	/* Description - The data for crspace access */
-	/* 92.0 - 96.31 */
-	 u_int32_t cr_data;
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description - PCIe capability block */
-	/* 96.0 - 156.31 */
-	 struct connectib_pciex_cap_block pciex_cap_block;
-/*---------------- DWORD[39] (Offset 0x9c) ----------------*/
-	/* Description - PCIe MSIX capability block */
-	/* 156.0 - 168.31 */
-	 struct connectib_msix_cap msix;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t default_ste_ix;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t entry_count;
+	/* Description -  */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t descendant_count;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - table lookup type */
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t ste_lu_type;
+	/* Description -  */
+	/* 0xc.8 - 0xc.15 */
+	 u_int8_t log2_table_size;
+	/* Description -  */
+	/* 0xc.16 - 0xc.19 */
+	 u_int8_t log2_entry_size;
+	/* Description - if 1 - hash_table was sent to garbage collector */
+	/* 0xc.23 - 0xc.23 */
+	 u_int8_t sent_to_gc;
+	/* Description -  */
+	/* 0xc.24 - 0xc.24 */
+	 u_int8_t pipe;
+	/* Description - 0 - NO_RESIZE
+1 - RESIZE_CLEANUP
+2 - AWAITING_RESIZE
+3 - IN_PROGRESS
+4 - RESIZE_POINTLESS */
+	/* 0xc.25 - 0xc.27 */
+	 u_int8_t resize_state;
+	/* Description - while searching ste in table:
+0 - do match only on data + mask
+1 - do match only on data
+2 - do full match on whole ste */
+	/* 0xc.28 - 0xc.29 */
+	 u_int8_t match_mode;
+	/* Description -  */
+	/* 0xc.31 - 0xc.31 */
+	 u_int8_t sx_rx_;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t hash_fieldwise_mask;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - id of the flow table corresponding to the hash table */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t table_id;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - id of the flow group corresponding to the hash table */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t group_id;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - Number of buckets containing valid entries */
+	/* 0x28.0 - 0x28.15 */
+	 u_int16_t bucket_count;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - valid only when resize_in_progress == 1. index of the destination hash meta in resize process */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t new_hash_meta_ix;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - valid only when resize_in_progress == 1. index of next bucket in hash table that will be copied to resize_table_icm_addr */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t next_bucket_to_copy;
+/*---------------- DWORD[13] (Offset 0x34) ----------------*/
+	/* Description -  */
+	/* 0x34.0 - 0x34.15 */
+	 u_int16_t needed_pages;
+	/* Description -  */
+	/* 0x34.16 - 0x34.31 */
+	 u_int16_t allocated_pages;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_nv_config_main_fw_data {
+/* Size in bytes - 4 */
+struct connectib_dcr_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_port_settings port[2];
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t next_dcri;
+	/* Description -  */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t valid;
+	/* Description -  */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t connected;
+	/* Description -  */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t trapped;
 };
 
 /* Description -   */
-/* Size in bytes - 384 */
-struct connectib_phy_fw_main_config_ip {
+/* Size in bytes - 64 */
+union connectib_icmd_ver_data_cmd_specific {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t PlaceHolder;
+	/* Description - command allowed only when no driver is loaded */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_ver_data_max_atomic max_atomic;
+	/* Description - command allowed only when no driver is loaded */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_ver_data_one_qp_per_recovery one_qp_per_recovery;
 };
 
 /* Description -   */
-/* Size in bytes - 232 */
-struct connectib_phy_fw_main_config_golan {
+/* Size in bytes - 16 */
+struct connectib_icmd_pcie_ver_frequency {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_phy_lcl_ini lcl[2];
+	/* Description - .yu.bootrecord.core_f */
+	/* 0x0.0 - 0x0.6 */
+	 u_int8_t core_f;
+	/* Description - .scratchpad.kernel.shared_kernel.core_clocks_per_usec */
+	/* 0x0.7 - 0x0.7 */
+	 u_int8_t core_clocks_per_usec;
+	/* Description - .yu.bootrecord.core_r */
+	/* 0x0.8 - 0x0.12 */
+	 u_int8_t core_r;
+	/* Description - .px.pxdp.pxp.cx3_count_in_core_clocks */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t cx3_count_in_core_clocks;
+	/* Description - .scratchpad.kernel.shared_kernel.usecs_in_high_tick */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t usecs_in_high_tick;
+	/* Description - .scratchpad.ini.hw_main_config.gpios.functions.vdd_mod.mapping */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t vdd_mod_mapping;
+	/* Description - .yu.bootrecord.flash_div */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t flash_div;
+	/* Description - .yu.bootrecord.core_od */
+	/* 0x0.20 - 0x0.21 */
+	 u_int8_t core_od;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_ibm_thermal_config {
+/* Size in bytes - 16 */
+struct connectib_icmd_pcie_ver_cables {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t enable;
+	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.identifier */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t identifier;
+	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.qsfp.extended_identifier */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t extended_identifier;
+	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.qsfp.device_tech */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t device_tech;
+	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.qsfp.attenuation_5g */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t attenuation_5g;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t thermal_threshold_tcontrol;
+	/* Description - .scratchpad.peripherals.module_mng.module_database[NUM].vendor_oui */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t vendor_oui;
+	/* Description - .scratchpad.peripherals.module_mng.module_database[NUM].m_fsm_state */
+	/* 0x4.24 - 0x4.29 */
+	 u_int8_t m_fsm_state;
+	/* Description - .scratchpad.peripherals.module_mng.module_database[NUM].mlnx_cable */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t mlnx_cable;
+	/* Description - .scratchpad.peripherals.module_mng.module_database[NUM].eeprom_present */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t eeprom_present;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t thermal_threshold_tcontrol_low;
+	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.sfp.link_length_supported */
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t link_length_supported;
+	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.sfp.eth_com_codes */
+	/* 0x8.8 - 0x8.15 */
+	 u_int8_t eth_com_codes;
+	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.sfp.tech */
+	/* 0x8.16 - 0x8.24 */
+	 u_int16_t tech;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t thermal_threshold_twarning;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t thermal_threshold_twarning_low;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t thermal_threshold_tcritical;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t thermal_threshold_tcritical_low;
+	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.sfp.ib_10ge_com_codes */
+	/* 0xc.0 - 0xc.6 */
+	 u_int8_t ib_10ge_com_codes;
 };
 
 /* Description -   */
-/* Size in bytes - 20 */
-struct connectib_ocsd_config {
+/* Size in bytes - 16 */
+struct connectib_icmd_pcie_ver_device {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t enable;
+	/* Description - .yu.boot.devid.devid */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t devid;
+	/* Description - .yu.boot.devid.revid */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t revid;
+	/* Description - .yu.boot.reset.strap_eprom_present */
+	/* 0x0.20 - 0x0.20 */
+	 u_int8_t strap_eprom_present;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_code_coverage_control {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Window start address [Byte] is code address */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t window;
+	/* Description - Read only: size in bytes of collection window. */
+	/* 0x0.24 - 0x0.28 */
+	 u_int8_t log_window_size;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Bitmask of irisc to collect 1-Iron, 0-7 plastic */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t irisc_bitmask;
+	/* Description - Shomron only. back pressure on congestion */
+	/* 0x4.24 - 0x4.24 */
+	 u_int8_t bp;
+	/* Description - Shomron only. If set collect all IPs, if cleared only branches */
+	/* 0x4.25 - 0x4.25 */
+	 u_int8_t all_ips;
+	/* Description - Shomron only. Use 0 for legacy mode, non 0 for future modes */
+	/* 0x4.26 - 0x4.27 */
+	 u_int8_t trace_mode;
+	/* Description - If set tracer will be enabled. For ini, use boot field for boot collection */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t enable;
+};
+
+/* Description -   */
+/* Size in bytes - 128 */
+struct connectib_vport_real_state {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t internal_caution_threshold;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t extrenal_caution_threshold;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t internal_max_cont_threshold;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x0.28 - 0x80.27 */
+	 u_int8_t real_state[256];
+};
+
+/* Description -   */
+/* Size in bytes - 512 */
+struct connectib_fw_esw {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t external_max_cont_threshold;
+	/* 0x0.16 - 0x200.15 */
+	 struct connectib_fw_vport_ctx vport_ctx[256];
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_extended_port_info_ini {
+/* Size in bytes - 64 */
+union connectib_gvmix_sub_structs {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t link_speed_supported;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_cmdif_ctx cmdif_ctx;
 	/* Description -  */
-	/* 0.8 - 0.15 */
-	 u_int8_t link_speed_enabled;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_dummy_addresses_one_cache_line dummy_addresses;
 	/* Description -  */
-	/* 0.16 - 0.16 */
-	 u_int8_t llr_64_byte_cell_size;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_hca_params hca_params;
 	/* Description -  */
-	/* 0.17 - 0.17 */
-	 u_int8_t llr_128_byte_cell_size;
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_icm_page_manager icm_page_manager;
 	/* Description -  */
-	/* 0.18 - 0.18 */
-	 u_int8_t link_up_after_boot;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_vf_pages_list vf_pages_list;
 };
 
 /* Description -   */
-/* Size in bytes - 28 */
-struct connectib_ib_port_info_ini {
+/* Size in bytes - 64 */
+struct connectib_sw_eqe {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Event Sub Type.
+Defined for events which have sub types, zero elsewhere. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t event_sub_type;
+	/* Description - Event Type */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t event_type;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Delivers auxiliary data to handle the event.
+ See Table 142, "
+Event_data Field - Completion Event Layout
+," on 
+page 335
+ See Table 144, "
+Event_data Field - DCT Events Layout
+," on page 335
+ See Table 146, "
+Event_data Field - 
+QP/
+SQ/RQ Events Layout
+," on 
+page 336
+ See Table 149, "
+Event_data Field - WQE Associated Page Fault Event 
+Layout
+," on page 337
+ See Table 151, "
+Event_data Field - RDMA Page Fault Event Layout
+," 
+on page 338
+ See Table 153, "
+Event_data Field - Completion Queue Error Event Lay
+out
+," on page 339
+ See Table 155, "
+Event_data Field - DROPPED_PACKET_LOGGED 
+Event Layout
+," on page 340
+ See Table 157, "
+Event_data Field - Port State Change Event Layout
+," on 
+page 341
+ See Table 160, "
+Event_data Field - GPIO Event Layout
+," on page 342
+ See Table 162, "
+Event_data Field - Port Module Event Layout
+," on 
+page 342
+ See Table 164, "
+Event_data Field - DCBX Change Event Layout
+," on 
+page 343
+ See Table 168, "
+Temperature Warning Event Layout
+," on page 345
+ See Table 170, "
+Event_data Field - Doorbell / Blueflame Congestion 
+Event Layout
+," on page 346
+ See Table 173, "
+Event_data Field - Stall VL Event Field Descriptions
+," 
+on page 347
+ See Table 174, "
+Event_data Field - Command interface Completion 
+Event Layout
+," on page 347
+ See Table 176, "
+Pages Request Event Layout
+," on page 347
+ See Table 178, "
+Nic Vport Change Event Layout
+," on page 348
+ See Table 180, "
+Event_data Field - FPGA Error Event Layout
+," on 
+page 348
+ See Table 182, "
+Event_data Field - FPGA QP Error Event Layout
+," on 
+page 349 */
+	/* 0x20.0 - 0x3c.31 */
+	 union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto event_data;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - Owner of the entry */
+	/* 0x3c.0 - 0x3c.0 */
+	 u_int8_t owner;
+	/* Description - Byte-wise XOR of EQE - signature protection (see 
+ See Section 16.2.4, 
+"
+Completion and Event Queue Elements (CQEs and EQEs)
+," on 
+page 474
+). EQE is valid if byte-wise XOR of entire EQE (including 
+sig
+nature
+ field) and the EQE index is 0xff. */
+	/* 0x3c.8 - 0x3c.15 */
+	 u_int8_t signature;
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_lock_tag {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Additional supported capabilities of this port. Valid only if IsCapabilityMask2Supported bit is set in CapabilityMask. A bit set to 1 indicates affirmation of supported capability. 0: IsSetNodeDescriptionSupportede 1: IsPortInfoExtendedSupported 2-15: Reserved */
-	/* 0.0 - 0.15 */
-	 u_int16_t cap_mask2;
-	/* Description - Diagnostic code, as described in 14.2.5.6.1 Interpretation of DiagCode on page 889. */
-	/* 0.16 - 4.31 */
-	 u_int16_t diag_code;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Optional; shall be 0 if not implemented (PortInfo:CapabilityMask.IsLinkRoundTripLatency-Supported = 0). This value represents a measurement of the round-trip latency of the link attached to this port. It is an unsigned 24-bit integer counting 4 nsec. intervals. This value might not be accurate to better than +/- 4 nsec. A value of 0 is valid when implemented, and indicates a latency of up to 4 nsec. LinkRoundTripLatency is reset to 0xFFFFFF whenever this port transition [...]
-	/* 4.0 - 4.23 */
-	 u_int32_t link_roundtrip_lat;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Optional; shall be 0 if not implemented (PortInfo:CapabilityMask.IsLinkRoundTripLatency-Supported = 0). This value provides a vendordependent indication of the maximum number of credits available per VL on the Port. */
-	/* 8.0 - 8.15 */
-	 u_int16_t max_credit_hint;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 union connectib_port_cap_mask1 cap_mask;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t resource_id;
 	/* Description -  */
-	/* 16.0 - 16.7 */
-	 u_int8_t link_width_sup;
-	/* Description - Enabled link width, indicated as follows: 0: No State Change valid only on Set(); 1: 1x 2: 4x; 3: 1x or 4x; 4: 8x; 5: 1x or 8x; 6: 4x or 8x; 7: 1x or 4x or 8x; 8: 12x; 9: 1x or 12x; 10: 4x or 12x; 11: 1x or 4x or 12x; 12: 8x or 12x; 13: 1x or 8x or 12x; 14: 4x or 8x or 12x; 15: 1x or 4x or 8x or 12x; 16 - 254: Reserved; 255: Set to LinkWidthSupported value; response; contains actual LinkWidthSupported.;Changes to this component do not take effect immediately. See Infini [...]
-	/* 16.8 - 16.15 */
-	 u_int8_t link_width_ena;
-	/* Description - Enabled link speed, indicated as follows: 0: No State Change; valid only on Set(); 1: 2.5 Gbps (also when SMSupportsExtended-Speeds is set to 0 on set, disable any extended speeds); 3: 2.5 or 5.0 Gbps (also when SMSupportsExtendedSpeeds is set to 0 on set, disable any extended speeds); 5: 2.5 or 10.0 Gbps (or higher when SMSupportsExtendedSpeeds is set to 0 in request/response AM); 7: 2.5 or 5.0 or 10.0 Gbps (or higher when SMSupportsExtendedSpeeds is set to 0 in reques [...]
-	/* 16.16 - 16.19 */
-	 u_int8_t link_speed_ena;
-	/* Description - 0: No state change; valid only on Set(); 1: Sleep; 2: Polling; 3 - 15: Reserved; See InfiniBand Architecture Specification Volume 2, Link/Phy Interface chapter. */
-	/* 16.20 - 16.23 */
-	 u_int8_t down_def_state;
-	/* Description - Supported link speed, indicated as follows: 1: 2.5 Gbps; 3: 2.5 or 5.0 Gbps; 5: 2.5 or 10.0 Gbps (or higher when SMSupportsExtendedSpeeds is set to 0 in request/response AM); 7: 2.5 or 5.0 or 10.0 Gbps (or higher when SMSupportsExtendedSpeeds is set to 0 in request/response AM); 0, 2, 4, 6, 8-15: Reserved; Note: See 14.3.14 SMSupportsExtendedLink-Speeds on page 932 for more information on SMSupportsExtendedSpeeds. */
-	/* 16.24 - 16.27 */
-	 u_int8_t link_speed_sup;
-	/* Description - Optional; shall be 0 if not implemented. Type of initialization requested by this port before SM moves it to Active or Armed state. See 14.4.4 Node Reinitialization on page 947.;/  bit 0: NoLoad. 0 = Port is requesting that its attributes be initialized (see 14.4.3 Initialization Actions on page 943). 1 = Port is requesting that no data be loaded into its attributes at all, asserting that the last-loaded data still exists and is valid.;/  bit 1: PreserveContent. 0 = Por [...]
-	/* 16.28 - 20.31 */
-	 u_int8_t init_type;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description - VL/Weight pairs supported on this port in the VLArbitration table for high priority. Shall be 1 to 64 if more than one data VL is supported on this port, 0 otherwise. See 7.6.9 VL Arbitration and Prioritization on page 200. */
-	/* 20.0 - 20.7 */
-	 u_int8_t vl_arb_high_cap;
-	/* Description - Limit of High Priority component of VL Arbitration Table, as defined in 7.6.9 VL Arbitration and Prioritization on page 200. */
-	/* 20.8 - 20.15 */
-	 u_int8_t vl_high_limit;
-	/* Description - Virtual Lanes supported on this port, indicated as follows: 1: VL0; 2: VL0, VL1; 3: VL0 - VL3; 4: VL0 - VL7; 5: VL0 - VL14; 0, 6 - 15: reserved */
-	/* 20.16 - 20.19 */
-	 u_int8_t vl_cap;
-	/* Description - VL/Weight pairs supported on this port in the VLArbitration table for high priority. Shall be 1 to 64 if more than one data VL is supported on this port, 0 otherwise. See 7.6.9 VL Arbitration and Prioritization on page 200. */
-	/* 20.20 - 20.27 */
-	 u_int8_t vl_arb_low_cap;
-	/* Description - Virtual Lanes operational on this port, indicated as follows: 0: No change; valid only on Set();/ 1: VL0;/ 2: VL0, VL1;/ 3: VL0 - VL3;/ 4: VL0 - VL7;/ 5: VL0 - VL14;/ 6 - 15: reserved;/ Changing OperationalVLs in certain PortStates may cause flow control update errors which may initiate Link/Phy retraining. */
-	/* 20.28 - 24.31 */
-	 u_int8_t operational_vl;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Virtual Lanes operational on this port, indicated as follows: 0: No change; valid only on Set();/ 1: VL0;/ 2: VL0, VL1;/ 3: VL0 - VL3;/ 4: VL0 - VL7;/ 5: VL0 - VL14;/ 6 - 15: reserved;/ Changing OperationalVLs in certain PortStates may cause flow control update errors which may initiate Link/Phy retraining. */
-	/* 24.0 - 24.3 */
-	 u_int8_t neighbor_mtu;
-	/* Description - Maximum MTU supported by this port.;/ 1: 256 ;/ 2: 512;/ 3: 1024;/ 4: 2048;/ 5: 4096;/ 0, 6 - 15: reserved */
-	/* 24.4 - 24.7 */
-	 u_int8_t mtu_cap;
-	/* Description - Multicast PKey Trap Suppression Enable */
-	/* 24.8 - 24.9 */
-	 u_int8_t mc_pkey_trap_suppress_en;
-	/* Description - Number of GUID entries supported in the GUIDInfo attribute for this port. */
-	/* 24.10 - 24.17 */
-	 u_int8_t guid_cap;
-	/* Description - Specifies the expected maximum time between the port reception of a SMP and the transmission of the associated response. The duration of time is calculated based on (4.096 usec * 2^RespTimeValue). */
-	/* 24.18 - 24.22 */
-	 u_int8_t resp_time_value;
-	/* Description - 0: No State Change; valid only on Set(); 1: 14.0625 Gbps (FDR); 2: 25.78125 Gbps (EDR); 3: 14.0625 Gbps (FDR) or 25.78125 Gbps (EDR); 4-29: Reserved; 30: Disable extended link speeds/Extended link speeds disabled; 31: Set to LinkSpeedExtSupported value; response contains actual LinkSpeedExtSupported; */
-	/* 24.23 - 24.27 */
-	 u_int8_t link_speed_ext_ena;
-	/* Description - 0: Reserved; 1: 14.0625 Gbps (FDR); 2: 25.78125 Gbps (EDR); 3: 14.0625 Gbps (FDR) or 25.78125 Gbps (EDR); 4-15: Reserved */
-	/* 24.28 - 28.31 */
-	 u_int8_t link_speed_ext_sup;
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t resource_type;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_node_info {
+/* Size in bytes - 276 */
+struct connectib_icmd_generic_reg_access_reg_tlv {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t num_of_ports;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_reg_access_tlv hdr;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.8 - 0.15 */
-	 u_int8_t node_type;
+	/* 0x4.0 - 0x114.31 */
+	 union connectib_icmd_generic_reg_access_reg_tlv_data reg_tlv_data;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_reg_access_oper_tlv {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Code indicating status of operation */
+	/* 0x0.8 - 0x0.14 */
+	 u_int8_t Status;
+	/* Description - Direct route - must be set on direct route packets. DR TLV must follow. */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t dr;
 	/* Description -  */
-	/* 0.16 - 0.23 */
-	 u_int8_t class_version;
+	/* 0x0.16 - 0x0.26 */
+	 u_int16_t len;
 	/* Description -  */
-	/* 0.24 - 4.31 */
-	 u_int8_t base_version;
+	/* 0x0.27 - 0x0.31 */
+	 u_int8_t type;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t system_image_guid_hi;
+	/* Description - Class of operation */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t class_;
+	/* Description - Method to perform Based on Management Class */
+	/* 0x4.8 - 0x4.14 */
+	 u_int8_t Method;
+	/* Description - Response
+0 Request */
+	/* 0x4.15 - 0x4.15 */
+	 u_int8_t r;
+	/* Description - Defines objects being operated by a management class (Page 658) */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t register_id;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t system_image_guid_lo;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t node_guid_hi;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t node_guid_lo;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t port_guid_hi;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t port_guid_lo;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description -  */
-	/* 28.0 - 28.15 */
-	 u_int16_t device_id;
-	/* Description -  */
-	/* 28.16 - 32.31 */
-	 u_int16_t partition_cap;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description -  */
-	/* 32.0 - 36.31 */
-	 u_int32_t revision;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description -  */
-	/* 36.0 - 36.23 */
-	 u_int32_t vendor_id;
-	/* Description -  */
-	/* 36.24 - 40.31 */
-	 u_int8_t local_port_num;
+	/* 0x8.0 - 0x10.31 */
+	 struct connectib_IB_TID TID;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_led_port_blink_pattern {
+/* Size in bytes - 4 */
+union connectib_icmd_kdnet_ctrl_io {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t phy_pattern;
-	/* Description -  */
-	/* 0.16 - 4.31 */
-	 u_int16_t log_pattern;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_kdnet_ctrl_in ctrl_in;
 	/* Description -  */
-	/* 4.0 - 4.7 */
-	 u_int8_t length;
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_kdnet_ctrl_out ctrl_out;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_uid_entry {
+/* Size in bytes - 8 */
+struct connectib_icmd_query_cap_general {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Number of allocated UIDs in this entry */
-	/* 0.0 - 0.7 */
-	 u_int8_t num_allocated;
-	/* Description - Step size by which to derive the UIDs for this entry
-See struct description */
-	/* 0.8 - 0.15 */
-	 u_int8_t step;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - For MACs, the upper 16 bits in the 'hi' dword are reserved */
-	/* 8.0 - 16.31 */
-	 u_int64_t uid;
+	/* Description - When set, device supports FW components updated through ICMD interface. 
+See 
+"Firmware Components Update" on page 428
+ */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t fw_ctrl_update_icmd;
+	/* Description - When set, the 
+"
+ICMD_KDNET_CTRL - Control KDNET PF
+"
+ com
+mand is supported. */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t kdnet_ctrl;
+	/* Description - When set, multi-host synchronization through the device is supported. 
+ See 
+Section 25.4.3, "
+ICMD_MH_SYNC - Multi-Host Synchronization
+," on 
+page 772
+. */
+	/* 0x0.28 - 0x0.28 */
+	 u_int8_t mh_sync;
+	/* Description - If set, ICMD_ACCESS_REGISTER supports every register. (in the past it sup
+ported some of them). */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t allow_icmd_access_reg_on_all_registers;
+	/* Description - When set, ICMD_QUERY_FW_INFO returns the 
+psid
+ field. */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t fw_info_psid;
+	/* Description - When set, ICMD_ACCESS_REGISTER supports the following registers:
+NVDA
+NVDI
+NVIA
+NVQC */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t nv_access;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - If set, wake on phy activity is supported. */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t wol_p;
+	/* Description - If set, wake on unicast packet is supported. */
+	/* 0x4.1 - 0x4.1 */
+	 u_int8_t wol_u;
+	/* Description - If set, wake on multicast packet is supported. */
+	/* 0x4.2 - 0x4.2 */
+	 u_int8_t wol_m;
+	/* Description - If set, wake on broadcast packet is supported. */
+	/* 0x4.3 - 0x4.3 */
+	 u_int8_t wol_b;
+	/* Description - If set, wake on ARP is supported. */
+	/* 0x4.4 - 0x4.4 */
+	 u_int8_t wol_a;
+	/* Description - If set, wake on magic packet is supported. */
+	/* 0x4.5 - 0x4.5 */
+	 u_int8_t wol_g;
+	/* Description - If set, wake on secured magic packet is supported. */
+	/* 0x4.6 - 0x4.6 */
+	 u_int8_t wol_s;
+	/* Description - If set, reset on magic packet is supported. */
+	/* 0x4.8 - 0x4.8 */
+	 u_int8_t rol_g;
+	/* Description - If set, reset on secured magic packet is supp
+o
+rted. */
+	/* 0x4.9 - 0x4.9 */
+	 u_int8_t rol_s;
+	/* Description - If set, FPGA device is supported by the device. See TBD */
+	/* 0x4.10 - 0x4.10 */
+	 u_int8_t fpga;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_module_version {
+struct connectib_icmd_query_cap_in {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t branch;
-	/* Description -  */
-	/* 0.8 - 0.19 */
-	 u_int16_t minor;
-	/* Description -  */
-	/* 0.20 - 4.31 */
-	 u_int16_t major;
+	/* Description - Group of capabilities.
+0x0 - General capability
+other values are reserved. */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t capability_group;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_reset_level_info {
+/* Size in bytes - 64 */
+struct connectib_cable_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_reset_version ver;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t address;
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t page_number;
+	/* Description - slave adddr */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t device_address;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t ini_sig;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t size;
+	/* Description - If set to 1 will force the password to be cleared from the module password field at the end of the module access. */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t passwd_clr;
+	/* Description - If set to 1 the Password field is valid and is written to the module password field (address 123-126) before accessing the page. */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t passwd_v;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - 2^0-full ISFU, 2^1-management+link up ISFU 2^2-only PCIe ISFU 2^3-PCI disable/enable, 2^7-power_up */
-	/* 8.0 - 8.7 */
-	 u_int8_t reset_type;
-	/* Description -  */
-	/* 8.8 - 8.8 */
-	 u_int8_t ini_sig_v;
+	/* Description - The password that is written to the module password field. */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t password;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 8.9 - 8.9 */
-	 u_int8_t ini_sig_ignore;
+	/* 0x10.0 - 0x40.31 */
+	 u_int32_t dword[12];
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_vport_info {
+/* Size in bytes - 64 */
+struct connectib_grepper_dwords {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - IB + ROCE */
-	/* 0.0 - 8.31 */
-	 u_int64_t port_guid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - IB + ROCE */
-	/* 8.0 - 16.31 */
-	 u_int64_t node_guid;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 24.31 */
-	 struct connectib_mac_address_layout permanent_address;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 24.15 */
-	 u_int16_t cap_mask;
-	/* Description -  */
-	/* 24.16 - 24.27 */
-	 u_int16_t allowed_list_size;
 	/* Description -  */
-	/* 24.31 - 28.31 */
-	 u_int8_t roce_en;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 u_int32_t dwords[16];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_itrace {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - bit numbers:
+0=DEBUG_INIT
+1=INIT
+2=ICM
+3=ICM_FREE_LIST
+4=LOG_MOD_HOST_MNG
+5=CMD_IF
+6=PHY_IB
+7=PHY_RX_ADAP
+8=PHY_EYE_OPN
+9=PHY_GENERAL
+10=PHY_MANAGER
+11=PWR
+12=FLR
+13=ICM_ACCESS
+14=MAD
+15=RXT_CHECKS
+16=I2C
+17=TRANSPORT
+18=FW_LL
+19=RX_ERRORS
+20=CMDIF_DRIVER
+21=PROFILING
+22=MANAGEMENT
+23=FLASH
+24=STEERING
+25=IFARM
+26=ICMD
+27=PCI
+28=DC_CLEANUP
+29=PHY_ETH
+30=VIRT */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t unit_mask;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 28.0 - 28.15 */
-	 u_int16_t p_key_violations;
-	/* Description - IB + ROCE */
-	/* 28.16 - 32.31 */
-	 u_int16_t q_key_violations;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_itrace_ctrl ctrl;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_vport_shadow {
+/* Size in bytes - 2 */
+struct connectib_cc_table_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - IB + ROCE */
-	/* 0.0 - 8.31 */
-	 u_int64_t port_guid;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - IB + ROCE */
-	/* 8.0 - 16.31 */
-	 u_int64_t node_guid;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 24.31 */
-	 struct connectib_mac_address_layout permanent_address;
+	/* Description - this is the shift value used when calculating the injection rate delay */
+	/* 0x0.0 - 0x0.13 */
+	 u_int16_t cct_multiplier;
+	/* Description - this is the multiplier used when calculating the injection rate delay */
+	/* 0x0.14 - 0x0.15 */
+	 u_int8_t cct_shift;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_general_fault_injector_pair {
+/* Size in bytes - 8 */
+struct connectib_ca_congestion_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - in config: must be bigger then 1 */
-	/* 0.0 - 0.15 */
-	 u_int16_t freq;
-	/* Description - the error will be hooks_duration of times in sequence */
-	/* 0.16 - 4.31 */
-	 u_int16_t duration;
+	/* Description - when the CCTI is equal to this value, an event is logged in the CA's cycyclic event log */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t trigger_threshold;
+	/* Description - the number to be added to the table index (CCTI) on the receipt of a BECN */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t ccti_increase;
+	/* Description - when the timer expires it will be reset to its specified value, and 1 will be decremented from the CCTI */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t ccti_timer;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - the minimum value permitted for the CCTI. This is used to impose a minimum injection rate delay on the SL */
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t ccti_min;
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_pvlc_reg {
+struct connectib_congestion_log_event_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Local port number */
-	/* 0.16 - 0.23 */
-	 u_int8_t local_port;
+	/* Description - local QP that reached CN threshold. Set to zero if port threshold reached */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t service_type;
+	/* Description - SL associated with local QP */
+	/* 0x0.4 - 0x0.7 */
+	 u_int8_t sl;
+	/* Description - remote QP that is connect to local QP. set to zero for datagram QPs */
+	/* 0x0.8 - 0x0.31 */
+	 u_int32_t local_qpn;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Virtual Lanes supported on this port.
-0 - Reserved
-1: VL0
-2: VL0, VL1
-3: VL0 - VL2
-4: VL0 - VL3
-5: VL0 - VL4
-6: VL0 - VL5
-7: VL0 - VL6
-8: VL0 - VL7
-15: VL0 - VL14 */
-	/* 4.0 - 4.3 */
-	 u_int8_t vl_hw_cap;
+	/* Description - local QP that reached CN threshold. Set to zero if port threshold reached */
+	/* 0x4.8 - 0x4.31 */
+	 u_int32_t remote_qpn;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Virtual Lanes enabled by the local admin on this port.
-0: No change; valid only on Set()
-1: VL0
-2: VL0, VL1
-3: VL0 - VL2
-4: VL0 - VL3
-5: VL0 - VL4
-6: VL0 - VL5
-7: VL0 - VL6
-8: VL0 - VL7
-15: VL0 - VL14 */
-	/* 8.0 - 8.3 */
-	 u_int8_t vl_admin;
+	/* Description - LID of remote port that is connet to local QP. Set to zero for datagram service */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t remote_lid;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - Operational VLs as configured by the SM on this port:
-0: No change; valid only on Set()
-1: VL0
-2: VL0, VL1
-3: VL0 - VL2 
-4: VL0 - VL3
-5: VL0 - VL4
-6: VL0 - VL5
-7: VL0 - VL6
-8: VL0 - VL7
-15: VL0 - VL14
-Changing 
-vl_operational
- in certain PortStates may cause in flow control 
-update errors which may initiate Link/PHY retraining. */
-	/* 12.0 - 12.3 */
-	 u_int8_t vl_operational;
+	/* Description - timestamp when threshold reached */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t timestamp;
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-struct connectib_icmd_get_ste_resources_list_out {
+/* Size in bytes - 32 */
+struct connectib_special_qps {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t resources_count;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t qp0;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 256.31 */
-	 struct connectib_resource_type_entry resource_type[63];
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t qp1;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t raw;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t ipv6;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t reserved;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t ptp1588;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t sync_umr;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t cnak;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_ste_resources_list_in {
+/* Size in bytes - 64 */
+struct connectib_cmdif_hdr {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t gvmi;
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t reserved0;
+	/* Description - cmd type = 0x7 */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - input command length in bytes */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t input_length;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t ibox_pointer;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - just the standart, The first 128 bits of the command input */
+	/* 0x10.0 - 0x20.31 */
+	 struct connectib_input_inline_standart input_inline;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The first 128 bits of the command output */
+	/* 0x20.0 - 0x30.31 */
+	 struct connectib_output_inline_standart output_inline;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description -  */
+	/* 0x30.0 - 0x38.31 */
+	 u_int64_t obox_pointer;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description - output command length in bytes */
+	/* 0x38.0 - 0x3c.31 */
+	 u_int32_t output_length;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - SW should set to 1 when posting the command. HW will change to zero to move ownership bit to SW. */
+	/* 0x3c.0 - 0x3c.0 */
+	 u_int8_t ownership;
+	/* Description -     NO_ERRORS          = 0x0,
+    SIGNATURE_ERROR    = 0x1,
+    TOKEN_ERROR        = 0x2,
+    BAD_BLOCK_NUMBER   = 0x3,
+    BAD_OUTPUT_POINTER = 0x4,   // pointer not align to mailbox size
+    BAD_INPUT_POINTER  = 0x5,   // pointer not align to mailbox size
+    INTERNAL_ERROR     = 0x6,
+    INPUT_LEN_ERROR    = 0x7,   // input  length less than 0x8.
+    OUTPUT_LEN_ERROR   = 0x8,   // output length less than 0x8.
+    RESERVE_NOT_ZERO   = 0x9,
+    BAD_CMD_TYPE       = 0x10,
+ */
+	/* 0x3c.1 - 0x3c.7 */
+	 u_int8_t status;
+	/* Description -  */
+	/* 0x3c.8 - 0x3c.15 */
+	 u_int8_t reserved1;
+	/* Description - SW should set to 1 when posting the command. HW will change to zero to move ownership bit to SW. */
+	/* 0x3c.16 - 0x3c.23 */
+	 u_int8_t signature;
+	/* Description - SW should set to 1 when posting the command. HW will change to zero to move ownership bit to SW. */
+	/* 0x3c.24 - 0x3c.31 */
+	 u_int8_t token;
 };
 
 /* Description -   */
-/* Size in bytes - 768 */
-struct connectib_icmd_get_ste_open_resources_out {
+/* Size in bytes - 64 */
+struct connectib_icmd_header_capture_checks {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - there are more open resources, please query again with the next start index */
-	/* 0.0 - 0.0 */
-	 u_int8_t more;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - number of valid entries in open resources table */
-	/* 4.0 - 8.31 */
-	 u_int32_t output_size;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 520.31 */
-	 struct connectib_index_and_length opened_resource[32];
+	/* 0x0.0 - 0x40.31 */
+	 u_int32_t word[16];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_ste_open_resources_in {
+/* Size in bytes - 128 */
+struct connectib_icmd_header_capture_headers {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t gvmi;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t icm_resource_type;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 16.31 */
-	 u_int64_t start_index;
+	/* 0x0.0 - 0x80.31 */
+	 u_int32_t word[32];
 };
 
 /* Description -   */
-/* Size in bytes - 768 */
-struct connectib_icmd_get_fte_out {
+/* Size in bytes - 256 */
+union connectib_g_rse_hw_decoders {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t action;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t valid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t group_id;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 8.23 */
-	 u_int32_t flow_tag;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_rxt_checks_packet_descriptor_decoder rxt_checks_packet_descriptor_decoder;
 	/* Description -  */
-	/* 12.0 - 12.23 */
-	 u_int32_t destination_list_size;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_rxt_steering_context_decoder rxt_steering_context_decoder;
 	/* Description -  */
-	/* 64.0 - 128.31 */
-	 struct connectib_flow_table_entry_match_set_lyr_2_4 outer_headers;
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_rxt_checks_steering_results_decoder rxt_checks_steering_results_decoder;
 	/* Description -  */
-	/* 128.0 - 192.31 */
-	 struct connectib_flow_table_entry_match_set_misc misc_parameters;
-/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_rxt_context_fetch_qp_desc_decoder rxt_context_fetch_qp_desc_decoder;
 	/* Description -  */
-	/* 192.0 - 256.31 */
-	 struct connectib_flow_table_entry_match_set_lyr_2_4 inner_headers;
-/*---------------- DWORD[64] (Offset 0x100) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_rxs_rxt_desc_decoder rxs_rxt_desc_decoder;
 	/* Description -  */
-	/* 256.0 - 768.31 */
-	 struct connectib_dest_format_struct destination[64];
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_g_rse_decoders_as_dwords raw_dwords;
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_icmd_get_fte_in {
+struct connectib_FW_VERSION {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t table_id;
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t MAJOR;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t gvmi;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t SUBMINOR;
+	/* Description -  */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t MINOR;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t flow_index;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x8.8 - 0x8.15 */
+	 u_int8_t Hour;
 	/* Description -  */
-	/* 12.0 - 12.15 */
-	 u_int16_t requested_fte_partition;
-};
-
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_fte_list_out {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x8.16 - 0x8.23 */
+	 u_int8_t Minutes;
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t valid;
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t Seconds;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.30 - 0.30 */
-	 u_int8_t last;
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t Day;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t first;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0xc.8 - 0xc.15 */
+	 u_int8_t Month;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t flow_index;
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t Year;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_fte_list_in {
+/* Size in bytes - 64 */
+union connectib_golan_hw_fw_ctx {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t table_id;
-	/* Description - 0: Request the first FTE and ignore flow_index
-1: Request the next FTE following the one pointed by flow_index */
-	/* 0.29 - 4.31 */
-	 u_int8_t info;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_hw_hca_contexts hw_ctx;
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t gvmi;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_fw_resource_context fw_ctx;
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t flow_index;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_ctx_as_dwords as_dwords;
 };
 
 /* Description -   */
 /* Size in bytes - 256 */
-struct connectib_icmd_get_fg_out {
+struct connectib_wqe_extended_atomic_fetch_add_128byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t start_flow_index;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t end_flow_index;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 8.7 */
-	 u_int8_t match_criteria_enable;
-	/* Description -  */
-	/* 8.31 - 12.31 */
-	 u_int8_t valid;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description -  */
-	/* 64.0 - 128.31 */
-	 struct connectib_flow_table_entry_match_set_lyr_2_4 outer_headers;
+	/* 0x0.0 - 0x80.31 */
+	 struct connectib_add_data add_data[32];
 /*---------------- DWORD[32] (Offset 0x80) ----------------*/
 	/* Description -  */
-	/* 128.0 - 192.31 */
-	 struct connectib_flow_table_entry_match_set_misc misc_parameters;
-/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
-	/* Description -  */
-	/* 192.0 - 256.31 */
-	 struct connectib_flow_table_entry_match_set_lyr_2_4 inner_headers;
+	/* 0x80.0 - 0x100.31 */
+	 struct connectib_field_boundary field_boundary[32];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_fg_in {
+/* Size in bytes - 128 */
+struct connectib_wqe_extended_atomic_fetch_add_64byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t table_id;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t gvmi;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_add_data add_data[16];
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t group_id;
+	/* 0x40.0 - 0x80.31 */
+	 struct connectib_field_boundary field_boundary[16];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_fg_list_out {
+/* Size in bytes - 64 */
+struct connectib_wqe_extended_atomic_fetch_add_32byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t valid;
-	/* Description -  */
-	/* 0.30 - 0.30 */
-	 u_int8_t last;
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t first;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_add_data add_data[8];
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t group_id;
+	/* 0x20.0 - 0x40.31 */
+	 struct connectib_field_boundary field_boundary[8];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_fg_list_in {
+/* Size in bytes - 32 */
+struct connectib_wqe_extended_atomic_fetch_add_16byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t table_id;
-	/* Description - 0: Request the first FG and ignore group_ID
-1: Request the next FG following the one pointed by Group_ID */
-	/* 0.29 - 4.31 */
-	 u_int8_t info;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t gvmi;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_add_data add_data[4];
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t group_id;
+	/* 0x10.0 - 0x20.31 */
+	 struct connectib_field_boundary field_boundary[4];
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_icmd_get_ft_info_out {
+struct connectib_wqe_extended_atomic_fetch_add_8byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
-	 u_int8_t log_size;
-	/* Description -  */
-	/* 0.8 - 0.15 */
-	 u_int8_t level;
-	/* Description -  */
-	/* 0.16 - 0.23 */
-	 u_int8_t table_type;
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_add_data add_data[2];
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t valid;
+	/* 0x8.0 - 0x10.31 */
+	 struct connectib_field_boundary field_boundary[2];
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_icmd_get_ft_info_in {
+struct connectib_wqe_extended_atomic_fetch_add_4byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t table_id;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t add_data;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t gvmi;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t field_boundary;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_ft_list_out {
+/* Size in bytes - 512 */
+struct connectib_wqe_extended_atomic_cmp_swap_128byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t table_id;
+	/* 0x0.0 - 0x80.31 */
+	 struct connectib_swap_data swap_data[32];
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
 	/* Description -  */
-	/* 0.28 - 0.28 */
-	 u_int8_t valid;
+	/* 0x80.0 - 0x100.31 */
+	 struct connectib_compare_data compare_data[32];
+/*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 0.30 - 0.30 */
-	 u_int8_t last;
+	/* 0x100.0 - 0x180.31 */
+	 struct connectib_swap_mask_data swap_mask_data[32];
+/*---------------- DWORD[96] (Offset 0x180) ----------------*/
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t first;
+	/* 0x180.0 - 0x200.31 */
+	 struct connectib_compare_mask_data compare_mask_data[32];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_get_ft_list_in {
+/* Size in bytes - 256 */
+struct connectib_wqe_extended_atomic_cmp_swap_64byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t table_id;
-	/* Description - 0: Request the first FT and ignore Table_ID
-1: Request  the next FT following the one pointed by Table_ID */
-	/* 0.29 - 4.31 */
-	 u_int8_t info;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_swap_data swap_data[16];
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t gvmi;
+	/* 0x40.0 - 0x80.31 */
+	 struct connectib_compare_data compare_data[16];
+/*---------------- DWORD[32] (Offset 0x80) ----------------*/
+	/* Description -  */
+	/* 0x80.0 - 0xc0.31 */
+	 struct connectib_swap_mask_data swap_mask_data[16];
+/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
+	/* Description -  */
+	/* 0xc0.0 - 0x100.31 */
+	 struct connectib_compare_mask_data compare_mask_data[16];
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-struct connectib_ppcnt_reg {
+/* Size in bytes - 128 */
+struct connectib_wqe_extended_atomic_cmp_swap_32byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Performance counter group.
-Group 63 indicates all groups. Only valid on Set() operation with 
-clr
- bit set.
-0x0: IEEE 802.3 Counters
-0x1: RFC 2863 Counters
-0x2: RFC 2819 Counters
-0x3: RFC 3635 Counters
-0x5: Ethernet Extended Counters
-0x10: Per Priority Counters
-0x11: Per Traffic Class Counters */
-	/* 0.0 - 0.5 */
-	 u_int8_t grp;
-	/* Description - Port number access type:
-0 - Local port number
-1 - IB port number */
-	/* 0.14 - 0.15 */
-	 u_int8_t pnat;
-	/* Description - Local port number. 
-255 indicates all ports on the device, and is only allowed for Set() operation. */
-	/* 0.16 - 0.23 */
-	 u_int8_t local_port;
-	/* Description - For HCA
-:
- must be always 0.
-Switch partition ID to associate port with.
-Switch partitions are numbered from 0 to 7 inclusively.
-Switch partition 254 indicates stacking ports.
-Switch partition 255 indicates all switch partitions.
-Only valid on Set() operation with local_port=255. */
-	/* 0.24 - 4.31 */
-	 u_int8_t swid;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Priority for counter set that support per priority. Traffic class for counter set 
-the support per traffic class. Otherwise must be 0. */
-	/* 4.0 - 4.4 */
-	 u_int8_t prio_tc;
-	/* Description - Clear counters. Setting the 
-clr
- bit will reset the counter value for all counters 
-in the counter group. This bit can be set for both Set() and Get() operation. */
-	/* 4.31 - 8.31 */
-	 u_int8_t clr;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Counter set as described in:
- See Table 244, "
-Ethernet IEEE 802.3 Counters Group Data Layout
-," on 
-page 397
- See Table 246, "
-Ethernet RFC 2863 Counter Group Data Layout
-," on 
-page 400
- See Table 248, "
-Ethernet RFC 2819 Coun
-t
-er Group Data Layout
-," on 
-page 402
- See Table 250, "
-Ethernet RFC 3635 Counter Group Data Layout
-," on 
-page 405
- See Table 252, "
-Ethernet Extended Counter Group Data Layout
-," on 
-page 408
- See Table 254, "
-Ethernet Per Priority Group Data Layout
-," on page 409
- See Table 256, "
-Ethernet Per Traffic Cla
-s
-s Group data layout
-," on page 411 */
-	/* 8.0 - 256.31 */
-	 union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto counter_set;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_swap_data swap_data[8];
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x40.31 */
+	 struct connectib_compare_data compare_data[8];
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description -  */
+	/* 0x40.0 - 0x60.31 */
+	 struct connectib_swap_mask_data swap_mask_data[8];
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description -  */
+	/* 0x60.0 - 0x80.31 */
+	 struct connectib_compare_mask_data compare_mask_data[8];
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_ptys_reg {
+struct connectib_wqe_extended_atomic_cmp_swap_16byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Protocol Mask. Indicates which of the protocol data is valid
-Bit 0: InfiniBand
-Bit 2: Ethernet */
-	/* 0.0 - 0.2 */
-	 u_int8_t proto_mask;
-	/* Description - Local port number */
-	/* 0.16 - 0.23 */
-	 u_int8_t local_port;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - Ethernet port speed/protocols supported (bitmask)
-Bit 22 -100GBase KR4
-Bit 21 -100GBase SR4
-Bit 20 -100GBase CR4
-Bit 16 - 40GBase LR4/ER4
-Bit 15 - 40GBase SR4
-Bit 14 - 10GBase ER/LR
-Bit 13 - 10GBase SR
-Bit 12 - 10GBase CR
-Bit 7 - 40GBase KR4
-Bit 6 - 40GBase CR4
-Bit 4 - 10GBase KR
-Bit 3 - 10GBase KX4
-Bit 2 - 10GBase-CX4
-Bit 1 - 1000Base KX
-Bit 0 - SGMII */
-	/* 12.0 - 16.31 */
-	 u_int32_t eth_proto_capability;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_swap_data swap_data[4];
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - InfiniBand port speed supported (bitmask)
-ib_link_speed <= ib_proto_capability[7:0]
-Bit 0 - SDR
-Bit 1 - DDR
-Bit 2 - QDR
-Bit 3 - FDR10
-Bit 4 - FDR
-Bit 5 - EDR */
-	/* 16.0 - 16.15 */
-	 u_int16_t ib_proto_capability;
-	/* Description - ib_link_width <= ib_proto_capability
-Bit 0 - 1x
-Bit 1 - 2x
-Bit 2 - 4x */
-	/* 16.16 - 20.31 */
-	 u_int16_t ib_link_width_capability;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - Ethernet port speed/protocols bitmask */
-	/* 24.0 - 28.31 */
-	 u_int32_t eth_proto_admin;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - InfiniBand port speed bitmask */
-	/* 28.0 - 28.15 */
-	 u_int16_t ib_proto_admin;
-	/* Description - InfiniBand port link width bitmask */
-	/* 28.16 - 32.31 */
-	 u_int16_t ib_link_width_admin;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - Ethernet port speed/protocols bitmask */
-	/* 36.0 - 40.31 */
-	 u_int32_t eth_proto_oper;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - InfiniBand port speed bitmask */
-	/* 40.0 - 40.15 */
-	 u_int16_t ib_proto_oper;
-	/* Description - InfiniBand port link width bitmask */
-	/* 40.16 - 44.31 */
-	 u_int16_t ib_link_width_oper;
+	/* Description -  */
+	/* 0x10.0 - 0x20.31 */
+	 struct connectib_compare_data compare_data[4];
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x30.31 */
+	 struct connectib_swap_mask_data swap_mask_data[4];
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description - Ethernet port speed/protocols bitmask */
-	/* 48.0 - 52.31 */
-	 u_int32_t eth_proto_lp_advertise;
+	/* Description -  */
+	/* 0x30.0 - 0x40.31 */
+	 struct connectib_compare_mask_data compare_mask_data[4];
 };
 
 /* Description -   */
 /* Size in bytes - 32 */
-struct connectib_steering_table_info {
+struct connectib_wqe_extended_atomic_cmp_swap_8byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - base index of table */
-	/* 0.0 - 8.31 */
-	 u_int64_t base_index;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - table lookup type */
-	/* 8.0 - 8.7 */
-	 u_int8_t ste_lu_type;
 	/* Description -  */
-	/* 8.8 - 8.15 */
-	 u_int8_t log2_table_size;
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_swap_data swap_data[2];
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.16 - 8.23 */
-	 u_int8_t log2_entry_size;
-	/* Description - while searching ste in table:
-0 - do match only on data + mask
-1 - do match only on data
-2 - do full match on whole ste */
-	/* 8.24 - 8.27 */
-	 u_int8_t match_mode;
+	/* 0x8.0 - 0x10.31 */
+	 struct connectib_compare_data compare_data[2];
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 8.31 - 12.31 */
-	 u_int8_t sx_rx_;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x10.0 - 0x18.31 */
+	 struct connectib_swap_mask_data swap_mask_data[2];
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.7 */
-	 u_int8_t hash_fieldwise_mask;
+	/* 0x18.0 - 0x20.31 */
+	 struct connectib_compare_mask_data compare_mask_data[2];
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_dcr_info {
+/* Size in bytes - 16 */
+struct connectib_wqe_extended_atomic_cmp_swap_4byte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t next_dcri;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t swap_data;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.24 - 0.24 */
-	 u_int8_t valid;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t compare_data;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.25 - 0.25 */
-	 u_int8_t connected;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t swap_mask_data;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.26 - 0.26 */
-	 u_int8_t trapped;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t compare_mask_data;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_pcie_ver_frequency {
+/* Size in bytes - 288 */
+struct connectib_file_public_keys {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - .yu.bootrecord.core_f */
-	/* 0.0 - 0.6 */
-	 u_int8_t core_f;
-	/* Description - .scratchpad.kernel.shared_kernel.core_clocks_per_usec */
-	/* 0.7 - 0.7 */
-	 u_int8_t core_clocks_per_usec;
-	/* Description - .yu.bootrecord.core_r */
-	/* 0.8 - 0.12 */
-	 u_int8_t core_r;
-	/* Description - .px.pxdp.pxp.cx3_count_in_core_clocks */
-	/* 0.13 - 0.13 */
-	 u_int8_t cx3_count_in_core_clocks;
-	/* Description - .scratchpad.kernel.shared_kernel.usecs_in_high_tick */
-	/* 0.14 - 0.14 */
-	 u_int8_t usecs_in_high_tick;
-	/* Description - .scratchpad.ini.hw_main_config.gpios.functions.vdd_mod.mapping */
-	/* 0.15 - 0.15 */
-	 u_int8_t vdd_mod_mapping;
-	/* Description - .yu.bootrecord.flash_div */
-	/* 0.16 - 0.19 */
-	 u_int8_t flash_div;
-	/* Description - .yu.bootrecord.core_od */
-	/* 0.20 - 0.21 */
-	 u_int8_t core_od;
+	/* Description - configuration bits to enable authentication for each component */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_component_authentication_configuration component_authentication_configuration;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - public key exponent, FW should use an exponent of 65537 */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t keypair_exp;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - UUID of this key created by server when it generates a keypair */
+	/* 0x10.0 - 0x20.31 */
+	 u_int32_t keypair_uuid[4];
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - 2048 bit public-key */
+	/* 0x20.0 - 0x120.31 */
+	 u_int32_t key[64];
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_pcie_ver_cables {
+/* Size in bytes - 64 */
+struct connectib_nv_config_header {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.identifier */
-	/* 0.0 - 0.7 */
-	 u_int8_t identifier;
-	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.qsfp.extended_identifier */
-	/* 0.8 - 0.15 */
-	 u_int8_t extended_identifier;
-	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.qsfp.device_tech */
-	/* 0.16 - 0.23 */
-	 u_int8_t device_tech;
-	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.qsfp.attenuation_5g */
-	/* 0.24 - 4.31 */
-	 u_int8_t attenuation_5g;
+	/* Description - if 0x4d544346, this nv_data partition is valid */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t signature;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - .scratchpad.peripherals.module_mng.module_database[NUM].vendor_oui */
-	/* 4.0 - 4.23 */
-	 u_int32_t vendor_oui;
-	/* Description - .scratchpad.peripherals.module_mng.module_database[NUM].m_fsm_state */
-	/* 4.24 - 4.29 */
-	 u_int8_t m_fsm_state;
-	/* Description - .scratchpad.peripherals.module_mng.module_database[NUM].mlnx_cable */
-	/* 4.30 - 4.30 */
-	 u_int8_t mlnx_cable;
-	/* Description - .scratchpad.peripherals.module_mng.module_database[NUM].eeprom_present */
-	/* 4.31 - 8.31 */
-	 u_int8_t eeprom_present;
+	/* Description -  */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t version_minor;
+	/* Description -  */
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t version_major;
+	/* Description - non volatile counter incremented when fw didn't find valid configuration header and need to erase the nv partition */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t num_of_init_cfg_hdr;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.sfp.link_length_supported */
-	/* 8.0 - 8.7 */
-	 u_int8_t link_length_supported;
-	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.sfp.eth_com_codes */
-	/* 8.8 - 8.15 */
-	 u_int8_t eth_com_codes;
-	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.sfp.tech */
-	/* 8.16 - 8.24 */
-	 u_int16_t tech;
+	/* Description - non volatile counter incremented on each sector erase */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t num_of_swaps;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - .scratchpad.phy_manager.port[NUM].port_cfg.module_params.sfp.ib_10ge_com_codes */
-	/* 12.0 - 12.6 */
-	 u_int8_t ib_10ge_com_codes;
+	/* Description - 0=hw_calibration, 1=fast_list, 2=slow_list */
+	/* 0xc.0 - 0x24.31 */
+	 struct connectib_nv_data_pointer list_pointers[6];
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description - crc16 of header area */
+	/* 0x3c.0 - 0x3c.15 */
+	 u_int16_t crc16;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_icmd_pcie_ver_device {
+/* Size in bytes - 32 */
+struct connectib_fw_image {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - .yu.boot.devid.devid */
-	/* 0.0 - 0.15 */
-	 u_int16_t devid;
-	/* Description - .yu.boot.devid.revid */
-	/* 0.16 - 0.19 */
-	 u_int8_t revid;
-	/* Description - .yu.boot.reset.strap_eprom_present */
-	/* 0.20 - 0.20 */
-	 u_int8_t strap_eprom_present;
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t itoc_ptr;
+	/* Description -  */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t is_palladium;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x20.31 */
+	 struct connectib_jump_addresses jump_addresses;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_code_coverage_control {
+/* Size in bytes - 192 */
+struct connectib_pcie_cfg_golan {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Window start address [Byte] is code address */
-	/* 0.0 - 0.23 */
-	 u_int32_t window;
-	/* Description - Read only: size in bytes of collection window. */
-	/* 0.24 - 0.28 */
-	 u_int8_t log_window_size;
+	/* Description -  */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t pcie_max_speed_supported;
+	/* Description - [0]-x1\n[1]-x2\n[2]-x4\n[3]-x8\n[4]-x16 */
+	/* 0x0.4 - 0x0.8 */
+	 u_int8_t pcie_max_width_supported;
+	/* Description - Drop LPS after 5 msec */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t drop_loopback_slave_en;
+	/* Description - disable automatic reversal, set lane_reversal_enable = 0x1, this flag is for Loopback PTC Test. It solve the problem of rx_active_lanes when moving to Loopback from Configuration */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t disable_automatic_reversal;
+	/* Description - Enable up or down configuring the link width */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t upconfigure_capable;
+	/* Description - PCIe is reversed in comparison to the rx */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t px_tx_reversal;
+	/* Description -  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t polling_compliance_en;
+	/* Description -  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t pcie_center_phase_optimization_en;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t handle_bar_miss_error_by_cr_handler_en;
+	/* Description - This bit enables DC ballance on the transmitter */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t dc_ballance_en;
+	/* Description - Enable receiver detect as a condition to exit from Detect 
+   Notice: Need to configure the receiver detect time */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t receiver_detect_en;
+	/* Description - When using receiver detect WA this field define the delay to detect a receiver
+   Notice: Using a value too high for a system will cause the PCIe not to link up */
+	/* 0x0.20 - 0x0.28 */
+	 u_int16_t receiver_detect_time;
+	/* Description - Reference clock indication 1-from connector 0-local oscilator */
+	/* 0x0.29 - 0x0.29 */
+	 u_int8_t slot_clock_cfg;
+	/* Description -  */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t dynamic_pll_manage_en;
+	/* Description - If set, the unused PX SerDes x4 ports will be disabled in order to save power.
+ */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t static_width_reduction_en;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Bitmask of irisc to collect 1-Iron, 0-7 plastic */
-	/* 4.0 - 4.15 */
-	 u_int16_t irisc_bitmask;
-	/* Description - Shomron only. back pressure on congestion */
-	/* 4.24 - 4.24 */
-	 u_int8_t bp;
-	/* Description - Shomron only. If set collect all IPs, if cleared only branches */
-	/* 4.25 - 4.25 */
-	 u_int8_t all_ips;
-	/* Description - Shomron only. Use 0 for legacy mode, non 0 for future modes */
-	/* 4.26 - 4.27 */
-	 u_int8_t trace_mode;
-	/* Description - If set tracer will be enabled. For ini, use boot field for boot collection */
-	/* 4.31 - 8.31 */
-	 u_int8_t enable;
+	/* Description - Do mixer0 calibration with optimization. */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t do_mixer0_calibration_optimized;
+	/* Description - Delta from edges while serching for valid mixer_offset0 */
+	/* 0x4.1 - 0x4.6 */
+	 u_int8_t do_mixer0_calibration_delta;
+	/* Description - calibration is done per lane according to this mask in stage I and then on mask_not in stage II */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t first_iteration_calibration_mask;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x28.31 */
+	 struct connectib_pcie_serdes_cfg serdes_cfg;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.0 - 0x5c.31 */
+	 struct connectib_pcie_equalization_and_eye pcie_equalization_and_eye;
+/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
+	/* Description - Opens specific PCIe debug capabilities */
+	/* 0x5c.0 - 0x60.31 */
+	 struct connectib_pcie_debug_cap pcie_debug_cap;
+/*---------------- DWORD[24] (Offset 0x60) ----------------*/
+	/* Description - preset values se  nt in Eq.Phase2 / Enable */
+	/* 0x60.0 - 0x70.31 */
+	 struct connectib_pcie_tx_adaptation_cfg tx_adaptation_cfg;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* Description -  */
+	/* 0x70.0 - 0xb4.31 */
+	 struct connectib_pcie_rx_adaptation_cfg rx_adaptation_cfg;
+/*---------------- DWORD[45] (Offset 0xb4) ----------------*/
+	/* Description - tx_polarity ini :
+Each bit set the polarity reversal on the equivilant tx lane */
+	/* 0xb4.0 - 0xb4.15 */
+	 u_int16_t pcie_tx_polarity;
 };
 
 /* Description -   */
-/* Size in bytes - 512 */
-struct connectib_vport_real_state {
+/* Size in bytes - 8 */
+struct connectib_vpd_eeprom_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 512.31 */
-	 u_int32_t real_state[128];
+	/* Description - Size of VPD eeprom / flash */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t vpd_size;
+	/* Description - Size of each one of the EEEPROM slaves of the VPD */
+	/* 0x0.16 - 0x0.20 */
+	 u_int8_t log2_vpd_eeprom_size;
+	/* Description - Number of EEEPROM slaves of the VPD */
+	/* 0x0.24 - 0x0.26 */
+	 u_int8_t vpd_num_eeproms;
+	/* Description - Set if VPD on eeprom, if on flash */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t vpd_eeprom;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_fw_esw {
+/* Size in bytes - 132 */
+struct connectib_ini_gpios_golan {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.16 - 64.15 */
-	 struct connectib_fw_vport_ctx vport_ctx[32];
+	/* 0x0.0 - 0x54.31 */
+	 struct connectib_gpio_functions functions;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description -  */
+	/* 0x54.0 - 0x84.31 */
+	 struct connectib_gpio_configurations configurations;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-union connectib_gvmix_sub_structs {
+/* Size in bytes - 80 */
+struct connectib_i2c_devices_db {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_cmdif_ctx cmdif_ctx;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_dummy_addresses_one_cache_line dummy_addresses;
-	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_hca_params hca_params;
-	/* Description -  */
-	/* 0.0 - 24.31 */
-	 struct connectib_icm_page_manager icm_page_manager;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_i2c_device_entry device[16];
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_module_config {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_vf_pages_list vf_pages_list;
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_module_config_st module[2];
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_sw_eqe {
+/* Size in bytes - 8 */
+struct connectib_thermal_config_golan {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Event Sub Type.
-Defined for events which have sub types, zero elsewhere. */
-	/* 0.0 - 0.7 */
-	 u_int8_t event_sub_type;
-	/* Description - Event Type */
-	/* 0.16 - 0.23 */
-	 u_int8_t event_type;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - Delivers auxilary data to handle the event. */
-	/* 32.0 - 60.31 */
-	 union connectib_sw_eqe_data event_data;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - Owner of the entry */
-	/* 60.0 - 60.0 */
-	 u_int8_t owner;
-	/* Description - Byte-wise XOR of EQE - signature protection (see 
- See Section 16.2.4, 
-"Completion and Event Queue Elements (CQEs and EQEs)," on 
-page 330
-). EQE is valid if byte-wise XOR of entire EQE (including 
-sig
-nature
- field) and the EQE index is 0xff. */
-	/* 60.8 - 60.15 */
-	 u_int8_t signature;
+	/* Description - Threshold (in celsius degree) for the temp _fsm to move from WARM to COLD state,
+and clear the OVT warning over gpio (if enabled).
+set by default to 95c. */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t warm2cold_threshold;
+	/* Description - Threshold (in celsius degree) for the temp _fsm to move from COLD to WARM state,
+and set the OVT warning over gpio (if enabled).
+set by default to 110c. */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t cold2warm_threshold;
+	/* Description - Reaching this temperature will cause the fw algorith to move the temp_fsm to HOT state
+and cause thermal_shut_down.
+set by default to 120c. */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t fw_shut_down_threshold;
+	/* Description - if set and thermal fsm reaches HOT state, FW will perform thermal_shut_down (i1fsm moved to FATAL state). */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t fw_shut_down_en;
+	/* Description - 1- indicate that board over temp warning gpio is enabled.
+can be set/clear by ini and mad. */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t gpio_enable;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - left from baz for MAD query.
+ */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t trap_supported;
+	/* Description - left from baz for MAD query. */
+	/* 0x4.1 - 0x4.1 */
+	 u_int8_t trap_enable;
+	/* Description - if set, report to fatal buffer. */
+	/* 0x4.2 - 0x4.2 */
+	 u_int8_t fatal_enable;
+	/* Description - external sensors active, bit per sensor. bit0 = internal EMC1444 sensor
+ bit1 = EMC1444 Q1 sensor
+ bit2 = EMC1444 Q2 sensor
+ bit3 = EMC1444 Q3 sensor
+ */
+	/* 0x4.8 - 0x4.11 */
+	 u_int8_t active_ext_sensors;
+	/* Description - compare mask, bit per a2d (0 - iopx, 1 - iopl, 2 - yu)
+if set, the a2d will be configured to HW protection (compare).
+HW will shut down if 130deg threshold will be reached.
+default is YU a2d selected.
+legal value are 1,2,4 so only one a2d is selected only, or 0 for none (hw protection disabled).
+ */
+	/* 0x4.16 - 0x4.18 */
+	 u_int8_t a2d_compare_mask;
+	/* Description - measure mask, measure circuit is analog. bit per a2d (0 - iopx, 1 - iopl, 2 - yu)
+if set, the fw will measure the temperature from relevant a2d and calc it for fw thermal protection.
+default is none as compare and measure is considered more reliable. */
+	/* 0x4.19 - 0x4.21 */
+	 u_int8_t a2d_measure_mask;
+	/* Description - compare and measure mask, measure circuit is digital. bit per a2d (0 - iopx, 1 - iopl, 2 - yu)
+if set, the fw will measure the temperature from relevant a2d and calc it for fw thermal protection.
+default is IOPX and IOPL only (the YU will be used for hw thermal protection). */
+	/* 0x4.22 - 0x4.24 */
+	 u_int8_t a2d_compare_and_measure_mask;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_itrace_ctrl {
+struct connectib_system_mng {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - threashhold of logging to print from */
-	/* 0.0 - 0.7 */
-	 u_int8_t log_level;
-	/* Description - added delay (usec) to prevent log event lost */
-	/* 0.16 - 4.31 */
-	 u_int16_t log_delay;
+	/* Description - If set network ports will be reveresed */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t port_swap;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_lock_tag {
+/* Size in bytes - 16 */
+struct connectib_power {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - In case fuse_dvfs_force is set, contain the forced DVFS value for voltage scaling procedure */
+	/* 0x0.28 - 0x0.30 */
+	 u_int8_t fuse_dvfs;
+	/* Description - if set, the DVFS is read from INI instead of reading from fuse */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t fuse_dvfs_force;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t resource_id;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_iopl_power iopl_power;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.24 - 4.31 */
-	 u_int8_t resource_type;
+	/* 0x8.0 - 0xc.31 */
+	 struct connectib_iopx_power iopx_power;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_reg_access_cmd {
+/* Size in bytes - 1792 */
+struct connectib_port_serdes {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - contains parameters that are board related.
+for example: polarity, SD parameters */
+	/* 0x0.0 - 0x5c0.31 */
+	 struct connectib_phy_hw_main_config_ip phy_hw_main_config_ip;
+/*---------------- DWORD[372] (Offset 0x5d0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_reg_access_oper_tlv oper_tlv;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x5d0.0 - 0x610.31 */
+	 struct connectib_logic_serdes_mapping_node_ini logic_serdes_mapping_node_ini;
+/*---------------- DWORD[389] (Offset 0x614) ----------------*/
+	/* Description -  */
+	/* 0x614.0 - 0x638.31 */
+	 struct connectib_pll_params pll_params;
+/*---------------- DWORD[398] (Offset 0x638) ----------------*/
 	/* Description -  */
-	/* 16.0 - 64.31 */
-	 struct connectib_reg_access_reg_tlv reg_tlv;
+	/* 0x638.0 - 0x658.31 */
+	 struct connectib_port_mlpn_db mlpn_port[2];
 };
 
-/* Description -   */
+/* Description -  format of non volatile configuration loaded from flash for pre plastic flows */
 /* Size in bytes - 64 */
-struct connectib_cable_info {
+struct connectib_nv_config_boot {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t address;
-	/* Description -  */
-	/* 0.16 - 0.23 */
-	 u_int8_t page_number;
-	/* Description - slave adddr */
-	/* 0.24 - 4.31 */
-	 u_int8_t device_address;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t size;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x0.0 - 0x30.31 */
+	 struct connectib_nv_config_boot_global global;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 16.0 - 64.31 */
-	 u_int32_t dword[12];
+	/* 0x30.0 - 0x38.31 */
+	 struct connectib_nv_config_boot_port_settings port[2];
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_grepper_dwords {
+/* Size in bytes - 4 */
+struct connectib_pcie_power_management {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - both for gen12 adn for gen3 */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t delay_in_recovery_lock;
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 u_int32_t dwords[16];
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t pcie_l1_en;
+	/* Description - Allow_icmc_transpose when enter/exit standby mode */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t close_icmc_on_standby;
+	/* Description - shomron or newer only
+Allows us to enter L1 while in gen1 or gen2
+disabled by default in shomron
+see RM 587894 */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t l1_on_gen1_gen2_en;
 };
 
-/* Description -   */
-/* Size in bytes - 2 */
-struct connectib_cc_table_entry {
+/* Description -  PCI configuration space (by spec) */
+/* Size in bytes - 512 */
+struct connectib_pci_cfg {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - this is the shift value used when calculating the injection rate delay */
-	/* 0.0 - 0.13 */
-	 u_int16_t cct_multiplier;
-	/* Description - this is the multiplier used when calculating the injection rate delay */
-	/* 0.14 - 0.15 */
-	 u_int8_t cct_shift;
+	/* Description -  */
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_pci_cfg_space pci_cfg_space;
+/*---------------- DWORD[64] (Offset 0x100) ----------------*/
+	/* Description -  */
+	/* 0x100.0 - 0x200.31 */
+	 struct connectib_pciex_ext_cfg_space pciex_ext_cfg_space;
 };
 
 /* Description -   */
 /* Size in bytes - 8 */
-struct connectib_ca_congestion_entry {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - when the CCTI is equal to this value, an event is logged in the CA's cycyclic event log */
-	/* 0.0 - 0.7 */
-	 u_int8_t trigger_threshold;
-	/* Description - the number to be added to the table index (CCTI) on the receipt of a BECN */
-	/* 0.8 - 0.15 */
-	 u_int8_t ccti_increase;
-	/* Description - when the timer expires it will be reset to its specified value, and 1 will be decremented from the CCTI */
-	/* 0.16 - 4.31 */
-	 u_int16_t ccti_timer;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - the minimum value permitted for the CCTI. This is used to impose a minimum injection rate delay on the SL */
-	/* 4.24 - 8.31 */
-	 u_int8_t ccti_min;
-};
-
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_congestion_log_event_entry {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - local QP that reached CN threshold. Set to zero if port threshold reached */
-	/* 0.0 - 0.3 */
-	 u_int8_t service_type;
-	/* Description - SL associated with local QP */
-	/* 0.4 - 0.7 */
-	 u_int8_t sl;
-	/* Description - remote QP that is connect to local QP. set to zero for datagram QPs */
-	/* 0.8 - 4.31 */
-	 u_int32_t local_qpn;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - local QP that reached CN threshold. Set to zero if port threshold reached */
-	/* 4.8 - 8.31 */
-	 u_int32_t remote_qpn;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - LID of remote port that is connet to local QP. Set to zero for datagram service */
-	/* 8.0 - 8.15 */
-	 u_int16_t remote_lid;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - timestamp when threshold reached */
-	/* 12.0 - 16.31 */
-	 u_int32_t timestamp;
-};
-
-/* Description -   */
-/* Size in bytes - 32 */
-struct connectib_special_qps {
+struct connectib_pcie_transaction {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Max number of pending outbound read requests */
+	/* 0x0.0 - 0x0.8 */
+	 u_int16_t global_read_task_limit;
+	/* Description - Function Level Reset Capability enable */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t function_level_reset_capability;
+	/* Description - If and only if set, upon sending Completion with UR status, due to incoming Cfg Type 1 Request, 
+will be reported (by FW) as AER advisory-non-fatal (anf) error  */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t aer_anf_by_cfg_type_1_en;
+	/* Description - If and only if set, upon sending Completion with UR status, due to bad function number in incoming Cfg Request, 
+will be reported (by FW) as AER advisory-non-fatal (anf) error  */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t aer_anf_by_bad_func_en;
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t qp0;
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t advisory_non_fatal_en;
+	/* Description - advanced error reporting enable */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t aer_cap_en;
+	/* Description - Alternatove Rounting-ID capability enable  */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t ari_cap_en;
+	/* Description - SR-IOV capability enable  */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t sriov_cap_en;
+	/* Description - VPD  capability enable  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t vpd_cap_en;
+	/* Description - enable crspace access via conf space register 22 and 23 */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t pci_crspace_access_en;
+	/* Description - MLNX PCI VSEC   capability enable  */
+	/* 0x0.18 - 0x0.18 */
+	 u_int8_t pci_vsec_cap_en;
+	/* Description - MLNX PCIE VSEC  - for future use */
+	/* 0x0.19 - 0x0.19 */
+	 u_int8_t pcie_vsec_cap_en;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t qp1;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t raw;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t ipv6;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 20.31 */
-	 u_int32_t reserved;
-/*---------------- DWORD[5] (Offset 0x14) ----------------*/
-	/* Description -  */
-	/* 20.0 - 24.31 */
-	 u_int32_t ptp1588;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 28.31 */
-	 u_int32_t sync_umr;
+	/* Description - configuration read/write logger */
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_logger_init_info logger_init_info;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_cmdif_hdr {
+/* Size in bytes - 12 */
+struct connectib_multi_function {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t reserved0;
-	/* Description - cmd type = 0x7 */
-	/* 0.24 - 4.31 */
-	 u_int8_t type;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - input command length in bytes */
-	/* 4.0 - 8.31 */
-	 u_int32_t input_length;
+	/* Description - vport0 will be associate with this host(today port_pf_gvmi) */
+	/* 0x0.0 - 0x0.1 */
+	 u_int8_t vport0_hix;
+	/* Description - multi host will be lid based */
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t lid_based;
+	/* Description - num of hosts */
+	/* 0x0.5 - 0x0.7 */
+	 u_int8_t num_hosts;
+	/* Description - num of ports */
+	/* 0x0.8 - 0x0.10 */
+	 u_int8_t num_of_ports;
+	/* Description - num of msix vectors per pf */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t pf_msix_table_size;
+	/* Description - num of msix vectors per vf */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t vf_msix_table_size;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - UAR Bar width - 0x0=32bit , 0x1=64bit */
+	/* 0x8.6 - 0x8.6 */
+	 u_int8_t pf_bar_type;
+	/* Description - VF Bar width - 0x0=32bit , 0x1=64bit */
+	/* 0x8.14 - 0x8.14 */
+	 u_int8_t vf_minibar_type;
+	/* Description - VF Bar prefetchable property */
+	/* 0x8.15 - 0x8.15 */
+	 u_int8_t vf_minibar_prefetchable;
+	/* Description - function number that requests and enables crspace bar */
+	/* 0x8.16 - 0x8.19 */
+	 u_int8_t cr_bar_func;
+	/* Description - CR Bar width - 0x0=32bit , 0x1=64bit */
+	/* 0x8.20 - 0x8.20 */
+	 u_int8_t cr_bar_type;
+	/* Description - request and enable crspace bar */
+	/* 0x8.21 - 0x8.21 */
+	 u_int8_t cr_bar_en;
+	/* Description - enable/disable the credits blockage fsm */
+	/* 0x8.22 - 0x8.22 */
+	 u_int8_t credits_blockage_fsm_en;
 	/* Description -  */
-	/* 8.0 - 16.31 */
-	 u_int64_t ibox_pointer;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - just the standart, The first 128 bits of the command input */
-	/* 16.0 - 32.31 */
-	 struct connectib_input_inline_standart input_inline;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - The first 128 bits of the command output */
-	/* 32.0 - 48.31 */
-	 struct connectib_output_inline_standart output_inline;
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
-	/* Description -  */
-	/* 48.0 - 56.31 */
-	 u_int64_t obox_pointer;
-/*---------------- DWORD[14] (Offset 0x38) ----------------*/
-	/* Description - output command length in bytes */
-	/* 56.0 - 60.31 */
-	 u_int32_t output_length;
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - SW should set to 1 when posting the command. HW will change to zero to move ownership bit to SW. */
-	/* 60.0 - 60.0 */
-	 u_int8_t ownership;
-	/* Description -     NO_ERRORS          = 0x0,
-    SIGNATURE_ERROR    = 0x1,
-    TOKEN_ERROR        = 0x2,
-    BAD_BLOCK_NUMBER   = 0x3,
-    BAD_OUTPUT_POINTER = 0x4,   // pointer not align to mailbox size
-    BAD_INPUT_POINTER  = 0x5,   // pointer not align to mailbox size
-    INTERNAL_ERROR     = 0x6,
-    INPUT_LEN_ERROR    = 0x7,   // input  length less than 0x8.
-    OUTPUT_LEN_ERROR   = 0x8,   // output length less than 0x8.
-    RESERVE_NOT_ZERO   = 0x9,
-    BAD_CMD_TYPE       = 0x10,
- */
-	/* 60.1 - 60.7 */
-	 u_int8_t status;
-	/* Description -  */
-	/* 60.8 - 60.15 */
-	 u_int8_t reserved1;
-	/* Description - SW should set to 1 when posting the command. HW will change to zero to move ownership bit to SW. */
-	/* 60.16 - 60.23 */
-	 u_int8_t signature;
-	/* Description - SW should set to 1 when posting the command. HW will change to zero to move ownership bit to SW. */
-	/* 60.24 - 64.31 */
-	 u_int8_t token;
+	/* 0x8.24 - 0x8.27 */
+	 u_int8_t log_max_num_of_eqs;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_icmd_header_capture_checks {
+/* Size in bytes - 8 */
+struct connectib_secure_fw {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - extended capabilities that block write access to flash, crspace... */
+	/* 0x4.0 - 0x8.31 */
+	 union connectib_fw_block_behavior fw_block_behavior;
+};
+
+/* Description -  format of non volatile configuration loaded from flash */
+/* Size in bytes - 768 */
+struct connectib_nv_config_main {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 u_int32_t word[16];
+	/* 0x0.0 - 0x300.31 */
+	 struct connectib_nv_config_main_fw_data fw_config;
 };
 
 /* Description -   */
-/* Size in bytes - 128 */
-struct connectib_icmd_header_capture_headers {
+/* Size in bytes - 720 */
+struct connectib_phy_fw_main_config {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 128.31 */
-	 u_int32_t word[32];
+	/* 0x0.0 - 0xe8.31 */
+	 struct connectib_phy_fw_main_config_golan phy_golan;
+/*---------------- DWORD[64] (Offset 0x100) ----------------*/
+	/* Description - contains parameters that are FW flows related. 
+for example: MLPN bits. speed, width capabilities .. */
+	/* 0x100.0 - 0x280.31 */
+	 struct connectib_phy_fw_main_config_ip phy_ip;
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-union connectib_g_rse_hw_decoders {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_rxt_checks_steering_results_decoder rxt_checks_steering_results_decoder;
-	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_rxt_context_fetch_qp_desc_decoder rxt_context_fetch_qp_desc_decoder;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_rxt_checks_packet_descriptor_decoder rxt_checks_packet_descriptor_decoder;
+/* Size in bytes - 128 */
+struct connectib_host_management {
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_rxs_rxt_desc_decoder rxs_rxt_desc_decoder;
+	/* 0x10.0 - 0x24.31 */
+	 struct connectib_ocsd_config ocsd_config;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 0.0 - 256.31 */
-	 struct connectib_g_rse_decoders_as_dwords raw_dwords;
+	/* 0x24.0 - 0x40.31 */
+	 struct connectib_ibm_thermal_config ibm_thermal_config;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - wake on lan capability */
+	/* 0x4c.0 - 0x50.31 */
+	 struct connectib_wol_cap_host_port wol_cap;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_FW_VERSION {
+/* Size in bytes - 384 */
+struct connectib_management {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.16 - 4.31 */
-	 u_int16_t MAJOR;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t SUBMINOR;
-	/* Description -  */
-	/* 4.16 - 8.31 */
-	 u_int16_t MINOR;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.8 - 8.15 */
-	 u_int8_t Hour;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_node_info_ini node_info;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 8.16 - 8.23 */
-	 u_int8_t Minutes;
+	/* 0x40.0 - 0x5c.31 */
+	 struct connectib_ib_port_info_ini port_info;
+/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
 	/* Description -  */
-	/* 8.24 - 12.31 */
-	 u_int8_t Seconds;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0xc0.0 - 0xc0.0 */
+	 u_int8_t eeprom_read_disable_p1;
 	/* Description -  */
-	/* 12.0 - 12.7 */
-	 u_int8_t Day;
+	/* 0xc0.1 - 0xc0.1 */
+	 u_int8_t eeprom_read_disable_p2;
+	/* Description - override fw cable stamping */
+	/* 0xc0.2 - 0xc0.2 */
+	 u_int8_t fw_stamping_override;
+	/* Description - override read supported cable speed */
+	/* 0xc0.3 - 0xc0.3 */
+	 u_int8_t cable_speed_override;
+/*---------------- DWORD[49] (Offset 0xc4) ----------------*/
 	/* Description -  */
-	/* 12.8 - 12.15 */
-	 u_int8_t Month;
+	/* 0xc4.0 - 0xc8.31 */
+	 struct connectib_extended_port_info_ini extended_port_info;
+/*---------------- DWORD[50] (Offset 0xc8) ----------------*/
+	/* Description - valid i2c address for cable info mad */
+	/* 0xc8.24 - 0xcc.23 */
+	 u_int8_t valid_i2c_address[4];
+/*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 12.16 - 16.31 */
-	 u_int16_t Year;
+	/* 0x100.0 - 0x104.31 */
+	 struct connectib_fw_vport0_ini fw_vport0;
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-union connectib_golan_hw_fw_ctx {
+struct connectib_customization {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_hw_hca_contexts hw_ctx;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 union connectib_fw_resource_context fw_ctx;
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_ctx_as_dwords as_dwords;
+	/* Description - the module rx amp range in port1 will be configured according to active_amp_range value */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t active_amp_range_p1;
+	/* Description - the module rx amp range in port2 will be configured according to active_amp_range value */
+	/* 0x0.4 - 0x0.7 */
+	 u_int8_t active_amp_range_p2;
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-struct connectib_wqe_extended_atomic_fetch_add_128byte {
+/* Size in bytes - 160 */
+struct connectib_leds_blink_patterns {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 128.31 */
-	 struct connectib_add_data add_data[32];
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
-	/* Description -  */
-	/* 128.0 - 256.31 */
-	 struct connectib_field_boundary field_boundary[32];
-};
-
-/* Description -   */
-/* Size in bytes - 128 */
-struct connectib_wqe_extended_atomic_fetch_add_64byte {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_led_port_blink_pattern no_phy_no_log_link;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_add_data add_data[16];
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* 0x8.0 - 0x10.31 */
+	 struct connectib_led_port_blink_pattern phy_no_log_link;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 64.0 - 128.31 */
-	 struct connectib_field_boundary field_boundary[16];
-};
-
-/* Description -   */
-/* Size in bytes - 64 */
-struct connectib_wqe_extended_atomic_fetch_add_32byte {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x10.0 - 0x18.31 */
+	 struct connectib_led_port_blink_pattern phy_log_link;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_add_data add_data[8];
+	/* 0x18.0 - 0x20.31 */
+	 struct connectib_led_port_blink_pattern phy_log_link_traffic;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 64.31 */
-	 struct connectib_field_boundary field_boundary[8];
-};
-
-/* Description -   */
-/* Size in bytes - 32 */
-struct connectib_wqe_extended_atomic_fetch_add_16byte {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_add_data add_data[4];
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x20.0 - 0x28.31 */
+	 struct connectib_led_port_blink_pattern error;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 16.0 - 32.31 */
-	 struct connectib_field_boundary field_boundary[4];
+	/* 0x28.0 - 0xa0.31 */
+	 struct connectib_led_port_blink_pattern reserved_pattern[15];
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_wqe_extended_atomic_fetch_add_8byte {
+struct connectib_static_config {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_add_data add_data[2];
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t dwrr_en;
 	/* Description -  */
-	/* 8.0 - 16.31 */
-	 struct connectib_field_boundary field_boundary[2];
-};
-
-/* Description -   */
-/* Size in bytes - 16 */
-struct connectib_wqe_extended_atomic_fetch_add_4byte {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t ifarm_en;
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t add_data;
+	/* 0x0.2 - 0x0.2 */
+	 u_int8_t xrc_use_ib_spec_opcode;
+	/* Description - If set madifc will be accepted on all PFs even if not host 0 */
+	/* 0x0.3 - 0x0.3 */
+	 u_int8_t allowed_madifc_on_all_pfs;
+	/* Description - flip flop data protection enable
+if error is detected -
+ib + pci serdes will give dc stable (i.e all 0's) */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t ffser_en;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - mask of iriscs that participate in prio group X in dispatcher */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t prio_g_0_ix_mask_no_ifarm;
+	/* Description - mask of iriscs that participate in prio group X in dispatcher */
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t prio_g_1_ix_mask_no_ifarm;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t field_boundary;
-};
-
-/* Description -   */
-/* Size in bytes - 512 */
-struct connectib_wqe_extended_atomic_cmp_swap_128byte {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 128.31 */
-	 struct connectib_swap_data swap_data[32];
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
-	/* Description -  */
-	/* 128.0 - 256.31 */
-	 struct connectib_compare_data compare_data[32];
-/*---------------- DWORD[64] (Offset 0x100) ----------------*/
-	/* Description -  */
-	/* 256.0 - 384.31 */
-	 struct connectib_swap_mask_data swap_mask_data[32];
-/*---------------- DWORD[96] (Offset 0x180) ----------------*/
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t gvmi_rl_custom_tokens_mantissa;
 	/* Description -  */
-	/* 384.0 - 512.31 */
-	 struct connectib_compare_mask_data compare_mask_data[32];
+	/* 0x8.16 - 0x8.19 */
+	 u_int8_t gvmi_rl_custom_tokens_exponent;
+	/* Description - 0x0 - no rate limiter, 0x1 - GVMI_RL_10GBPS, 0x2 - GVMI_RL_12_5_GBPS, 0x3 - GVMI_RL_CUSTOM_TOK, 0x4 - QP_RATE_LIMITER, 0x5 - GVMI_RL_25_GBPS, 0x6 - GVMI_RL_50_GBPS, 0x7 - FW_VQOS_MODE */
+	/* 0x8.20 - 0x8.22 */
+	 u_int8_t gvmi_rl_mode;
+	/* Description - when set managment mac address will be base mac address plus 2 (active only when  single port single host single pf per port devices) */
+	/* 0x8.28 - 0x8.28 */
+	 u_int8_t ocp_bmc_mac_plus_two;
+	/* Description - default flow control configuration, bit per port. 0x0 - no pause, 0x1 - global pause on port 1, 0x2 - global pause on port 2, 0x3 - global pause on port 1 and 2 */
+	/* 0x8.29 - 0x8.30 */
+	 u_int8_t global_pause_en;
+	/* Description - allow flash 64kByte sector erase */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t allow_flash_64k_erase;
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-struct connectib_wqe_extended_atomic_cmp_swap_64byte {
+/* Size in bytes - 64 */
+struct connectib_guids {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_swap_data swap_data[16];
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description -  */
-	/* 64.0 - 128.31 */
-	 struct connectib_compare_data compare_data[16];
-/*---------------- DWORD[32] (Offset 0x80) ----------------*/
-	/* Description -  */
-	/* 128.0 - 192.31 */
-	 struct connectib_swap_mask_data swap_mask_data[16];
-/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
-	/* Description -  */
-	/* 192.0 - 256.31 */
-	 struct connectib_compare_mask_data compare_mask_data[16];
-};
+	/* Description - UIDs (MACs and GUIDs) Allocation Entry.
+guids[0], is used for system GUID, node GUID and port GUID of port 0. guids[1], is used for port GUID of port 1.;/Multiple UIDs can be assigned to a single port, to be used for multiple virtual guests.
 
-/* Description -   */
-/* Size in bytes - 128 */
-struct connectib_wqe_extended_atomic_cmp_swap_32byte {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_swap_data swap_data[8];
+Allocation Example:
+For a port GUID, if the
+    UID = 0x2c9030001000
+    num_allocated  = 4, 
+    step = 8
+
+Then the GUIDs for this port would be:
+    0x2c9030001000
+    0x2c9030001008
+    0x2c9030001010
+    0x2c9030001018 */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_uid_entry guids[2];
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 64.31 */
-	 struct connectib_compare_data compare_data[8];
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description -  */
-	/* 64.0 - 96.31 */
-	 struct connectib_swap_mask_data swap_mask_data[8];
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description -  */
-	/* 96.0 - 128.31 */
-	 struct connectib_compare_mask_data compare_mask_data[8];
+	/* 0x20.0 - 0x40.31 */
+	 struct connectib_uid_entry macs[2];
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
-struct connectib_wqe_extended_atomic_cmp_swap_16byte {
+struct connectib_module_versions {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_swap_data swap_data[4];
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_module_version core;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 16.0 - 32.31 */
-	 struct connectib_compare_data compare_data[4];
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_module_version phy;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 32.0 - 48.31 */
-	 struct connectib_swap_mask_data swap_mask_data[4];
-/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* 0x8.0 - 0xc.31 */
+	 struct connectib_module_version kernel;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 48.0 - 64.31 */
-	 struct connectib_compare_mask_data compare_mask_data[4];
+	/* 0xc.0 - 0x10.31 */
+	 struct connectib_module_version iron_image;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 struct connectib_module_version host_management;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_module_version mad;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_wqe_extended_atomic_cmp_swap_8byte {
+/* Size in bytes - 8 */
+struct connectib_image_size {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_swap_data swap_data[2];
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 16.31 */
-	 struct connectib_compare_data compare_data[2];
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description -  */
-	/* 16.0 - 24.31 */
-	 struct connectib_swap_mask_data swap_mask_data[2];
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description -  */
-	/* 24.0 - 32.31 */
-	 struct connectib_compare_mask_data compare_mask_data[2];
+	/* Description - log of next address in bytes to search for an image. Address in bytes is 2^log_step */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t log_step;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Max possible size in bytes of image. Image read / write should not occure beyond this address */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t max_size;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_wqe_extended_atomic_cmp_swap_4byte {
+/* Size in bytes - 8 */
+struct connectib_TRIPPLE_VERSION {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t swap_data;
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t MAJOR;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t compare_data;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 u_int32_t swap_mask_data;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t SUBMINOR;
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 u_int32_t compare_mask_data;
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t MINOR;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_nv_config_header {
+/* Size in bytes - 16 */
+struct connectib_operation_key {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - if 0x4d544346, this nv_data partition is valid */
-	/* 0.0 - 4.31 */
-	 u_int32_t signature;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.7 */
-	 u_int8_t version_minor;
 	/* Description -  */
-	/* 4.8 - 4.15 */
-	 u_int8_t version_major;
-	/* Description - non volatile counter incremented when fw didn't find valid configuration header and need to erase the nv partition */
-	/* 4.16 - 8.31 */
-	 u_int16_t num_of_init_cfg_hdr;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t key_modifier;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - non volatile counter incremented on each sector erase */
-	/* 8.0 - 12.31 */
-	 u_int32_t num_of_swaps;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - 0=hw_calibration, 1=fast_list, 2=slow_list */
-	/* 12.0 - 36.31 */
-	 struct connectib_nv_data_pointer list_pointers[6];
-/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
-	/* Description - crc16 of header area */
-	/* 60.0 - 60.15 */
-	 u_int16_t crc16;
+	/* Description -  */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t key;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_fw_image {
+/* Size in bytes - 8 */
+struct connectib_toc_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
-	 u_int32_t itoc_ptr;
-	/* Description -  */
-	/* 0.24 - 0.24 */
-	 u_int8_t is_palladium;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t address;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 32.31 */
-	 struct connectib_jump_addresses jump_addresses;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t size;
 };
 
 /* Description -   */
-/* Size in bytes - 192 */
-struct connectib_pcie_cfg_golan {
+/* Size in bytes - 128 */
+struct connectib_rst_api_ver {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.3 */
-	 u_int8_t pcie_max_speed_supported;
-	/* Description - [0]-x1\n[1]-x2\n[2]-x4\n[3]-x8\n[4]-x16 */
-	/* 0.4 - 0.8 */
-	 u_int8_t pcie_max_width_supported;
-	/* Description - Drop LPS after 5 msec */
-	/* 0.9 - 0.9 */
-	 u_int8_t drop_loopback_slave_en;
-	/* Description - disable automatic reversal, set lane_reversal_enable = 0x1, this flag is for Loopback PTC Test. It solve the problem of rx_active_lanes when moving to Loopback from Configuration */
-	/* 0.10 - 0.10 */
-	 u_int8_t disable_automatic_reversal;
-	/* Description - Enable up or down configuring the link width */
-	/* 0.12 - 0.12 */
-	 u_int8_t upconfigure_capable;
-	/* Description - PCIe is reversed in comparison to the rx */
-	/* 0.13 - 0.13 */
-	 u_int8_t px_tx_reversal;
-	/* Description -  */
-	/* 0.14 - 0.14 */
-	 u_int8_t polling_compliance_en;
+	/* 0x0.0 - 0x80.31 */
+	 struct connectib_reset_level_info reset[8];
+};
+
+/* Description -   */
+/* Size in bytes - 4 */
+struct connectib_reset_capabilities {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Initial capability for reset level */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t reset_ver_en;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_icmd_get_gvmi_rl_ctx_ix {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.15 - 0.15 */
-	 u_int8_t pcie_center_phase_optimization_en;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t real_gvmi;
 	/* Description -  */
-	/* 0.17 - 0.17 */
-	 u_int8_t handle_bar_miss_error_by_cr_handler_en;
-	/* Description - This bit enables DC ballance on the transmitter */
-	/* 0.18 - 0.18 */
-	 u_int8_t dc_ballance_en;
-	/* Description - Enable receiver detect as a condition to exit from Detect 
-   Notice: Need to configure the receiver detect time */
-	/* 0.19 - 0.19 */
-	 u_int8_t receiver_detect_en;
-	/* Description - When using receiver detect WA this field define the delay to detect a receiver
-   Notice: Using a value too high for a system will cause the PCIe not to link up */
-	/* 0.20 - 0.28 */
-	 u_int16_t receiver_detect_time;
-	/* Description - Reference clock indication 1-from connector 0-local oscilator */
-	/* 0.29 - 0.29 */
-	 u_int8_t slot_clock_cfg;
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t vl;
 	/* Description -  */
-	/* 0.30 - 0.30 */
-	 u_int8_t dynamic_pll_manage_en;
-	/* Description - If set, the unused PX SerDes x4 ports will be disabled in order to save power.
- */
-	/* 0.31 - 4.31 */
-	 u_int8_t static_width_reduction_en;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t port;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Do mixer0 calibration with optimization. */
-	/* 4.0 - 4.0 */
-	 u_int8_t do_mixer0_calibration_optimized;
-	/* Description - Delta from edges while serching for valid mixer_offset0 */
-	/* 4.1 - 4.6 */
-	 u_int8_t do_mixer0_calibration_delta;
-	/* Description - calibration is done per lane according to this mask in stage I and then on mask_not in stage II */
-	/* 4.16 - 8.31 */
-	 u_int16_t first_iteration_calibration_mask;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 40.31 */
-	 struct connectib_pcie_serdes_cfg serdes_cfg;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 40.0 - 92.31 */
-	 struct connectib_pcie_equalization_and_eye pcie_equalization_and_eye;
-/*---------------- DWORD[23] (Offset 0x5c) ----------------*/
-	/* Description - Opens specific PCIe debug capabilities */
-	/* 92.0 - 96.31 */
-	 struct connectib_pcie_debug_cap pcie_debug_cap;
-/*---------------- DWORD[24] (Offset 0x60) ----------------*/
-	/* Description - preset values se  nt in Eq.Phase2 / Enable */
-	/* 96.0 - 112.31 */
-	 struct connectib_pcie_tx_adaptation_cfg tx_adaptation_cfg;
-/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi_rl_ctx_ix;
 	/* Description -  */
-	/* 112.0 - 180.31 */
-	 struct connectib_pcie_rx_adaptation_cfg rx_adaptation_cfg;
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t gvmi_tag;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_vpd_eeprom_info {
+/* Size in bytes - 768 */
+struct connectib_icmd_sysport {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Size of VPD eeprom / flash */
-	/* 0.0 - 0.15 */
-	 u_int16_t vpd_size;
-	/* Description - Size of each one of the EEEPROM slaves of the VPD */
-	/* 0.16 - 0.20 */
-	 u_int8_t log2_vpd_eeprom_size;
-	/* Description - Number of EEEPROM slaves of the VPD */
-	/* 0.24 - 0.26 */
-	 u_int8_t vpd_num_eeproms;
-	/* Description - Set if VPD on eeprom, if on flash */
-	/* 0.27 - 0.27 */
-	 u_int8_t vpd_eeprom;
+	/* Description - Packet properties */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_sysport_packet_properties pkt_prop;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - Packet length in bytes */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t pkt_length;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - Packet data */
+	/* 0x24.0 - 0x300.31 */
+	 struct connectib_sysport_packet_data pkt_data;
 };
 
 /* Description -   */
-/* Size in bytes - 132 */
-struct connectib_ini_gpios_golan {
+/* Size in bytes - 4 */
+struct connectib_icmd_drop_counter_read {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 84.31 */
-	 struct connectib_gpio_functions functions;
-/*---------------- DWORD[21] (Offset 0x54) ----------------*/
-	/* Description -  */
-	/* 84.0 - 132.31 */
-	 struct connectib_gpio_configurations configurations;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t sq_num_to;
 };
 
 /* Description -   */
-/* Size in bytes - 80 */
-struct connectib_i2c_devices_db {
+/* Size in bytes - 128 */
+struct connectib_icmd_rw_gvmi_fw_ctx {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_i2c_device_entry device[16];
-};
-
-/* Description -   */
-/* Size in bytes - 8 */
-struct connectib_module_config {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0x0.0 - 0x40.31 */
+	 union connectib_rw_gvmi_fw_ctx_sub_structs sub_structs;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_module_config_st module[2];
+	/* 0x40.0 - 0x44.31 */
+	 u_int32_t gvmi;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - DCR_ODP_EVENT = 0x1,
+ */
+	/* 0x44.0 - 0x48.31 */
+	 u_int32_t node_type;
+/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+	/* Description -  */
+	/* 0x48.0 - 0x4c.31 */
+	 u_int32_t ix;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_thermal_config_golan {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Threshold (in celsius degree) for the temp _fsm to move from WARM to COLD state,
-and clear the OVT warning over gpio (if enabled).
-set by default to 95c. */
-	/* 0.0 - 0.7 */
-	 u_int8_t warm2cold_threshold;
-	/* Description - Threshold (in celsius degree) for the temp _fsm to move from COLD to WARM state,
-and set the OVT warning over gpio (if enabled).
-set by default to 110c. */
-	/* 0.8 - 0.15 */
-	 u_int8_t cold2warm_threshold;
-	/* Description - Reaching this temperature will cause the fw algorith to move the temp_fsm to HOT state
-and cause thermal_shut_down.
-set by default to 120c. */
-	/* 0.16 - 0.23 */
-	 u_int8_t fw_shut_down_threshold;
-	/* Description - if set and thermal fsm reaches HOT state, FW will perform thermal_shut_down (i1fsm moved to FATAL state). */
-	/* 0.30 - 0.30 */
-	 u_int8_t fw_shut_down_en;
-	/* Description - 1- indicate that board over temp warning gpio is enabled.
-can be set/clear by ini and mad. */
-	/* 0.31 - 4.31 */
-	 u_int8_t gpio_enable;
+/* Size in bytes - 16 */
+struct connectib_icmd_mh_sync {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - input mailbox: state of sync: IDLE, GET_READY, GO */
+	/* 0x0.0 - 0x0.3 */
+	 u_int8_t input_state;
+	/* Description - input mailbox: sync_type - 0x01 = FW_RESET */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t input_sync_type;
+	/* Description - input mailbox: when set - ignore inactive hosts */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t input_ignore_inactive_hosts;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - left from baz for MAD query.
- */
-	/* 4.0 - 4.0 */
-	 u_int8_t trap_supported;
-	/* Description - left from baz for MAD query. */
-	/* 4.1 - 4.1 */
-	 u_int8_t trap_enable;
-	/* Description - if set, report to fatal buffer. */
-	/* 4.2 - 4.2 */
-	 u_int8_t fatal_enable;
-	/* Description - external sensors active, bit per sensor. bit0 = internal EMC1444 sensor
- bit1 = EMC1444 Q1 sensor
- bit2 = EMC1444 Q2 sensor
- bit3 = EMC1444 Q3 sensor
- */
-	/* 4.8 - 4.11 */
-	 u_int8_t active_ext_sensors;
-	/* Description - compare mask, bit per a2d (0 - iopx, 1 - iopl, 2 - yu)
-if set, the a2d will be configured to HW protection (compare).
-HW will shut down if 130deg threshold will be reached.
-default is YU a2d selected.
-legal value are 1,2,4 so only one a2d is selected only, or 0 for none (hw protection disabled).
- */
-	/* 4.16 - 4.18 */
-	 u_int8_t a2d_compare_mask;
-	/* Description - measure mask, measure circuit is analog. bit per a2d (0 - iopx, 1 - iopl, 2 - yu)
-if set, the fw will measure the temperature from relevant a2d and calc it for fw thermal protection.
-default is none as compare and measure is considered more reliable. */
-	/* 4.19 - 4.21 */
-	 u_int8_t a2d_measure_mask;
-	/* Description - compare and measure mask, measure circuit is digital. bit per a2d (0 - iopx, 1 - iopl, 2 - yu)
-if set, the fw will measure the temperature from relevant a2d and calc it for fw thermal protection.
-default is IOPX and IOPL only (the YU will be used for hw thermal protection). */
-	/* 4.22 - 4.24 */
-	 u_int8_t a2d_compare_and_measure_mask;
+	/* Description - output mailbox: state of sync: IDLE, GET_READY, GO */
+	/* 0x4.0 - 0x4.3 */
+	 u_int8_t fsm_state;
+	/* Description - output mailbox: sync_type - 0x01 = FW_RESET */
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t fsm_sync_type;
+	/* Description - output mailbox: when set - ignore inactive hosts */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t fsm_ignore_inactive_hosts;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - output mailbox: bit per host - indicates hosts already issued GET_READY */
+	/* 0x8.0 - 0x8.3 */
+	 u_int8_t fsm_host_ready;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - output mailbox: NIC uptime since last reset in microsecondes at the moment of first GET_READY */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t fsm_start_uptime;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
-struct connectib_system_mng {
+struct connectib_icmd_asn1_force_port_state {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - If set network ports will be reveresed */
-	/* 0.0 - 0.0 */
-	 u_int8_t port_swap;
+	/* Description -  */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t port0_1;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t force_enable_disable;
+	/* Description -  */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t state_enable_disable;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_power {
+/* Size in bytes - 32 */
+struct connectib_icmd_port_admin_state_mng {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - In case fuse_dvfs_force is set, contain the forced DVFS value for voltage scaling procedure */
-	/* 0.28 - 0.30 */
-	 u_int8_t fuse_dvfs;
-	/* Description - if set, the DVFS is read from INI instead of reading from fuse */
-	/* 0.31 - 4.31 */
-	 u_int8_t fuse_dvfs_force;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 0 - icmd get, 1 - icmd set */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t set_get_;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_iopl_power iopl_power;
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t portid;
+	/* Description - 0 - ignore this mgmt, 1 - set this mgmt. bit 0  - mgmt admin, bit 1 - mgmt ASN.1 */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t mgmt_update_mask;
+	/* Description - mgmt values to set. bit 0  - mgmt admin, bit 1 - mgmt ASN.1 */
+	/* 0x0.8 - 0x0.9 */
+	 u_int8_t mgmt_update_data;
+	/* Description - 0 - ignore this klu, 1 - set this klu. bit 0  - KLU Eth, bit 1 - KLU IB, bit 2 - KLU on boot, bit 3 - KLU on standby */
+	/* 0x0.12 - 0x0.15 */
+	 u_int8_t klu_update_mask;
+	/* Description - KLU values to set. bit 0  - KLU Eth, bit 1 - KLU IB, bit 2 - KLU on boot, bit 3 - KLU on standby */
+	/* 0x0.20 - 0x0.23 */
+	 u_int8_t klu_update_data;
+	/* Description - KLU current state. */
+	/* 0x0.28 - 0x0.29 */
+	 u_int8_t klu_state;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 0 - ignore reneg on chage on set, 1 - set reneg on change on set */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t reneg_on_change_set_mask;
+	/* Description - 0 - ignore reneg on chage on set, 1 - set reneg on change on set */
+	/* 0x4.8 - 0x4.8 */
+	 u_int8_t reneg_on_change_set_data;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 12.31 */
-	 struct connectib_iopx_power iopx_power;
+	/* Description - gvmi to set_reneg_on_change */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t reneg_on_change_set_gvmi;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Renegotiate only on config change (PF array, pf_ix = (host_ix)*max_num_pfs_per_host_ini_value + func_num).                                                                                                                        on set, will set reneg_on_change[0] go reneg on change gvmi */
+	/* 0xc.0 - 0x14.31 */
+	 struct connectib_pf_array_default_ones reneg_on_change;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - on set - invalid. on get - drivers mask [0-63] per pf */
+	/* 0x14.0 - 0x1c.31 */
+	 struct connectib_drivers_mask_arr drivers_mask;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description - Disable union.
+If one bit is set to 1, do not open             the port. */
+	/* 0x1c.0 - 0x20.31 */
+	 union connectib_disable_mask disable_mask;
 };
 
 /* Description -   */
-/* Size in bytes - 1792 */
-struct connectib_port_serdes {
+/* Size in bytes - 100 */
+struct connectib_icmd_get_packet_pacing_debug_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - contains parameters that are board related.
-for example: polarity, SD parameters */
-	/* 0.0 - 1472.31 */
-	 struct connectib_phy_hw_main_config_ip phy_hw_main_config_ip;
-/*---------------- DWORD[372] (Offset 0x5d0) ----------------*/
 	/* Description -  */
-	/* 1488.0 - 1552.31 */
-	 struct connectib_logic_serdes_mapping_node_ini logic_serdes_mapping_node_ini;
-/*---------------- DWORD[389] (Offset 0x614) ----------------*/
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description - packet pacing rate limit index */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t rate_limit_index;
+	/* Description - indicate if rate limit exist for the given index */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rate_limit_active;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - rate in 10^3 bits per second */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t rate_kbits;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 1556.0 - 1592.31 */
-	 struct connectib_pll_params pll_params;
-/*---------------- DWORD[398] (Offset 0x638) ----------------*/
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t burst_upper_bound_bytes;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - burst size that is configured in the schedQ */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t burst_bytes;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 1592.0 - 1624.31 */
-	 struct connectib_port_mlpn_db mlpn_port[2];
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t log2qp_rate_limiter_time;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x64.31 */
+	 u_int32_t sq_index[20];
 };
 
-/* Description -  format of non volatile configuration loaded from flash for pre plastic flows */
-/* Size in bytes - 64 */
-struct connectib_nv_config_boot {
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_icmd_map_event_eq {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 40.31 */
-	 struct connectib_nv_config_boot_global global;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.16 - 0x0.16 */
+	 u_int8_t set_get_;
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t map_unmap_;
+	/* Description -  */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t eqn;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t event_bitmask;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_pcie_power_management {
+/* Size in bytes - 8 */
+struct connectib_icmd_internal_query_cap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - both for gen12 adn for gen3 */
-	/* 0.0 - 0.15 */
-	 u_int16_t delay_in_recovery_lock;
 	/* Description -  */
-	/* 0.16 - 0.16 */
-	 u_int8_t pcie_l1_en;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t opcode;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t opcode_exists_out;
 };
 
-/* Description -  PCI configuration space (by spec) */
-/* Size in bytes - 512 */
-struct connectib_pci_cfg {
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_icmd_detect_gvmi_in_qpc_and_icmc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - gvmi to detect */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - gvmi detected in QPC */
+	/* 0x4.0 - 0x4.23 */
+	 u_int32_t qpi;
+	/* Description - gvmi detected in QPC */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t qpc_detection_valid;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - gvmi detected in ICMC */
+	/* 0x8.31 - 0x8.31 */
+	 u_int8_t icmc_detection_valid;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0.0 - 256.31 */
-	 struct connectib_pci_cfg_space pci_cfg_space;
-/*---------------- DWORD[64] (Offset 0x100) ----------------*/
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t va_63_32;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 256.0 - 512.31 */
-	 struct connectib_pciex_ext_cfg_space pciex_ext_cfg_space;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t va_31_0;
 };
 
 /* Description -   */
-/* Size in bytes - 4 */
-struct connectib_pcie_transaction {
+/* Size in bytes - 16 */
+struct connectib_icmd_temp_warn_gen_event {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Max number of pending outbound read requests */
-	/* 0.0 - 0.8 */
-	 u_int16_t global_read_task_limit;
-	/* Description - Function Level Reset Capability enable */
-	/* 0.9 - 0.9 */
-	 u_int8_t function_level_reset_capability;
-	/* Description - If and only if set, upon sending Completion with UR status, due to incoming Cfg Type 1 Request, 
-will be reported (by FW) as AER advisory-non-fatal (anf) error  */
-	/* 0.10 - 0.10 */
-	 u_int8_t aer_anf_by_cfg_type_1_en;
-	/* Description - If and only if set, upon sending Completion with UR status, due to bad function number in incoming Cfg Request, 
-will be reported (by FW) as AER advisory-non-fatal (anf) error  */
-	/* 0.11 - 0.11 */
-	 u_int8_t aer_anf_by_bad_func_en;
-	/* Description -  */
-	/* 0.12 - 0.12 */
-	 u_int8_t advisory_non_fatal_en;
-	/* Description - advanced error reporting enable */
-	/* 0.13 - 0.13 */
-	 u_int8_t aer_cap_en;
-	/* Description - Alternatove Rounting-ID capability enable  */
-	/* 0.14 - 0.14 */
-	 u_int8_t ari_cap_en;
-	/* Description - SR-IOV capability enable  */
-	/* 0.15 - 0.15 */
-	 u_int8_t sriov_cap_en;
-	/* Description - VPD  capability enable  */
-	/* 0.16 - 0.16 */
-	 u_int8_t vpd_cap_en;
-	/* Description - enable crspace access via conf space register 22 and 23 */
-	/* 0.17 - 0.17 */
-	 u_int8_t pci_crspace_access_en;
-	/* Description - MLNX PCI VSEC   capability enable  */
-	/* 0.18 - 0.18 */
-	 u_int8_t pci_vsec_cap_en;
-	/* Description - MLNX PCIE VSEC  - for future use */
-	/* 0.19 - 0.19 */
-	 u_int8_t pcie_vsec_cap_en;
+	/* Description - Bit vector indicating which of the sensor reading is above threshold. Address 00h bit31 is sensor_warning[127] Address 0Ch bit0 is sensor_warning[0] */
+	/* 0x0.0 - 0x10.31 */
+	 u_int32_t sensors_arr[4];
 };
 
 /* Description -   */
-/* Size in bytes - 12 */
-struct connectib_multi_function {
+/* Size in bytes - 64 */
+struct connectib_icmd_access_register_nodnic_queue_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - num of hosts */
-	/* 0.5 - 0.7 */
-	 u_int8_t num_hosts;
-	/* Description - num of msix vectors per pf */
-	/* 0.16 - 0.23 */
-	 u_int8_t pf_msix_table_size;
-	/* Description - num of msix vectors per vf */
-	/* 0.24 - 4.31 */
-	 u_int8_t vf_msix_table_size;
+	/* Description -  */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t nodnic_idx;
+	/* Description -  */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.16 - 4.19 */
-	 u_int8_t log_max_num_of_eqs;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t send0_qpi;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - Log base 2 of PF UAR size in MB */
-	/* 8.0 - 8.5 */
-	 u_int8_t log2_pf_bar_megabytes;
-	/* Description - UAR Bar width - 0x0=32bit , 0x1=64bit */
-	/* 8.6 - 8.6 */
-	 u_int8_t pf_bar_type;
-	/* Description - UAR Bar prefetchable property */
-	/* 8.7 - 8.7 */
-	 u_int8_t pf_bar_prefetchable;
-	/* Description - Log base 2 of VF mini BAR size in MB. Total SR BAR size is 2^log2_vf_minibar_megabytes * total_vfs */
-	/* 8.8 - 8.13 */
-	 u_int8_t log2_vf_minibar_megabytes;
-	/* Description - VF Bar width - 0x0=32bit , 0x1=64bit */
-	/* 8.14 - 8.14 */
-	 u_int8_t vf_minibar_type;
-	/* Description - VF Bar prefetchable property */
-	/* 8.15 - 8.15 */
-	 u_int8_t vf_minibar_prefetchable;
-	/* Description - function number that requests and enables crspace bar */
-	/* 8.16 - 8.19 */
-	 u_int8_t cr_bar_func;
-	/* Description - CR Bar width - 0x0=32bit , 0x1=64bit */
-	/* 8.20 - 8.20 */
-	 u_int8_t cr_bar_type;
-	/* Description - request and enable crspace bar */
-	/* 8.21 - 8.21 */
-	 u_int8_t cr_bar_en;
-};
-
-/* Description -  format of non volatile configuration loaded from flash */
-/* Size in bytes - 256 */
-struct connectib_nv_config_main {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
-	 struct connectib_nv_config_main_fw_data fw_config;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t send1_qpi;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t rcv0_qpi;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t rcv1_qpi;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t cqi;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t eqi;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t drop_qpi;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - if query failed syndrome will be here */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t status;
 };
 
 /* Description -   */
-/* Size in bytes - 688 */
-struct connectib_phy_fw_main_config {
+/* Size in bytes - 32 */
+struct connectib_icmd_set_get_debug_pf_mac {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 232.31 */
-	 struct connectib_phy_fw_main_config_golan phy_golan;
-/*---------------- DWORD[58] (Offset 0xe8) ----------------*/
-	/* Description - contains parameters that are FW flows related. 
-for example: MLPN bits. speed, width capabilities .. */
-	/* 232.0 - 616.31 */
-	 struct connectib_phy_fw_main_config_ip phy_ip;
-};
-
-/* Description -   */
-/* Size in bytes - 76 */
-struct connectib_host_management {
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw_;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 16.0 - 36.31 */
-	 struct connectib_ocsd_config ocsd_config;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t port_id;
 	/* Description -  */
-	/* 36.0 - 64.31 */
-	 struct connectib_ibm_thermal_config ibm_thermal_config;
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t host_id;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t mac_high;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t mac_low;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t pf_idx_in_host_port;
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
-struct connectib_management {
+/* Size in bytes - 128 */
+struct connectib_icmd_get_pf_ctx {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_node_info node_info;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t portid;
 	/* Description -  */
-	/* 64.0 - 92.31 */
-	 struct connectib_ib_port_info_ini port_info;
-/*---------------- DWORD[48] (Offset 0xc0) ----------------*/
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t vport_num;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 192.0 - 192.0 */
-	 u_int8_t eeprom_read_disable_p1;
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t pf_gvmi;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 192.1 - 192.1 */
-	 u_int8_t eeprom_read_disable_p2;
-	/* Description - override fw cable stamping */
-	/* 192.2 - 192.2 */
-	 u_int8_t fw_stamping_override;
-	/* Description - override read supported cable speed */
-	/* 192.3 - 192.3 */
-	 u_int8_t cable_speed_override;
-/*---------------- DWORD[49] (Offset 0xc4) ----------------*/
+	/* 0x20.0 - 0x40.31 */
+	 struct connectib_vport_shadow vport_shadow;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 196.0 - 200.31 */
-	 struct connectib_extended_port_info_ini extended_port_info;
-/*---------------- DWORD[50] (Offset 0xc8) ----------------*/
-	/* Description - valid i2c address for cable info mad */
-	/* 200.24 - 204.23 */
-	 u_int8_t valid_i2c_address[4];
+	/* 0x40.0 - 0x80.31 */
+	 struct connectib_vport_info vport_info;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_customization {
+/* Size in bytes - 48 */
+struct connectib_icmd_ocbb_get_pci_api {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - the module rx amp range in port1 will be configured according to active_amp_range value */
-	/* 0.0 - 0.3 */
-	 u_int8_t active_amp_range_p1;
-	/* Description - the module rx amp range in port2 will be configured according to active_amp_range value */
-	/* 0.4 - 0.7 */
-	 u_int8_t active_amp_range_p2;
+	/* Description - function index. for fpp, this is port index */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t func_index;
+	/* Description - host */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t host;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x30.31 */
+	 struct connectib_ocbb_pci_data output_data;
 };
 
 /* Description -   */
-/* Size in bytes - 160 */
-struct connectib_leds_blink_patterns {
+/* Size in bytes - 768 */
+struct connectib_icmd_ocbb_rndc_get_core_api {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 struct connectib_led_port_blink_pattern no_phy_no_log_link;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.0 - 0x200.31 */
+	 struct connectib_ocbb_fields output_data;
+/*---------------- DWORD[128] (Offset 0x200) ----------------*/
+	/* Description - port_0_1 */
+	/* 0x200.0 - 0x200.7 */
+	 u_int8_t portid;
 	/* Description -  */
-	/* 8.0 - 16.31 */
-	 struct connectib_led_port_blink_pattern phy_no_log_link;
-/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* 0x200.16 - 0x200.31 */
+	 u_int16_t host_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 60 */
+struct connectib_icmd_pre_define_module_db {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 16.0 - 24.31 */
-	 struct connectib_led_port_blink_pattern phy_log_link;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t module;
+	/* Description - CABLE_TYPE_INPUT_DATA = 0x0,CABLE_TYPE_COPPER = 0x1,CABLE_TYPE_OPTIC_THUNDER = 0x2 */
+	/* 0x0.8 - 0x0.10 */
+	 u_int8_t cable_type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 24.0 - 32.31 */
-	 struct connectib_led_port_blink_pattern phy_log_link_traffic;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* 0x4.0 - 0x3c.31 */
+	 struct connectib_module_db_pre_define_st module_database;
+};
+
+/* Description -   */
+/* Size in bytes - 36 */
+struct connectib_icmd_pmlp_query {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0 - unmap local port
+1 - x1 (lane 0 is used)
+2 - x2 (lanes 0,1 are used)
+4 - x4 (lanes 0,1,2 and 3 are used)
+Other - reserved */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t width;
+	/* Description - Local port number */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t local_port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 32.0 - 40.31 */
-	 struct connectib_led_port_blink_pattern error;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t module0;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to   a local port. */
+	/* 0x4.16 - 0x4.17 */
+	 u_int8_t lane0;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 40.0 - 160.31 */
-	 struct connectib_led_port_blink_pattern reserved_pattern[15];
+	/* 0x8.0 - 0x8.7 */
+	 u_int8_t module1;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to   a local port. */
+	/* 0x8.16 - 0x8.17 */
+	 u_int8_t lane1;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.7 */
+	 u_int8_t module2;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to   a local port. */
+	/* 0xc.16 - 0xc.17 */
+	 u_int8_t lane2;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t module3;
+	/* Description - Lane - up to 4 serdeses in a module can be mapped to   a local port. */
+	/* 0x10.16 - 0x10.17 */
+	 u_int8_t lane3;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_static_config {
+/* Size in bytes - 80 */
+struct connectib_icmd_get_fw_driver_version {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
-	 u_int8_t dwrr_en;
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_fw_driver_version fw_driver_version;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description - if set, icmd gets the function from hix and func_num */
+	/* 0x40.0 - 0x40.0 */
+	 u_int8_t use_hix_func_num;
 	/* Description -  */
-	/* 0.1 - 0.1 */
-	 u_int8_t ifarm_en;
-	/* Description - flip flop data protection enable
-if error is detected -
-ib + pci serdes will give dc stable (i.e all 0's) */
-	/* 0.8 - 0.8 */
-	 u_int8_t ffser_en;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - mask of iriscs that participate in prio group X in dispatcher */
-	/* 4.0 - 4.7 */
-	 u_int8_t prio_g_0_ix_mask_no_ifarm;
-	/* Description - mask of iriscs that participate in prio group X in dispatcher */
-	/* 4.8 - 4.15 */
-	 u_int8_t prio_g_1_ix_mask_no_ifarm;
+	/* 0x40.16 - 0x40.31 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description -  */
+	/* 0x44.0 - 0x44.7 */
+	 u_int8_t func_num;
+	/* Description -  */
+	/* 0x44.8 - 0x44.15 */
+	 u_int8_t host_ix;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_guids {
+/* Size in bytes - 4 */
+struct connectib_icmd_set_oc_int {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - UIDs (MACs and GUIDs) Allocation Entry.
-guids[0], is used for system GUID, node GUID and port GUID of port 0. guids[1], is used for port GUID of port 1.;/Multiple UIDs can be assigned to a single port, to be used for multiple virtual guests.
+	/* Description - module 0 or 1 */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t module;
+	/* Description - if bit is 1, bad cable flow refers as oc_int gpio is down */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t force_gpio_down;
+};
 
-Allocation Example:
-For a port GUID, if the
-    UID = 0x2c9030001000
-    num_allocated  = 4, 
-    step = 8
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_icmd_gen_assert {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - assert value */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t value;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - assert type, FW enum */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t type;
+};
 
-Then the GUIDs for this port would be:
-    0x2c9030001000
-    0x2c9030001008
-    0x2c9030001010
-    0x2c9030001018 */
-	/* 0.0 - 32.31 */
-	 struct connectib_uid_entry guids[2];
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+/* Description -   */
+/* Size in bytes - 68 */
+struct connectib_icmd_read_write_varb_ctx {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - read = 1 , write = 0 */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t rw_;
+	/* Description - arbiter index [0-2047] */
+	/* 0x0.1 - 0x0.12 */
+	 u_int16_t arb_id;
+	/* Description - gvmi index */
+	/* 0x0.13 - 0x0.24 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 32.0 - 64.31 */
-	 struct connectib_uid_entry macs[2];
+	/* 0x4.0 - 0x24.31 */
+	 struct connectib_vqos_arb_ctx data;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description -  */
+	/* 0x24.0 - 0x44.31 */
+	 struct connectib_vqos_arb_ctx mask;
 };
 
 /* Description -   */
-/* Size in bytes - 64 */
-struct connectib_module_versions {
+/* Size in bytes - 768 */
+struct connectib_icmd_debug_calc_sqn {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 struct connectib_module_version core;
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_module_version phy;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t port_0_1;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
-	 struct connectib_module_version kernel;
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t vl;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
-	 struct connectib_module_version iron_image;
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t sl;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
-	 struct connectib_module_version host_management;
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t pp;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
-	 struct connectib_module_version mad;
-};
-
-/* Description -   */
-/* Size in bytes - 8 */
-struct connectib_image_size {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - log of next address in bytes to search for an image. Address in bytes is 2^log_step */
-	/* 0.0 - 0.7 */
-	 u_int8_t log_step;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - Max possible size in bytes of image. Image read / write should not occure beyond this address */
-	/* 4.0 - 8.31 */
-	 u_int32_t max_size;
+	/* 0x14.0 - 0x18.31 */
+	 u_int32_t req_res_;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 u_int32_t is_fw_sq;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x20.31 */
+	 u_int32_t sqn;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - use iterator = 0 / calc_sq_iterator */
+	/* 0x20.0 - 0x24.31 */
+	 u_int32_t calc_sqn_iterator_;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - total iterator iterations */
+	/* 0x24.0 - 0x28.31 */
+	 u_int32_t iterations;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description - iterator skip_vl15 */
+	/* 0x28.0 - 0x2c.31 */
+	 u_int32_t skip_vl_15;
+/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
+	/* Description - iterator return sqs even if sl2vl_mismatch */
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t include_sl2vl_mismatch;
+/*---------------- DWORD[12] (Offset 0x30) ----------------*/
+	/* Description - iterator will return only iterations are greater then the given number */
+	/* 0x30.0 - 0x34.31 */
+	 u_int32_t iterator_lowest_iter;
+/*---------------- DWORD[14] (Offset 0x38) ----------------*/
+	/* Description -  */
+	/* 0x38.0 - 0x300.31 */
+	 struct connectib_iterator_result iterator_res[89];
 };
 
 /* Description -   */
 /* Size in bytes - 8 */
-struct connectib_TRIPPLE_VERSION {
+struct connectib_icmd_mini_flow_activator {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.16 - 4.31 */
-	 u_int16_t MAJOR;
+	/* Description - 0=flicks_enable_disable; 1=steering_flush_cache; 2=invalidate_qp_l0_cache; 3=invalidate_dct_l0_caches; 4=invalidate_rxw_l2_cache; 5=invalidate_dirty_rxc_cache_start; 6=invalidate_dirty_sxd_cache_start; 7=update_gvmis_steering_bypasses; 8=invalidate_dirty_ldb_cache_start */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t type;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
-	 u_int16_t SUBMINOR;
-	/* Description -  */
-	/* 4.16 - 8.31 */
-	 u_int16_t MINOR;
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t freq;
 };
 
 /* Description -   */
 /* Size in bytes - 16 */
-struct connectib_operation_key {
+struct connectib_icmd_general_fault_injector {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0=no_free_pages; 1=no_pages_for_resource; 2=lock_eq_gw; 3=lock_cqe_gw; 4=rx_fence_type; 5=sx_fence_type; 6=rxt_slices_fence_type; 7=sxd_ec_slices_fence_type; 8=general_fence_type; */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t key_modifier;
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_general_fault_injector_pair config;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description -  */
-	/* 8.0 - 16.31 */
-	 u_int64_t key;
+	/* Description - smbus gw. relevant only for type 0x9. */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t param;
 };
 
 /* Description -   */
-/* Size in bytes - 8 */
-struct connectib_toc_data {
+/* Size in bytes - 20 */
+struct connectib_icmd_access_register_pvlc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t address;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t size;
+	/* 0x4.0 - 0x14.31 */
+	 struct connectib_pvlc_reg pvlc;
 };
 
 /* Description -   */
-/* Size in bytes - 128 */
-struct connectib_rst_api_ver {
+/* Size in bytes - 64 */
+struct connectib_icmd_parse_icm_address {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 128.31 */
-	 struct connectib_reset_level_info reset[8];
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_reset_capabilities {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Initial capability for reset level */
-	/* 0.0 - 0.0 */
-	 u_int8_t reset_ver_en;
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t addr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t gvmi;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t res_type;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t res_num;
 };
 
 /* Description -   */
-/* Size in bytes - 96 */
-struct connectib_icmd_get_pf_ctx {
+/* Size in bytes - 128 */
+struct connectib_icmd_get_steering_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t gvmi_active;
+	/* Description -  */
+	/* 0x4.2 - 0x4.2 */
+	 u_int8_t fpp_enable;
+	/* Description -  */
+	/* 0x4.3 - 0x4.3 */
+	 u_int8_t sriov_enable;
+	/* Description -  */
+	/* 0x4.4 - 0x4.4 */
 	 u_int8_t portid;
 	/* Description -  */
-	/* 0.16 - 4.31 */
-	 u_int16_t vport_num;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x4.5 - 0x4.5 */
+	 u_int8_t ib_eth_;
+	/* Description -  */
+	/* 0x4.6 - 0x4.6 */
+	 u_int8_t roce_en;
+	/* Description -  */
+	/* 0x4.7 - 0x4.7 */
+	 u_int8_t gvmi_steering_enabled;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
+	/* 0x8.0 - 0x8.15 */
 	 u_int16_t pf_gvmi;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 64.31 */
-	 struct connectib_vport_shadow vport_shadow;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t port_pf_gvmi;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 64.0 - 96.31 */
-	 struct connectib_vport_info vport_info;
-};
-
-/* Description -   */
-/* Size in bytes - 4 */
-struct connectib_icmd_gen_assert {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - assert value */
-	/* 0.0 - 4.31 */
-	 u_int32_t value;
-};
-
-/* Description -   */
-/* Size in bytes - 8 */
-struct connectib_icmd_general_fault_injector {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 0 - no pages */
-	/* 0.0 - 4.31 */
-	 u_int32_t type;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t vport_num;
 	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_general_fault_injector_pair config;
-};
-
-/* Description -   */
-/* Size in bytes - 20 */
-struct connectib_icmd_access_register_pvlc {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* 0xc.16 - 0xc.31 */
+	 u_int16_t allowed_uc_list_size;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
-	 u_int16_t gvmi;
+	/* 0x10.0 - 0x10.1 */
+	 u_int8_t nic_state;
 	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t rw;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* 0x10.2 - 0x10.3 */
+	 u_int8_t esw_state;
 	/* Description -  */
-	/* 4.0 - 20.31 */
-	 struct connectib_pvlc_reg pvlc;
+	/* 0x10.4 - 0x10.4 */
+	 u_int8_t connected_2_steering;
+	/* Description -  */
+	/* 0x10.8 - 0x10.11 */
+	 u_int8_t num_of_hosts;
+	/* Description -  */
+	/* 0x10.12 - 0x10.15 */
+	 u_int8_t num_pfs;
+	/* Description -  */
+	/* 0x10.16 - 0x10.31 */
+	 u_int16_t total_vfs;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x18.31 */
+	 struct connectib_dmfs_ft_type_info esw_egress_info;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x1c.31 */
+	 struct connectib_dmfs_ft_type_info esw_ingress_info;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x40.31 */
+	 struct connectib_dmfs_data dmfs_data;
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+	/* Description -  */
+	/* 0x40.0 - 0x80.31 */
+	 struct connectib_dmfs_gvmi_ctx dmfs_gvmi_ctx;
 };
 
 /* Description -   */
@@ -18257,18 +24656,18 @@ struct connectib_icmd_access_register_pvlc {
 struct connectib_icmd_read_ste {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_hw_ste data;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 68.31 */
+	/* 0x40.0 - 0x44.31 */
 	 u_int32_t index;
 /*---------------- DWORD[17] (Offset 0x44) ----------------*/
 	/* Description -  */
-	/* 68.0 - 68.15 */
+	/* 0x44.0 - 0x44.15 */
 	 u_int16_t gvmi;
 	/* Description - is ste locked in icmc, if so gvmi is reserved */
-	/* 68.31 - 72.31 */
+	/* 0x44.31 - 0x44.31 */
 	 u_int8_t locked_in_icmc;
 };
 
@@ -18277,10 +24676,10 @@ struct connectib_icmd_read_ste {
 union connectib_icmd_get_ste_resources_list {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_ste_resources_list_in in;
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 struct connectib_icmd_get_ste_resources_list_out out;
 };
 
@@ -18289,10 +24688,10 @@ union connectib_icmd_get_ste_resources_list {
 union connectib_icmd_get_ste_open_resources {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_ste_open_resources_in in;
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 struct connectib_icmd_get_ste_open_resources_out out;
 };
 
@@ -18301,10 +24700,10 @@ union connectib_icmd_get_ste_open_resources {
 union connectib_icmd_get_fte {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_fte_in in;
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 struct connectib_icmd_get_fte_out out;
 };
 
@@ -18313,10 +24712,10 @@ union connectib_icmd_get_fte {
 union connectib_icmd_get_fte_list {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_fte_list_in in;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_fte_list_out out;
 };
 
@@ -18325,10 +24724,10 @@ union connectib_icmd_get_fte_list {
 union connectib_icmd_get_fg {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_fg_in in;
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 struct connectib_icmd_get_fg_out out;
 };
 
@@ -18337,10 +24736,10 @@ union connectib_icmd_get_fg {
 union connectib_icmd_get_fg_list {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_fg_list_in in;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_fg_list_out out;
 };
 
@@ -18349,122 +24748,302 @@ union connectib_icmd_get_fg_list {
 union connectib_icmd_get_ft_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_icmd_get_ft_info_in in;
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_get_ft_info_in in;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_get_ft_info_out out;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+union connectib_icmd_get_ft_list {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_get_ft_list_in in;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_get_ft_list_out out;
+};
+
+/* Description -   */
+/* Size in bytes - 72 */
+struct connectib_icmd_led_control_mad {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 1 = GET, 2 = SET */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t method;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - attribute_modifier - choose gourp of leds */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t attribute_mod;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x48.31 */
+	 struct connectib_led_control_data data;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_icmd_led_cmd {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t index;
+	/* Description - type: 0=phy; 1=traffic; 2=pci; 3=uid; 4=bad_port; */
+	/* 0x0.8 - 0x0.11 */
+	 u_int8_t led_type;
+	/* Description - pattern; */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t pattern;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - Read/Write pattern (for write Enable should be ON = 1) */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t rw;
+	/* Description - Enable bit. 
+ to reset LED control need to send write(rw=0) with en = 0 */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t en;
+};
+
+/* Description -   */
+/* Size in bytes - 24 */
+struct connectib_icmd_set_get_port_cntr {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t data;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x8.0 */
+	 u_int8_t port_0_1;
+	/* Description -  */
+	/* 0x8.1 - 0x8.1 */
+	 u_int8_t set_get_;
+	/* Description - ConnectX4 max_ix=276 ; ConnectIB max_ix=182 */
+	/* 0x8.16 - 0x8.31 */
+	 u_int16_t cntr_ix;
+};
+
+/* Description -   */
+/* Size in bytes - 268 */
+struct connectib_icmd_access_register_ppcnt {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x104.31 */
+	 struct connectib_ppcnt_reg ppcnt;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_icmd_measure_frequency {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - cluster number */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t cl;
+	/* Description - pll id */
+	/* 0x0.8 - 0x0.9 */
+	 u_int8_t pll;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - measured divider quotient */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t measured_div_quotient;
+	/* Description - measured divider fraction */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t measured_div_fraction;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct connectib_restore_phy_registers {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.4 */
+	 u_int8_t local_port;
+};
+
+/* Description -   */
+/* Size in bytes - 68 */
+struct connectib_icmd_access_reg_ptys {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x44.31 */
+	 struct connectib_ptys_reg ptys;
+};
+
+/* Description -   */
+/* Size in bytes - 20 */
+struct connectib_icmd_access_register_pmtu {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x14.31 */
+	 struct connectib_pmtu_reg pmtu;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_icmd_access_register_mlcr {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x10.31 */
+	 struct connectib_mlcr mlcr;
+};
+
+/* Description -   */
+/* Size in bytes - 48 */
+struct connectib_icmd_access_register_plpc {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_icmd_get_ft_info_out out;
+	/* 0x4.0 - 0x2c.31 */
+	 struct connectib_plpc_reg plpc;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-union connectib_icmd_get_ft_list {
+/* Size in bytes - 48 */
+struct connectib_icmd_access_register_pplm {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_icmd_get_ft_list_in in;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.0 - 16.31 */
-	 struct connectib_icmd_get_ft_list_out out;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x1c.31 */
+	 struct connectib_pplm_reg pplm;
 };
 
 /* Description -   */
-/* Size in bytes - 24 */
-struct connectib_icmd_set_get_port_cntr {
+/* Size in bytes - 48 */
+struct connectib_icmd_access_register_pplr {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
-	 u_int64_t data;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
 	/* Description -  */
-	/* 8.0 - 8.0 */
-	 u_int8_t port_0_1;
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 8.1 - 8.1 */
-	 u_int8_t set_get_;
-	/* Description - ConnectX4 max_ix=276 ; ConnectIB max_ix=182 */
-	/* 8.16 - 12.31 */
-	 u_int16_t cntr_ix;
+	/* 0x4.0 - 0xc.31 */
+	 struct connectib_pplr_reg pplr;
 };
 
 /* Description -   */
-/* Size in bytes - 268 */
-struct connectib_icmd_access_register_ppcnt {
+/* Size in bytes - 48 */
+struct connectib_icmd_access_register_ppamp {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 260.31 */
-	 struct connectib_ppcnt_reg ppcnt;
+	/* 0x4.0 - 0x30.31 */
+	 struct connectib_pamp_reg ppamp;
 };
 
 /* Description -   */
-/* Size in bytes - 68 */
-struct connectib_icmd_access_reg_ptys {
+/* Size in bytes - 48 */
+struct connectib_icmd_access_register_ptas {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 68.31 */
-	 struct connectib_ptys_reg ptys;
+	/* 0x4.0 - 0x30.31 */
+	 struct connectib_ptas_reg ptas;
 };
 
 /* Description -   */
 /* Size in bytes - 20 */
-struct connectib_icmd_access_register_pmtu {
+struct connectib_icmd_access_register_ppaos {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 20.31 */
-	 struct connectib_pmtu_reg pmtu;
+	/* 0x4.0 - 0x14.31 */
+	 struct connectib_ppaos_reg ppaos;
 };
 
 /* Description -   */
-/* Size in bytes - 48 */
-struct connectib_icmd_access_register_ppamp {
+/* Size in bytes - 44 */
+struct connectib_icmd_access_register_pprt {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 48.31 */
-	 struct connectib_pamp_reg ppamp;
+	/* 0x4.0 - 0x24.31 */
+	 struct connectib_pprt_reg pprt;
 };
 
 /* Description -   */
-/* Size in bytes - 48 */
-struct connectib_icmd_access_register_ptas {
+/* Size in bytes - 32 */
+struct connectib_icmd_access_register_pptt {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 48.31 */
-	 struct connectib_ptas_reg ptas;
+	/* 0x4.0 - 0x20.31 */
+	 struct connectib_pptt_reg pptt;
 };
 
 /* Description -   */
@@ -18472,14 +25051,14 @@ struct connectib_icmd_access_register_ptas {
 struct connectib_icmd_access_register_slrg {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 44.31 */
+	/* 0x4.0 - 0x2c.31 */
 	 struct connectib_slrg_reg slrg;
 };
 
@@ -18488,14 +25067,14 @@ struct connectib_icmd_access_register_slrg {
 struct connectib_icmd_access_register_sltp {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 24.31 */
+	/* 0x4.0 - 0x18.31 */
 	 struct connectib_sltp_reg sltp;
 };
 
@@ -18504,14 +25083,14 @@ struct connectib_icmd_access_register_sltp {
 struct connectib_icmd_access_register_slrp {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 44.31 */
+	/* 0x4.0 - 0x2c.31 */
 	 struct connectib_slrp_reg slrp;
 };
 
@@ -18520,39 +25099,137 @@ struct connectib_icmd_access_register_slrp {
 struct connectib_icmd_access_register_paos {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t rw;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 20.31 */
+	/* 0x4.0 - 0x14.31 */
 	 struct connectib_paos_reg paos;
 };
 
 /* Description -   */
+/* Size in bytes - 4 */
+struct connectib_icmd_enable_tools_pf {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t disable_enable_;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_icmd_set_toolpf_tracer {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t PA;
+};
+
+/* Description -   */
+/* Size in bytes - 272 */
+struct connectib_icmd_nvcfg_rw_tlv {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.20 - 0x0.23 */
+	 u_int8_t writer_id;
+	/* Description - debug - commit a nvct flow */
+	/* 0x0.24 - 0x0.24 */
+	 u_int8_t apply;
+	/* Description - debug - write tlv to shadow list */
+	/* 0x0.25 - 0x0.25 */
+	 u_int8_t shadow;
+	/* Description - debug - tlv ovr_en */
+	/* 0x0.26 - 0x0.26 */
+	 u_int8_t ovr_en;
+	/* Description - debug - tlv rd_en */
+	/* 0x0.27 - 0x0.27 */
+	 u_int8_t rd_en;
+	/* Description - debug - tlv priority */
+	/* 0x0.28 - 0x0.29 */
+	 u_int8_t prio;
+	/* Description - read tlv defaults from ini */
+	/* 0x0.30 - 0x0.30 */
+	 u_int8_t read_defaults;
+	/* Description - read or write bit */
+	/* 0x0.31 - 0x0.31 */
+	 u_int8_t rw_;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - tlv type */
+	/* 0x4.0 - 0x8.31 */
+	 union connectib_nv_tlv_type type;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - data length in bytes */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t data_len_bytes;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - status returned from the rw tlv function icmd uses */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t status;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - data */
+	/* 0x10.0 - 0x110.31 */
+	 u_int32_t data[64];
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct connectib_icmd_xport_xonfig {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0 - XPORT_CONFIG_ACK_TIMEOUT
+ */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t bitmask;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - read=1, write=0, for read - bitmask must be 0, for write: at least 1 bit should be set in bitmask */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t rw_;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0xc.4 */
+	 u_int8_t ack_timeout;
+};
+
+/* Description -   */
 /* Size in bytes - 16 */
 struct connectib_icmd_get_gvmi_via_vsec {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x0.16 - 0x0.23 */
+	 u_int8_t hix;
+	/* Description -  */
+	/* 0x0.24 - 0x0.27 */
+	 u_int8_t pfs_per_host;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.3 */
+	 u_int8_t num_physical_ports;
+	/* Description -  */
+	/* 0x4.4 - 0x4.7 */
+	 u_int8_t port_pfs_per_host;
+	/* Description -  */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t device_id;
 };
 
 /* Description -   */
-/* Size in bytes - 48 */
+/* Size in bytes - 80 */
 struct connectib_icmd_steering_table_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_steering_table_info table_info;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+/*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description - defined in steering_inner.h */
-	/* 32.0 - 32.23 */
+	/* 0x40.0 - 0x40.23 */
 	 u_int32_t steering_table;
 	/* Description -  */
-	/* 32.31 - 36.31 */
+	/* 0x40.31 - 0x40.31 */
 	 u_int8_t portid;
 };
 
@@ -18561,23 +25238,26 @@ struct connectib_icmd_steering_table_info {
 struct connectib_icmd_access_steering_root {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_hw_ste data;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 64.0 */
+	/* 0x40.0 - 0x40.0 */
 	 u_int8_t sx_rx_;
 	/* Description -  */
-	/* 64.1 - 64.1 */
+	/* 0x40.1 - 0x40.1 */
 	 u_int8_t portid;
 	/* Description -  */
-	/* 64.2 - 64.2 */
+	/* 0x40.2 - 0x40.2 */
 	 u_int8_t mc_uc_;
 	/* Description - valid only for SX, in HW indication come from QP */
-	/* 64.3 - 64.3 */
+	/* 0x40.3 - 0x40.3 */
 	 u_int8_t special_root;
 	/* Description -  */
-	/* 64.31 - 68.31 */
+	/* 0x40.4 - 0x40.4 */
+	 u_int8_t enable_disable_;
+	/* Description -  */
+	/* 0x40.31 - 0x40.31 */
 	 u_int8_t rw_;
 };
 
@@ -18586,15 +25266,15 @@ struct connectib_icmd_access_steering_root {
 struct connectib_icmd_dcr_ll_next_dcr_list {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
+	/* 0x0.0 - 0x0.23 */
 	 u_int32_t start_dcri;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t list_length;
 /*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 256.0 - 768.31 */
+	/* 0x100.0 - 0x300.31 */
 	 struct connectib_dcr_info dcr_info[128];
 };
 
@@ -18603,15 +25283,15 @@ struct connectib_icmd_dcr_ll_next_dcr_list {
 struct connectib_icmd_dcr_ll_trvrs {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
+	/* 0x0.0 - 0x0.23 */
 	 u_int32_t start_dcri;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t list_length;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.23 */
+	/* 0x8.0 - 0x8.23 */
 	 u_int32_t last_dcri;
 };
 
@@ -18620,22 +25300,22 @@ struct connectib_icmd_dcr_ll_trvrs {
 struct connectib_icmd_flr_debug {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - read - update in_standby_mode and times. write - simulate exit/enter icmc power save flow (caller should set exit_enter_) */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.0 */
 	 u_int8_t rw_;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
+	/* 0x4.0 - 0x4.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 4.16 - 8.31 */
+	/* 0x4.16 - 0x4.31 */
 	 u_int16_t flow_id;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t flow_data_0;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t flow_data_1;
 };
 
@@ -18644,52 +25324,58 @@ struct connectib_icmd_flr_debug {
 struct connectib_icmd_push_db {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.23 */
+	/* 0x4.0 - 0x4.23 */
 	 u_int32_t qpn;
 	/* Description -  */
-	/* 4.24 - 4.24 */
+	/* 0x4.24 - 0x4.24 */
 	 u_int8_t req_res_;
 };
 
 /* Description -   */
+/* Size in bytes - 80 */
+struct connectib_icmd_ver_data {
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - determines specific behavior. 1-set atomic size,  */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t opcode;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - for general use */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t user_data;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x50.31 */
+	 union connectib_icmd_ver_data_cmd_specific cmd_specific;
+};
+
+/* Description -   */
 /* Size in bytes - 64 */
 struct connectib_icmd_pcie_ver_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_pcie_ver_device device;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 48.31 */
+	/* 0x10.0 - 0x30.31 */
 	 struct connectib_icmd_pcie_ver_cables cables[2];
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 64.31 */
+	/* 0x30.0 - 0x40.31 */
 	 struct connectib_icmd_pcie_ver_frequency frequency;
 };
 
 /* Description -   */
 /* Size in bytes - 256 */
-struct connectib_icmd_stress_testing {
-/*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - 0x01 - ICMD_STRESS_OPCODE_RXB_SLICE_CREDIT
-0x02 - ICMD_STRESS_OPCODE_ICMC_NORMAL_CREDITS
-0x03 - ICMD_STRESS_OPCODE_ICMC_TLB_CREDITS
-0x04 - ICMD_STRESS_OPCODE_TRANSLATION_SLICE_CREDITS
-0x05 - ICMD_STRESS_OPCODE_QPC_TIMER_CREDITS
-0x06 - ICMD_STRESS_OPCODE_TPT_MEMOP_SLICE_CREDITS
-0x07 - ICMD_STRESS_OPCODE_QPC_ALL_SLICE_REDUCTION
-0x08 - ICMD_STRESS_OPCODE_FW_STOP */
-	/* 0.0 - 0.7 */
-	 u_int8_t opcode;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description - for opcodes 0x01-0x06 param is number of credits to consume,for opcode 0x07 set param != -1 for stress, for opcode 0x08 param is number of iterations for delay. set -1 to return to initial value */
-	/* 4.0 - 8.31 */
-	 u_int32_t param;
+struct connectib_icmd_error_flow_trigger {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0 - RXT */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t type;
 };
 
 /* Description -   */
@@ -18703,22 +25389,32 @@ SX_ERROR   = 3
 RX_ERROR   = 4
 MX_ERROR   = 5
 MAD_TRAP   = 6
-RXT_SLICE       = 0x20
-QOS_ARBITER     = 0x21 */
-	/* 0.0 - 0.7 */
+RXT_SLICE       = 0x7
+QOS_ARBITER     = 0x8
+RXB_XMIT_HOLD     = 0x9
+FW_SCHED_Q     = 0xa */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t type;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - HW/FW will be working/stopped (according to mostly_working config) for a fraction of 1/(2^log_stress) each duty cycle. Duty cycle is: approx. 50uSec * 2^log_duty_cycle */
-	/* 4.0 - 4.0 */
+	/* 0x4.0 - 0x4.0 */
 	 u_int8_t mostly_working;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - 0 = remove stress */
-	/* 8.0 - 8.4 */
+	/* 0x8.0 - 0x8.4 */
 	 u_int8_t log_duty_cycle;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - must be less than log_duty_cycle */
-	/* 12.0 - 12.4 */
+	/* 0xc.0 - 0xc.4 */
 	 u_int8_t log_stress;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - bit per prio/vl (vl_mask[8] = vl15) */
+	/* 0x20.0 - 0x20.8 */
+	 u_int16_t xmit_hold_vl_mask;
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
+	/* Description - port number 1 or 2 */
+	/* 0x24.0 - 0x24.7 */
+	 u_int8_t xmit_hold_port_num;
 };
 
 /* Description -   */
@@ -18726,14 +25422,14 @@ QOS_ARBITER     = 0x21 */
 struct connectib_icmd_code_coverage_read {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 u_int32_t data[64];
 /*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description - dword to start reading the data from */
-	/* 256.0 - 256.15 */
+	/* 0x100.0 - 0x100.15 */
 	 u_int16_t start_dw;
 	/* Description - number of dword to read. Max number is buffer size in dwords or number of dwords left in HW queue from start */
-	/* 256.16 - 260.31 */
+	/* 0x100.16 - 0x100.31 */
 	 u_int16_t num_dw;
 };
 
@@ -18742,11 +25438,11 @@ struct connectib_icmd_code_coverage_read {
 struct connectib_icmd_code_coverage_control {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.0 */
 	 u_int8_t rw_;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - reg access is shared with smp mads that are limited to 0x40B */
-	/* 4.0 - 12.31 */
+	/* 0x4.0 - 0xc.31 */
 	 struct connectib_code_coverage_control code_coverage_control;
 };
 
@@ -18755,30 +25451,30 @@ struct connectib_icmd_code_coverage_control {
 struct connectib_icmd_esw {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x200.31 */
 	 struct connectib_fw_esw fw_esw;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
+/*---------------- DWORD[128] (Offset 0x200) ----------------*/
+	/* Description -  */
+	/* 0x200.0 - 0x280.31 */
+	 struct connectib_vport_real_state vport_real_state;
+/*---------------- DWORD[189] (Offset 0x2f4) ----------------*/
 	/* Description -  */
-	/* 64.29 - 64.29 */
+	/* 0x2f4.29 - 0x2f4.29 */
 	 u_int8_t port_is_ib;
 	/* Description -  */
-	/* 64.30 - 64.30 */
+	/* 0x2f4.30 - 0x2f4.30 */
 	 u_int8_t rw_;
 	/* Description -  */
-	/* 64.31 - 68.31 */
+	/* 0x2f4.31 - 0x2f4.31 */
 	 u_int8_t portid;
-/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+/*---------------- DWORD[190] (Offset 0x2f8) ----------------*/
 	/* Description -  */
-	/* 68.0 - 72.31 */
+	/* 0x2f8.0 - 0x2fc.31 */
 	 u_int32_t gvmi;
-/*---------------- DWORD[18] (Offset 0x48) ----------------*/
+/*---------------- DWORD[191] (Offset 0x2fc) ----------------*/
 	/* Description -  */
-	/* 72.0 - 76.31 */
+	/* 0x2fc.0 - 0x300.31 */
 	 u_int32_t num_of_vport;
-/*---------------- DWORD[64] (Offset 0x100) ----------------*/
-	/* Description -  */
-	/* 256.0 - 768.31 */
-	 struct connectib_vport_real_state vport_real_state;
 };
 
 /* Description -   */
@@ -18786,22 +25482,22 @@ struct connectib_icmd_esw {
 struct connectib_icmd_rw_gvmix {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 union connectib_gvmix_sub_structs sub_structs;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 68.31 */
+	/* 0x40.0 - 0x44.31 */
 	 u_int32_t gvmi;
 /*---------------- DWORD[17] (Offset 0x44) ----------------*/
 	/* Description - ICMD_RW_GVMIX_CMD_CTX = 0x1,
 ICMD_RW_GVMIX_DUMMY_ADDR = 0x2,
 ICMD_RW_GVMIX_HCA_PARAMS = 0x3,
 ICMD_RW_GVMIX_PAGE_MANAGER = 0x4, */
-	/* 68.0 - 72.31 */
+	/* 0x44.0 - 0x48.31 */
 	 u_int32_t node_type;
 /*---------------- DWORD[18] (Offset 0x48) ----------------*/
 	/* Description -  */
-	/* 72.0 - 76.31 */
+	/* 0x48.0 - 0x4c.31 */
 	 u_int32_t ix;
 };
 
@@ -18810,15 +25506,15 @@ ICMD_RW_GVMIX_PAGE_MANAGER = 0x4, */
 struct connectib_icmd_gen_eqe {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.7 */
+	/* 0x4.0 - 0x4.7 */
 	 u_int8_t eqn;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 80.31 */
+	/* 0x10.0 - 0x50.31 */
 	 struct connectib_sw_eqe eqe;
 };
 
@@ -18827,55 +25523,55 @@ struct connectib_icmd_gen_eqe {
 struct connectib_pcie_tools_pointers {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t pcie_endpoint_data_ptr;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t pcie_timestamps_ptr;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t pcie_transaction_ptr;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t pcie_debug_equalization_debug_ptr;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 u_int32_t pcie_debug_ts_debug_ptr;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t pcie_debug_internal_error_debug_ptr;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
+	/* 0x18.0 - 0x1c.31 */
 	 u_int32_t pcie_phy_gen3_equalization_ptr;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x20.31 */
 	 u_int32_t pcie_phy_pcie_eye_centering_ptr;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 36.31 */
+	/* 0x20.0 - 0x24.31 */
 	 u_int32_t pcie_phy_first_calibration_results_ptr;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.0 - 40.31 */
+	/* 0x24.0 - 0x28.31 */
 	 u_int32_t pcie_phy_pcie_rx_adaptation_ptr;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 40.0 - 44.31 */
+	/* 0x28.0 - 0x2c.31 */
 	 u_int32_t pcie_phy_pcie_tx_adaptation_ptr;
 /*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 44.0 - 48.31 */
+	/* 0x2c.0 - 0x30.31 */
 	 u_int32_t pcie_phy_tracer_ptr;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 52.31 */
+	/* 0x30.0 - 0x34.31 */
 	 u_int32_t pcie_pfs_ptr;
 };
 
@@ -18884,7 +25580,7 @@ struct connectib_pcie_tools_pointers {
 struct connectib_icmd_phy_ver_overwrite {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - 0 - port1, 1 - port2 */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.0 */
 	 u_int8_t port_id;
 	/* Description - 0x00 - CABLE_STAMP
 0x01 - MLPN_EN
@@ -18894,13 +25590,13 @@ struct connectib_icmd_phy_ver_overwrite {
 0x05 - SPEC_1_3
 0x06 - FEC_REQ_FDR
 0x07 - FEC_REQ_FDR10 */
-	/* 0.16 - 0.23 */
+	/* 0x0.16 - 0x0.23 */
 	 u_int8_t field_id;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - New value to overwrite.
  For MLPN_SUP and MLPN_REQ full DW
  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t field_value;
 };
 
@@ -18909,51 +25605,25 @@ struct connectib_icmd_phy_ver_overwrite {
 struct connectib_icmd_init_ocsd {
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t addr_hi;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t addr_low;
 };
 
 /* Description -   */
-/* Size in bytes - 16 */
-struct connectib_itrace {
+/* Size in bytes - 8 */
+struct connectib_init_ncsi {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - bit numbers:
-0=DEBUG_INIT
-1=INIT
-2=ICM
-3=ICM_FREE_LIST
-4=ICM_BLOCK_ALLOC
-5=CMD_IF
-6=PHY_IB
-7=PHY_RX_ADAP
-8=PHY_EYE_OPN
-9=PHY_COMMON
-10=PHY_MANAGER
-11=PHY_PLL
-12=BLOCK_ALLOC
-13=ICM_ACCESS
-14=MAD
-15=RXT_CHECKS
-16=I2C
-17=TRANSPORT
-18=FW_LL
-19=RX_ERRORS
-20=DEBUG_TRACER
-21=PROFILING
-22=MANAGEMENT
-23=FLASH
-24=STEERING
- */
-	/* 0.0 - 4.31 */
-	 u_int32_t unit_mask;
+	/* Description - number of bmcs */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t num_of_bmc;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 struct connectib_itrace_ctrl ctrl;
+	/* Description - number of channels per package */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t num_of_channels;
 };
 
 /* Description -   */
@@ -18961,110 +25631,90 @@ struct connectib_itrace {
 struct connectib_icmd_dc_config {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - 0 - DC_CONFIG_BIT_HANDSHAKE
-1 -DC_CONFIG_INITIAL_LOG_LIFO
-2 - DC_CONFIG_LOG_MAX_DCRS
-3 - DC_CONFIG_INHALE_EN
-4 - DC_CONFIG_INHALE_THRESHOLD
-5 - DC_CONFIG_INHALE_INC
-6 - DC_CONFIG_LIFO_SIZE_INC
-7 - DC_CONFIG_LOG_HASH
+1 -DC_CONFIG_LOG_DCR_LIFO_SIZE
+7 - DC_CONFIG_LOG_DCR_HASH_SIZE
 8 - DC_CONFIG_FORCE_NO_DCRS
 9 - DC_CONFIG_FORCE_GARBAGE_COLLECT
 10 - DC_CONFIG_GARBAGE_COLLECT_PACKET_DROP
-11 - DC_CONFIG_GHOST_BUSTER_ENABLE */
-	/* 0.0 - 4.31 */
+11 - DC_CONFIG_GHOST_BUSTER_ENABLE
+ 12 - DC_CONFIG_MAX_CNAK_BUFFER_SIZE
+13 - DC_CONFIG_CNAK_QP_ON_THRESHOLD
+14 - DC_CONFIG_CNAK_QP_OFF_THRESHOLD
+ 15 - DC_CONFIG_DCR_LIFO_SIZE */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t bitmask;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - read=1, write=0, for read - bitmask must be 0, for write: at least 1 bit should be set in bitmask */
-	/* 4.0 - 4.0 */
+	/* 0x4.0 - 0x4.0 */
 	 u_int8_t rw_;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - must be configured before init hca - lifo size to be initialized during init_hca */
-	/* 12.0 - 12.4 */
-	 u_int8_t initial_log_dcr_lifo_size;
+	/* Description - must be configured before init hca (deprecated, mutexed with dcr_lifo_size) */
+	/* 0xc.0 - 0xc.4 */
+	 u_int8_t log_dcr_lifo_size;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
-	/* Description - should be configured when no DC traffic: must be less than DC_INITIAL_LOG_DCR_HASH_SIZE.
- Mustn't be changed when dcrs are in use (garbage collection must be done) */
-	/* 16.0 - 16.4 */
-	 u_int8_t log_hash_size;
+	/* Description - must be configured before init_hca */
+	/* 0x10.0 - 0x10.4 */
+	 u_int8_t log_dcr_hash_size;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description - set all qps opened from this point with full_handshake = 0/1 */
-	/* 20.0 - 20.0 */
+	/* 0x14.0 - 0x14.0 */
 	 u_int8_t full_handshake_enable;
-/*---------------- DWORD[6] (Offset 0x18) ----------------*/
-	/* Description - absolute max number of dcrs (after inhale) */
-	/* 24.0 - 24.4 */
-	 u_int8_t log_max_dcrs;
-/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
-	/* Description - enable inhaling lifo (enlarging lifo when reaching lower threshold) */
-	/* 28.0 - 28.4 */
-	 u_int8_t inhale_en;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
-	/* Description - threshold of available dcrs when inhale is triggered */
-	/* 32.0 - 32.23 */
-	 u_int32_t inhale_threshold;
-/*---------------- DWORD[9] (Offset 0x24) ----------------*/
-	/* Description - number of dcrs to add to lifo when inhale is triggered */
-	/* 36.0 - 36.23 */
-	 u_int32_t inhale_inc;
-/*---------------- DWORD[10] (Offset 0x28) ----------------*/
-	/* Description - when FORCE_NO_DCR bit is set in bitmask: forces no_dcr (cnacks) for force_no_dcrs_delay times ~15ns ticks. max delay of: 10,000,000 (1.5 secs) */
-	/* 40.0 - 44.31 */
-	 u_int32_t force_no_dcrs_delay;
-/*---------------- DWORD[11] (Offset 0x2c) ----------------*/
-	/* Description - RO - expected maximum dcrs when HW is idle */
-	/* 44.0 - 48.31 */
-	 u_int32_t current_max_lifo_size;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description - RO - current number of free dcrs in lifo */
-	/* 48.0 - 52.31 */
+	/* 0x30.0 - 0x34.31 */
 	 u_int32_t available_lifo_size;
-/*---------------- DWORD[13] (Offset 0x34) ----------------*/
-	/* Description - should be configured when no DC traffic. decrease mustn't go below 0. firmware will level out maximum so as not to go above absolute max */
-	/* 52.0 - 56.31 */
-	 u_int32_t available_lifo_size_inc;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description - when GARBAGE_COLLECTION bit is set in bitmask, icmd will return OK if done, or OPERATIONAL_ERROR if garbage collection doesn't finish with this number of ticks (~50usec) */
-	/* 56.0 - 60.31 */
+	/* 0x38.0 - 0x3c.31 */
 	 u_int32_t force_garbage_collection_fail_threshold;
 /*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description - number of ghost busters currently active. should be 0 once garbage collection is done */
-	/* 60.0 - 64.31 */
+	/* 0x3c.0 - 0x40.31 */
 	 u_int32_t number_of_active_ghost_busters;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description - N next dcr cleanup connects will be dropped */
-	/* 64.0 - 68.31 */
+	/* 0x40.0 - 0x44.31 */
 	 u_int32_t cleanup_drop_n_connects;
 /*---------------- DWORD[17] (Offset 0x44) ----------------*/
 	/* Description - N next dcr cleanup disconnects will be dropped */
-	/* 68.0 - 72.31 */
+	/* 0x44.0 - 0x48.31 */
 	 u_int32_t cleanup_drop_n_disconnects;
 /*---------------- DWORD[18] (Offset 0x48) ----------------*/
 	/* Description - enables/disable ghost buster mechanism */
-	/* 72.0 - 72.0 */
+	/* 0x48.0 - 0x48.0 */
 	 u_int8_t ghost_buster_enable;
+/*---------------- DWORD[19] (Offset 0x4c) ----------------*/
+	/* Description - max entries in cnak buffer */
+	/* 0x4c.0 - 0x4c.15 */
+	 u_int16_t max_cnak_buffer_size;
+/*---------------- DWORD[20] (Offset 0x50) ----------------*/
+	/* Description - lower threshold - below this num credits - cnak_qp will be turned on */
+	/* 0x50.0 - 0x50.23 */
+	 u_int32_t cnak_qp_on_threshold;
+/*---------------- DWORD[21] (Offset 0x54) ----------------*/
+	/* Description - upper threshold - above this num credits - cnak_qp will be turned off */
+	/* 0x54.0 - 0x54.23 */
+	 u_int32_t cnak_qp_off_threshold;
+/*---------------- DWORD[22] (Offset 0x58) ----------------*/
+	/* Description - mutexed with log_dcr_lifo_size */
+	/* 0x58.0 - 0x58.23 */
+	 u_int32_t dcr_lifo_size;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
-struct connectib_icmd_dc_params {
+/* Size in bytes - 768 */
+struct connectib_icmd_read_icmc_tags_and_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description -  */
-	/* 0.31 - 4.31 */
-	 u_int8_t rw_;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 4.0 */
-	 u_int8_t full_handshake_enable;
-/*---------------- DWORD[2] (Offset 0x8) ----------------*/
-	/* Description - must be less than DC_INITIAL_LOG_DCR_HASH_SIZE.
- Mustn't be changed when dcrs are in use */
-	/* 8.0 - 8.4 */
-	 u_int8_t log_hash_size;
-/*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - RO */
-	/* 12.0 - 16.31 */
-	 u_int32_t current_lifo_size;
+	/* Description - data[0] + data[1] = set[first_set][way[0]], data[2] + data[3] = set[first_set][way[1]]  */
+	/* 0x0.0 - 0x2fc.31 */
+	 u_int32_t data[191];
+/*---------------- DWORD[191] (Offset 0x2fc) ----------------*/
+	/* Description - read icmc tags start from first set */
+	/* 0x2fc.0 - 0x2fc.11 */
+	 u_int16_t first_set;
+	/* Description - number of set read by icmd */
+	/* 0x2fc.12 - 0x2fc.23 */
+	 u_int16_t number_of_sets;
 };
 
 /* Description -   */
@@ -19072,15 +25722,15 @@ struct connectib_icmd_dc_params {
 struct connectib_icmd_access_icm_line {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 u_int32_t data[16];
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.31 - 68.31 */
+	/* 0x40.31 - 0x40.31 */
 	 u_int8_t rw_;
 /*---------------- DWORD[18] (Offset 0x48) ----------------*/
 	/* Description -  */
-	/* 72.0 - 80.31 */
+	/* 0x48.0 - 0x50.31 */
 	 u_int64_t addr;
 };
 
@@ -19089,20 +25739,20 @@ struct connectib_icmd_access_icm_line {
 struct connectib_icmd_check_sqpc_status {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
+	/* 0x0.0 - 0x0.23 */
 	 u_int32_t qpn;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
+	/* 0x4.0 - 0x4.15 */
 	 u_int16_t gvmi;
 	/* Description - 0:all good
 1:db_record!=sxdc_pi
 2:pi!=ci;\3:ci!=ccwi */
-	/* 4.16 - 8.31 */
+	/* 0x4.16 - 0x4.31 */
 	 u_int16_t result_type;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - the diff */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t result_diff;
 };
 
@@ -19111,31 +25761,56 @@ struct connectib_icmd_check_sqpc_status {
 struct connectib_icmd_lock_unlock_resource {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 struct connectib_lock_tag lock_tag;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.0 */
+	/* 0xc.0 - 0xc.0 */
 	 u_int8_t lock_unlock_;
 	/* Description -  */
-	/* 12.8 - 12.10 */
+	/* 0xc.8 - 0xc.10 */
 	 u_int8_t irisc_ix;
 	/* Description - when this bit is set, locking will impersonate irisc specified in irisc_ix field */
-	/* 12.11 - 12.11 */
+	/* 0xc.11 - 0xc.11 */
 	 u_int8_t spy_en;
 };
 
 /* Description -   */
-/* Size in bytes - 160 */
-struct connectib_reg_access_ext_cmd {
+/* Size in bytes - 296 */
+struct connectib_icmd_generic_access_register {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
-	 struct connectib_reg_access_cmd reg_access;
-/*---------------- DWORD[16] (Offset 0x40) ----------------*/
-	/* Description - reg access is shared with smp mads that are limited to 0x40B */
-	/* 64.0 - 160.31 */
-	 u_int32_t more_data[24];
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_reg_access_oper_tlv oper_tlv;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x124.31 */
+	 struct connectib_icmd_generic_reg_access_reg_tlv generic_reg_tlv;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+struct connectib_icmd_kdnet_ctrl {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 union connectib_icmd_kdnet_ctrl_io io;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 struct connectib_nv_config_kdnet_data data;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
+union connectib_icmd_query_capabilities {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_query_cap_in cap_in;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_icmd_query_cap_general cap_general;
 };
 
 /* Description -   */
@@ -19143,27 +25818,27 @@ struct connectib_reg_access_ext_cmd {
 struct connectib_icmd_get_icm_ctx_addr {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - defined in icm_resources.h */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t icm_res_type;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t ctx_num_hi;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t ctx_num_lo;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 u_int32_t icm_addr_hi;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t icm_addr_lo;
 };
 
@@ -19172,16 +25847,16 @@ struct connectib_icmd_get_icm_ctx_addr {
 struct connectib_phy_nego_ctrl_st {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.0 */
 	 u_int8_t force_link_up_port0;
 	/* Description -  */
-	/* 0.1 - 0.1 */
+	/* 0x0.1 - 0x0.1 */
 	 u_int8_t halt_fw_phy_fsm_port0;
 	/* Description -  */
-	/* 0.2 - 0.2 */
+	/* 0x0.2 - 0x0.2 */
 	 u_int8_t force_link_up_port1;
 	/* Description -  */
-	/* 0.3 - 0.3 */
+	/* 0x0.3 - 0x0.3 */
 	 u_int8_t halt_fw_phy_fsm_port1;
 };
 
@@ -19190,31 +25865,31 @@ struct connectib_phy_nego_ctrl_st {
 struct connectib_eye_opening_read_st {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t port_num;
 	/* Description -  */
-	/* 0.16 - 0.23 */
+	/* 0x0.16 - 0x0.23 */
 	 u_int8_t lane_num;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
+	/* 0x4.0 - 0x4.15 */
 	 u_int16_t amplitude_high;
 	/* Description -  */
-	/* 4.16 - 8.31 */
+	/* 0x4.16 - 0x4.31 */
 	 u_int16_t amplitude_low;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.15 */
+	/* 0x8.0 - 0x8.15 */
 	 u_int16_t phase_high;
 	/* Description -  */
-	/* 8.16 - 12.31 */
+	/* 0x8.16 - 0x8.31 */
 	 u_int16_t phase_low;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.15 */
+	/* 0xc.0 - 0xc.15 */
 	 u_int16_t tx_set_chosen;
 	/* Description -  */
-	/* 12.16 - 16.31 */
+	/* 0xc.16 - 0xc.31 */
 	 u_int16_t rx_set_chosen;
 };
 
@@ -19223,26 +25898,26 @@ struct connectib_eye_opening_read_st {
 struct connectib_icmd_alloc_dealloc_resource {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 0.16 - 0.16 */
+	/* 0x0.16 - 0x0.16 */
 	 u_int8_t alloc_dealloc;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - defined in icm_resources.h */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t icm_res_type;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t res_num_hi;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t res_num_lo;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 u_int32_t return_status;
 };
 
@@ -19251,63 +25926,144 @@ struct connectib_icmd_alloc_dealloc_resource {
 struct connectib_icmd_get_icm_res_prop {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - valid types defined at icm_resources.h */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t input_icm_type;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t table_base_hi;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t table_base_lo;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t offset;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 u_int32_t log2_stride;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t log2_size;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
+	/* 0x18.0 - 0x1c.31 */
 	 u_int32_t log2_table_size;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x20.31 */
 	 u_int32_t dummy_idx;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 36.31 */
+	/* 0x20.0 - 0x24.31 */
 	 u_int32_t sw_type;
 };
 
 /* Description -   */
+/* Size in bytes - 72 */
+struct connectib_icmd_emad_mcia {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - write = 1
+query = 0
+ */
+	/* 0x0.0 - 0x0.0 */
+	 u_int8_t write_query_;
+	/* Description - PASSED_SANITY_CHECKS     = 0,
+MODULE_TYPE_NOT_SUPPORTED = 1,
+I2C_ERROR = 2,
+MODULE_DISABLED = 3,
+NO_EEPROM = 4,
+MODULE_NOT_CONNECTED = 5,
+INVALID_SLAVE_ADDR = 6,
+BAD_PARAM_PAGE_NUM  = 7,
+BAD_PARAM = 8,
+RETRY = 9,
+BUSY = 10,
+LONG_PROCESS = 11,
+
+This field will provide information of the sanity checks run over the emad input  */
+	/* 0x0.16 - 0x0.19 */
+	 u_int8_t sanity_checks_sts;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 0h - GOOD.
+1h - NO_EEPROM_MODULE. No response from module's EPROM.
+2h - MODULE_NOT_SUPPORTED. Module type not supported by the device.
+3h - MODULE_NOT_CONNECTED. No module present indication.
+4h - MODULE_TYPE_INVALID - if the module is not qsfp or sfp - ini configuration.
+9h - I2C_ERROR. Error occurred while trying to access the module's EPROM using I2C
+10h - MODULE_DISABLED - module is disabled (using Disable Command).
+ */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t status;
+	/* Description - Module number */
+	/* 0x4.16 - 0x4.23 */
+	 u_int8_t module;
+	/* Description - Cable Info Lock Page bit - when set there will be no page select for the module, the page number field is ignored */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t l;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - The address to read/write in the module */
+	/* 0x8.0 - 0x8.15 */
+	 u_int16_t device_address;
+	/* Description - The page from which to read/write in the module, last page is cached, when the page is changed a page select transaction will be occured  */
+	/* 0x8.16 - 0x8.23 */
+	 u_int8_t page_number;
+	/* Description - The module's i2c slave address - usually 0x50 */
+	/* 0x8.24 - 0x8.31 */
+	 u_int8_t i2c_device_address;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - Desired read/write size in bytes */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t size;
+	/* Description - Password capability */
+	/* 0xc.29 - 0xc.29 */
+	 u_int8_t passwd_cap;
+	/* Description - If set to 1 will force the password to be cleared from the module password field at the end of the module access. */
+	/* 0xc.30 - 0xc.30 */
+	 u_int8_t passwd_clr;
+	/* Description - If set to 1 the Password field is valid and is written to the module password field (address 123-126) before accessing the page. */
+	/* 0xc.31 - 0xc.31 */
+	 u_int8_t passwd_v;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The password that is written to the module password field. */
+	/* 0x10.0 - 0x14.31 */
+	 u_int32_t password;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description - Write transaction - Data to write ,
+query transaction - Returned read data,
+ */
+	/* 0x14.0 - 0x44.31 */
+	 u_int32_t dword[12];
+/*---------------- DWORD[17] (Offset 0x44) ----------------*/
+	/* Description - internal icmd implementation */
+	/* 0x44.0 - 0x44.0 */
+	 u_int8_t internal_state;
+};
+
+/* Description -   */
 /* Size in bytes - 128 */
 struct connectib_icmd_cable_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - 1 = GET, 2 = SET */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t method;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - return status */
-	/* 4.16 - 4.30 */
+	/* 0x4.16 - 0x4.30 */
 	 u_int16_t status;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 20.7 */
+	/* 0x14.0 - 0x14.7 */
 	 u_int8_t module;
 	/* Description - when set, no page select will be made */
-	/* 20.31 - 24.31 */
+	/* 0x14.31 - 0x14.31 */
 	 u_int8_t lock_bit;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 128.31 */
+	/* 0x40.0 - 0x80.31 */
 	 struct connectib_cable_info data;
 };
 
@@ -19316,10 +26072,10 @@ struct connectib_icmd_cable_info {
 struct connectib_icmd_cable_plug_out_in {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Bit per port. 0x1 - port1, 0x2 - port2, 0x3 - both ports, others reserved. */
-	/* 0.0 - 0.3 */
+	/* 0x0.0 - 0x0.3 */
 	 u_int8_t port;
 	/* Description - Simulate plug out (0x1) or plug in (0x0), this mode will work if delay=0 */
-	/* 0.8 - 0.8 */
+	/* 0x0.8 - 0x0.8 */
 	 u_int8_t plug_out_in;
 };
 
@@ -19328,23 +26084,23 @@ struct connectib_icmd_cable_plug_out_in {
 struct connectib_icmd_standby {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - read - update in_standby_mode and times. write - simulate exit/enter icmc power save flow (caller should set exit_enter_) */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.0 */
 	 u_int8_t rw_;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - 0x0 - enter power save mode, 0x1 - exit power save mode */
-	/* 4.0 - 4.0 */
+	/* 0x4.0 - 0x4.0 */
 	 u_int8_t exit_enter_;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - 0x0 - ports, 0x1 - icmc, 0x2 - arrays, 0x3- clock */
-	/* 8.0 - 8.7 */
+	/* 0x8.0 - 0x8.7 */
 	 u_int8_t in_standby_mode;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - last iron down time usec. update on icmd read */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t last_iron_down_time_usec;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - 0 - icmc standby flow , 1 - arrays standby flow, 2 - clock standby flow, 3 - full standby flow */
-	/* 16.0 - 16.15 */
+	/* 0x10.0 - 0x10.15 */
 	 u_int16_t flow_id;
 };
 
@@ -19353,104 +26109,141 @@ struct connectib_icmd_standby {
 struct connectib_icmd_grepper {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - icmd will run grepper operation - 0x0 - icmc_write, 0x1 - icmc_copy, 0x2 - icmc_copy_and_lock, 0x3 - icmc unlock and invalidate */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t icmd_grepper_flow;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - address to read */
-	/* 8.0 - 16.31 */
+	/* 0x8.0 - 0x10.31 */
 	 u_int64_t read_addr;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - address to write */
-	/* 16.0 - 24.31 */
+	/* 0x10.0 - 0x18.31 */
 	 u_int64_t write_addr;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description - read stride size (log) */
-	/* 24.0 - 24.4 */
+	/* 0x18.0 - 0x18.4 */
 	 u_int8_t log_read_stride;
 	/* Description - write stride size (log) */
-	/* 24.5 - 24.9 */
+	/* 0x18.5 - 0x18.9 */
 	 u_int8_t log_write_stride;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description - offset from the first line */
-	/* 28.0 - 28.25 */
+	/* 0x1c.0 - 0x1c.25 */
 	 u_int32_t line_start_offset;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description - number of iterations */
-	/* 32.0 - 32.25 */
+	/* 0x20.0 - 0x20.25 */
 	 u_int32_t iterations;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description - Address of first hit (read only) */
-	/* 36.0 - 36.25 */
+	/* 0x24.0 - 0x24.25 */
 	 u_int32_t first_line_hit;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description - number of hits (read only) */
-	/* 40.0 - 44.31 */
+	/* 0x28.0 - 0x2c.31 */
 	 u_int32_t number_of_hits;
 /*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description - write_data */
-	/* 44.0 - 108.31 */
+	/* 0x2c.0 - 0x6c.31 */
 	 struct connectib_grepper_dwords write_data;
 /*---------------- DWORD[27] (Offset 0x6c) ----------------*/
 	/* Description - write_mask */
-	/* 108.0 - 172.31 */
+	/* 0x6c.0 - 0xac.31 */
 	 struct connectib_grepper_dwords write_mask;
 /*---------------- DWORD[43] (Offset 0xac) ----------------*/
 	/* Description - compare_data */
-	/* 172.0 - 236.31 */
+	/* 0xac.0 - 0xec.31 */
 	 struct connectib_grepper_dwords compare_data;
 /*---------------- DWORD[75] (Offset 0x12c) ----------------*/
 	/* Description - compare_mask */
-	/* 300.0 - 364.31 */
+	/* 0x12c.0 - 0x16c.31 */
 	 struct connectib_grepper_dwords compare_mask;
 };
 
 /* Description -   */
 /* Size in bytes - 48 */
+struct connectib_icmd_execute_fw_log {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_itrace itrace;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - see in icmd.c */
+	/* 0x10.0 - 0x10.3 */
+	 u_int8_t opcode;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.0 - 0x30.31 */
+	 u_int32_t log_var[7];
+};
+
+/* Description -   */
+/* Size in bytes - 48 */
 struct connectib_icmd_debug_fw_tracer {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 u_int32_t arg[8];
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description - Number of arguments passed to the icmd */
-	/* 32.0 - 32.3 */
+	/* 0x20.0 - 0x20.3 */
 	 u_int8_t num_of_args;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description - Number of print iterations to execute */
-	/* 36.0 - 40.31 */
+	/* 0x24.0 - 0x28.31 */
 	 u_int32_t num_of_iterations;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description - Delay between iterations in msec */
-	/* 40.0 - 44.31 */
+	/* 0x28.0 - 0x2c.31 */
 	 u_int32_t iter_delay;
 };
 
 /* Description -   */
+/* Size in bytes - 32 */
+struct connectib_icmd_get_highest_index {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t gvmi;
+	/* Description - defined in icm_resources.h */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t icm_res_type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - highest free list index */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t highest_internal_index;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - highest icm_res_num */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t highest_icm_res_num;
+};
+
+/* Description -   */
 /* Size in bytes - 768 */
 struct connectib_icmd_get_open_resources {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - defined in icm_resources.h */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t icm_res_type;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 16.31 */
+	/* 0x8.0 - 0x10.31 */
 	 u_int64_t start_index;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - there are more open resources, please query again with the next start index */
-	/* 16.0 - 16.0 */
+	/* 0x10.0 - 0x10.0 */
 	 u_int8_t more;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description - number of valid entries in open resources table */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t output_size;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 544.31 */
+	/* 0x20.0 - 0x220.31 */
 	 struct connectib_index_and_length open_resources[32];
 };
 
@@ -19459,19 +26252,19 @@ struct connectib_icmd_get_open_resources {
 struct connectib_icmd_read_icm_dummy_addr {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - resource type - see icm_ctx icmd node */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - dummy index: based to icmd_get_icm_res_prop.dummy_idx */
-	/* 4.0 - 4.7 */
+	/* 0x4.0 - 0x4.7 */
 	 u_int8_t dummy_idx;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - hop number 3-6 */
-	/* 8.0 - 8.2 */
+	/* 0x8.0 - 0x8.2 */
 	 u_int8_t hop_num;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - PA of dummy page */
-	/* 16.0 - 24.31 */
+	/* 0x10.0 - 0x18.31 */
 	 u_int64_t dummy_addr;
 };
 
@@ -19480,15 +26273,15 @@ struct connectib_icmd_read_icm_dummy_addr {
 struct connectib_icmd_read_icm_tlb_line {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 u_int64_t data[8];
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 72.31 */
+	/* 0x40.0 - 0x48.31 */
 	 u_int64_t tlb_addr;
 /*---------------- DWORD[18] (Offset 0x48) ----------------*/
 	/* Description -  */
-	/* 72.0 - 72.3 */
+	/* 0x48.0 - 0x48.3 */
 	 u_int8_t hop_number;
 };
 
@@ -19500,48 +26293,89 @@ struct connectib_icmd_config_cc {
 ICMD_CONFIG_CC_OPCODE_GET_CC_SETTINGS = 0x1
 ICMD_CONFIG_CC_OPCODE_SET_CCT = 0x2
 ICMD_CONFIG_CC_OPCODE_GET_CCT = 0x3 */
-	/* 0.0 - 0.1 */
+	/* 0x0.0 - 0x0.1 */
 	 u_int8_t opcode;
 	/* Description -  */
-	/* 0.4 - 0.4 */
+	/* 0x0.4 - 0x0.4 */
 	 u_int8_t portid;
 	/* Description -  */
-	/* 0.8 - 0.9 */
+	/* 0x0.8 - 0x0.9 */
 	 u_int8_t cc_mode;
 	/* Description -  */
-	/* 0.16 - 4.31 */
+	/* 0x0.16 - 0x0.31 */
 	 u_int16_t sl_map;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.7 */
+	/* 0x4.0 - 0x4.7 */
 	 u_int8_t base;
 	/* Description -  */
-	/* 4.16 - 4.23 */
+	/* 0x4.16 - 0x4.23 */
 	 u_int8_t num_entries;
 /*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description - specifies a list of 16 CA congestion entries, one per SL */
-	/* 256.0 - 384.31 */
+	/* 0x100.0 - 0x180.31 */
 	 struct connectib_ca_congestion_entry ca_congestion_entry_list[16];
 /*---------------- DWORD[128] (Offset 0x200) ----------------*/
 	/* Description - specifies a list of 64 CCT entries */
-	/* 512.16 - 640.15 */
+	/* 0x200.16 - 0x280.15 */
 	 struct connectib_cc_table_entry ccti_entry_list[64];
 };
 
 /* Description -   */
 /* Size in bytes - 64 */
+struct connectib_icmd_ud_to_raw {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.23 */
+	 u_int32_t qpn;
+	/* Description -  */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t port;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.0 */
+	 u_int8_t vl15;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct connectib_icmd_update_rq_ci {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - 0 - RQ, 1 - RMP, 2 - XRC_SRQ, 3 - SRQ, 4 - XRQ */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t context_type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - gvmi of context */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t context_num;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - new consumer index (i.e number of wqe posts) */
+	/* 0xc.0 - 0xc.15 */
+	 u_int16_t new_ci;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - for link list: pointer for next wq  */
+	/* 0x10.0 - 0x10.15 */
+	 u_int16_t new_next_index;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
 struct connectib_icmd_write_dc_cnak_lid {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.1 */
+	/* 0x4.0 - 0x4.1 */
 	 u_int8_t port;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.15 */
+	/* 0x8.0 - 0x8.15 */
 	 u_int16_t lid;
 };
 
@@ -19550,11 +26384,11 @@ struct connectib_icmd_write_dc_cnak_lid {
 struct connectib_icmd_congestion_log {
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.1 */
+	/* 0x4.0 - 0x4.1 */
 	 u_int8_t port;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 32.31 */
+	/* 0x10.0 - 0x20.31 */
 	 struct connectib_congestion_log_event_entry log_entry;
 };
 
@@ -19563,19 +26397,19 @@ struct connectib_icmd_congestion_log {
 struct connectib_icmd_get_port_sniffer {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
+	/* 0x0.0 - 0x0.23 */
 	 u_int32_t sx_port1;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.23 */
+	/* 0x4.0 - 0x4.23 */
 	 u_int32_t sx_port2;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.23 */
+	/* 0x8.0 - 0x8.23 */
 	 u_int32_t rx_port1;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.23 */
+	/* 0xc.0 - 0xc.23 */
 	 u_int32_t rx_port2;
 };
 
@@ -19584,22 +26418,22 @@ struct connectib_icmd_get_port_sniffer {
 struct connectib_icmd_set_port_sniffer {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t gvmi;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.0 */
+	/* 0x4.0 - 0x4.0 */
 	 u_int8_t sx_rx_;
 	/* Description -  */
-	/* 4.16 - 4.16 */
+	/* 0x4.16 - 0x4.16 */
 	 u_int8_t attach_detach_;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.24 - 12.31 */
+	/* 0x8.24 - 0x8.31 */
 	 u_int8_t port;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.23 */
+	/* 0xc.0 - 0xc.23 */
 	 u_int32_t sniffer_qpn;
 };
 
@@ -19608,14 +26442,18 @@ struct connectib_icmd_set_port_sniffer {
 struct connectib_icmd_special_qps {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_special_qps qps;
+/*---------------- DWORD[39] (Offset 0x9c) ----------------*/
+	/* Description - QP Index of GVMI_MNG_TRAP_QP */
+	/* 0x9c.0 - 0xa0.31 */
+	 u_int32_t host_mng_qpn;
 /*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 256.0 - 256.15 */
+	/* 0x100.0 - 0x100.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 256.16 - 256.16 */
+	/* 0x100.16 - 0x100.16 */
 	 u_int8_t port;
 };
 
@@ -19624,11 +26462,11 @@ struct connectib_icmd_special_qps {
 struct connectib_eqn4type {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 u_int32_t eqn[64];
 /*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 256.0 - 256.15 */
+	/* 0x100.0 - 0x100.15 */
 	 u_int16_t gvmi;
 };
 
@@ -19637,14 +26475,14 @@ struct connectib_eqn4type {
 struct connectib_icmd_access_cmdq {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_cmdif_hdr cmdq;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 64.15 */
+	/* 0x40.0 - 0x40.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 64.16 - 64.20 */
+	/* 0x40.16 - 0x40.20 */
 	 u_int8_t cmd_ix;
 };
 
@@ -19653,15 +26491,15 @@ struct connectib_icmd_access_cmdq {
 struct connectib_icmd_read_sx_wq_buffer {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 u_int32_t data[16];
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 64.4 */
+	/* 0x40.0 - 0x40.4 */
 	 u_int8_t ec;
 /*---------------- DWORD[17] (Offset 0x44) ----------------*/
 	/* Description -  */
-	/* 68.0 - 68.4 */
+	/* 0x44.0 - 0x44.4 */
 	 u_int8_t wqe_idx;
 };
 
@@ -19670,11 +26508,11 @@ struct connectib_icmd_read_sx_wq_buffer {
 struct connectib_icmd_header_capture {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 128.31 */
+	/* 0x0.0 - 0x80.31 */
 	 struct connectib_icmd_header_capture_headers headers;
 /*---------------- DWORD[32] (Offset 0x80) ----------------*/
 	/* Description -  */
-	/* 128.0 - 192.31 */
+	/* 0x80.0 - 0xc0.31 */
 	 struct connectib_icmd_header_capture_checks checks;
 };
 
@@ -19683,31 +26521,45 @@ struct connectib_icmd_header_capture {
 struct connectib_print_icm {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.0 */
 	 u_int8_t enable_specific_gvmi;
 	/* Description -  */
-	/* 0.1 - 0.1 */
+	/* 0x0.1 - 0x0.1 */
 	 u_int8_t enable_specific_icm_type;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.15 */
+	/* 0x4.0 - 0x4.15 */
 	 u_int16_t gvmi;
 	/* Description - take from icm_resources.h */
-	/* 4.16 - 8.31 */
+	/* 0x4.16 - 0x4.31 */
 	 u_int16_t icm_res_type;
 };
 
 /* Description -   */
 /* Size in bytes - 8 */
+struct connectib_icmd_allowed_madifc_on_all_pfs {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - write 0xBADC0FFE in order to enable */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t protection;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 0x1 - enable flow
+0x2 - disable */
+	/* 0x4.0 - 0x4.1 */
+	 u_int8_t enable_disable;
+};
+
+/* Description -   */
+/* Size in bytes - 8 */
 struct connectib_icmd_fw_reset {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - write 0xBADC0FFE in order to enable FW reset */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t protection;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - 0x1 - upgrade flow
 0x2 - dirty MBIST flow */
-	/* 4.0 - 4.1 */
+	/* 0x4.0 - 0x4.1 */
 	 u_int8_t reset_mode;
 };
 
@@ -19716,14 +26568,14 @@ struct connectib_icmd_fw_reset {
 struct connectib_icmd_read_g_rse_slice_desc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 union connectib_g_rse_hw_decoders desc;
 /*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 256.0 - 256.4 */
+	/* 0x100.0 - 0x100.4 */
 	 u_int8_t slice;
 	/* Description -  */
-	/* 256.8 - 256.11 */
+	/* 0x100.8 - 0x100.11 */
 	 u_int8_t array_index;
 /*---------------- DWORD[65] (Offset 0x104) ----------------*/
 	/* Description - 0x0 STEERING_RES
@@ -19733,7 +26585,7 @@ struct connectib_icmd_read_g_rse_slice_desc {
 0x4 STEERING PIPE0
 0x5 STEERING PIPE1
 0x6 STEERING QPCOMMIT */
-	/* 260.0 - 260.7 */
+	/* 0x104.0 - 0x104.7 */
 	 u_int8_t desc_type;
 };
 
@@ -19742,36 +26594,40 @@ struct connectib_icmd_read_g_rse_slice_desc {
 struct connectib_icmd_read_rx_slice_packet {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 512.31 */
+	/* 0x0.0 - 0x200.31 */
 	 u_int32_t data[128];
 /*---------------- DWORD[128] (Offset 0x200) ----------------*/
 	/* Description - Total Packet size (returned by ICMD) */
-	/* 512.0 - 512.11 */
+	/* 0x200.0 - 0x200.11 */
 	 u_int16_t packet_size;
 /*---------------- DWORD[129] (Offset 0x204) ----------------*/
 	/* Description -  */
-	/* 516.0 - 516.4 */
+	/* 0x204.0 - 0x204.4 */
 	 u_int8_t slice;
 /*---------------- DWORD[130] (Offset 0x208) ----------------*/
 	/* Description - How many bytes to read in this iteration. (Must be a multiple of 64. Max allowed value is 512) */
-	/* 520.0 - 520.11 */
+	/* 0x208.0 - 0x208.11 */
 	 u_int16_t size;
 	/* Description - Offset in dw to start from */
-	/* 520.16 - 520.27 */
+	/* 0x208.16 - 0x208.27 */
 	 u_int16_t offset_dw;
 };
 
 /* Description -   */
-/* Size in bytes - 32 */
+/* Size in bytes - 36 */
 struct connectib_icmd_get_fw_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_FW_VERSION fw_version;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - Hash gen file signature */
-	/* 16.0 - 16.15 */
+	/* 0x10.0 - 0x10.15 */
 	 u_int16_t hash_signature;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.24 - 0x24.23 */
+	 char psid[17];
 };
 
 /* Description -   */
@@ -19779,14 +26635,14 @@ struct connectib_icmd_get_fw_info {
 struct connectib_icmd_get_link_leds {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - 1-port1 2-port2 */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t port_number;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.0 */
+	/* 0x4.0 - 0x4.0 */
 	 u_int8_t physical_link;
 	/* Description -  */
-	/* 4.8 - 4.8 */
+	/* 0x4.8 - 0x4.8 */
 	 u_int8_t logical_link;
 };
 
@@ -19795,7 +26651,7 @@ struct connectib_icmd_get_link_leds {
 struct connectib_icmd_get_boot_stage {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t boot_stage;
 };
 
@@ -19804,7 +26660,7 @@ struct connectib_icmd_get_boot_stage {
 struct connectib_icmd_get_irisc_heart_beat {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - bit per irisc */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t irisc_heart_beat;
 };
 
@@ -19813,61 +26669,93 @@ struct connectib_icmd_get_irisc_heart_beat {
 struct connectib_icmd_read_q_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 512.31 */
+	/* 0x0.0 - 0x200.31 */
 	 u_int32_t data[128];
 /*---------------- DWORD[128] (Offset 0x200) ----------------*/
 	/* Description -  */
-	/* 512.0 - 512.15 */
+	/* 0x200.0 - 0x200.15 */
 	 u_int16_t gvmi;
 /*---------------- DWORD[129] (Offset 0x204) ----------------*/
 	/* Description -  */
-	/* 516.0 - 516.23 */
+	/* 0x204.0 - 0x204.23 */
 	 u_int32_t q_num;
 	/* Description - 0=sq 1=rq 2=cq 4=eq 5=rdb 6=srq */
-	/* 516.24 - 520.31 */
+	/* 0x204.24 - 0x204.31 */
 	 u_int8_t q_type;
 /*---------------- DWORD[130] (Offset 0x208) ----------------*/
 	/* Description -  */
-	/* 520.0 - 524.31 */
+	/* 0x208.0 - 0x20c.31 */
 	 u_int32_t index;
 };
 
 /* Description -   */
-/* Size in bytes - 288 */
+/* Size in bytes - 296 */
 struct connectib_icmd_access_host_mem {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 u_int32_t data[64];
 /*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 256.0 - 256.15 */
+	/* 0x100.0 - 0x100.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 256.31 - 260.31 */
+	/* 0x100.31 - 0x100.31 */
 	 u_int8_t rw_;
 /*---------------- DWORD[65] (Offset 0x104) ----------------*/
 	/* Description - up to 256 bytes */
-	/* 260.0 - 264.31 */
+	/* 0x104.0 - 0x108.31 */
 	 u_int32_t num_dwords;
 /*---------------- DWORD[66] (Offset 0x108) ----------------*/
-	/* Description -  */
-	/* 264.0 - 272.31 */
+	/* Description - CMAS- offset */
+	/* 0x108.0 - 0x110.31 */
 	 u_int64_t addr;
 /*---------------- DWORD[68] (Offset 0x110) ----------------*/
 	/* Description - VA - mkey, MTT - ptr */
-	/* 272.0 - 280.31 */
+	/* 0x110.0 - 0x118.31 */
 	 u_int64_t key_or_ptr;
 /*---------------- DWORD[70] (Offset 0x118) ----------------*/
 	/* Description - 0-PA
 1-MTT
 2-VA
-3-OFFSET(signature) */
-	/* 280.0 - 280.1 */
+3-OFFSET(signature)
+4-CMAS */
+	/* 0x118.0 - 0x118.3 */
 	 u_int8_t addr_type;
 	/* Description - MTT only */
-	/* 280.16 - 284.31 */
+	/* 0x118.16 - 0x118.31 */
 	 u_int16_t l2_block_s;
+/*---------------- DWORD[71] (Offset 0x11c) ----------------*/
+	/* Description - Will be used only if CAPI is enabled */
+	/* 0x11c.0 - 0x120.31 */
+	 u_int32_t capi_pasid;
+/*---------------- DWORD[72] (Offset 0x120) ----------------*/
+	/* Description - CMAS only */
+	/* 0x120.0 - 0x120.23 */
+	 u_int32_t cmas_ix;
+	/* Description - CMAS only */
+	/* 0x120.24 - 0x120.31 */
+	 u_int8_t cmas_type;
+};
+
+/* Description -   */
+/* Size in bytes - 12 */
+struct connectib_icmd_get_pi_ci {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t pi_ci;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t gvmi;
+	/* Description -  */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t ctx_type;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t ctx_num;
 };
 
 /* Description -   */
@@ -19875,14 +26763,14 @@ struct connectib_icmd_access_host_mem {
 struct connectib_icmd_access_icm_ctx {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 union connectib_golan_hw_fw_ctx ctx;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 64.15 */
+	/* 0x40.0 - 0x40.15 */
 	 u_int16_t gvmi;
 	/* Description -  */
-	/* 64.31 - 68.31 */
+	/* 0x40.31 - 0x40.31 */
 	 u_int8_t rw_;
 /*---------------- DWORD[17] (Offset 0x44) ----------------*/
 	/* Description - 0x5f MTT
@@ -19905,6 +26793,7 @@ struct connectib_icmd_access_icm_ctx {
  0x11 SXDC
  0x12 PIPA
  0x13 TIMER
+ 0x14 FW_COUNTERS
  0x15 EQ
  0x16 MSIX
  0x17 SXD_GVMI_RATE_LIMITER
@@ -19922,7 +26811,7 @@ struct connectib_icmd_access_icm_ctx {
  0x23 IRISC
  0x24 SCRATCHPAD
  0x25 SQ_POINTERS
- 0x26 SQ_TOKENS
+ 0x26 SQ_TOKENS_OR_SQ_CONTEXT
  0x27 TOC
   0x28 FW_GVMI_CTX
  0x29 FW_QPC
@@ -19948,16 +26837,17 @@ struct connectib_icmd_access_icm_ctx {
  0x3d EQ_OVERRUN_LIST_META
  0x3e ICM_RES_FW_XRCD
  0x3f ICM_RES_FW_FREE_LIST
- 0x4e COUNTERS_QP_SX */
-	/* 68.0 - 68.15 */
+ 0x4e COUNTERS_QP_SX
+ 0x5e FW_PORT_INFO */
+	/* 0x44.0 - 0x44.15 */
 	 u_int16_t ctx_type;
 /*---------------- DWORD[18] (Offset 0x48) ----------------*/
 	/* Description -  */
-	/* 72.0 - 80.31 */
+	/* 0x48.0 - 0x50.31 */
 	 u_int64_t ctx_num;
 /*---------------- DWORD[20] (Offset 0x50) ----------------*/
 	/* Description - second index - for reading RDB */
-	/* 80.0 - 84.31 */
+	/* 0x50.0 - 0x54.31 */
 	 u_int32_t ctx_num2;
 };
 
@@ -19966,7 +26856,7 @@ struct connectib_icmd_access_icm_ctx {
 struct connectib_icmd_cmd_as_dwords {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 u_int32_t dword[192];
 };
 
@@ -19975,106 +26865,112 @@ struct connectib_icmd_cmd_as_dwords {
 struct connectib_sw_cqe_64b {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t rsvd_5;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t rsvd_4;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.15 */
+	/* 0x8.0 - 0x8.15 */
 	 u_int16_t checksum;
 	/* Description -  */
-	/* 8.16 - 12.31 */
+	/* 0x8.16 - 0x8.31 */
 	 u_int16_t rsvd_3;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t ip_status;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 16.15 */
+	/* 0x10.0 - 0x10.15 */
 	 u_int16_t slid_smac_47_32;
 	/* Description -  */
-	/* 16.16 - 20.31 */
+	/* 0x10.16 - 0x10.31 */
 	 u_int16_t vlan_ml_path;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t slid_smac_31_0;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 24.23 */
+	/* 0x18.0 - 0x18.23 */
 	 u_int32_t rqpn;
 	/* Description -  */
-	/* 24.24 - 24.27 */
+	/* 0x18.24 - 0x18.27 */
 	 u_int8_t sl_vlan_type;
 	/* Description -  */
-	/* 24.28 - 24.29 */
+	/* 0x18.28 - 0x18.29 */
 	 u_int8_t g;
 	/* Description -  */
-	/* 24.30 - 24.30 */
+	/* 0x18.30 - 0x18.30 */
 	 u_int8_t fl;
 	/* Description -  */
-	/* 24.31 - 28.31 */
+	/* 0x18.31 - 0x18.31 */
 	 u_int8_t rsvd_bit;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x20.31 */
 	 u_int32_t rss_val;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.23 */
+	/* 0x20.0 - 0x20.23 */
 	 u_int32_t srq_num;
 	/* Description -  */
-	/* 32.24 - 36.31 */
+	/* 0x20.24 - 0x20.31 */
 	 u_int8_t rsvd_1;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.0 - 40.31 */
+	/* 0x24.0 - 0x28.31 */
 	 u_int32_t imm_inv_key;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 40.0 - 44.31 */
-	 u_int32_t rsvd_0;
+	/* 0x28.0 - 0x28.15 */
+	 u_int16_t application_info;
+	/* Description - when application=tag_matching: 0x1-tag consumed, 0x2-msg arrived expected, 0x3-message_arrived_unexpected, 0x4-message_arrived_no_tag, 0x5-append, 0x5-remove, 0x7-NOP, 0x8-rndv (internal!), 0x9-tag_consumed_sw_rndv, 0xa-tag_consumed_message_arrive, 0xb-tag_consumed_message_arrive_sw_rndv */
+	/* 0x28.16 - 0x28.23 */
+	 u_int8_t application_opcode;
+	/* Description - application specific cqe: 0x1 - tag matching - valid only when QP is tag matching qp */
+	/* 0x28.24 - 0x28.31 */
+	 u_int8_t application;
 /*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 44.0 - 48.31 */
+	/* 0x2c.0 - 0x30.31 */
 	 u_int32_t byte_count;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 52.31 */
+	/* 0x30.0 - 0x34.31 */
 	 u_int32_t timestamp_h;
 /*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 52.0 - 56.31 */
+	/* 0x34.0 - 0x38.31 */
 	 u_int32_t timestamp_l;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 56.0 - 56.23 */
+	/* 0x38.0 - 0x38.23 */
 	 u_int32_t qpn;
 	/* Description -  */
-	/* 56.24 - 60.31 */
+	/* 0x38.24 - 0x38.31 */
 	 u_int8_t swqe_opcode_drop_cntr;
 /*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 60.0 - 60.0 */
+	/* 0x3c.0 - 0x3c.0 */
 	 u_int8_t owner;
 	/* Description -  */
-	/* 60.1 - 60.1 */
+	/* 0x3c.1 - 0x3c.1 */
 	 u_int8_t se;
 	/* Description -  */
-	/* 60.2 - 60.3 */
-	 u_int8_t inline_scatter;
+	/* 0x3c.2 - 0x3c.3 */
+	 u_int8_t cqe_format;
 	/* Description -  */
-	/* 60.4 - 60.7 */
+	/* 0x3c.4 - 0x3c.7 */
 	 u_int8_t rwqe_opcode;
 	/* Description -  */
-	/* 60.8 - 60.15 */
+	/* 0x3c.8 - 0x3c.15 */
 	 u_int8_t signature;
 	/* Description -  */
-	/* 60.16 - 64.31 */
+	/* 0x3c.16 - 0x3c.31 */
 	 u_int16_t wqe_counter;
 };
 
@@ -20083,7 +26979,7 @@ struct connectib_sw_cqe_64b {
 struct connectib_grh_inline_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 u_int32_t grh_inline_data[16];
 };
 
@@ -20092,26 +26988,26 @@ struct connectib_grh_inline_data {
 struct connectib_wqe_eth_segment {
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.13 */
+	/* 0x4.0 - 0x4.13 */
 	 u_int16_t mss;
 	/* Description -  */
-	/* 4.28 - 4.28 */
+	/* 0x4.28 - 0x4.28 */
 	 u_int8_t l3cs_inner;
 	/* Description -  */
-	/* 4.29 - 4.29 */
+	/* 0x4.29 - 0x4.29 */
 	 u_int8_t l4cs_inner;
 	/* Description -  */
-	/* 4.30 - 4.30 */
+	/* 0x4.30 - 0x4.30 */
 	 u_int8_t l3cs;
 	/* Description -  */
-	/* 4.31 - 8.31 */
+	/* 0x4.31 - 0x4.31 */
 	 u_int8_t l4cs;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.15 */
+	/* 0xc.0 - 0xc.15 */
 	 u_int16_t inline_headers;
 	/* Description -  */
-	/* 12.16 - 12.25 */
+	/* 0xc.16 - 0xc.25 */
 	 u_int16_t inline_header_size;
 };
 
@@ -20120,10 +27016,10 @@ struct connectib_wqe_eth_segment {
 struct connectib_wqe_inline_header {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.9 */
+	/* 0x0.0 - 0x0.9 */
 	 u_int16_t byte_count;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t wqe_inline;
 };
 
@@ -20132,22 +27028,22 @@ struct connectib_wqe_inline_header {
 struct connectib_wqe_gather_scatter_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.30 */
+	/* 0x0.0 - 0x0.30 */
 	 u_int32_t byte_count;
 	/* Description -  */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t wqe_inline;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t local_key;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t local_address_63_32;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t local_address_31_0;
 };
 
@@ -20156,11 +27052,11 @@ struct connectib_wqe_gather_scatter_entry {
 struct connectib_wqe_srq_next {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t next_wqe_index;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.24 - 8.31 */
+	/* 0x4.24 - 0x4.31 */
 	 u_int8_t signature;
 };
 
@@ -20169,7 +27065,7 @@ struct connectib_wqe_srq_next {
 struct connectib_wqe_signature {
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.24 - 8.31 */
+	/* 0x4.24 - 0x4.31 */
 	 u_int8_t signature;
 };
 
@@ -20178,22 +27074,22 @@ struct connectib_wqe_signature {
 union connectib_wqe_extended_atomic_fetch_add {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_wqe_extended_atomic_fetch_add_4byte byte4;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_wqe_extended_atomic_fetch_add_8byte byte8;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_wqe_extended_atomic_fetch_add_16byte byte16;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_wqe_extended_atomic_fetch_add_32byte byte32;
 	/* Description -  */
-	/* 0.0 - 128.31 */
+	/* 0x0.0 - 0x80.31 */
 	 struct connectib_wqe_extended_atomic_fetch_add_64byte byte64;
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 struct connectib_wqe_extended_atomic_fetch_add_128byte byte128;
 };
 
@@ -20202,11 +27098,11 @@ union connectib_wqe_extended_atomic_fetch_add {
 struct connectib_wqe_atomic_fetch_add {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t add_data_63_32;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t add_data_31_0;
 };
 
@@ -20215,22 +27111,22 @@ struct connectib_wqe_atomic_fetch_add {
 union connectib_wqe_extended_atomic_cmp_swap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_wqe_extended_atomic_cmp_swap_4byte byte4;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_wqe_extended_atomic_cmp_swap_8byte byte8;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_wqe_extended_atomic_cmp_swap_16byte byte16;
 	/* Description -  */
-	/* 0.0 - 128.31 */
+	/* 0x0.0 - 0x80.31 */
 	 struct connectib_wqe_extended_atomic_cmp_swap_32byte byte32;
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 struct connectib_wqe_extended_atomic_cmp_swap_64byte byte64;
 	/* Description -  */
-	/* 0.0 - 512.31 */
+	/* 0x0.0 - 0x200.31 */
 	 struct connectib_wqe_extended_atomic_cmp_swap_128byte byte126;
 };
 
@@ -20239,19 +27135,19 @@ union connectib_wqe_extended_atomic_cmp_swap {
 struct connectib_wqe_atomic_cmp_swap {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t swap_data_63_32;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t swap_data_31_0;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t compare_data_63_32;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t compare_data_31_0;
 };
 
@@ -20260,15 +27156,11 @@ struct connectib_wqe_atomic_cmp_swap {
 struct connectib_wqe_rdma_read {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t remote_virtual_address_63_32;
-/*---------------- DWORD[1] (Offset 0x4) ----------------*/
-	/* Description -  */
-	/* 4.0 - 8.31 */
-	 u_int32_t remote_virtual_address_31_0;
+	/* 0x0.0 - 0x8.31 */
+	 u_int64_t remote_va;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t remote_key;
 };
 
@@ -20277,44 +27169,44 @@ struct connectib_wqe_rdma_read {
 struct connectib_wqe_address_vector_ext {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.0 */
 	 u_int8_t auto_1;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.0 */
+	/* 0x4.0 - 0x4.0 */
 	 u_int8_t auto_2;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.7 */
+	/* 0x8.0 - 0x8.7 */
 	 u_int8_t hop_limit;
 	/* Description -  */
-	/* 8.8 - 8.15 */
+	/* 0x8.8 - 0x8.15 */
 	 u_int8_t tclass;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.19 */
+	/* 0xc.0 - 0xc.19 */
 	 u_int32_t flow_label;
 	/* Description -  */
-	/* 12.20 - 12.27 */
+	/* 0xc.20 - 0xc.27 */
 	 u_int8_t my_gid_index1;
 	/* Description -  */
-	/* 12.30 - 12.30 */
+	/* 0xc.30 - 0xc.30 */
 	 u_int8_t grh;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 u_int32_t rgid_127_96;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t rgid_95_64;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
+	/* 0x18.0 - 0x1c.31 */
 	 u_int32_t rgid_63_32;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x20.31 */
 	 u_int32_t rgid_31_0;
 };
 
@@ -20323,34 +27215,34 @@ struct connectib_wqe_address_vector_ext {
 struct connectib_wqe_address_vector_basic {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t dca_key_63_32_qkey;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t dca_key_31_0;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.23 */
+	/* 0x8.0 - 0x8.23 */
 	 u_int32_t destination_qp_dct;
 	/* Description - Used only in DC. Sent in "Connect" packet. */
-	/* 8.24 - 8.27 */
+	/* 0x8.24 - 0x8.27 */
 	 u_int8_t reverse_sl;
 	/* Description - Ext=1:AV global extension exist. Ext=0:AV global extension doesn't exist. */
-	/* 8.31 - 12.31 */
+	/* 0x8.31 - 0x8.31 */
 	 u_int8_t ext;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 12.15 */
+	/* 0xc.0 - 0xc.15 */
 	 u_int16_t rlid_15_0;
 	/* Description -  */
-	/* 12.16 - 12.23 */
+	/* 0xc.16 - 0xc.23 */
 	 u_int8_t slid;
 	/* Description -  */
-	/* 12.24 - 12.27 */
+	/* 0xc.24 - 0xc.27 */
 	 u_int8_t sl;
 	/* Description -  */
-	/* 12.28 - 16.31 */
+	/* 0xc.28 - 0xc.31 */
 	 u_int8_t static_rate;
 };
 
@@ -20359,7 +27251,7 @@ struct connectib_wqe_address_vector_basic {
 struct connectib_wqe_xrc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.23 */
+	/* 0x0.0 - 0x0.23 */
 	 u_int32_t xrc;
 };
 
@@ -20368,32 +27260,32 @@ struct connectib_wqe_xrc {
 struct connectib_wqe_mlx {
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.16 - 4.19 */
+	/* 0x4.16 - 0x4.19 */
 	 u_int8_t sl;
 	/* Description -  */
-	/* 4.20 - 4.23 */
+	/* 0x4.20 - 0x4.23 */
 	 u_int8_t static_rate;
 	/* Description - Force loopback
 0-packet is sent to loopback\serdes according to Loopback Resolution
 1-packet is sent to loopback only (used for opening QP's between application on the same guest before SM gives the link layer the LID) */
-	/* 4.26 - 4.26 */
+	/* 0x4.26 - 0x4.26 */
 	 u_int8_t fl;
 	/* Description - 1 - Don't add ICRC (raw packet, or ICRC calculated by driver)
 0 - Replace last DW with ICRC */
-	/* 4.27 - 4.27 */
+	/* 0x4.27 - 0x4.27 */
 	 u_int8_t ic;
 	/* Description -  */
-	/* 4.28 - 4.28 */
+	/* 0x4.28 - 0x4.28 */
 	 u_int8_t fc;
 	/* Description - SLID MSB taken from:
 0-(PortInfo - Per GVMI,Port)
 1-packetSLID MSB taken from:
 0-(PortInfo - Per GVMI,Port)
 1-packet */
-	/* 4.29 - 4.29 */
+	/* 0x4.29 - 0x4.29 */
 	 u_int8_t slr;
 	/* Description -  */
-	/* 4.30 - 4.30 */
+	/* 0x4.30 - 0x4.30 */
 	 u_int8_t vl15;
 	/* Description - When set VLAN should 
 be transmitted with VLAN.
@@ -20402,18 +27294,18 @@ be transmitted with VLAN.
 
 Ethertype is a configuration.
 VLAN_ID is located in VLAN */
-	/* 4.31 - 8.31 */
+	/* 0x4.31 - 0x4.31 */
 	 u_int8_t v;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 8.15 */
+	/* 0x8.0 - 0x8.15 */
 	 u_int16_t dmac_dlid_47_32;
 	/* Description - VLAN to add to the packet. */
-	/* 8.16 - 12.31 */
+	/* 0x8.16 - 0x8.31 */
 	 u_int16_t vlan;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t dmac_dlid_31_0;
 };
 
@@ -20422,29 +27314,29 @@ VLAN_ID is located in VLAN */
 struct connectib_wqe_control {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t opcode;
 	/* Description -  */
-	/* 0.8 - 0.23 */
+	/* 0x0.8 - 0x0.23 */
 	 u_int16_t wqe_index;
 	/* Description -  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t opc_mod;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - WQE size in octwords (16 byte)
 needed only for gather list size
 valid values: 1-63 */
-	/* 4.0 - 4.5 */
+	/* 0x4.0 - 0x4.5 */
 	 u_int8_t ds;
 	/* Description -  */
-	/* 4.8 - 8.31 */
+	/* 0x4.8 - 0x4.31 */
 	 u_int32_t qpn;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - interrupt bit */
-	/* 8.0 - 8.0 */
+	/* 0x8.0 - 0x8.0 */
 	 u_int8_t interrupt;
 	/* Description - solicited event  */
-	/* 8.1 - 8.1 */
+	/* 0x8.1 - 0x8.1 */
 	 u_int8_t se;
 	/* Description - CQE and EQE control
 00 - generate CQE only on error WQE completion. (note - per IB spec, if completion with error, generate event)
@@ -20452,12 +27344,12 @@ valid values: 1-63 */
 10 - Gen CQE on WQE completion (good or bad)
 11 - Gen CQE and EQE (loccal Solicited event).
  */
-	/* 8.2 - 8.3 */
+	/* 0x8.2 - 0x8.3 */
 	 u_int8_t ce;
 	/* Description - nop bit
 no supported in golan
  */
-	/* 8.4 - 8.4 */
+	/* 0x8.4 - 0x8.4 */
 	 u_int8_t nop;
 	/* Description - fence mode
 000 - No Fence
@@ -20467,57 +27359,89 @@ Wait as long as there are WQEs that are currently locally in execution (doing ga
 011 - Strong Ordering - when set, the WQE will be executed only after all previous WQEs have been executed. Can be set for RC WQEs only. .
 100 - Fence and Initiator Small Fence.
 101-111 - reserved */
-	/* 8.5 - 8.7 */
+	/* 0x8.5 - 0x8.7 */
 	 u_int8_t fm;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t immediate_invalidation_key;
 };
 
 /* Description -   */
+/* Size in bytes - 2304 */
+struct connectib_public_keys {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x900.31 */
+	 struct connectib_file_public_keys file_public_keys[8];
+};
+
+/* Description -   */
+/* Size in bytes - 320 */
+struct connectib_image_signature {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - time based UUID for this signature */
+	/* 0x0.0 - 0x10.31 */
+	 u_int32_t signature_uuid[4];
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The UUID of the keypair used for signing this file */
+	/* 0x10.0 - 0x20.31 */
+	 u_int32_t keypair_uuid[4];
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The signature itself */
+	/* 0x20.0 - 0x120.31 */
+	 u_int32_t signature[64];
+};
+
+/* Description -   */
 /* Size in bytes - 65536 */
 struct connectib_nv_data {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_nv_config_header header;
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
+/* Size in bytes - 320 */
 struct connectib_hw_boot_config {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Address on flash of manufacturing info */
-	/* 0.0 - 0.23 */
+	/* 0x0.0 - 0x0.23 */
 	 u_int32_t manufacture_info_address;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - Address on flash of read only manufacturing info */
-	/* 4.0 - 4.23 */
+	/* 0x4.0 - 0x4.23 */
 	 u_int32_t ro_manufacture_info_address;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - Address on flash of VPD info, copy 1 */
-	/* 8.0 - 8.23 */
+	/* 0x8.0 - 0x8.23 */
 	 u_int32_t vpd_info_address_1;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - Address on flash  of VPD info, copy 2 */
-	/* 12.0 - 12.23 */
+	/* 0xc.0 - 0xc.23 */
 	 u_int32_t vpd_info_address_2;
+	/* Description - True if the nic hac a circuitry that can indicate when the device is working on AUX power */
+	/* 0xc.24 - 0xc.24 */
+	 u_int8_t aux_power_indication_gpio_en;
+	/* Description - Offset of Aux power indication GPIO */
+	/* 0xc.25 - 0xc.31 */
+	 u_int8_t aux_power_indication_gpio_offset;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - Describes info about the vpd */
-	/* 16.0 - 24.31 */
+	/* 0x10.0 - 0x18.31 */
 	 struct connectib_vpd_eeprom_info vpd_eeprom;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description - used to enable hw tracer for code coverage */
-	/* 24.0 - 32.31 */
+	/* 0x18.0 - 0x20.31 */
 	 struct connectib_code_coverage_control code_coverage;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 224.31 */
+	/* 0x20.0 - 0xe0.31 */
 	 struct connectib_pcie_cfg_golan pcie_cfg;
 /*---------------- DWORD[56] (Offset 0xe0) ----------------*/
 	/* Description -  */
-	/* 224.0 - 256.31 */
+	/* 0xe0.0 - 0x100.31 */
 	 struct connectib_fw_image fw_image;
 };
 
@@ -20526,106 +27450,113 @@ struct connectib_hw_boot_config {
 struct connectib_hw_main_config {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 1792.31 */
+	/* 0x0.0 - 0x700.31 */
 	 struct connectib_port_serdes ports_serdes;
 /*---------------- DWORD[448] (Offset 0x700) ----------------*/
 	/* Description -  */
-	/* 1792.0 - 1808.31 */
+	/* 0x700.0 - 0x710.31 */
 	 struct connectib_power power;
 /*---------------- DWORD[452] (Offset 0x710) ----------------*/
 	/* Description -  */
-	/* 1808.0 - 1812.31 */
+	/* 0x710.0 - 0x714.31 */
 	 struct connectib_system_mng system_mng;
 /*---------------- DWORD[453] (Offset 0x714) ----------------*/
 	/* Description -  */
-	/* 1812.0 - 1820.31 */
+	/* 0x714.0 - 0x71c.31 */
 	 struct connectib_thermal_config_golan thermal;
 /*---------------- DWORD[480] (Offset 0x780) ----------------*/
 	/* Description -  */
-	/* 1920.0 - 1928.31 */
+	/* 0x780.0 - 0x788.31 */
 	 struct connectib_module_config module;
 /*---------------- DWORD[482] (Offset 0x788) ----------------*/
 	/* Description - Board I2C information */
-	/* 1928.0 - 2008.31 */
+	/* 0x788.0 - 0x7d8.31 */
 	 struct connectib_i2c_devices_db i2c;
 /*---------------- DWORD[502] (Offset 0x7d8) ----------------*/
 	/* Description - Board GPIO information */
-	/* 2008.0 - 2140.31 */
+	/* 0x7d8.0 - 0x85c.31 */
 	 struct connectib_ini_gpios_golan gpios;
 };
 
 /* Description -   */
-/* Size in bytes - 1152 */
+/* Size in bytes - 1216 */
 struct connectib_fw_boot_config {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_FW_VERSION fw_version;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - All multi_function pconfigurable parameters */
-	/* 16.0 - 28.31 */
+	/* 0x10.0 - 0x1c.31 */
 	 struct connectib_multi_function multi_function;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description - All Transaction Layer flags */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x24.31 */
 	 struct connectib_pcie_transaction pcie_transaction;
-/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+/*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description - PCIe cfg space data */
-	/* 32.0 - 544.31 */
+	/* 0x24.0 - 0x224.31 */
 	 struct connectib_pci_cfg pcie_cfg_data;
-/*---------------- DWORD[136] (Offset 0x220) ----------------*/
+/*---------------- DWORD[137] (Offset 0x224) ----------------*/
 	/* Description - PCIe cfg space for masking */
-	/* 544.0 - 1056.31 */
+	/* 0x224.0 - 0x424.31 */
 	 struct connectib_pci_cfg pcie_cfg_mask;
-/*---------------- DWORD[264] (Offset 0x420) ----------------*/
+/*---------------- DWORD[265] (Offset 0x424) ----------------*/
 	/* Description - PF/SR pciex data */
-	/* 1056.0 - 1084.31 */
+	/* 0x424.0 - 0x440.31 */
 	 struct connectib_pf_vf_cfg_space pf_vf_cfg_data;
-/*---------------- DWORD[271] (Offset 0x43c) ----------------*/
+/*---------------- DWORD[272] (Offset 0x440) ----------------*/
 	/* Description - power management (L1) configuration */
-	/* 1084.0 - 1088.31 */
+	/* 0x440.0 - 0x444.31 */
 	 struct connectib_pcie_power_management pcie_power_management;
-/*---------------- DWORD[272] (Offset 0x440) ----------------*/
+/*---------------- DWORD[273] (Offset 0x444) ----------------*/
 	/* Description - data later to be overridden by NV config */
-	/* 1088.0 - 1152.31 */
+	/* 0x444.0 - 0x484.31 */
 	 struct connectib_nv_config_boot nv_config;
 };
 
 /* Description -   */
-/* Size in bytes - 1776 */
+/* Size in bytes - 4096 */
 struct connectib_fw_main_config {
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 4.2 */
+	/* 0x4.0 - 0x4.2 */
 	 u_int8_t log_max_num_rdbs;
+	/* Description - size is 2^(value): 6-64B, 7- reserverd. A value > 5 causes extended RDBs to be mapped and increases memory consumption */
+	/* 0x4.4 - 0x4.7 */
+	 u_int8_t log_max_atomic_size;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 32.31 */
+	/* 0x10.0 - 0x20.31 */
 	 struct connectib_static_config static_config;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 192.31 */
+	/* 0x20.0 - 0xc0.31 */
 	 struct connectib_leds_blink_patterns leds_blink_pattern;
 /*---------------- DWORD[48] (Offset 0xc0) ----------------*/
 	/* Description -  */
-	/* 192.0 - 256.31 */
+	/* 0xc0.0 - 0x100.31 */
 	 struct connectib_customization customization;
 /*---------------- DWORD[64] (Offset 0x100) ----------------*/
 	/* Description -  */
-	/* 256.0 - 512.31 */
+	/* 0x100.0 - 0x280.31 */
 	 struct connectib_management management;
-/*---------------- DWORD[128] (Offset 0x200) ----------------*/
+/*---------------- DWORD[160] (Offset 0x280) ----------------*/
 	/* Description -  */
-	/* 512.0 - 588.31 */
+	/* 0x280.0 - 0x300.31 */
 	 struct connectib_host_management host_management;
-/*---------------- DWORD[208] (Offset 0x340) ----------------*/
+/*---------------- DWORD[192] (Offset 0x300) ----------------*/
 	/* Description -  */
-	/* 832.0 - 1520.31 */
+	/* 0x300.0 - 0x5d0.31 */
 	 struct connectib_phy_fw_main_config phy_fw_main_config;
-/*---------------- DWORD[380] (Offset 0x5f0) ----------------*/
+/*---------------- DWORD[372] (Offset 0x5d0) ----------------*/
 	/* Description - data later to be overridden ny NV config */
-	/* 1520.0 - 1776.31 */
+	/* 0x5d0.0 - 0x8d0.31 */
 	 struct connectib_nv_config_main nv_config;
+/*---------------- DWORD[628] (Offset 0x9d0) ----------------*/
+	/* Description -  */
+	/* 0x9d0.0 - 0x9d8.31 */
+	 struct connectib_secure_fw secure_fw;
 };
 
 /* Description -   */
@@ -20633,22 +27564,22 @@ struct connectib_fw_main_config {
 struct connectib_mfg_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.24 - 16.23 */
+	/* 0x0.24 - 0x10.23 */
 	 char psid[17];
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description - When this bit is set, the GUIDs should be taken from the device_info node.
 When this bit is cleared, the GUIDs should be taken from the mfg_info node. */
-	/* 28.0 - 28.0 */
+	/* 0x1c.0 - 0x1c.0 */
 	 u_int8_t guids_override_en;
 	/* Description - MFG_INFO section minor version */
-	/* 28.16 - 28.23 */
+	/* 0x1c.16 - 0x1c.23 */
 	 u_int8_t minor_version;
 	/* Description - MFG_INFO section major version */
-	/* 28.24 - 32.31 */
+	/* 0x1c.24 - 0x1c.31 */
 	 u_int8_t major_version;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 96.31 */
+	/* 0x20.0 - 0x60.31 */
 	 struct connectib_guids guids;
 };
 
@@ -20656,57 +27587,86 @@ When this bit is cleared, the GUIDs should be taken from the mfg_info node. */
 /* Size in bytes - 1024 */
 struct connectib_image_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - OEM lifecycle NVCONFIG files are signed */
+	/* 0x0.9 - 0x0.9 */
+	 u_int8_t signed_vendor_nvconfig_files;
+	/* Description - Mellanox lifecycle NVCONFIG files are signed */
+	/* 0x0.10 - 0x0.10 */
+	 u_int8_t signed_mlnx_nvconfig_files;
+	/* Description - Factory re-customizationflow is supported */
+	/* 0x0.11 - 0x0.11 */
+	 u_int8_t frc_supported;
+	/* Description - Customer Support Tokens are supported */
+	/* 0x0.12 - 0x0.12 */
+	 u_int8_t cs_tokens_supported;
+	/* Description - This is a debug firmware */
+	/* 0x0.13 - 0x0.13 */
+	 u_int8_t debug_fw;
+	/* Description - [MCC/MCDA flow] if set, the SHA 256 digest is encrypted - enabled by default for secure_fw - cr-space not closed */
+	/* 0x0.14 - 0x0.14 */
+	 u_int8_t signed_fw;
+	/* Description - [MCC/MCDA flow] cr-space closed */
+	/* 0x0.15 - 0x0.15 */
+	 u_int8_t secured_fw;
 	/* Description - IMAGE_INFO section minor version */
-	/* 0.16 - 0.23 */
+	/* 0x0.16 - 0x0.23 */
 	 u_int8_t minor_version;
 	/* Description - IMAGE_INFO section major version */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t major_version;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 20.31 */
+	/* 0x4.0 - 0x14.31 */
 	 struct connectib_FW_VERSION FW_VERSION;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 28.31 */
+	/* 0x14.0 - 0x1c.31 */
 	 struct connectib_TRIPPLE_VERSION mic_version;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.24 - 52.23 */
+	/* 0x24.24 - 0x34.23 */
 	 char psid[17];
 /*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 52.0 - 52.15 */
+	/* 0x34.0 - 0x34.15 */
 	 u_int16_t vsd_vendor_id;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 56.24 - 264.23 */
+	/* 0x38.24 - 0x108.23 */
 	 char vsd[209];
 /*---------------- DWORD[66] (Offset 0x108) ----------------*/
 	/* Description - image size parameters */
-	/* 264.0 - 272.31 */
+	/* 0x108.0 - 0x110.31 */
 	 struct connectib_image_size image_size;
 /*---------------- DWORD[70] (Offset 0x118) ----------------*/
 	/* Description - HW device(s) supported by this FW image.
 0 means invalid entry.
 For Golan A0, first entry should be 0x1ff
  */
-	/* 280.0 - 296.31 */
+	/* 0x118.0 - 0x128.31 */
 	 u_int32_t supported_hw_id[4];
 /*---------------- DWORD[74] (Offset 0x128) ----------------*/
 	/* Description -  */
-	/* 296.0 - 300.31 */
+	/* 0x128.0 - 0x12c.31 */
 	 u_int32_t ini_file_num;
 /*---------------- DWORD[112] (Offset 0x1c0) ----------------*/
 	/* Description - Product Version is the unified version of the FW and expansion ROM.
 Format is defined by the packager.
 When set to a non-empty string the FW update tool burns the image as a monolythic entity and refuses to update rom only or FW only. */
-	/* 448.24 - 464.23 */
+	/* 0x1c0.24 - 0x1d0.23 */
 	 char prod_ver[17];
 /*---------------- DWORD[192] (Offset 0x300) ----------------*/
 	/* Description -  */
-	/* 768.0 - 832.31 */
+	/* 0x300.0 - 0x340.31 */
 	 struct connectib_module_versions module_versions;
+/*---------------- DWORD[208] (Offset 0x340) ----------------*/
+	/* Description -  */
+	/* 0x340.24 - 0x34c.23 */
+	 char spare_part[13];
+/*---------------- DWORD[211] (Offset 0x34c) ----------------*/
+	/* Description -  */
+	/* 0x34c.24 - 0x364.23 */
+	 char product_id[25];
 };
 
 /* Description -   */
@@ -20714,42 +27674,42 @@ When set to a non-empty string the FW update tool burns the image as a monolythi
 struct connectib_device_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t signature0;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t signature1;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t signature2;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t signature3;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - Format version for this struct */
-	/* 16.0 - 16.7 */
+	/* 0x10.0 - 0x10.7 */
 	 u_int8_t minor_version;
 	/* Description - Format version for this struct */
-	/* 16.8 - 16.16 */
+	/* 0x10.8 - 0x10.16 */
 	 u_int16_t major_version;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 96.31 */
+	/* 0x20.0 - 0x60.31 */
 	 struct connectib_guids guids;
 /*---------------- DWORD[27] (Offset 0x6c) ----------------*/
 	/* Description -  */
-	/* 108.0 - 108.15 */
+	/* 0x6c.0 - 0x6c.15 */
 	 u_int16_t vsd_vendor_id;
 /*---------------- DWORD[28] (Offset 0x70) ----------------*/
 	/* Description -  */
-	/* 112.24 - 320.23 */
+	/* 0x70.24 - 0x140.23 */
 	 char vsd[209];
 /*---------------- DWORD[88] (Offset 0x160) ----------------*/
 	/* Description -  */
-	/* 352.0 - 416.31 */
+	/* 0x160.0 - 0x1a0.31 */
 	 struct connectib_operation_key keys[4];
 };
 
@@ -20758,19 +27718,19 @@ struct connectib_device_info {
 union connectib_dtoc_pointers {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_toc_data device_info_0;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_toc_data nv_data_0;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_toc_data nv_data_1;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_toc_data fw_nv_log;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_toc_data mfg_info;
 };
 
@@ -20779,11 +27739,11 @@ union connectib_dtoc_pointers {
 struct connectib_reset_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - capability mask for reset database */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 struct connectib_reset_capabilities rst_cap_mask;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - versions for data structures that need to be maintained acrros different reset levels */
-	/* 16.0 - 144.31 */
+	/* 0x10.0 - 0x90.31 */
 	 struct connectib_rst_api_ver rst_api_ver;
 };
 
@@ -20793,36 +27753,36 @@ struct connectib_boot_record_golan {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - SPI clock frequenct equal = E1ClockFreq / (2*(n+1))
 where n is is value of this register */
-	/* 0.0 - 0.3 */
+	/* 0x0.0 - 0x0.3 */
 	 u_int8_t flash_div;
 	/* Description - Set default to 0 (hot_reset request from px will be ignored) as WA for HW BUG #170316 (serdes power toggles during reset from px). */
-	/* 0.4 - 0.4 */
+	/* 0x0.4 - 0x0.4 */
 	 u_int8_t hot_reset_enable;
 	/* Description - after pll stabilization (timer), the boot machine will wait till core pll lock indication before continuing */
-	/* 0.5 - 0.5 */
+	/* 0x0.5 - 0x0.5 */
 	 u_int8_t wait_lock;
 	/* Description - 0 - disable.
 1 - iopx will be powered down while perst is asserted.
 2 - all_reset will be triggered upon perst change. */
-	/* 0.6 - 0.7 */
+	/* 0x0.6 - 0x0.7 */
 	 u_int8_t perst_action;
 	/* Description - CoreFreq = PadFreq * 2(F+1) / ((R+1)*(2^OD)) */
-	/* 0.8 - 0.14 */
+	/* 0x0.8 - 0x0.14 */
 	 u_int8_t core_f;
 	/* Description - core PLL PowerDown */
-	/* 0.16 - 0.16 */
+	/* 0x0.16 - 0x0.16 */
 	 u_int8_t core_pd;
 	/* Description -  */
-	/* 0.17 - 0.18 */
+	/* 0x0.17 - 0x0.18 */
 	 u_int8_t core_od;
 	/* Description -  */
-	/* 0.19 - 0.23 */
+	/* 0x0.19 - 0x0.23 */
 	 u_int8_t core_r;
 	/* Description - Core PLL bypass.
 When set, pad and core clock are the same.
 
 default is 0 */
-	/* 0.24 - 0.24 */
+	/* 0x0.24 - 0x0.24 */
 	 u_int8_t core_bypass;
 	/* Description - When set, core PLL input comes from PCIe ref clock.
 When cleared, core PLL input comes from CCLK pad.
@@ -20834,10 +27794,10 @@ value to the PLL.
 On functional mode, this bit is taken from flash with the 
 correctPLL parameters thus any oscillator can be used 
 for CCLK */
-	/* 0.25 - 0.25 */
+	/* 0x0.25 - 0x0.25 */
 	 u_int8_t core_from_pex;
 	/* Description - Reserved for parity bit from the flash */
-	/* 0.31 - 4.31 */
+	/* 0x0.31 - 0x0.31 */
 	 u_int8_t parity_reserved0;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - Bit per thermal diode, when one of the termal diodes is too hot and masked, the GPIO will be set.
@@ -20845,17 +27805,17 @@ bit[0]: A2D in Iopx (px)
 bit[1]: A2D in Iop
 bit[2]: A2D in Yu
  */
-	/* 4.14 - 4.16 */
+	/* 0x4.14 - 0x4.16 */
 	 u_int8_t temp_gpio_mask;
 	/* Description - Bit per thermal diode, when one of the termal diodes is too hot and masked, chip will enter FATAL.
 bit[0]: A2D in Iopx (px)
 bit[1]: A2D in Iop
 bit[2]: A2D in Yu */
-	/* 4.18 - 4.20 */
+	/* 0x4.18 - 0x4.20 */
 	 u_int8_t temp_fatal_mask;
 	/* Description - bit[0] gpio weak pull (up/down) enable together with gpio_pull_enable
 bit[1] jtag weak pull up/down enable */
-	/* 4.22 - 4.23 */
+	/* 0x4.22 - 0x4.23 */
 	 u_int8_t gpio_pull_en;
 	/* Description - //Choose which PLL to debug: lock on GPIO21 and clock on GPIO22
 //[3:0] debug_pll_id
@@ -20887,35 +27847,35 @@ bit[1] jtag weak pull up/down enable */
 //110 - div by 128
 //111 - div by 256
  */
-	/* 4.24 - 4.30 */
+	/* 0x4.24 - 0x4.30 */
 	 u_int8_t pll_debug;
 	/* Description - Reserved for parity bit from the flash */
-	/* 4.31 - 8.31 */
+	/* 0x4.31 - 0x4.31 */
 	 u_int8_t parity_reserved1;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - 2^mbist_group_size wrappers will run simultaniously
 values 15-9 are reserved - does not work */
-	/* 8.0 - 8.3 */
+	/* 0x8.0 - 0x8.3 */
 	 u_int8_t mbist_group_size;
 	/* Description - 2^mbist_unit_size units will run simultaniously */
-	/* 8.4 - 8.6 */
+	/* 0x8.4 - 0x8.6 */
 	 u_int8_t mbist_unit_size;
 	/* Description - Enable MBIST run */
-	/* 8.8 - 8.8 */
+	/* 0x8.8 - 0x8.8 */
 	 u_int8_t mbist_en;
 	/* Description - adds (2^x - 1) relax cycles between captures of different units */
-	/* 8.13 - 8.15 */
+	/* 0x8.13 - 0x8.15 */
 	 u_int8_t lbist_capture_delay;
 	/* Description -  */
-	/* 8.16 - 8.22 */
+	/* 0x8.16 - 0x8.22 */
 	 u_int8_t i2c_slave_addr;
 	/* Description - i2c slave enable */
-	/* 8.23 - 8.23 */
+	/* 0x8.23 - 0x8.23 */
 	 u_int8_t i2c_slave_en;
 	/* Description - value 0 will disabe yu_fuse read/write requests to reach the fuse (in case Fuse is malfunctioning).
 upon reads, data recieved will be hard wired zeros.
 upon write, efuse_done will rise after 1 cycle. */
-	/* 8.24 - 8.24 */
+	/* 0x8.24 - 0x8.24 */
 	 u_int8_t fuse_enable;
 	/* Description - the boot machine will wait 2^(this value) e1clk
 need to wait for 200us between power_down fall and pxp.port_state move to detect
@@ -20924,39 +27884,39 @@ With clock of 78.125Mhz this will give = 400us (which is much less than PCIe con
 
 As a margin we config to 0x11 (1.6ms with 78.125Mhz oscilator)
  */
-	/* 8.26 - 8.30 */
+	/* 0x8.26 - 0x8.30 */
 	 u_int8_t pll_stabilize;
 	/* Description - Reserved for parity bit from the flash */
-	/* 8.31 - 12.31 */
+	/* 0x8.31 - 0x8.31 */
 	 u_int8_t parity_reserved2;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - logic bist pattern count (LSB)
 MSB is in the extended boot record
 When {MSB,LSB}=0 lbist will run 2^32 patterns */
-	/* 12.0 - 12.15 */
+	/* 0xc.0 - 0xc.15 */
 	 u_int16_t lbist_pat_cnt_lsb;
 	/* Description - value is the number of captures per pattern
 value=0 means no capture state at all.
 last pattern is controled by lbist_capture_last */
-	/* 12.19 - 12.21 */
+	/* 0xc.19 - 0xc.21 */
 	 u_int8_t lbist_capture;
 	/* Description - at each capture 2 selected units work together for gaining full chip coverage */
-	/* 12.22 - 12.22 */
+	/* 0xc.22 - 0xc.22 */
 	 u_int8_t lbist_capt_2;
 	/* Description - shift cycle every corepll clocks:
 f = 2^x (f = 1,2,4,8,..,128)
 0-1, 1-2, 2-4, 3-8... */
-	/* 12.23 - 12.25 */
+	/* 0xc.23 - 0xc.25 */
 	 u_int8_t lbist_shift_clk_divider;
 	/* Description - same as lbist_capture but only for the last pattern, part of the stop function.
 value must be > 0 */
-	/* 12.27 - 12.29 */
+	/* 0xc.27 - 0xc.29 */
 	 u_int8_t lbist_capture_last;
 	/* Description - Logic BIST enable */
-	/* 12.30 - 12.30 */
+	/* 0xc.30 - 0xc.30 */
 	 u_int8_t lbist_en;
 	/* Description - Reserved for parity bit from the flash */
-	/* 12.31 - 16.31 */
+	/* 0xc.31 - 0xc.31 */
 	 u_int8_t parity_reserved3;
 };
 
@@ -20966,18 +27926,25 @@ struct connectib_icmd_ctrl {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Protection against accidently writing to contexts
 To enable write 0xBADC0FFE */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t destructive_op_unlock;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - from the function */
-	/* 4.0 - 4.15 */
+	/* 0x4.0 - 0x4.15 */
 	 u_int16_t gvmi;
 	/* Description - when set limited icmd are supported */
-	/* 4.16 - 4.16 */
+	/* 0x4.16 - 0x4.16 */
 	 u_int8_t public_icmd;
+	/* Description - for commands with state machines */
+	/* 0x4.24 - 0x4.31 */
+	 u_int8_t state;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - external syndrome (cmdif syndrom for cmd_access_reg command) */
+	/* 0x8.0 - 0x8.23 */
+	 u_int32_t syndrome;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - set by user, cleared by firmware */
-	/* 12.0 - 12.0 */
+	/* 0xc.0 - 0xc.0 */
 	 u_int8_t busy;
 	/* Description -  0x00 OK
  0x01 INVALID_OPCODE
@@ -20985,12 +27952,32 @@ To enable write 0xBADC0FFE */
  0x03 OPERATIONAL_ERROR
  0x04 BAD_PARAM
  0x05 BUSY */
-	/* 12.8 - 12.15 */
+	/* 0xc.8 - 0xc.15 */
 	 u_int8_t status;
 	/* Description -     0x1000 = ICMD_OPCODE_MNG_MMINIT
+  0x1001 = ICMD_OPCODE_MNG_GPIO_FUNC
+  0x2000 = ICMD_OPCODE_PRE_DEFINE_MODULE_DB
+  0x2800 = ICMD_OPCODE_GET_FW_DRIVER_VERSION
+  0x2801 = ICMD_OPCODE_OCBB_RNDC_GET_CORE_API
+  0x2802 = ICMD_OPCODE_OCBB_GET_PCI_API
+  0x2803 = ICMD_OPCODE_READ_NCSI_RDMA_COUNTERS
+  0x2804 = ICMD_OPCODE_CABLE_ERROR_GEN_EVENT
+  0x2805 = ICMD_OPCODE_LED_CMD
+  0x2806 = ICMD_READ_ICMC_TAGS_AND_INFO
+  0x2807 = ICMD_OPCODE_OVONEL_MNG_INITIAL_CMD
+  0x2810 = ICMD_OPCODE_LED_CONTROL_MAD
+  0x2811 = ICMD_OPCODE_TEMP_WARN_GEN_EVENT
+  0x2812 = ICMD_OPCODE_ENABLE_DISABLE_PORT
+  0x2814 = ICMD_OPCODE_ASN1_FORCE_PORT_STATE
+  0x2815 = ICMD_OPCODE_SET_STEERING_LOOPBACK
+  0x2816 = ICMD_OPCODE_DROP_COUNTER_READ
+  0x2817 = ICMD_OPCODE_PORT_ADMIN_STATE_MNG
+  0x2820 = ICMD_OPCODE_INTERNAL_QUERY_CAP
+  0x2821 = ICMD_OPCODE_ALLOWED_PFS_MADIFC
+  0x2823 = ICMD_OPCODE_SYSPORT
   0x6001 = ICMD_OPCODE_PHY_UC_DO_CONTINUE
   0x6002 = ICMD_OPCODE_PHY_UC_DO_STEP
-  0x6003 =  ICMD_OPCODE_PHY_UC_SET_DEL_BP
+  0x6003 = ICMD_OPCODE_PHY_UC_SET_DEL_BP
   0x6004 = ICMD_OPCODE_PHY_UC_SET_GET_DATA
   0x6005 = ICMD_OPCODE_PHY_UC_GET_ARRAY_PROP
   0x6006 = ICMD_OPCODE_PHY_UC_GET_STATUS
@@ -21010,7 +27997,12 @@ To enable write 0xBADC0FFE */
   0x6016 = ICMD_OPCODE_PHY_SET_GET_PTAS
   0x6017 = ICMD_OPCODE_PHY_GET_PPAMP
   0x6018 = ICMD_OPCODE_PHY_GET_PPLL
-  0x6019 = ICMD_OPCODE_PHY_GET_PPDDB
+  0x6019 = ICMD_OPCODE_PHY_GET_PDDR
+  0x601a = ICMD_OPCODE_PHY_RUN_HYB_EYE_OPENER
+  0x601b = ICMD_OPCODE_PHY_DESIGN_VER_IF
+  0x601c = ICMD_OPCODE_RESTORE_PHY_REGISTERS
+  0x601d = ICMD_OPCODE_PHY_MEASURE_FREQUENCY
+  0x601e = ICMD_OPCODE_PHY_ACTIVATE_PLL
   0x8000 = ACCESS_ICM_LINE
   0x8001 = ACCESS_ICM_CTX
   0x8002 = ACCESS_HOST_MEM
@@ -21033,7 +28025,6 @@ To enable write 0xBADC0FFE */
   0x801a = LOCK_UNLOCK
   0x801b = ICMD_DB_RECOVERY
   0x801c = ICMD_READ_ICMC_TAG
-  0x801d = ICMD_DC_PARAMS (LEGACY - deprecated!)
   0x8020 = ICMD_RW_GVMIX
   0x8021 = ICMD_ICMC_LOCKED_HISTOGRAM
   0x8022 = ICMD_DC_CONFIG
@@ -21049,11 +28040,18 @@ To enable write 0xBADC0FFE */
   0x8032 = ICMD_OPCODE_ACCESS_REGISTER_SLRG
   0x8033 = ICMD_OPCODE_ACCESS_REGISTER_PTAS
   0x8034 = ICMD_OPCODE_ACCESS_REGISTER_PPAMP
+  0x8035 = ICMD_OPCODE_ACCESS_REGISTER_PPLR
+  0x8036 = ICMD_OPCODE_ACCESS_REGISTER_PLPC
+  0x8037 = ICMD_OPCODE_ACCESS_REGISTER_PPLM
+  0x8038 = ICMD_OPCODE_ACCESS_REGISTER_PPTT
+  0x8039 = ICMD_OPCODE_ACCESS_REGISTER_PPRT
+  0x8040 = ICMD_OPCODE_ACCESS_REGISTER_PPAOS
   0x802a = ACCESS_REG_PVLC
   0x8100 = DEBUG_PRINT_ICM
   0x8101 = GET_HEADER_CAPTURE
   0x8200 = ICMD_OPCODE_SET_GET_PORT_CNTR
   0x8201 = ICMD_OPCODE_GET_PF_CTX
+  0x8202 = GET_PI_CI
   0x8300 = GET_FT_LIST
   0x8301 = GET_FT_INFO
   0x8302 = GET_FG_LIST
@@ -21063,11 +28061,34 @@ To enable write 0xBADC0FFE */
   0x8306 = GET_STE_OPEN_RESOURCES
   0x8307 = GET_STE_RESOURCES_LIST
   0x8308 = READ_STE
-  0x9001 = FLASH_REG_ACCESS
+  0x8309 = GET_STEERING_INFO
+  0x830a = PARSE_ICM_ADDRESS
+  0x830b = ICMD_OPCODE_DEBUG_LLDP
+  0x830c = ICMD_OPCODE_GET_SET_LLDP_TLV
+  0x830d = ICMD_OPCODE_DEBUG_MCTP_VND_PCI
+  0x830e = ICMD_OPCODE_EXECUTE_FW_LOG
+  0x830f = ICMD_OPCODE_PACKET_DROP
+  0x8310 = GET_HIGHEST_INDEX
+  0x8400 = ICMD_QUERY_CAPABILITIES
+  0x8401 = ICMD_KDNET_CTRL
+  0x8402 = ICMD_OPCODE_MH_SYNC
+  0x8403 = ICMD_OPCODE_MH_SYNC_STATUS
+  0x9001 = ICMD_ACCESS_REGISTER
+  0x9002 = ICMD_OPCODE_NVCONF_RW_TLV_DEBUG
+  0x9003 = ICMD_OPCODE_QUERY_VIRTUAL_MAC
+  0x9004 = ICMD_OPCODE_SET_VIRTUAL_MAC
+  0x9005 = ICMD_QUERY_WOL_ROL
+  0x9006 = ICMD_SET_WOL_ROL
+  0x9007 = ICMD_OCBB_INIT
+  0x9008 = ICMD_OCBB_QUERY_HEADER_STATUS
+  0x9009 = ICMD_OCBB_QUERY_ETOC_STATUS
+  0x900a = ICMD_OCBB_SET_EVENT
+  0x902b = ICMD_OPCODE_ACCESS_REGISTER_MLCR
   0xa000 = FW_SW_RESET
   0xb000 = READ_COMMAND
   0xa004 = ICMD_OPCODE_PMAOS_WRITE
   0xa005 = ICMD_OPCODE_PMAOS_QUERY
+  0xa008 = ICMD_OPCODE_MNG_EMAD_MCIA
   0xc000 = READ_EQ4TYPE
   0xc001 = READ_SPECIAL_QPS
   0xc002 = SET_PORT_SNIFFER
@@ -21075,6 +28096,8 @@ To enable write 0xBADC0FFE */
   0xc004 = ICMD_OPCODE_WRITE_CC_LOG
   0xc005 = ICMD_OPCODE_CONFIG_CC
   0xc006 = ICMD_OPCODE_WRITE_DC_CNAK_LID
+  0xc007 = ICMD_OPCODE_UPDATE_RQ_CI
+  0xc008 = ICMD_OPCODE_UD_TO_RAW
   0xf000 = ICMD_OPCODE_PHY_NEGO_CTRL
   0xf001 = ICMD_OPCODE_EYE_OPENER_READ
   0xf002 = CLEAR_RXT_CHK_CAUSES
@@ -21084,7 +28107,10 @@ To enable write 0xBADC0FFE */
   0xf006 = ICMD_OPCODE_PCIE_TOOLS_POINTERS
   0xf007 = ICMD_OPCODE_CODE_COVERAGE
   0xf008 = ICMD_OPCODE_CODE_COVERAGE_READ
+  0xf009 = ICMD_OPCODE_PCIE_VER_DATA
+  0xf00a = ICMD_OPCODE_VER_DATA
   0xf00b = ICMD_STOP_TOGGLER
+  0xf00c = ICMD_ERROR_FLOW_TRIGGER
   0xf010 = ICMD_OPCODE_GREPPER
   0xf011 = ICMD_OPCODE_STANDBY
   0xf012 = ICMD_OPCODE_FLR_DEBUG
@@ -21094,11 +28120,25 @@ To enable write 0xBADC0FFE */
   0xf016 = ICMD_OPCODE_ACCESS_STEERING_ROOT
   0xf017 = ICMD_OPCODE_GET_STEERING_TABLE_INFO
   0xf018 = ICMD_OPCODE_GET_GVMI_VIA_VSEC
-  0xa100 = ICMD_OPCODE_SMBUS_MASTER_ACCESS
+  0xf019 = ICMD_OPCODE_XPORT_CONFIG
+  0xf01a = ICMD_OPCODE_MINI_FLOW_ACTIVATOR
+  0xf01b = ICMD_OPCODE_ENABLE_TOOLPF
+  0xf01c = ICMD_OPCODE_SET_TOOLPF_TRACER;\  0xf01d = ICMD_OPCODE_RW_GVMI_FW_CONTEXT;\  0xa100 = ICMD_OPCODE_SMBUS_MASTER_ACCESS
   0xa102 = ICMD_OPCODE_MNG_SMBUS_GW_FREQ
+  0xa200 = ICMD_OPCODE_FPGA_FLEX_NIC_CTRL
+  0xff59 = ICMD_OPCODE_GVMI_RL_CTX_IX
   0xff60 = ICMD_OPCODE_CABLE_INFO
-  0xff61 = ICMD_OPCODE_GEN_ASSERT  */
-	/* 12.16 - 16.31 */
+  0xff61 = ICMD_OPCODE_GEN_ASSERT
+  0xff62 = ICMD_OPCODE_DEBUG_PF_MAC
+  0xff63 = ICMD_OPCODE_SET_OC_INT_CAUSE
+  0xff65 = ICMD_OPCODE_PMLP_QUERY
+  0x2808 = ICMD_OPCODE_INIT_NCSI
+  0x2809 = ICMD_OPCODE_INJECT_NCSI
+  0xff66 = ICMD_OPCODE_READ_WRITE_VARB_CTX
+  0xff67 = ICMD_OPCODE_GET_PACKET_PACING_DEBUG_INFO
+  0xff68 = ICMD_OPCODE_DEBUG_CALC_SQN
+  0xff69 = ICMD_OPCODE_DETECT_GVMI */
+	/* 0xc.16 - 0xc.31 */
 	 u_int16_t opcode;
 };
 
@@ -21107,260 +28147,413 @@ To enable write 0xBADC0FFE */
 union connectib_icmd_cmd {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 struct connectib_icmd_cmd_as_dwords as_dwords;
 	/* Description -  */
-	/* 0.0 - 96.31 */
+	/* 0x0.0 - 0x60.31 */
 	 struct connectib_icmd_access_icm_ctx access_icm_ctx;
 	/* Description -  */
-	/* 0.0 - 80.31 */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_icmd_get_pi_ci get_pi_ci;
+	/* Description -  */
+	/* 0x0.0 - 0x50.31 */
 	 struct connectib_icmd_access_icm_line access_icm_line;
 	/* Description -  */
-	/* 0.0 - 288.31 */
+	/* 0x0.0 - 0x128.31 */
 	 struct connectib_icmd_access_host_mem access_host_mem;
 	/* Description -  */
-	/* 0.0 - 524.31 */
+	/* 0x0.0 - 0x20c.31 */
 	 struct connectib_icmd_read_q_entry read_q_entry;
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 struct connectib_icmd_get_irisc_heart_beat get_irisc_heart_beat;
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 struct connectib_icmd_get_boot_stage get_boot_stage;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_icmd_get_link_leds get_link_leds;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x24.31 */
 	 struct connectib_icmd_get_fw_info get_fw_info;
 	/* Description -  */
-	/* 0.0 - 524.31 */
+	/* 0x0.0 - 0x20c.31 */
 	 struct connectib_icmd_read_rx_slice_packet read_rx_slice_packet;
 	/* Description -  */
-	/* 0.0 - 264.31 */
+	/* 0x0.0 - 0x108.31 */
 	 struct connectib_icmd_read_g_rse_slice_desc read_g_rse_slice_desc;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_icmd_fw_reset fw_reset;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_icmd_allowed_madifc_on_all_pfs allowed_pfs_madifc;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_print_icm debug_print_icm;
 	/* Description -  */
-	/* 0.0 - 192.31 */
+	/* 0x0.0 - 0xc0.31 */
 	 struct connectib_icmd_header_capture header_capture;
 	/* Description -  */
-	/* 0.0 - 72.31 */
+	/* 0x0.0 - 0x48.31 */
 	 struct connectib_icmd_read_sx_wq_buffer read_sx_wq_buffer;
 	/* Description -  */
-	/* 0.0 - 72.31 */
+	/* 0x0.0 - 0x48.31 */
 	 struct connectib_icmd_access_cmdq icmd_access_cmdq;
 	/* Description -  */
-	/* 0.0 - 260.31 */
+	/* 0x0.0 - 0x104.31 */
 	 struct connectib_eqn4type eqn4type;
 	/* Description -  */
-	/* 0.0 - 260.31 */
+	/* 0x0.0 - 0x104.31 */
 	 struct connectib_icmd_special_qps special_qps;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_set_port_sniffer set_port_sniffer;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_port_sniffer get_port_sniffer;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_icmd_congestion_log congestion_log;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_icmd_write_dc_cnak_lid write_dc_cnak_lid;
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_icmd_update_rq_ci update_rq_ci;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_icmd_ud_to_raw ud_to_raw;
+	/* Description -  */
+	/* 0x0.0 - 0x300.31 */
 	 struct connectib_icmd_config_cc config_cc;
 	/* Description -  */
-	/* 0.0 - 80.31 */
+	/* 0x0.0 - 0x50.31 */
 	 struct connectib_icmd_read_icm_tlb_line read_icm_tlb_line;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_icmd_read_icm_dummy_addr read_icm_dummy_addr;
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 struct connectib_icmd_get_open_resources get_open_resources;
 	/* Description -  */
-	/* 0.0 - 48.31 */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_icmd_get_highest_index get_highest_index;
+	/* Description -  */
+	/* 0x0.0 - 0x30.31 */
 	 struct connectib_icmd_debug_fw_tracer debug_fw_tracer;
 	/* Description -  */
-	/* 0.0 - 512.31 */
+	/* 0x0.0 - 0x30.31 */
+	 struct connectib_icmd_execute_fw_log execute_fw_log;
+	/* Description -  */
+	/* 0x0.0 - 0x200.31 */
 	 struct connectib_icmd_grepper grepper;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_icmd_standby standby;
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 struct connectib_icmd_cable_plug_out_in cable_plug_out_in;
 	/* Description -  */
-	/* 0.0 - 128.31 */
+	/* 0x0.0 - 0x80.31 */
 	 struct connectib_icmd_cable_info cable_info;
 	/* Description -  */
-	/* 0.0 - 36.31 */
+	/* 0x0.0 - 0x48.31 */
+	 struct connectib_icmd_emad_mcia emad_mcia;
+	/* Description -  */
+	/* 0x0.0 - 0x24.31 */
 	 struct connectib_icmd_get_icm_res_prop get_icm_res_prop;
 	/* Description -  */
-	/* 0.0 - 24.31 */
+	/* 0x0.0 - 0x18.31 */
 	 struct connectib_icmd_alloc_dealloc_resource alloc_dealloc_resource;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_eye_opening_read_st eye_opening_read;
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 struct connectib_phy_nego_ctrl_st phy_nego_ctrl;
 	/* Description -  */
-	/* 0.0 - 24.31 */
+	/* 0x0.0 - 0x18.31 */
 	 struct connectib_icmd_get_icm_ctx_addr get_icm_ctx_addr;
 	/* Description -  */
-	/* 0.0 - 160.31 */
-	 struct connectib_reg_access_ext_cmd access_register;
+	/* 0x0.0 - 0x8.31 */
+	 union connectib_icmd_query_capabilities query_capabilities;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_icmd_kdnet_ctrl kdnet_ctrl;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x128.31 */
+	 struct connectib_icmd_generic_access_register access_register;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_check_sqpc_status check_sqpc_status;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_lock_unlock_resource lock_unlock_resource;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_check_sqpc_status db_recovery;
 	/* Description -  */
-	/* 0.0 - 80.31 */
+	/* 0x0.0 - 0x50.31 */
 	 struct connectib_icmd_access_icm_line read_icmc_tag;
-	/* Description - configures all params. if only one params change is required - perform read modify write */
-	/* 0.0 - 32.31 */
-	 struct connectib_icmd_dc_params dc_params;
 	/* Description -  */
-	/* 0.0 - 128.31 */
+	/* 0x0.0 - 0x300.31 */
+	 struct connectib_icmd_read_icmc_tags_and_info read_icmc_tags_and_info;
+	/* Description -  */
+	/* 0x0.0 - 0x80.31 */
 	 struct connectib_icmd_dc_config dc_config;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_itrace set_itrace;
 	/* Description -  */
-	/* 0.0 - 12.31 */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_init_ncsi init_ncsi;
+	/* Description -  */
+	/* 0x0.0 - 0xc.31 */
 	 struct connectib_icmd_init_ocsd init_ocsd;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_icmd_phy_ver_overwrite phy_ver_overwrite;
 	/* Description - pointers to some tables in pciex scratchpad, for tools usage */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_pcie_tools_pointers pcie_tools_pointers;
 	/* Description -  */
-	/* 0.0 - 80.31 */
+	/* 0x0.0 - 0x50.31 */
 	 struct connectib_icmd_gen_eqe gen_eqe;
 	/* Description -  */
-	/* 0.0 - 128.31 */
+	/* 0x0.0 - 0x80.31 */
 	 struct connectib_icmd_rw_gvmix rw_gvmix;
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 struct connectib_icmd_esw rw_esw;
 	/* Description - used to enable/query HW tracer for code coverage */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_code_coverage_control code_coverage;
 	/* Description - Read code coverage bitmask from HW buffer */
-	/* 0.0 - 264.31 */
+	/* 0x0.0 - 0x108.31 */
 	 struct connectib_icmd_code_coverage_read code_coverage_read;
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 struct connectib_icmd_stop_toggler stop_toggler;
 	/* Description -  */
-	/* 0.0 - 256.31 */
-	 struct connectib_icmd_stress_testing stress_testing;
+	/* 0x0.0 - 0x100.31 */
+	 struct connectib_icmd_error_flow_trigger error_flow_trigger;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_icmd_pcie_ver_data pcie_ver_data;
 	/* Description -  */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x50.31 */
+	 struct connectib_icmd_ver_data ver_data;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_icmd_push_db push_db;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_icmd_flr_debug flr_debug;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_dcr_ll_trvrs dcr_ll_trvrs;
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 struct connectib_icmd_dcr_ll_next_dcr_list dcr_ll_next_dcr_list;
 	/* Description -  */
-	/* 0.0 - 68.31 */
+	/* 0x0.0 - 0x44.31 */
 	 struct connectib_icmd_access_steering_root access_steering_root;
 	/* Description -  */
-	/* 0.0 - 48.31 */
+	/* 0x0.0 - 0x50.31 */
 	 struct connectib_icmd_steering_table_info get_steering_table_info;
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_get_gvmi_via_vsec get_gvmi_via_vsec;
 	/* Description -  */
-	/* 0.0 - 20.31 */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_xport_xonfig xport_config;
+	/* Description -  */
+	/* 0x0.0 - 0x110.31 */
+	 struct connectib_icmd_nvcfg_rw_tlv nv_ram_rw_tlv;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_icmd_set_toolpf_tracer set_toolpf_tracer;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_enable_tools_pf enable_tools_pf;
+	/* Description -  */
+	/* 0x0.0 - 0x14.31 */
 	 struct connectib_icmd_access_register_paos access_register_paos;
 	/* Description -  */
-	/* 0.0 - 48.31 */
+	/* 0x0.0 - 0x30.31 */
 	 struct connectib_icmd_access_register_slrp access_register_slrp;
 	/* Description -  */
-	/* 0.0 - 24.31 */
+	/* 0x0.0 - 0x18.31 */
 	 struct connectib_icmd_access_register_sltp access_register_sltp;
 	/* Description -  */
-	/* 0.0 - 44.31 */
+	/* 0x0.0 - 0x2c.31 */
 	 struct connectib_icmd_access_register_slrg access_register_slrg;
 	/* Description -  */
-	/* 0.0 - 48.31 */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_icmd_access_register_pptt access_register_pptt;
+	/* Description -  */
+	/* 0x0.0 - 0x2c.31 */
+	 struct connectib_icmd_access_register_pprt access_register_pprt;
+	/* Description -  */
+	/* 0x0.0 - 0x14.31 */
+	 struct connectib_icmd_access_register_ppaos access_register_ppaos;
+	/* Description -  */
+	/* 0x0.0 - 0x30.31 */
 	 struct connectib_icmd_access_register_ptas access_register_ptas;
 	/* Description -  */
-	/* 0.0 - 48.31 */
+	/* 0x0.0 - 0x30.31 */
 	 struct connectib_icmd_access_register_ppamp access_register_ppamp;
 	/* Description -  */
-	/* 0.0 - 20.31 */
+	/* 0x0.0 - 0x30.31 */
+	 struct connectib_icmd_access_register_pplr access_register_pplr;
+	/* Description -  */
+	/* 0x0.0 - 0x30.31 */
+	 struct connectib_icmd_access_register_pplm access_register_pplm;
+	/* Description -  */
+	/* 0x0.0 - 0x30.31 */
+	 struct connectib_icmd_access_register_plpc access_register_plpc;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_access_register_mlcr access_register_mlcr;
+	/* Description -  */
+	/* 0x0.0 - 0x14.31 */
 	 struct connectib_icmd_access_register_pmtu access_register_pmtu;
 	/* Description -  */
-	/* 0.0 - 68.31 */
+	/* 0x0.0 - 0x44.31 */
 	 struct connectib_icmd_access_reg_ptys access_register_ptys;
-	/* Description -  */
-	/* 0.0 - 268.31 */
+	/* Description - restore all access registers to thier default values */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_restore_phy_registers restore_phy_registers;
+	/* Description - performs frequency measurement */
+	/* 0x0.0 - 0xc.31 */
+	 struct connectib_icmd_measure_frequency measure_frequency;
+	/* Description -  */
+	/* 0x0.0 - 0x10c.31 */
 	 struct connectib_icmd_access_register_ppcnt access_register_ppcnt;
 	/* Description -  */
-	/* 0.0 - 24.31 */
+	/* 0x0.0 - 0x18.31 */
 	 struct connectib_icmd_set_get_port_cntr set_get_port_counter;
+	/* Description - Verification tool to get_set LED pattern */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_icmd_led_cmd led_cmd;
+	/* Description -  */
+	/* 0x0.0 - 0x48.31 */
+	 struct connectib_icmd_led_control_mad led_control_mad;
 	/* Description - FTE dump tool: Flow Table list */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 union connectib_icmd_get_ft_list get_ft_list;
 	/* Description - FTE dump tool: Flow Table info */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 union connectib_icmd_get_ft_info get_ft_info;
 	/* Description - FTE dump tool: Flow Group list */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 union connectib_icmd_get_fg_list get_fg_list;
 	/* Description - FTE dump tool: Flow Group info */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 union connectib_icmd_get_fg get_fg;
 	/* Description - FTE dump tool: Flow Table Entry list */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 union connectib_icmd_get_fte_list get_fte_list;
 	/* Description - FTE dump tool: Flow Table Entry info */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 union connectib_icmd_get_fte get_fte;
 	/* Description - STE dump tool: STE opened resources */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 union connectib_icmd_get_ste_open_resources get_ste_open_resources;
 	/* Description - STE dump tool: STE resources list */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 union connectib_icmd_get_ste_resources_list get_ste_resources_list;
 	/* Description - STE dump tool: STE dump */
-	/* 0.0 - 80.31 */
+	/* 0x0.0 - 0x50.31 */
 	 struct connectib_icmd_read_ste read_ste;
+	/* Description - steering info for debug */
+	/* 0x0.0 - 0x80.31 */
+	 struct connectib_icmd_get_steering_info steering_info;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_icmd_parse_icm_address parse_icm_address;
 	/* Description -  */
-	/* 0.0 - 20.31 */
+	/* 0x0.0 - 0x14.31 */
 	 struct connectib_icmd_access_register_pvlc access_register_pvlc;
 	/* Description - injects faults for verification */
-	/* 0.0 - 8.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_icmd_general_fault_injector general_fault_injector;
+	/* Description - flicks_enable_disable and cache invalidation */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_icmd_mini_flow_activator mini_flow_activator;
+	/* Description -  */
+	/* 0x0.0 - 0x300.31 */
+	 struct connectib_icmd_debug_calc_sqn calc_sqn;
+	/* Description -  */
+	/* 0x0.0 - 0x44.31 */
+	 struct connectib_icmd_read_write_varb_ctx read_write_varb_ctx;
 	/* Description - generate assert */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x8.31 */
 	 struct connectib_icmd_gen_assert gen_assert;
+	/* Description - set oc int */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_set_oc_int set_oc_int;
+	/* Description - get fw driver version */
+	/* 0x0.0 - 0x50.31 */
+	 struct connectib_icmd_get_fw_driver_version get_fw_driver_ver;
+	/* Description -  */
+	/* 0x0.0 - 0x24.31 */
+	 struct connectib_icmd_pmlp_query pmlp_query;
+	/* Description -  */
+	/* 0x0.0 - 0x3c.31 */
+	 struct connectib_icmd_pre_define_module_db pre_define_module_db;
+	/* Description - call ocbb apis */
+	/* 0x0.0 - 0x300.31 */
+	 struct connectib_icmd_ocbb_rndc_get_core_api ocbb_rndc_get_core_api;
+	/* Description - call ocbb pci apis */
+	/* 0x0.0 - 0x30.31 */
+	 struct connectib_icmd_ocbb_get_pci_api ocbb_get_pci_api;
 	/* Description - vport_info or vport_shadow */
-	/* 0.0 - 96.31 */
+	/* 0x0.0 - 0x80.31 */
 	 struct connectib_icmd_get_pf_ctx get_pf_ctx;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_icmd_set_get_debug_pf_mac debug_pf_mac;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct connectib_icmd_access_register_nodnic_queue_info nodnic_queue_info;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_temp_warn_gen_event temp_warn_gen;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_icmd_detect_gvmi_in_qpc_and_icmc detect_gvmi_in_hw;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_icmd_internal_query_cap internal_query_cap;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_map_event_eq map_event_eq;
+	/* Description -  */
+	/* 0x0.0 - 0x64.31 */
+	 struct connectib_icmd_get_packet_pacing_debug_info get_packet_pacing_debug_info;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct connectib_icmd_port_admin_state_mng port_admin_state_mng;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_asn1_force_port_state asn1_force_port_state;
+	/* Description -  */
+	/* 0x0.0 - 0x10.31 */
+	 struct connectib_icmd_mh_sync mh_sync;
+	/* Description -  */
+	/* 0x0.0 - 0x80.31 */
+	 struct connectib_icmd_rw_gvmi_fw_ctx rw_gvmi_fw_ctx;
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 struct connectib_icmd_drop_counter_read drop_counter_read;
+	/* Description - operate sysport to send packet */
+	/* 0x0.0 - 0x300.31 */
+	 struct connectib_icmd_sysport sysport;
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct connectib_icmd_get_gvmi_rl_ctx_ix get_gvmi_rl_ctx_ix;
 };
 
 /* Description -   */
@@ -21368,85 +28561,85 @@ union connectib_icmd_cmd {
 struct connectib_sw_cqe_sigerr {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t rsvd_9;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t rsvd_8;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t rsvd_7;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t rsvd_6;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 u_int32_t expected_trans_sig;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t actual_trans_sig;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
+	/* 0x18.0 - 0x1c.31 */
 	 u_int32_t expected_ref_tag;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x20.31 */
 	 u_int32_t actual_ref_tag;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.15 */
+	/* 0x20.0 - 0x20.15 */
 	 u_int16_t rsvd_5;
 	/* Description -  */
-	/* 32.16 - 36.31 */
+	/* 0x20.16 - 0x20.31 */
 	 u_int16_t syndrome;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.0 - 40.31 */
+	/* 0x24.0 - 0x28.31 */
 	 u_int32_t mkey;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 40.0 - 44.31 */
+	/* 0x28.0 - 0x2c.31 */
 	 u_int32_t sig_err_byte_h;
 /*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 44.0 - 48.31 */
+	/* 0x2c.0 - 0x30.31 */
 	 u_int32_t sig_err_byte_l;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 52.31 */
+	/* 0x30.0 - 0x34.31 */
 	 u_int32_t rsvd_4;
 /*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 52.0 - 56.31 */
+	/* 0x34.0 - 0x38.31 */
 	 u_int32_t rsvd_3;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 56.0 - 56.23 */
+	/* 0x38.0 - 0x38.23 */
 	 u_int32_t qpn;
 	/* Description -  */
-	/* 56.24 - 60.31 */
+	/* 0x38.24 - 0x38.31 */
 	 u_int8_t rsvd_2;
 /*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 60.0 - 60.0 */
+	/* 0x3c.0 - 0x3c.0 */
 	 u_int8_t owner;
 	/* Description -  */
-	/* 60.1 - 60.3 */
+	/* 0x3c.1 - 0x3c.3 */
 	 u_int8_t rsvd_0;
 	/* Description -  */
-	/* 60.4 - 60.7 */
+	/* 0x3c.4 - 0x3c.7 */
 	 u_int8_t opcode;
 	/* Description -  */
-	/* 60.8 - 60.15 */
+	/* 0x3c.8 - 0x3c.15 */
 	 u_int8_t signature;
 	/* Description -  */
-	/* 60.16 - 64.31 */
+	/* 0x3c.16 - 0x3c.31 */
 	 u_int16_t rsvd_1;
 };
 
@@ -21455,79 +28648,79 @@ struct connectib_sw_cqe_sigerr {
 struct connectib_sw_cqe_resize {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t rsvd_14;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t rsvd_13;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t rsvd_12;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t rsvd_11;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 u_int32_t rsvd_10;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t rsvd_9;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
+	/* 0x18.0 - 0x1c.31 */
 	 u_int32_t rsvd_8;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x20.31 */
 	 u_int32_t rsvd_7;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 36.31 */
+	/* 0x20.0 - 0x24.31 */
 	 u_int32_t rsvd_6;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.0 - 40.31 */
+	/* 0x24.0 - 0x28.31 */
 	 u_int32_t rsvd_5;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 40.0 - 44.31 */
+	/* 0x28.0 - 0x2c.31 */
 	 u_int32_t rsvd_4;
 /*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 44.0 - 48.31 */
+	/* 0x2c.0 - 0x30.31 */
 	 u_int32_t rsvd_3;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 52.31 */
+	/* 0x30.0 - 0x34.31 */
 	 u_int32_t timestamp_h;
 /*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 52.0 - 56.31 */
+	/* 0x34.0 - 0x38.31 */
 	 u_int32_t timestamp_l;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 56.0 - 60.31 */
+	/* 0x38.0 - 0x3c.31 */
 	 u_int32_t rsvd_2;
 /*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 60.0 - 60.0 */
+	/* 0x3c.0 - 0x3c.0 */
 	 u_int8_t owner;
 	/* Description -  */
-	/* 60.1 - 60.3 */
+	/* 0x3c.1 - 0x3c.3 */
 	 u_int8_t rsvd_1;
 	/* Description -  */
-	/* 60.4 - 60.7 */
+	/* 0x3c.4 - 0x3c.7 */
 	 u_int8_t opcode;
 	/* Description -  */
-	/* 60.8 - 60.15 */
+	/* 0x3c.8 - 0x3c.15 */
 	 u_int8_t signature;
 	/* Description -  */
-	/* 60.16 - 64.31 */
+	/* 0x3c.16 - 0x3c.31 */
 	 u_int16_t rsvd_0;
 };
 
@@ -21536,97 +28729,103 @@ struct connectib_sw_cqe_resize {
 struct connectib_sw_cqe_error {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
-	 u_int32_t rsvd_14;
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t wqe_id;
+	/* Description -  */
+	/* 0x0.16 - 0x0.31 */
+	 u_int16_t rsvd_14;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t rsvd_13;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t rsvd_12;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t rsvd_11;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 20.31 */
+	/* 0x10.0 - 0x14.31 */
 	 u_int32_t rsvd_10;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.0 - 24.31 */
+	/* 0x14.0 - 0x18.31 */
 	 u_int32_t rsvd_9;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 28.31 */
+	/* 0x18.0 - 0x1c.31 */
 	 u_int32_t rsvd_8;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x20.31 */
 	 u_int32_t rsvd_7;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 32.23 */
+	/* 0x20.0 - 0x20.23 */
 	 u_int32_t srq_num;
 	/* Description -  */
-	/* 32.24 - 36.31 */
+	/* 0x20.24 - 0x20.31 */
 	 u_int8_t rsvd_6;
 /*---------------- DWORD[9] (Offset 0x24) ----------------*/
 	/* Description -  */
-	/* 36.0 - 40.31 */
+	/* 0x24.0 - 0x28.31 */
 	 u_int32_t rsvd_5;
 /*---------------- DWORD[10] (Offset 0x28) ----------------*/
 	/* Description -  */
-	/* 40.0 - 44.31 */
+	/* 0x28.0 - 0x2c.31 */
 	 u_int32_t rsvd_4;
 /*---------------- DWORD[11] (Offset 0x2c) ----------------*/
 	/* Description -  */
-	/* 44.0 - 48.31 */
-	 u_int32_t rsvd_3;
+	/* 0x2c.0 - 0x30.31 */
+	 u_int32_t byte_cnt;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 52.31 */
+	/* 0x30.0 - 0x34.31 */
 	 u_int32_t rsvd_2;
 /*---------------- DWORD[13] (Offset 0x34) ----------------*/
 	/* Description -  */
-	/* 52.0 - 52.7 */
+	/* 0x34.0 - 0x34.7 */
 	 u_int8_t syndrome;
 	/* Description -  */
-	/* 52.8 - 52.15 */
+	/* 0x34.8 - 0x34.15 */
 	 u_int8_t vendor_error_syndrome;
 	/* Description -  */
-	/* 52.16 - 52.19 */
+	/* 0x34.16 - 0x34.19 */
 	 u_int8_t rsvd_1;
 	/* Description -  */
-	/* 52.20 - 52.23 */
+	/* 0x34.20 - 0x34.23 */
 	 u_int8_t hw_syndrome_type;
 	/* Description -  */
-	/* 52.24 - 56.31 */
+	/* 0x34.24 - 0x34.31 */
 	 u_int8_t vendor_hw_syndrome;
 /*---------------- DWORD[14] (Offset 0x38) ----------------*/
 	/* Description -  */
-	/* 56.0 - 56.23 */
+	/* 0x38.0 - 0x38.23 */
 	 u_int32_t qpn;
 	/* Description -  */
-	/* 56.24 - 60.31 */
+	/* 0x38.24 - 0x38.31 */
 	 u_int8_t swqe_opcode_drop_cntr;
 /*---------------- DWORD[15] (Offset 0x3c) ----------------*/
 	/* Description -  */
-	/* 60.0 - 60.0 */
+	/* 0x3c.0 - 0x3c.0 */
 	 u_int8_t owner;
 	/* Description -  */
-	/* 60.1 - 60.3 */
+	/* 0x3c.1 - 0x3c.1 */
+	 u_int8_t se;
+	/* Description -  */
+	/* 0x3c.2 - 0x3c.3 */
 	 u_int8_t rsvd_0;
 	/* Description -  */
-	/* 60.4 - 60.7 */
+	/* 0x3c.4 - 0x3c.7 */
 	 u_int8_t rwqe_opcode;
 	/* Description -  */
-	/* 60.8 - 60.15 */
+	/* 0x3c.8 - 0x3c.15 */
 	 u_int8_t signature;
 	/* Description -  */
-	/* 60.16 - 64.31 */
+	/* 0x3c.16 - 0x3c.31 */
 	 u_int16_t wqe_counter;
 };
 
@@ -21635,11 +28834,11 @@ struct connectib_sw_cqe_error {
 struct connectib_sw_cqe_128b {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_grh_inline_data grh_inline_data;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description - 64B CQE */
-	/* 64.0 - 128.31 */
+	/* 0x40.0 - 0x80.31 */
 	 struct connectib_sw_cqe_64b cqe_64b;
 };
 
@@ -21648,7 +28847,7 @@ struct connectib_sw_cqe_128b {
 struct connectib_itoc_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.2 - 0.23 */
+	/* 0x0.2 - 0x0.23 */
 	 u_int32_t size;
 	/* Description - Section ID Section Type DESCRIPTION
 0x1 BOOT_CODE FW loader code
@@ -21673,44 +28872,44 @@ struct connectib_itoc_entry {
 0xff END_MARKER A type of 0xff marks the end of the iTOC entries array. It is recommended to leave the unused part of the iTOC section blank (that is, 0xff in all unused bytes)
 All other values Reserved 
  */
-	/* 0.24 - 4.31 */
+	/* 0x0.24 - 0x0.31 */
 	 u_int8_t type;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - if partition type is code or ini then the load address is in here */
-	/* 4.0 - 4.29 */
+	/* 0x4.0 - 0x4.29 */
 	 u_int32_t param0;
 	/* Description - When this bit is set, Data within the section is protected by per-line crc. See yu.flash.replacement.crc_en */
-	/* 4.30 - 4.30 */
+	/* 0x4.30 - 0x4.30 */
 	 u_int8_t cache_line_crc;
 	/* Description - When this bit is set, image is zipped */
-	/* 4.31 - 8.31 */
+	/* 0x4.31 - 0x4.31 */
 	 u_int8_t zipped_image;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - if partition type is code then the jump address is in here */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t param1;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description -  */
-	/* 20.2 - 20.30 */
+	/* 0x14.2 - 0x14.30 */
 	 u_int32_t flash_addr;
 	/* Description -  */
-	/* 20.31 - 24.31 */
+	/* 0x14.31 - 0x14.31 */
 	 u_int8_t relative_addr;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description -  */
-	/* 24.0 - 24.15 */
+	/* 0x18.0 - 0x18.15 */
 	 u_int16_t section_crc;
 	/* Description -  */
-	/* 24.16 - 24.16 */
+	/* 0x18.16 - 0x18.16 */
 	 u_int8_t no_crc;
 	/* Description - When this bit is set, the section pointed by this entry in belongs to teh device tather than to teh FW image.
 A device_data section should not be updated in a regular FW update.
 Example for device_data section: VPD_R, GUIDs. */
-	/* 24.17 - 24.17 */
+	/* 0x18.17 - 0x18.17 */
 	 u_int8_t device_data;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 28.15 */
+	/* 0x1c.0 - 0x1c.15 */
 	 u_int16_t itoc_entry_crc;
 };
 
@@ -21719,27 +28918,27 @@ Example for device_data section: VPD_R, GUIDs. */
 struct connectib_itoc_header {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - 49 54 4f 43 */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t signature0;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - 04 08 15 16 */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t signature1;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - 23 42 ca fa */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t signature2;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - ba ca fe 00 */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t signature3;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - Current version: 1 */
-	/* 16.0 - 16.7 */
+	/* 0x10.0 - 0x10.7 */
 	 u_int8_t version;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description -  */
-	/* 28.0 - 28.15 */
+	/* 0x1c.0 - 0x1c.15 */
 	 u_int16_t itoc_entry_crc;
 };
 
@@ -21748,63 +28947,63 @@ struct connectib_itoc_header {
 struct connectib_sw_wqe {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_wqe_control conrtol;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 32.31 */
+	/* 0x10.0 - 0x20.31 */
 	 struct connectib_wqe_mlx mlx;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 48.31 */
+	/* 0x20.0 - 0x30.31 */
 	 struct connectib_wqe_xrc xrc;
 /*---------------- DWORD[12] (Offset 0x30) ----------------*/
 	/* Description -  */
-	/* 48.0 - 64.31 */
+	/* 0x30.0 - 0x40.31 */
 	 struct connectib_wqe_address_vector_basic address_vector_basic;
 /*---------------- DWORD[16] (Offset 0x40) ----------------*/
 	/* Description -  */
-	/* 64.0 - 96.31 */
+	/* 0x40.0 - 0x60.31 */
 	 struct connectib_wqe_address_vector_ext address_vector_ext;
 /*---------------- DWORD[24] (Offset 0x60) ----------------*/
 	/* Description -  */
-	/* 96.0 - 112.31 */
+	/* 0x60.0 - 0x70.31 */
 	 struct connectib_wqe_rdma_read rdma_read;
 /*---------------- DWORD[28] (Offset 0x70) ----------------*/
 	/* Description -  */
-	/* 112.0 - 128.31 */
+	/* 0x70.0 - 0x80.31 */
 	 struct connectib_wqe_atomic_cmp_swap atomic_cmp_swap;
 /*---------------- DWORD[32] (Offset 0x80) ----------------*/
 	/* Description -  */
-	/* 128.0 - 640.31 */
+	/* 0x80.0 - 0x280.31 */
 	 union connectib_wqe_extended_atomic_cmp_swap ext_atom_cmp_swap;
 /*---------------- DWORD[160] (Offset 0x280) ----------------*/
 	/* Description -  */
-	/* 640.0 - 656.31 */
+	/* 0x280.0 - 0x290.31 */
 	 struct connectib_wqe_atomic_fetch_add atomic_fetch_add;
 /*---------------- DWORD[164] (Offset 0x290) ----------------*/
 	/* Description -  */
-	/* 656.0 - 912.31 */
+	/* 0x290.0 - 0x390.31 */
 	 union connectib_wqe_extended_atomic_fetch_add ext_atom_fetch_add;
 /*---------------- DWORD[228] (Offset 0x390) ----------------*/
 	/* Description -  */
-	/* 912.0 - 928.31 */
+	/* 0x390.0 - 0x3a0.31 */
 	 struct connectib_wqe_signature signature;
 /*---------------- DWORD[232] (Offset 0x3a0) ----------------*/
 	/* Description -  */
-	/* 928.0 - 944.31 */
+	/* 0x3a0.0 - 0x3b0.31 */
 	 struct connectib_wqe_srq_next srq_next;
 /*---------------- DWORD[236] (Offset 0x3b0) ----------------*/
 	/* Description -  */
-	/* 944.0 - 960.31 */
+	/* 0x3b0.0 - 0x3c0.31 */
 	 struct connectib_wqe_gather_scatter_entry gather_scatter_entry;
 /*---------------- DWORD[240] (Offset 0x3c0) ----------------*/
 	/* Description -  */
-	/* 960.0 - 964.31 */
+	/* 0x3c0.0 - 0x3c4.31 */
 	 struct connectib_wqe_inline_header inline_header;
 /*---------------- DWORD[244] (Offset 0x3d0) ----------------*/
 	/* Description -  */
-	/* 976.0 - 992.31 */
+	/* 0x3d0.0 - 0x3e0.31 */
 	 struct connectib_wqe_eth_segment eth_segment;
 };
 
@@ -21814,48 +29013,54 @@ union connectib_ini {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - 1. Boot record endianes: reserved1 is the fist Byte that should be written on the NVRAM (address 0)
 2. Each line is protected by parity bit (bit 31) the xor of the 32 read bits should be 1 */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct connectib_boot_record_golan boot_record;
 	/* Description -  */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 struct connectib_reset_info reset_info;
 	/* Description - This is a 'dummy' section.
 It holds teh pointers for the dTOC entries.
 Used by the mic tool */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x100.31 */
 	 union connectib_dtoc_pointers dtoc_pointers;
 	/* Description - This struct contains device specific info, such as GUIDs, VSD, Keys, etc...
 It is not a part of teh FW image.
  */
-	/* 0.0 - 512.31 */
+	/* 0x0.0 - 0x200.31 */
 	 struct connectib_device_info device_info;
 	/* Description - This section contains info which is shared by FW and burning tool */
-	/* 0.0 - 1024.31 */
+	/* 0x0.0 - 0x400.31 */
 	 struct connectib_image_info image_info;
 	/* Description -  */
-	/* 0.0 - 320.31 */
+	/* 0x0.0 - 0x140.31 */
 	 struct connectib_mfg_info mfg_info;
 	/* Description - plastic fw config data */
-	/* 0.0 - 1776.31 */
+	/* 0x0.0 - 0x1000.31 */
 	 struct connectib_fw_main_config fw_main_config;
 	/* Description - boot + iron fw config data */
-	/* 0.0 - 1152.31 */
+	/* 0x0.0 - 0x4c0.31 */
 	 struct connectib_fw_boot_config fw_boot_config;
 	/* Description - plastic hw and board config data */
-	/* 0.0 - 2816.31 */
+	/* 0x0.0 - 0xb00.31 */
 	 struct connectib_hw_main_config hw_main_config;
 	/* Description - boot and iron hw and board config data */
-	/* 0.0 - 256.31 */
+	/* 0x0.0 - 0x140.31 */
 	 struct connectib_hw_boot_config hw_boot_config;
 	/* Description -  */
-	/* 0.0 - 65536.31 */
+	/* 0x0.0 - 0x10000.31 */
 	 struct connectib_nv_data nv_data_0;
 	/* Description -  */
-	/* 0.0 - 65536.31 */
+	/* 0x0.0 - 0x10000.31 */
 	 struct connectib_nv_data nv_data_1;
 	/* Description -  */
-	/* 0.0 - 65536.31 */
+	/* 0x0.0 - 0x10000.31 */
 	 struct connectib_nv_data fw_nv_log;
+	/* Description - This section holds the pending images signature and keypair_uuid */
+	/* 0x0.0 - 0x140.31 */
+	 struct connectib_image_signature image_signature;
+	/* Description - This section holds the current image's signature and keypair_uuid */
+	/* 0x0.0 - 0x900.31 */
+	 struct connectib_public_keys public_keys;
 };
 
 /* Description -   */
@@ -21863,10 +29068,10 @@ It is not a part of teh FW image.
 struct connectib_a2d {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - PowerUp the a2d circuit */
-	/* 0.0 - 0.0 */
+	/* 0x0.0 - 0x0.0 */
 	 u_int8_t power_up;
 	/* Description - divider the clock by: 2^(16-N) */
-	/* 0.1 - 0.3 */
+	/* 0x0.1 - 0x0.3 */
 	 u_int8_t clock_div;
 	/* Description - 
 0: temperature (tempnet represented by voltage coming from bandgap circuit)
@@ -21887,14 +29092,14 @@ struct connectib_a2d {
 15: fbout d2d feedback
 
  */
-	/* 0.4 - 0.7 */
+	/* 0x0.4 - 0x0.7 */
 	 u_int8_t probe_sel;
 	/* Description - Define the A2D measure mode (not thermal protect)
 0,1: compare (for thermal protection or when SW driving HW machine)
 2: binary search
     If thermal protection is enabled than the protection and measurement will operate simultaniously
 3: circuit binary search (thermal_protect_en must be set to 0) */
-	/* 0.8 - 0.9 */
+	/* 0x0.8 - 0x0.9 */
 	 u_int8_t measure_mode;
 	/* Description - Which clock drives the A2D block:
 0-internal ring oscilator
@@ -21902,10 +29107,10 @@ struct connectib_a2d {
 2-clock directly from pad1
 3-clock directly from pad0
 5-clock from pll input buffer 1 */
-	/* 0.10 - 0.12 */
+	/* 0x0.10 - 0x0.12 */
 	 u_int8_t clock_sel;
 	/* Description - sets the polarity of the bin_search algorithm. i.e. wheather to go up or down on each d2a results. */
-	/* 0.13 - 0.13 */
+	/* 0x0.13 - 0x0.13 */
 	 u_int8_t measure_polarity;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - selects which analog net is connected to the ref_cm pad:
@@ -21913,10 +29118,10 @@ struct connectib_a2d {
 1-vss
 2-analog value from probes
 3-d2a analog value out */
-	/* 4.0 - 4.1 */
+	/* 0x4.0 - 0x4.1 */
 	 u_int8_t pad_out_sel;
 	/* Description - defines the direction of the spike direction */
-	/* 4.2 - 4.2 */
+	/* 0x4.2 - 0x4.2 */
 	 u_int8_t spike_direction;
 	/* Description - CAUTION - this register causes chage sharing over pllx4
 
@@ -21924,7 +29129,7 @@ struct connectib_a2d {
 1: 1.2V  (best for vddcore)
 2: 1.8V  (best for vddhs)
 3: 2.4V  (best for biases and analog) */
-	/* 4.4 - 4.6 */
+	/* 0x4.4 - 0x4.6 */
 	 u_int8_t dynamic_range;
 	/* Description - probe_sel needs to have values 6 (Vdd) / 7 (Vss) to select these voltages
 
@@ -21937,29 +29142,29 @@ struct connectib_a2d {
 7: spare
 8: spare
  */
-	/* 4.10 - 4.12 */
+	/* 0x4.10 - 0x4.12 */
 	 u_int8_t measure_serdes_probe;
 	/* Description - When this register is set then the too hot indication (a2d_compare)
 will be send to yu (too hot) */
-	/* 4.13 - 4.13 */
+	/* 0x4.13 - 0x4.13 */
 	 u_int8_t thermal_protect_en;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - 
 Current value from A2D block or threshold value to compare with.
 Temperature values are in reverse order to actual temperture[C] */
-	/* 8.0 - 8.10 */
+	/* 0x8.0 - 0x8.10 */
 	 u_int16_t measure_value;
 	/* Description - set by HW upon receiving valid from circuit binary machine, may be cleared by FW */
-	/* 8.11 - 8.11 */
+	/* 0x8.11 - 0x8.11 */
 	 u_int8_t circuit_binary_done;
 	/* Description - compare value from A2D block
 1-too hot / analog below threshold
 0-cold / analog above threshold */
-	/* 8.12 - 8.12 */
+	/* 0x8.12 - 0x8.12 */
 	 u_int8_t a2d_compare;
 	/* Description - threshold cross sticky bit
 write 0 to clear */
-	/* 8.13 - 8.13 */
+	/* 0x8.13 - 0x8.13 */
 	 u_int8_t spike_detect;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - 
@@ -21968,36 +29173,36 @@ This time purpose is to wait for the HW a2d to stabilize and give a good output.
 The time starts counting once inputs are good and control will disregard a2d output
 as long time not ended.
  */
-	/* 12.0 - 12.4 */
+	/* 0xc.0 - 0xc.4 */
 	 u_int8_t stabilization_time;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - min a2d value
 writable by crspace */
-	/* 16.0 - 16.10 */
+	/* 0x10.0 - 0x10.10 */
 	 u_int16_t measure_min;
 	/* Description - compare value from A2D block on the last measure cycle
 1-too hot / analog below threshold
 0-cold / analog above threshold */
-	/* 16.11 - 16.11 */
+	/* 0x10.11 - 0x10.11 */
 	 u_int8_t measure_compare;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description - max a2d value
 writable by crspace */
-	/* 20.0 - 20.10 */
+	/* 0x14.0 - 0x14.10 */
 	 u_int16_t measure_max;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description - This value is driven to HW a2d to compare when protect mode is on
 temp values are in reverse order to temperture
  */
-	/* 24.0 - 24.10 */
+	/* 0x18.0 - 0x18.10 */
 	 u_int16_t protect_value;
 	/* Description - sets polarity of the protection mode or the too_hot indication going towards YU */
-	/* 24.11 - 24.11 */
+	/* 0x18.11 - 0x18.11 */
 	 u_int8_t protect_polarity;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description - temperature value as measured before VDDCORE was powered up
 temp values are in reverse order to temperture */
-	/* 28.0 - 28.10 */
+	/* 0x1c.0 - 0x1c.10 */
 	 u_int16_t calib_value;
 };
 
@@ -22006,11 +29211,11 @@ temp values are in reverse order to temperture */
 struct connectib_icmd {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 768.31 */
+	/* 0x0.0 - 0x300.31 */
 	 union connectib_icmd_cmd cmd;
 /*---------------- DWORD[252] (Offset 0x3f0) ----------------*/
 	/* Description -  */
-	/* 1008.0 - 1024.31 */
+	/* 0x3f0.0 - 0x400.31 */
 	 struct connectib_icmd_ctrl ctrl;
 };
 
@@ -22019,19 +29224,19 @@ struct connectib_icmd {
 union connectib_sw_cqe {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - cqe 64B layout */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_sw_cqe_64b cqe_64b;
 	/* Description - cqe 128B layout */
-	/* 0.0 - 128.31 */
+	/* 0x0.0 - 0x80.31 */
 	 struct connectib_sw_cqe_128b cqe_128b;
 	/* Description - error cqe layout */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_sw_cqe_error cqe_error;
 	/* Description - CQ resize cqe layout */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_sw_cqe_resize cqe_resize;
 	/* Description - signature error cqe layout */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_sw_cqe_sigerr cqe_sigerr;
 };
 
@@ -22040,11 +29245,11 @@ union connectib_sw_cqe {
 union connectib_itoc {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Size must be multiple of 16B */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_itoc_header header;
 	/* Description - Size must be multiple of 16B. When the no_crc bit is set, the section_crc should not be checked.
  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_itoc_entry entry;
 };
 
@@ -22053,36 +29258,78 @@ union connectib_itoc {
 union connectib_connectib_Nodes {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 union connectib_itoc itoc;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 union connectib_hw_hca_contexts hw_hca_contexts;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_guids guids;
 	/* Description -  */
-	/* 0.0 - 128.31 */
+	/* 0x0.0 - 0x80.31 */
 	 union connectib_sw_cqe sw_cqe;
 	/* Description -  */
-	/* 0.0 - 1024.31 */
+	/* 0x0.0 - 0x400.31 */
 	 struct connectib_icmd icmd;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct connectib_a2d a2d;
 	/* Description -  */
-	/* 0.0 - 65536.31 */
+	/* 0x0.0 - 0x10000.31 */
 	 union connectib_ini ini;
 	/* Description -  */
-	/* 0.0 - 1024.31 */
+	/* 0x0.0 - 0x400.31 */
 	 struct connectib_sw_wqe sw_wqe;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct connectib_sw_eqe sw_eqe;
 };
 
 
 /*================= PACK/UNPACK/PRINT FUNCTIONS ======================*/
+/* cmdif_ctx_special_qp_commands_uapp */
+void connectib_cmdif_ctx_special_qp_commands_uapp_pack(const struct connectib_cmdif_ctx_special_qp_commands_uapp *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_uapp_unpack(struct connectib_cmdif_ctx_special_qp_commands_uapp *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_uapp_print(const struct connectib_cmdif_ctx_special_qp_commands_uapp *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_qp_commands_uapp_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_QP_COMMANDS_UAPP_SIZE    (0xc)
+void connectib_cmdif_ctx_special_qp_commands_uapp_dump(const struct connectib_cmdif_ctx_special_qp_commands_uapp *ptr_struct, FILE* file);
+/* cmdif_ctx_special_qp_commands_underlay */
+void connectib_cmdif_ctx_special_qp_commands_underlay_pack(const struct connectib_cmdif_ctx_special_qp_commands_underlay *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_underlay_unpack(struct connectib_cmdif_ctx_special_qp_commands_underlay *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_underlay_print(const struct connectib_cmdif_ctx_special_qp_commands_underlay *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_qp_commands_underlay_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_QP_COMMANDS_UNDERLAY_SIZE    (0xc)
+void connectib_cmdif_ctx_special_qp_commands_underlay_dump(const struct connectib_cmdif_ctx_special_qp_commands_underlay *ptr_struct, FILE* file);
+/* regular_qp_eth */
+void connectib_regular_qp_eth_pack(const struct connectib_regular_qp_eth *ptr_struct, u_int8_t* ptr_buff);
+void connectib_regular_qp_eth_unpack(struct connectib_regular_qp_eth *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_regular_qp_eth_print(const struct connectib_regular_qp_eth *ptr_struct, FILE* file, int indent_level);
+int connectib_regular_qp_eth_size(void);
+#define CONNECTIB_REGULAR_QP_ETH_SIZE    (0x4)
+void connectib_regular_qp_eth_dump(const struct connectib_regular_qp_eth *ptr_struct, FILE* file);
+/* regular_qp_ipoib */
+void connectib_regular_qp_ipoib_pack(const struct connectib_regular_qp_ipoib *ptr_struct, u_int8_t* ptr_buff);
+void connectib_regular_qp_ipoib_unpack(struct connectib_regular_qp_ipoib *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_regular_qp_ipoib_print(const struct connectib_regular_qp_ipoib *ptr_struct, FILE* file, int indent_level);
+int connectib_regular_qp_ipoib_size(void);
+#define CONNECTIB_REGULAR_QP_IPOIB_SIZE    (0x4)
+void connectib_regular_qp_ipoib_dump(const struct connectib_regular_qp_ipoib *ptr_struct, FILE* file);
+/* cmdif_ctx_special_qp_commands_inner */
+void connectib_cmdif_ctx_special_qp_commands_inner_pack(const union connectib_cmdif_ctx_special_qp_commands_inner *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_inner_unpack(union connectib_cmdif_ctx_special_qp_commands_inner *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_inner_print(const union connectib_cmdif_ctx_special_qp_commands_inner *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_qp_commands_inner_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_QP_COMMANDS_INNER_SIZE    (0xc)
+void connectib_cmdif_ctx_special_qp_commands_inner_dump(const union connectib_cmdif_ctx_special_qp_commands_inner *ptr_struct, FILE* file);
+/* pmlp_code_style_lane */
+void connectib_pmlp_code_style_lane_pack(const struct connectib_pmlp_code_style_lane *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmlp_code_style_lane_unpack(struct connectib_pmlp_code_style_lane *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmlp_code_style_lane_print(const struct connectib_pmlp_code_style_lane *ptr_struct, FILE* file, int indent_level);
+int connectib_pmlp_code_style_lane_size(void);
+#define CONNECTIB_PMLP_CODE_STYLE_LANE_SIZE    (0x4)
+void connectib_pmlp_code_style_lane_dump(const struct connectib_pmlp_code_style_lane *ptr_struct, FILE* file);
 /* dw */
 void connectib_dw_pack(const struct connectib_dw *ptr_struct, u_int8_t* ptr_buff);
 void connectib_dw_unpack(struct connectib_dw *ptr_struct, const u_int8_t* ptr_buff);
@@ -22132,13 +29379,216 @@ void connectib_nv_tlv_type_global_print(const struct connectib_nv_tlv_type_globa
 int connectib_nv_tlv_type_global_size(void);
 #define CONNECTIB_NV_TLV_TYPE_GLOBAL_SIZE    (0x4)
 void connectib_nv_tlv_type_global_dump(const struct connectib_nv_tlv_type_global *ptr_struct, FILE* file);
-/* uint64 */
-void connectib_uint64_pack(const struct connectib_uint64 *ptr_struct, u_int8_t* ptr_buff);
-void connectib_uint64_unpack(struct connectib_uint64 *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_uint64_print(const struct connectib_uint64 *ptr_struct, FILE* file, int indent_level);
-int connectib_uint64_size(void);
-#define CONNECTIB_UINT64_SIZE    (0x8)
-void connectib_uint64_dump(const struct connectib_uint64 *ptr_struct, FILE* file);
+/* regular_qp_sub_type */
+void connectib_regular_qp_sub_type_pack(const union connectib_regular_qp_sub_type *ptr_struct, u_int8_t* ptr_buff);
+void connectib_regular_qp_sub_type_unpack(union connectib_regular_qp_sub_type *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_regular_qp_sub_type_print(const union connectib_regular_qp_sub_type *ptr_struct, FILE* file, int indent_level);
+int connectib_regular_qp_sub_type_size(void);
+#define CONNECTIB_REGULAR_QP_SUB_TYPE_SIZE    (0x4)
+void connectib_regular_qp_sub_type_dump(const union connectib_regular_qp_sub_type *ptr_struct, FILE* file);
+/* cmdif_ctx_special_qp_commands_other */
+void connectib_cmdif_ctx_special_qp_commands_other_pack(const struct connectib_cmdif_ctx_special_qp_commands_other *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_other_unpack(struct connectib_cmdif_ctx_special_qp_commands_other *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_other_print(const struct connectib_cmdif_ctx_special_qp_commands_other *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_qp_commands_other_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_QP_COMMANDS_OTHER_SIZE    (0x10)
+void connectib_cmdif_ctx_special_qp_commands_other_dump(const struct connectib_cmdif_ctx_special_qp_commands_other *ptr_struct, FILE* file);
+/* cmdif_ctx_special_qp_commands_rts2rts */
+void connectib_cmdif_ctx_special_qp_commands_rts2rts_pack(const struct connectib_cmdif_ctx_special_qp_commands_rts2rts *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_rts2rts_unpack(struct connectib_cmdif_ctx_special_qp_commands_rts2rts *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_rts2rts_print(const struct connectib_cmdif_ctx_special_qp_commands_rts2rts *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_qp_commands_rts2rts_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_QP_COMMANDS_RTS2RTS_SIZE    (0x10)
+void connectib_cmdif_ctx_special_qp_commands_rts2rts_dump(const struct connectib_cmdif_ctx_special_qp_commands_rts2rts *ptr_struct, FILE* file);
+/* pmlp_code_style */
+void connectib_pmlp_code_style_pack(const struct connectib_pmlp_code_style *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmlp_code_style_unpack(struct connectib_pmlp_code_style *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmlp_code_style_print(const struct connectib_pmlp_code_style *ptr_struct, FILE* file, int indent_level);
+int connectib_pmlp_code_style_size(void);
+#define CONNECTIB_PMLP_CODE_STYLE_SIZE    (0x24)
+void connectib_pmlp_code_style_dump(const struct connectib_pmlp_code_style *ptr_struct, FILE* file);
+/* pmlp_prm_style */
+void connectib_pmlp_prm_style_pack(const struct connectib_pmlp_prm_style *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmlp_prm_style_unpack(struct connectib_pmlp_prm_style *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmlp_prm_style_print(const struct connectib_pmlp_prm_style *ptr_struct, FILE* file, int indent_level);
+int connectib_pmlp_prm_style_size(void);
+#define CONNECTIB_PMLP_PRM_STYLE_SIZE    (0x24)
+void connectib_pmlp_prm_style_dump(const struct connectib_pmlp_prm_style *ptr_struct, FILE* file);
+/* register_access_data_reduced */
+void connectib_register_access_data_reduced_pack(const struct connectib_register_access_data_reduced *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_access_data_reduced_unpack(struct connectib_register_access_data_reduced *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_access_data_reduced_print(const struct connectib_register_access_data_reduced *ptr_struct, FILE* file, int indent_level);
+int connectib_register_access_data_reduced_size(void);
+#define CONNECTIB_REGISTER_ACCESS_DATA_REDUCED_SIZE    (0x10)
+void connectib_register_access_data_reduced_dump(const struct connectib_register_access_data_reduced *ptr_struct, FILE* file);
+/* nv_tlv_hdr */
+void connectib_nv_tlv_hdr_pack(const struct connectib_nv_tlv_hdr *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_tlv_hdr_unpack(struct connectib_nv_tlv_hdr *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_tlv_hdr_print(const struct connectib_nv_tlv_hdr *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_tlv_hdr_size(void);
+#define CONNECTIB_NV_TLV_HDR_SIZE    (0xc)
+void connectib_nv_tlv_hdr_dump(const struct connectib_nv_tlv_hdr *ptr_struct, FILE* file);
+/* nv_tlv_type */
+void connectib_nv_tlv_type_pack(const union connectib_nv_tlv_type *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_tlv_type_unpack(union connectib_nv_tlv_type *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_tlv_type_print(const union connectib_nv_tlv_type *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_tlv_type_size(void);
+#define CONNECTIB_NV_TLV_TYPE_SIZE    (0x4)
+void connectib_nv_tlv_type_dump(const union connectib_nv_tlv_type *ptr_struct, FILE* file);
+/* register_access_data */
+void connectib_register_access_data_pack(const struct connectib_register_access_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_access_data_unpack(struct connectib_register_access_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_access_data_print(const struct connectib_register_access_data *ptr_struct, FILE* file, int indent_level);
+int connectib_register_access_data_size(void);
+#define CONNECTIB_REGISTER_ACCESS_DATA_SIZE    (0x20)
+void connectib_register_access_data_dump(const struct connectib_register_access_data *ptr_struct, FILE* file);
+/* mfba_header */
+void connectib_mfba_header_pack(const struct connectib_mfba_header *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mfba_header_unpack(struct connectib_mfba_header *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mfba_header_print(const struct connectib_mfba_header *ptr_struct, FILE* file, int indent_level);
+int connectib_mfba_header_size(void);
+#define CONNECTIB_MFBA_HEADER_SIZE    (0xc)
+void connectib_mfba_header_dump(const struct connectib_mfba_header *ptr_struct, FILE* file);
+/* pmmp_sfp_protocol_override_layout */
+void connectib_pmmp_sfp_protocol_override_layout_pack(const struct connectib_pmmp_sfp_protocol_override_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmmp_sfp_protocol_override_layout_unpack(struct connectib_pmmp_sfp_protocol_override_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmmp_sfp_protocol_override_layout_print(const struct connectib_pmmp_sfp_protocol_override_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_pmmp_sfp_protocol_override_layout_size(void);
+#define CONNECTIB_PMMP_SFP_PROTOCOL_OVERRIDE_LAYOUT_SIZE    (0xc)
+void connectib_pmmp_sfp_protocol_override_layout_dump(const struct connectib_pmmp_sfp_protocol_override_layout *ptr_struct, FILE* file);
+/* pmmp_qsfp_protocol_override_layout */
+void connectib_pmmp_qsfp_protocol_override_layout_pack(const struct connectib_pmmp_qsfp_protocol_override_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmmp_qsfp_protocol_override_layout_unpack(struct connectib_pmmp_qsfp_protocol_override_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmmp_qsfp_protocol_override_layout_print(const struct connectib_pmmp_qsfp_protocol_override_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_pmmp_qsfp_protocol_override_layout_size(void);
+#define CONNECTIB_PMMP_QSFP_PROTOCOL_OVERRIDE_LAYOUT_SIZE    (0xc)
+void connectib_pmmp_qsfp_protocol_override_layout_dump(const struct connectib_pmmp_qsfp_protocol_override_layout *ptr_struct, FILE* file);
+/* pcie_timers_states */
+void connectib_pcie_timers_states_pack(const struct connectib_pcie_timers_states *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pcie_timers_states_unpack(struct connectib_pcie_timers_states *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pcie_timers_states_print(const struct connectib_pcie_timers_states *ptr_struct, FILE* file, int indent_level);
+int connectib_pcie_timers_states_size(void);
+#define CONNECTIB_PCIE_TIMERS_STATES_SIZE    (0xf8)
+void connectib_pcie_timers_states_dump(const struct connectib_pcie_timers_states *ptr_struct, FILE* file);
+/* pcie_lanes_counters */
+void connectib_pcie_lanes_counters_pack(const struct connectib_pcie_lanes_counters *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pcie_lanes_counters_unpack(struct connectib_pcie_lanes_counters *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pcie_lanes_counters_print(const struct connectib_pcie_lanes_counters *ptr_struct, FILE* file, int indent_level);
+int connectib_pcie_lanes_counters_size(void);
+#define CONNECTIB_PCIE_LANES_COUNTERS_SIZE    (0xf8)
+void connectib_pcie_lanes_counters_dump(const struct connectib_pcie_lanes_counters *ptr_struct, FILE* file);
+/* pcie_perf_counters */
+void connectib_pcie_perf_counters_pack(const struct connectib_pcie_perf_counters *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pcie_perf_counters_unpack(struct connectib_pcie_perf_counters *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pcie_perf_counters_print(const struct connectib_pcie_perf_counters *ptr_struct, FILE* file, int indent_level);
+int connectib_pcie_perf_counters_size(void);
+#define CONNECTIB_PCIE_PERF_COUNTERS_SIZE    (0xc8)
+void connectib_pcie_perf_counters_dump(const struct connectib_pcie_perf_counters *ptr_struct, FILE* file);
+/* phys_layer_stat_cntrs */
+void connectib_phys_layer_stat_cntrs_pack(const struct connectib_phys_layer_stat_cntrs *ptr_struct, u_int8_t* ptr_buff);
+void connectib_phys_layer_stat_cntrs_unpack(struct connectib_phys_layer_stat_cntrs *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_phys_layer_stat_cntrs_print(const struct connectib_phys_layer_stat_cntrs *ptr_struct, FILE* file, int indent_level);
+int connectib_phys_layer_stat_cntrs_size(void);
+#define CONNECTIB_PHYS_LAYER_STAT_CNTRS_SIZE    (0xf8)
+void connectib_phys_layer_stat_cntrs_dump(const struct connectib_phys_layer_stat_cntrs *ptr_struct, FILE* file);
+/* eth_per_traffic_congestion_grp_data_layout */
+void connectib_eth_per_traffic_congestion_grp_data_layout_pack(const struct connectib_eth_per_traffic_congestion_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_eth_per_traffic_congestion_grp_data_layout_unpack(struct connectib_eth_per_traffic_congestion_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_eth_per_traffic_congestion_grp_data_layout_print(const struct connectib_eth_per_traffic_congestion_grp_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_eth_per_traffic_congestion_grp_data_layout_size(void);
+#define CONNECTIB_ETH_PER_TRAFFIC_CONGESTION_GRP_DATA_LAYOUT_SIZE    (0xf8)
+void connectib_eth_per_traffic_congestion_grp_data_layout_dump(const struct connectib_eth_per_traffic_congestion_grp_data_layout *ptr_struct, FILE* file);
+/* ib_port_counters */
+void connectib_ib_port_counters_pack(const struct connectib_ib_port_counters *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ib_port_counters_unpack(struct connectib_ib_port_counters *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ib_port_counters_print(const struct connectib_ib_port_counters *ptr_struct, FILE* file, int indent_level);
+int connectib_ib_port_counters_size(void);
+#define CONNECTIB_IB_PORT_COUNTERS_SIZE    (0xf8)
+void connectib_ib_port_counters_dump(const struct connectib_ib_port_counters *ptr_struct, FILE* file);
+/* llr_counters */
+void connectib_llr_counters_pack(const struct connectib_llr_counters *ptr_struct, u_int8_t* ptr_buff);
+void connectib_llr_counters_unpack(struct connectib_llr_counters *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_llr_counters_print(const struct connectib_llr_counters *ptr_struct, FILE* file, int indent_level);
+int connectib_llr_counters_size(void);
+#define CONNECTIB_LLR_COUNTERS_SIZE    (0xf8)
+void connectib_llr_counters_dump(const struct connectib_llr_counters *ptr_struct, FILE* file);
+/* discard_cntrs_grp_data */
+void connectib_discard_cntrs_grp_data_pack(const struct connectib_discard_cntrs_grp_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_discard_cntrs_grp_data_unpack(struct connectib_discard_cntrs_grp_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_discard_cntrs_grp_data_print(const struct connectib_discard_cntrs_grp_data *ptr_struct, FILE* file, int indent_level);
+int connectib_discard_cntrs_grp_data_size(void);
+#define CONNECTIB_DISCARD_CNTRS_GRP_DATA_SIZE    (0xf8)
+void connectib_discard_cntrs_grp_data_dump(const struct connectib_discard_cntrs_grp_data *ptr_struct, FILE* file);
+/* phys_layer_cntrs */
+void connectib_phys_layer_cntrs_pack(const struct connectib_phys_layer_cntrs *ptr_struct, u_int8_t* ptr_buff);
+void connectib_phys_layer_cntrs_unpack(struct connectib_phys_layer_cntrs *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_phys_layer_cntrs_print(const struct connectib_phys_layer_cntrs *ptr_struct, FILE* file, int indent_level);
+int connectib_phys_layer_cntrs_size(void);
+#define CONNECTIB_PHYS_LAYER_CNTRS_SIZE    (0xc8)
+void connectib_phys_layer_cntrs_dump(const struct connectib_phys_layer_cntrs *ptr_struct, FILE* file);
+/* correct_on_demand_layout */
+void connectib_correct_on_demand_layout_pack(const struct connectib_correct_on_demand_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_correct_on_demand_layout_unpack(struct connectib_correct_on_demand_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_correct_on_demand_layout_print(const struct connectib_correct_on_demand_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_correct_on_demand_layout_size(void);
+#define CONNECTIB_CORRECT_ON_DEMAND_LAYOUT_SIZE    (0x38)
+void connectib_correct_on_demand_layout_dump(const struct connectib_correct_on_demand_layout *ptr_struct, FILE* file);
+/* eth_per_traffic_grp_data_layout */
+void connectib_eth_per_traffic_grp_data_layout_pack(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_eth_per_traffic_grp_data_layout_unpack(struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_eth_per_traffic_grp_data_layout_print(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_eth_per_traffic_grp_data_layout_size(void);
+#define CONNECTIB_ETH_PER_TRAFFIC_GRP_DATA_LAYOUT_SIZE    (0xf8)
+void connectib_eth_per_traffic_grp_data_layout_dump(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, FILE* file);
+/* eth_per_prio_grp_data_layout */
+void connectib_eth_per_prio_grp_data_layout_pack(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_eth_per_prio_grp_data_layout_unpack(struct connectib_eth_per_prio_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_eth_per_prio_grp_data_layout_print(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_eth_per_prio_grp_data_layout_size(void);
+#define CONNECTIB_ETH_PER_PRIO_GRP_DATA_LAYOUT_SIZE    (0xf8)
+void connectib_eth_per_prio_grp_data_layout_dump(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, FILE* file);
+/* eth_extended_cntrs_grp_data_layout */
+void connectib_eth_extended_cntrs_grp_data_layout_pack(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_eth_extended_cntrs_grp_data_layout_unpack(struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_eth_extended_cntrs_grp_data_layout_print(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_eth_extended_cntrs_grp_data_layout_size(void);
+#define CONNECTIB_ETH_EXTENDED_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
+void connectib_eth_extended_cntrs_grp_data_layout_dump(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, FILE* file);
+/* eth_3635_cntrs_grp_data_layout */
+void connectib_eth_3635_cntrs_grp_data_layout_pack(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_eth_3635_cntrs_grp_data_layout_unpack(struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_eth_3635_cntrs_grp_data_layout_print(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_eth_3635_cntrs_grp_data_layout_size(void);
+#define CONNECTIB_ETH_3635_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
+void connectib_eth_3635_cntrs_grp_data_layout_dump(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, FILE* file);
+/* eth_2819_cntrs_grp_data_layout */
+void connectib_eth_2819_cntrs_grp_data_layout_pack(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_eth_2819_cntrs_grp_data_layout_unpack(struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_eth_2819_cntrs_grp_data_layout_print(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_eth_2819_cntrs_grp_data_layout_size(void);
+#define CONNECTIB_ETH_2819_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
+void connectib_eth_2819_cntrs_grp_data_layout_dump(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, FILE* file);
+/* eth_2863_cntrs_grp_data_layout */
+void connectib_eth_2863_cntrs_grp_data_layout_pack(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_eth_2863_cntrs_grp_data_layout_unpack(struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_eth_2863_cntrs_grp_data_layout_print(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_eth_2863_cntrs_grp_data_layout_size(void);
+#define CONNECTIB_ETH_2863_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
+void connectib_eth_2863_cntrs_grp_data_layout_dump(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, FILE* file);
+/* eth_802_3_cntrs_grp_data_layout */
+void connectib_eth_802_3_cntrs_grp_data_layout_pack(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_eth_802_3_cntrs_grp_data_layout_unpack(struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_eth_802_3_cntrs_grp_data_layout_print(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_eth_802_3_cntrs_grp_data_layout_size(void);
+#define CONNECTIB_ETH_802_3_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
+void connectib_eth_802_3_cntrs_grp_data_layout_dump(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, FILE* file);
+/* dct_qp */
+void connectib_dct_qp_pack(const struct connectib_dct_qp *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dct_qp_unpack(struct connectib_dct_qp *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dct_qp_print(const struct connectib_dct_qp *ptr_struct, FILE* file, int indent_level);
+int connectib_dct_qp_size(void);
+#define CONNECTIB_DCT_QP_SIZE    (0x10)
+void connectib_dct_qp_dump(const struct connectib_dct_qp *ptr_struct, FILE* file);
 /* dcr_qp */
 void connectib_dcr_qp_pack(const struct connectib_dcr_qp *ptr_struct, u_int8_t* ptr_buff);
 void connectib_dcr_qp_unpack(struct connectib_dcr_qp *ptr_struct, const u_int8_t* ptr_buff);
@@ -22160,6 +29610,20 @@ void connectib_schedint_cause_print(const struct connectib_schedint_cause *ptr_s
 int connectib_schedint_cause_size(void);
 #define CONNECTIB_SCHEDINT_CAUSE_SIZE    (0x1)
 void connectib_schedint_cause_dump(const struct connectib_schedint_cause *ptr_struct, FILE* file);
+/* fw_qpc_ib */
+void connectib_fw_qpc_ib_pack(const struct connectib_fw_qpc_ib *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_qpc_ib_unpack(struct connectib_fw_qpc_ib *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_qpc_ib_print(const struct connectib_fw_qpc_ib *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_qpc_ib_size(void);
+#define CONNECTIB_FW_QPC_IB_SIZE    (0x4)
+void connectib_fw_qpc_ib_dump(const struct connectib_fw_qpc_ib *ptr_struct, FILE* file);
+/* fw_qpc_eth */
+void connectib_fw_qpc_eth_pack(const struct connectib_fw_qpc_eth *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_qpc_eth_unpack(struct connectib_fw_qpc_eth *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_qpc_eth_print(const struct connectib_fw_qpc_eth *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_qpc_eth_size(void);
+#define CONNECTIB_FW_QPC_ETH_SIZE    (0x4)
+void connectib_fw_qpc_eth_dump(const struct connectib_fw_qpc_eth *ptr_struct, FILE* file);
 /* hw_msix_context_data0 */
 void connectib_hw_msix_context_data0_pack(const struct connectib_hw_msix_context_data0 *ptr_struct, u_int8_t* ptr_buff);
 void connectib_hw_msix_context_data0_unpack(struct connectib_hw_msix_context_data0 *ptr_struct, const u_int8_t* ptr_buff);
@@ -22258,34 +29722,328 @@ void connectib_aba_index_print(const struct connectib_aba_index *ptr_struct, FIL
 int connectib_aba_index_size(void);
 #define CONNECTIB_ABA_INDEX_SIZE    (0x10)
 void connectib_aba_index_dump(const struct connectib_aba_index *ptr_struct, FILE* file);
-/* nv_tlv_type */
-void connectib_nv_tlv_type_pack(const union connectib_nv_tlv_type *ptr_struct, u_int8_t* ptr_buff);
-void connectib_nv_tlv_type_unpack(union connectib_nv_tlv_type *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_nv_tlv_type_print(const union connectib_nv_tlv_type *ptr_struct, FILE* file, int indent_level);
-int connectib_nv_tlv_type_size(void);
-#define CONNECTIB_NV_TLV_TYPE_SIZE    (0x4)
-void connectib_nv_tlv_type_dump(const union connectib_nv_tlv_type *ptr_struct, FILE* file);
-/* register_access_data */
-void connectib_register_access_data_pack(const struct connectib_register_access_data *ptr_struct, u_int8_t* ptr_buff);
-void connectib_register_access_data_unpack(struct connectib_register_access_data *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_register_access_data_print(const struct connectib_register_access_data *ptr_struct, FILE* file, int indent_level);
-int connectib_register_access_data_size(void);
-#define CONNECTIB_REGISTER_ACCESS_DATA_SIZE    (0x20)
-void connectib_register_access_data_dump(const struct connectib_register_access_data *ptr_struct, FILE* file);
-/* nv_tlv_hdr */
-void connectib_nv_tlv_hdr_pack(const struct connectib_nv_tlv_hdr *ptr_struct, u_int8_t* ptr_buff);
-void connectib_nv_tlv_hdr_unpack(struct connectib_nv_tlv_hdr *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_nv_tlv_hdr_print(const struct connectib_nv_tlv_hdr *ptr_struct, FILE* file, int indent_level);
-int connectib_nv_tlv_hdr_size(void);
-#define CONNECTIB_NV_TLV_HDR_SIZE    (0xc)
-void connectib_nv_tlv_hdr_dump(const struct connectib_nv_tlv_hdr *ptr_struct, FILE* file);
-/* mfba_header */
-void connectib_mfba_header_pack(const struct connectib_mfba_header *ptr_struct, u_int8_t* ptr_buff);
-void connectib_mfba_header_unpack(struct connectib_mfba_header *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_mfba_header_print(const struct connectib_mfba_header *ptr_struct, FILE* file, int indent_level);
-int connectib_mfba_header_size(void);
-#define CONNECTIB_MFBA_HEADER_SIZE    (0xc)
-void connectib_mfba_header_dump(const struct connectib_mfba_header *ptr_struct, FILE* file);
+/* cmdif_ctx_special_qp_commands_specific */
+void connectib_cmdif_ctx_special_qp_commands_specific_pack(const union connectib_cmdif_ctx_special_qp_commands_specific *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_specific_unpack(union connectib_cmdif_ctx_special_qp_commands_specific *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_specific_print(const union connectib_cmdif_ctx_special_qp_commands_specific *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_qp_commands_specific_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_QP_COMMANDS_SPECIFIC_SIZE    (0x10)
+void connectib_cmdif_ctx_special_qp_commands_specific_dump(const union connectib_cmdif_ctx_special_qp_commands_specific *ptr_struct, FILE* file);
+/* pmcr_reg */
+void connectib_pmcr_reg_pack(const struct connectib_pmcr_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmcr_reg_unpack(struct connectib_pmcr_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmcr_reg_print(const struct connectib_pmcr_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pmcr_reg_size(void);
+#define CONNECTIB_PMCR_REG_SIZE    (0x18)
+void connectib_pmcr_reg_dump(const struct connectib_pmcr_reg *ptr_struct, FILE* file);
+/* mpein_reg */
+void connectib_mpein_reg_pack(const struct connectib_mpein_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mpein_reg_unpack(struct connectib_mpein_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mpein_reg_print(const struct connectib_mpein_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mpein_reg_size(void);
+#define CONNECTIB_MPEIN_REG_SIZE    (0x2c)
+void connectib_mpein_reg_dump(const struct connectib_mpein_reg *ptr_struct, FILE* file);
+/* mvts */
+void connectib_mvts_pack(const struct connectib_mvts *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mvts_unpack(struct connectib_mvts *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mvts_print(const struct connectib_mvts *ptr_struct, FILE* file, int indent_level);
+int connectib_mvts_size(void);
+#define CONNECTIB_MVTS_SIZE    (0x14)
+void connectib_mvts_dump(const struct connectib_mvts *ptr_struct, FILE* file);
+/* pmlp */
+void connectib_pmlp_pack(const union connectib_pmlp *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmlp_unpack(union connectib_pmlp *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmlp_print(const union connectib_pmlp *ptr_struct, FILE* file, int indent_level);
+int connectib_pmlp_size(void);
+#define CONNECTIB_PMLP_SIZE    (0x24)
+void connectib_pmlp_dump(const union connectib_pmlp *ptr_struct, FILE* file);
+/* pplm_reg */
+void connectib_pplm_reg_pack(const struct connectib_pplm_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pplm_reg_unpack(struct connectib_pplm_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pplm_reg_print(const struct connectib_pplm_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pplm_reg_size(void);
+#define CONNECTIB_PPLM_REG_SIZE    (0x18)
+void connectib_pplm_reg_dump(const struct connectib_pplm_reg *ptr_struct, FILE* file);
+/* plpc_reg */
+void connectib_plpc_reg_pack(const struct connectib_plpc_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_plpc_reg_unpack(struct connectib_plpc_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_plpc_reg_print(const struct connectib_plpc_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_plpc_reg_size(void);
+#define CONNECTIB_PLPC_REG_SIZE    (0x28)
+void connectib_plpc_reg_dump(const struct connectib_plpc_reg *ptr_struct, FILE* file);
+/* pplr_reg */
+void connectib_pplr_reg_pack(const struct connectib_pplr_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pplr_reg_unpack(struct connectib_pplr_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pplr_reg_print(const struct connectib_pplr_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pplr_reg_size(void);
+#define CONNECTIB_PPLR_REG_SIZE    (0x8)
+void connectib_pplr_reg_dump(const struct connectib_pplr_reg *ptr_struct, FILE* file);
+/* project_nvgn */
+void connectib_project_nvgn_pack(const struct connectib_project_nvgn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_project_nvgn_unpack(struct connectib_project_nvgn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_project_nvgn_print(const struct connectib_project_nvgn *ptr_struct, FILE* file, int indent_level);
+int connectib_project_nvgn_size(void);
+#define CONNECTIB_PROJECT_NVGN_SIZE    (0x2c)
+void connectib_project_nvgn_dump(const struct connectib_project_nvgn *ptr_struct, FILE* file);
+/* project_nvia */
+void connectib_project_nvia_pack(const struct connectib_project_nvia *ptr_struct, u_int8_t* ptr_buff);
+void connectib_project_nvia_unpack(struct connectib_project_nvia *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_project_nvia_print(const struct connectib_project_nvia *ptr_struct, FILE* file, int indent_level);
+int connectib_project_nvia_size(void);
+#define CONNECTIB_PROJECT_NVIA_SIZE    (0x8)
+void connectib_project_nvia_dump(const struct connectib_project_nvia *ptr_struct, FILE* file);
+/* project_nvgc */
+void connectib_project_nvgc_pack(const struct connectib_project_nvgc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_project_nvgc_unpack(struct connectib_project_nvgc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_project_nvgc_print(const struct connectib_project_nvgc *ptr_struct, FILE* file, int indent_level);
+int connectib_project_nvgc_size(void);
+#define CONNECTIB_PROJECT_NVGC_SIZE    (0x10)
+void connectib_project_nvgc_dump(const struct connectib_project_nvgc *ptr_struct, FILE* file);
+/* project_nvqc */
+void connectib_project_nvqc_pack(const struct connectib_project_nvqc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_project_nvqc_unpack(struct connectib_project_nvqc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_project_nvqc_print(const struct connectib_project_nvqc *ptr_struct, FILE* file, int indent_level);
+int connectib_project_nvqc_size(void);
+#define CONNECTIB_PROJECT_NVQC_SIZE    (0x8)
+void connectib_project_nvqc_dump(const struct connectib_project_nvqc *ptr_struct, FILE* file);
+/* project_nvda */
+void connectib_project_nvda_pack(const struct connectib_project_nvda *ptr_struct, u_int8_t* ptr_buff);
+void connectib_project_nvda_unpack(struct connectib_project_nvda *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_project_nvda_print(const struct connectib_project_nvda *ptr_struct, FILE* file, int indent_level);
+int connectib_project_nvda_size(void);
+#define CONNECTIB_PROJECT_NVDA_SIZE    (0x2c)
+void connectib_project_nvda_dump(const struct connectib_project_nvda *ptr_struct, FILE* file);
+/* pmtu_reg */
+void connectib_pmtu_reg_pack(const struct connectib_pmtu_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmtu_reg_unpack(struct connectib_pmtu_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmtu_reg_print(const struct connectib_pmtu_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pmtu_reg_size(void);
+#define CONNECTIB_PMTU_REG_SIZE    (0x10)
+void connectib_pmtu_reg_dump(const struct connectib_pmtu_reg *ptr_struct, FILE* file);
+/* pamp_reg */
+void connectib_pamp_reg_pack(const struct connectib_pamp_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pamp_reg_unpack(struct connectib_pamp_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pamp_reg_print(const struct connectib_pamp_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pamp_reg_size(void);
+#define CONNECTIB_PAMP_REG_SIZE    (0x2c)
+void connectib_pamp_reg_dump(const struct connectib_pamp_reg *ptr_struct, FILE* file);
+/* ppaos_reg */
+void connectib_ppaos_reg_pack(const struct connectib_ppaos_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ppaos_reg_unpack(struct connectib_ppaos_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ppaos_reg_print(const struct connectib_ppaos_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_ppaos_reg_size(void);
+#define CONNECTIB_PPAOS_REG_SIZE    (0x10)
+void connectib_ppaos_reg_dump(const struct connectib_ppaos_reg *ptr_struct, FILE* file);
+/* pprt_reg */
+void connectib_pprt_reg_pack(const struct connectib_pprt_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pprt_reg_unpack(struct connectib_pprt_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pprt_reg_print(const struct connectib_pprt_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pprt_reg_size(void);
+#define CONNECTIB_PPRT_REG_SIZE    (0x20)
+void connectib_pprt_reg_dump(const struct connectib_pprt_reg *ptr_struct, FILE* file);
+/* pptt_reg */
+void connectib_pptt_reg_pack(const struct connectib_pptt_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pptt_reg_unpack(struct connectib_pptt_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pptt_reg_print(const struct connectib_pptt_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pptt_reg_size(void);
+#define CONNECTIB_PPTT_REG_SIZE    (0x1c)
+void connectib_pptt_reg_dump(const struct connectib_pptt_reg *ptr_struct, FILE* file);
+/* slrg_reg */
+void connectib_slrg_reg_pack(const struct connectib_slrg_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_slrg_reg_unpack(struct connectib_slrg_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_slrg_reg_print(const struct connectib_slrg_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_slrg_reg_size(void);
+#define CONNECTIB_SLRG_REG_SIZE    (0x28)
+void connectib_slrg_reg_dump(const struct connectib_slrg_reg *ptr_struct, FILE* file);
+/* ptas_reg */
+void connectib_ptas_reg_pack(const struct connectib_ptas_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ptas_reg_unpack(struct connectib_ptas_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ptas_reg_print(const struct connectib_ptas_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_ptas_reg_size(void);
+#define CONNECTIB_PTAS_REG_SIZE    (0x2c)
+void connectib_ptas_reg_dump(const struct connectib_ptas_reg *ptr_struct, FILE* file);
+/* sltp_reg */
+void connectib_sltp_reg_pack(const struct connectib_sltp_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sltp_reg_unpack(struct connectib_sltp_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sltp_reg_print(const struct connectib_sltp_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_sltp_reg_size(void);
+#define CONNECTIB_SLTP_REG_SIZE    (0x14)
+void connectib_sltp_reg_dump(const struct connectib_sltp_reg *ptr_struct, FILE* file);
+/* slrp_reg */
+void connectib_slrp_reg_pack(const struct connectib_slrp_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_slrp_reg_unpack(struct connectib_slrp_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_slrp_reg_print(const struct connectib_slrp_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_slrp_reg_size(void);
+#define CONNECTIB_SLRP_REG_SIZE    (0x28)
+void connectib_slrp_reg_dump(const struct connectib_slrp_reg *ptr_struct, FILE* file);
+/* paos_reg */
+void connectib_paos_reg_pack(const struct connectib_paos_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_paos_reg_unpack(struct connectib_paos_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_paos_reg_print(const struct connectib_paos_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_paos_reg_size(void);
+#define CONNECTIB_PAOS_REG_SIZE    (0x10)
+void connectib_paos_reg_dump(const struct connectib_paos_reg *ptr_struct, FILE* file);
+/* mjtag */
+void connectib_mjtag_pack(const struct connectib_mjtag *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mjtag_unpack(struct connectib_mjtag *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mjtag_print(const struct connectib_mjtag *ptr_struct, FILE* file, int indent_level);
+int connectib_mjtag_size(void);
+#define CONNECTIB_MJTAG_SIZE    (0x2c)
+void connectib_mjtag_dump(const struct connectib_mjtag *ptr_struct, FILE* file);
+/* mqis_reg */
+void connectib_mqis_reg_pack(const struct connectib_mqis_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mqis_reg_unpack(struct connectib_mqis_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mqis_reg_print(const struct connectib_mqis_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mqis_reg_size(void);
+#define CONNECTIB_MQIS_REG_SIZE    (0x14)
+void connectib_mqis_reg_dump(const struct connectib_mqis_reg *ptr_struct, FILE* file);
+/* mcda_reg */
+void connectib_mcda_reg_pack(const struct connectib_mcda_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mcda_reg_unpack(struct connectib_mcda_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mcda_reg_print(const struct connectib_mcda_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mcda_reg_size(void);
+#define CONNECTIB_MCDA_REG_SIZE    (0x14)
+void connectib_mcda_reg_dump(const struct connectib_mcda_reg *ptr_struct, FILE* file);
+/* mcc_reg */
+void connectib_mcc_reg_pack(const struct connectib_mcc_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mcc_reg_unpack(struct connectib_mcc_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mcc_reg_print(const struct connectib_mcc_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mcc_reg_size(void);
+#define CONNECTIB_MCC_REG_SIZE    (0x20)
+void connectib_mcc_reg_dump(const struct connectib_mcc_reg *ptr_struct, FILE* file);
+/* mcqi_reg */
+void connectib_mcqi_reg_pack(const struct connectib_mcqi_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mcqi_reg_unpack(struct connectib_mcqi_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mcqi_reg_print(const struct connectib_mcqi_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mcqi_reg_size(void);
+#define CONNECTIB_MCQI_REG_SIZE    (0x1c)
+void connectib_mcqi_reg_dump(const struct connectib_mcqi_reg *ptr_struct, FILE* file);
+/* mcqs_reg */
+void connectib_mcqs_reg_pack(const struct connectib_mcqs_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mcqs_reg_unpack(struct connectib_mcqs_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mcqs_reg_print(const struct connectib_mcqs_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mcqs_reg_size(void);
+#define CONNECTIB_MCQS_REG_SIZE    (0x10)
+void connectib_mcqs_reg_dump(const struct connectib_mcqs_reg *ptr_struct, FILE* file);
+/* mfbe */
+void connectib_mfbe_pack(const struct connectib_mfbe *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mfbe_unpack(struct connectib_mfbe *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mfbe_print(const struct connectib_mfbe *ptr_struct, FILE* file, int indent_level);
+int connectib_mfbe_size(void);
+#define CONNECTIB_MFBE_SIZE    (0xc)
+void connectib_mfbe_dump(const struct connectib_mfbe *ptr_struct, FILE* file);
+/* project_mfba */
+void connectib_project_mfba_pack(const struct connectib_project_mfba *ptr_struct, u_int8_t* ptr_buff);
+void connectib_project_mfba_unpack(struct connectib_project_mfba *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_project_mfba_print(const struct connectib_project_mfba *ptr_struct, FILE* file, int indent_level);
+int connectib_project_mfba_size(void);
+#define CONNECTIB_PROJECT_MFBA_SIZE    (0x2c)
+void connectib_project_mfba_dump(const struct connectib_project_mfba *ptr_struct, FILE* file);
+/* register_misc_counters */
+void connectib_register_misc_counters_pack(const struct connectib_register_misc_counters *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_misc_counters_unpack(struct connectib_register_misc_counters *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_misc_counters_print(const struct connectib_register_misc_counters *ptr_struct, FILE* file, int indent_level);
+int connectib_register_misc_counters_size(void);
+#define CONNECTIB_REGISTER_MISC_COUNTERS_SIZE    (0x20)
+void connectib_register_misc_counters_dump(const struct connectib_register_misc_counters *ptr_struct, FILE* file);
+/* mtmp */
+void connectib_mtmp_pack(const struct connectib_mtmp *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mtmp_unpack(struct connectib_mtmp *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mtmp_print(const struct connectib_mtmp *ptr_struct, FILE* file, int indent_level);
+int connectib_mtmp_size(void);
+#define CONNECTIB_MTMP_SIZE    (0x20)
+void connectib_mtmp_dump(const struct connectib_mtmp *ptr_struct, FILE* file);
+/* register_mfrl */
+void connectib_register_mfrl_pack(const struct connectib_register_mfrl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_mfrl_unpack(struct connectib_register_mfrl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_mfrl_print(const struct connectib_register_mfrl *ptr_struct, FILE* file, int indent_level);
+int connectib_register_mfrl_size(void);
+#define CONNECTIB_REGISTER_MFRL_SIZE    (0x10)
+void connectib_register_mfrl_dump(const struct connectib_register_mfrl *ptr_struct, FILE* file);
+/* register_mfai */
+void connectib_register_mfai_pack(const struct connectib_register_mfai *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_mfai_unpack(struct connectib_register_mfai *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_mfai_print(const struct connectib_register_mfai *ptr_struct, FILE* file, int indent_level);
+int connectib_register_mfai_size(void);
+#define CONNECTIB_REGISTER_MFAI_SIZE    (0x10)
+void connectib_register_mfai_dump(const struct connectib_register_mfai *ptr_struct, FILE* file);
+/* mfpa */
+void connectib_mfpa_pack(const struct connectib_mfpa *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mfpa_unpack(struct connectib_mfpa *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mfpa_print(const struct connectib_mfpa *ptr_struct, FILE* file, int indent_level);
+int connectib_mfpa_size(void);
+#define CONNECTIB_MFPA_SIZE    (0x20)
+void connectib_mfpa_dump(const struct connectib_mfpa *ptr_struct, FILE* file);
+/* fpga_shell_caps */
+void connectib_fpga_shell_caps_pack(const struct connectib_fpga_shell_caps *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fpga_shell_caps_unpack(struct connectib_fpga_shell_caps *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fpga_shell_caps_print(const struct connectib_fpga_shell_caps *ptr_struct, FILE* file, int indent_level);
+int connectib_fpga_shell_caps_size(void);
+#define CONNECTIB_FPGA_SHELL_CAPS_SIZE    (0x40)
+void connectib_fpga_shell_caps_dump(const struct connectib_fpga_shell_caps *ptr_struct, FILE* file);
+/* pmmp_sfp_protocol_override_layout_auto */
+void connectib_pmmp_sfp_protocol_override_layout_auto_pack(const union connectib_pmmp_sfp_protocol_override_layout_auto *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmmp_sfp_protocol_override_layout_auto_unpack(union connectib_pmmp_sfp_protocol_override_layout_auto *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmmp_sfp_protocol_override_layout_auto_print(const union connectib_pmmp_sfp_protocol_override_layout_auto *ptr_struct, FILE* file, int indent_level);
+int connectib_pmmp_sfp_protocol_override_layout_auto_size(void);
+#define CONNECTIB_PMMP_SFP_PROTOCOL_OVERRIDE_LAYOUT_AUTO_SIZE    (0xc)
+void connectib_pmmp_sfp_protocol_override_layout_auto_dump(const union connectib_pmmp_sfp_protocol_override_layout_auto *ptr_struct, FILE* file);
+/* pmmp_qsfp_protocol_override_layout_auto */
+void connectib_pmmp_qsfp_protocol_override_layout_auto_pack(const union connectib_pmmp_qsfp_protocol_override_layout_auto *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmmp_qsfp_protocol_override_layout_auto_unpack(union connectib_pmmp_qsfp_protocol_override_layout_auto *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmmp_qsfp_protocol_override_layout_auto_print(const union connectib_pmmp_qsfp_protocol_override_layout_auto *ptr_struct, FILE* file, int indent_level);
+int connectib_pmmp_qsfp_protocol_override_layout_auto_size(void);
+#define CONNECTIB_PMMP_QSFP_PROTOCOL_OVERRIDE_LAYOUT_AUTO_SIZE    (0xc)
+void connectib_pmmp_qsfp_protocol_override_layout_auto_dump(const union connectib_pmmp_qsfp_protocol_override_layout_auto *ptr_struct, FILE* file);
+/* pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto */
+void connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_pack(const union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_unpack(union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_print(const union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto *ptr_struct, FILE* file, int indent_level);
+int connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_size(void);
+#define CONNECTIB_PCIE_PERF_COUNTERS_PCIE_LANES_COUNTERS_PCIE_TIMERS_STATES_AUTO_SIZE    (0xf8)
+void connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto_dump(const union connectib_pcie_perf_counters_pcie_lanes_counters_pcie_timers_states_auto *ptr_struct, FILE* file);
+/* eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto */
+void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_pack(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_gr [...]
+void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_unpack(union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_da [...]
+void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_print(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_g [...]
+int connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_size(void);
+#define CONNECTIB_ETH_802_3_CNTRS_GRP_DATA_LAYOUT_ETH_2863_CNTRS_GRP_DATA_LAYOUT_ETH_2819_CNTRS_GRP_DATA_LAYOUT_ETH_3635_CNTRS_GRP_DATA_LAYOUT_ETH_EXTENDED_CNTRS_GRP_DATA_LAYOUT_ETH_PER_PRIO_GRP_DATA_LAYOUT_ETH_PER_TRAFFIC_GRP_DATA_LAYOUT_PHYS_LAYER_CNTRS_AUTO_SIZE    (0xf8)
+void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_dump(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_gr [...]
+/* access_register_unit_perf_counters_data_line */
+void connectib_access_register_unit_perf_counters_data_line_pack(const struct connectib_access_register_unit_perf_counters_data_line *ptr_struct, u_int8_t* ptr_buff);
+void connectib_access_register_unit_perf_counters_data_line_unpack(struct connectib_access_register_unit_perf_counters_data_line *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_access_register_unit_perf_counters_data_line_print(const struct connectib_access_register_unit_perf_counters_data_line *ptr_struct, FILE* file, int indent_level);
+int connectib_access_register_unit_perf_counters_data_line_size(void);
+#define CONNECTIB_ACCESS_REGISTER_UNIT_PERF_COUNTERS_DATA_LINE_SIZE    (0x4)
+void connectib_access_register_unit_perf_counters_data_line_dump(const struct connectib_access_register_unit_perf_counters_data_line *ptr_struct, FILE* file);
+/* access_register_unit_perf_counters_cfg_line */
+void connectib_access_register_unit_perf_counters_cfg_line_pack(const struct connectib_access_register_unit_perf_counters_cfg_line *ptr_struct, u_int8_t* ptr_buff);
+void connectib_access_register_unit_perf_counters_cfg_line_unpack(struct connectib_access_register_unit_perf_counters_cfg_line *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_access_register_unit_perf_counters_cfg_line_print(const struct connectib_access_register_unit_perf_counters_cfg_line *ptr_struct, FILE* file, int indent_level);
+int connectib_access_register_unit_perf_counters_cfg_line_size(void);
+#define CONNECTIB_ACCESS_REGISTER_UNIT_PERF_COUNTERS_CFG_LINE_SIZE    (0x4)
+void connectib_access_register_unit_perf_counters_cfg_line_dump(const struct connectib_access_register_unit_perf_counters_cfg_line *ptr_struct, FILE* file);
+/* node_description */
+void connectib_node_description_pack(const struct connectib_node_description *ptr_struct, u_int8_t* ptr_buff);
+void connectib_node_description_unpack(struct connectib_node_description *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_node_description_print(const struct connectib_node_description *ptr_struct, FILE* file, int indent_level);
+int connectib_node_description_size(void);
+#define CONNECTIB_NODE_DESCRIPTION_SIZE    (0x40)
+void connectib_node_description_dump(const struct connectib_node_description *ptr_struct, FILE* file);
+/* application_prio_entry */
+void connectib_application_prio_entry_pack(const struct connectib_application_prio_entry *ptr_struct, u_int8_t* ptr_buff);
+void connectib_application_prio_entry_unpack(struct connectib_application_prio_entry *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_application_prio_entry_print(const struct connectib_application_prio_entry *ptr_struct, FILE* file, int indent_level);
+int connectib_application_prio_entry_size(void);
+#define CONNECTIB_APPLICATION_PRIO_ENTRY_SIZE    (0x4)
+void connectib_application_prio_entry_dump(const struct connectib_application_prio_entry *ptr_struct, FILE* file);
+/* tc_qos_configuration */
+void connectib_tc_qos_configuration_pack(const struct connectib_tc_qos_configuration *ptr_struct, u_int8_t* ptr_buff);
+void connectib_tc_qos_configuration_unpack(struct connectib_tc_qos_configuration *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_tc_qos_configuration_print(const struct connectib_tc_qos_configuration *ptr_struct, FILE* file, int indent_level);
+int connectib_tc_qos_configuration_size(void);
+#define CONNECTIB_TC_QOS_CONFIGURATION_SIZE    (0x8)
+void connectib_tc_qos_configuration_dump(const struct connectib_tc_qos_configuration *ptr_struct, FILE* file);
 /* fw_ref_count */
 void connectib_fw_ref_count_pack(const struct connectib_fw_ref_count *ptr_struct, u_int8_t* ptr_buff);
 void connectib_fw_ref_count_unpack(struct connectib_fw_ref_count *ptr_struct, const u_int8_t* ptr_buff);
@@ -22293,12 +30051,19 @@ void connectib_fw_ref_count_print(const struct connectib_fw_ref_count *ptr_struc
 int connectib_fw_ref_count_size(void);
 #define CONNECTIB_FW_REF_COUNT_SIZE    (0x4)
 void connectib_fw_ref_count_dump(const struct connectib_fw_ref_count *ptr_struct, FILE* file);
+/* mac_address_layout */
+void connectib_mac_address_layout_pack(const struct connectib_mac_address_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mac_address_layout_unpack(struct connectib_mac_address_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mac_address_layout_print(const struct connectib_mac_address_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_mac_address_layout_size(void);
+#define CONNECTIB_MAC_ADDRESS_LAYOUT_SIZE    (0x8)
+void connectib_mac_address_layout_dump(const struct connectib_mac_address_layout *ptr_struct, FILE* file);
 /* tir_dmfs */
 void connectib_tir_dmfs_pack(const struct connectib_tir_dmfs *ptr_struct, u_int8_t* ptr_buff);
 void connectib_tir_dmfs_unpack(struct connectib_tir_dmfs *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_tir_dmfs_print(const struct connectib_tir_dmfs *ptr_struct, FILE* file, int indent_level);
 int connectib_tir_dmfs_size(void);
-#define CONNECTIB_TIR_DMFS_SIZE    (0x8)
+#define CONNECTIB_TIR_DMFS_SIZE    (0x10)
 void connectib_tir_dmfs_dump(const struct connectib_tir_dmfs *ptr_struct, FILE* file);
 /* rx_hash_field_select */
 void connectib_rx_hash_field_select_pack(const struct connectib_rx_hash_field_select *ptr_struct, u_int8_t* ptr_buff);
@@ -22321,6 +30086,20 @@ void connectib_fw_qpc_q_print(const struct connectib_fw_qpc_q *ptr_struct, FILE*
 int connectib_fw_qpc_q_size(void);
 #define CONNECTIB_FW_QPC_Q_SIZE    (0x10)
 void connectib_fw_qpc_q_dump(const struct connectib_fw_qpc_q *ptr_struct, FILE* file);
+/* fw_qpc_ts_special */
+void connectib_fw_qpc_ts_special_pack(const union connectib_fw_qpc_ts_special *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_qpc_ts_special_unpack(union connectib_fw_qpc_ts_special *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_qpc_ts_special_print(const union connectib_fw_qpc_ts_special *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_qpc_ts_special_size(void);
+#define CONNECTIB_FW_QPC_TS_SPECIAL_SIZE    (0x4)
+void connectib_fw_qpc_ts_special_dump(const union connectib_fw_qpc_ts_special *ptr_struct, FILE* file);
+/* fw_xrqc */
+void connectib_fw_xrqc_pack(const struct connectib_fw_xrqc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_xrqc_unpack(struct connectib_fw_xrqc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_xrqc_print(const struct connectib_fw_xrqc *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_xrqc_size(void);
+#define CONNECTIB_FW_XRQC_SIZE    (0x20)
+void connectib_fw_xrqc_dump(const struct connectib_fw_xrqc *ptr_struct, FILE* file);
 /* hw_msix_context_data */
 void connectib_hw_msix_context_data_pack(const union connectib_hw_msix_context_data *ptr_struct, u_int8_t* ptr_buff);
 void connectib_hw_msix_context_data_unpack(union connectib_hw_msix_context_data *ptr_struct, const u_int8_t* ptr_buff);
@@ -22349,6 +30128,699 @@ void connectib_hw_pdf_entry_print(const union connectib_hw_pdf_entry *ptr_struct
 int connectib_hw_pdf_entry_size(void);
 #define CONNECTIB_HW_PDF_ENTRY_SIZE    (0x8)
 void connectib_hw_pdf_entry_dump(const union connectib_hw_pdf_entry *ptr_struct, FILE* file);
+/* hw_dct_dc_access_key_63_32 */
+void connectib_hw_dct_dc_access_key_63_32_pack(const struct connectib_hw_dct_dc_access_key_63_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_dc_access_key_63_32_unpack(struct connectib_hw_dct_dc_access_key_63_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_dc_access_key_63_32_print(const struct connectib_hw_dct_dc_access_key_63_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_dc_access_key_63_32_size(void);
+#define CONNECTIB_HW_DCT_DC_ACCESS_KEY_63_32_SIZE    (0x40)
+void connectib_hw_dct_dc_access_key_63_32_dump(const struct connectib_hw_dct_dc_access_key_63_32 *ptr_struct, FILE* file);
+/* hw_dct_dc_access_key_31_0 */
+void connectib_hw_dct_dc_access_key_31_0_pack(const struct connectib_hw_dct_dc_access_key_31_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_dc_access_key_31_0_unpack(struct connectib_hw_dct_dc_access_key_31_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_dc_access_key_31_0_print(const struct connectib_hw_dct_dc_access_key_31_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_dc_access_key_31_0_size(void);
+#define CONNECTIB_HW_DCT_DC_ACCESS_KEY_31_0_SIZE    (0x40)
+void connectib_hw_dct_dc_access_key_31_0_dump(const struct connectib_hw_dct_dc_access_key_31_0 *ptr_struct, FILE* file);
+/* hw_dct_tclass */
+void connectib_hw_dct_tclass_pack(const struct connectib_hw_dct_tclass *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_tclass_unpack(struct connectib_hw_dct_tclass *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_tclass_print(const struct connectib_hw_dct_tclass *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_tclass_size(void);
+#define CONNECTIB_HW_DCT_TCLASS_SIZE    (0x40)
+void connectib_hw_dct_tclass_dump(const struct connectib_hw_dct_tclass *ptr_struct, FILE* file);
+/* hw_dct_context_number */
+void connectib_hw_dct_context_number_pack(const struct connectib_hw_dct_context_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_context_number_unpack(struct connectib_hw_dct_context_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_context_number_print(const struct connectib_hw_dct_context_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_context_number_size(void);
+#define CONNECTIB_HW_DCT_CONTEXT_NUMBER_SIZE    (0x40)
+void connectib_hw_dct_context_number_dump(const struct connectib_hw_dct_context_number *ptr_struct, FILE* file);
+/* hw_dct_hop_limit */
+void connectib_hw_dct_hop_limit_pack(const struct connectib_hw_dct_hop_limit *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_hop_limit_unpack(struct connectib_hw_dct_hop_limit *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_hop_limit_print(const struct connectib_hw_dct_hop_limit *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_hop_limit_size(void);
+#define CONNECTIB_HW_DCT_HOP_LIMIT_SIZE    (0x40)
+void connectib_hw_dct_hop_limit_dump(const struct connectib_hw_dct_hop_limit *ptr_struct, FILE* file);
+/* hw_dct_cq_number */
+void connectib_hw_dct_cq_number_pack(const struct connectib_hw_dct_cq_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_cq_number_unpack(struct connectib_hw_dct_cq_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_cq_number_print(const struct connectib_hw_dct_cq_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_cq_number_size(void);
+#define CONNECTIB_HW_DCT_CQ_NUMBER_SIZE    (0x40)
+void connectib_hw_dct_cq_number_dump(const struct connectib_hw_dct_cq_number *ptr_struct, FILE* file);
+/* hw_dct_ts */
+void connectib_hw_dct_ts_pack(const struct connectib_hw_dct_ts *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_ts_unpack(struct connectib_hw_dct_ts *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_ts_print(const struct connectib_hw_dct_ts *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_ts_size(void);
+#define CONNECTIB_HW_DCT_TS_SIZE    (0x40)
+void connectib_hw_dct_ts_dump(const struct connectib_hw_dct_ts *ptr_struct, FILE* file);
+/* hw_dct_ipd */
+void connectib_hw_dct_ipd_pack(const struct connectib_hw_dct_ipd *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_ipd_unpack(struct connectib_hw_dct_ipd *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_ipd_print(const struct connectib_hw_dct_ipd *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_ipd_size(void);
+#define CONNECTIB_HW_DCT_IPD_SIZE    (0x40)
+void connectib_hw_dct_ipd_dump(const struct connectib_hw_dct_ipd *ptr_struct, FILE* file);
+/* hw_dct_my_gid_mac_index */
+void connectib_hw_dct_my_gid_mac_index_pack(const struct connectib_hw_dct_my_gid_mac_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_my_gid_mac_index_unpack(struct connectib_hw_dct_my_gid_mac_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_my_gid_mac_index_print(const struct connectib_hw_dct_my_gid_mac_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_my_gid_mac_index_size(void);
+#define CONNECTIB_HW_DCT_MY_GID_MAC_INDEX_SIZE    (0x40)
+void connectib_hw_dct_my_gid_mac_index_dump(const struct connectib_hw_dct_my_gid_mac_index *ptr_struct, FILE* file);
+/* hw_dct_extended_atomic */
+void connectib_hw_dct_extended_atomic_pack(const struct connectib_hw_dct_extended_atomic *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_extended_atomic_unpack(struct connectib_hw_dct_extended_atomic *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_extended_atomic_print(const struct connectib_hw_dct_extended_atomic *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_extended_atomic_size(void);
+#define CONNECTIB_HW_DCT_EXTENDED_ATOMIC_SIZE    (0x40)
+void connectib_hw_dct_extended_atomic_dump(const struct connectib_hw_dct_extended_atomic *ptr_struct, FILE* file);
+/* hw_dct_pkey_table_index */
+void connectib_hw_dct_pkey_table_index_pack(const struct connectib_hw_dct_pkey_table_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_pkey_table_index_unpack(struct connectib_hw_dct_pkey_table_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_pkey_table_index_print(const struct connectib_hw_dct_pkey_table_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_pkey_table_index_size(void);
+#define CONNECTIB_HW_DCT_PKEY_TABLE_INDEX_SIZE    (0x40)
+void connectib_hw_dct_pkey_table_index_dump(const struct connectib_hw_dct_pkey_table_index *ptr_struct, FILE* file);
+/* hw_dct_counter_index */
+void connectib_hw_dct_counter_index_pack(const struct connectib_hw_dct_counter_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_counter_index_unpack(struct connectib_hw_dct_counter_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_counter_index_print(const struct connectib_hw_dct_counter_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_counter_index_size(void);
+#define CONNECTIB_HW_DCT_COUNTER_INDEX_SIZE    (0x40)
+void connectib_hw_dct_counter_index_dump(const struct connectib_hw_dct_counter_index *ptr_struct, FILE* file);
+/* hw_dct_srq_number */
+void connectib_hw_dct_srq_number_pack(const struct connectib_hw_dct_srq_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_srq_number_unpack(struct connectib_hw_dct_srq_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_srq_number_print(const struct connectib_hw_dct_srq_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_srq_number_size(void);
+#define CONNECTIB_HW_DCT_SRQ_NUMBER_SIZE    (0x40)
+void connectib_hw_dct_srq_number_dump(const struct connectib_hw_dct_srq_number *ptr_struct, FILE* file);
+/* hw_dct_atomic_like_write */
+void connectib_hw_dct_atomic_like_write_pack(const struct connectib_hw_dct_atomic_like_write *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_atomic_like_write_unpack(struct connectib_hw_dct_atomic_like_write *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_atomic_like_write_print(const struct connectib_hw_dct_atomic_like_write *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_atomic_like_write_size(void);
+#define CONNECTIB_HW_DCT_ATOMIC_LIKE_WRITE_SIZE    (0x40)
+void connectib_hw_dct_atomic_like_write_dump(const struct connectib_hw_dct_atomic_like_write *ptr_struct, FILE* file);
+/* hw_dct_my_lid */
+void connectib_hw_dct_my_lid_pack(const struct connectib_hw_dct_my_lid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_my_lid_unpack(struct connectib_hw_dct_my_lid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_my_lid_print(const struct connectib_hw_dct_my_lid *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_my_lid_size(void);
+#define CONNECTIB_HW_DCT_MY_LID_SIZE    (0x40)
+void connectib_hw_dct_my_lid_dump(const struct connectib_hw_dct_my_lid *ptr_struct, FILE* file);
+/* hw_dct_qp_valid */
+void connectib_hw_dct_qp_valid_pack(const struct connectib_hw_dct_qp_valid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_qp_valid_unpack(struct connectib_hw_dct_qp_valid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_qp_valid_print(const struct connectib_hw_dct_qp_valid *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_qp_valid_size(void);
+#define CONNECTIB_HW_DCT_QP_VALID_SIZE    (0x40)
+void connectib_hw_dct_qp_valid_dump(const struct connectib_hw_dct_qp_valid *ptr_struct, FILE* file);
+/* hw_dct_max_read_atomic */
+void connectib_hw_dct_max_read_atomic_pack(const struct connectib_hw_dct_max_read_atomic *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_max_read_atomic_unpack(struct connectib_hw_dct_max_read_atomic *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_max_read_atomic_print(const struct connectib_hw_dct_max_read_atomic *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_max_read_atomic_size(void);
+#define CONNECTIB_HW_DCT_MAX_READ_ATOMIC_SIZE    (0x40)
+void connectib_hw_dct_max_read_atomic_dump(const struct connectib_hw_dct_max_read_atomic *ptr_struct, FILE* file);
+/* hw_dct_flow_label */
+void connectib_hw_dct_flow_label_pack(const struct connectib_hw_dct_flow_label *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_flow_label_unpack(struct connectib_hw_dct_flow_label *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_flow_label_print(const struct connectib_hw_dct_flow_label *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_flow_label_size(void);
+#define CONNECTIB_HW_DCT_FLOW_LABEL_SIZE    (0x40)
+void connectib_hw_dct_flow_label_dump(const struct connectib_hw_dct_flow_label *ptr_struct, FILE* file);
+/* hw_dct_grh_bit */
+void connectib_hw_dct_grh_bit_pack(const struct connectib_hw_dct_grh_bit *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_grh_bit_unpack(struct connectib_hw_dct_grh_bit *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_grh_bit_print(const struct connectib_hw_dct_grh_bit *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_grh_bit_size(void);
+#define CONNECTIB_HW_DCT_GRH_BIT_SIZE    (0x40)
+void connectib_hw_dct_grh_bit_dump(const struct connectib_hw_dct_grh_bit *ptr_struct, FILE* file);
+/* hw_dct_port_number */
+void connectib_hw_dct_port_number_pack(const struct connectib_hw_dct_port_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_port_number_unpack(struct connectib_hw_dct_port_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_port_number_print(const struct connectib_hw_dct_port_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_port_number_size(void);
+#define CONNECTIB_HW_DCT_PORT_NUMBER_SIZE    (0x40)
+void connectib_hw_dct_port_number_dump(const struct connectib_hw_dct_port_number *ptr_struct, FILE* file);
+/* hw_dct_adaptive_routing */
+void connectib_hw_dct_adaptive_routing_pack(const struct connectib_hw_dct_adaptive_routing *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_adaptive_routing_unpack(struct connectib_hw_dct_adaptive_routing *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_adaptive_routing_print(const struct connectib_hw_dct_adaptive_routing *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_adaptive_routing_size(void);
+#define CONNECTIB_HW_DCT_ADAPTIVE_ROUTING_SIZE    (0x40)
+void connectib_hw_dct_adaptive_routing_dump(const struct connectib_hw_dct_adaptive_routing *ptr_struct, FILE* file);
+/* hw_dct_tcu_trap */
+void connectib_hw_dct_tcu_trap_pack(const struct connectib_hw_dct_tcu_trap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_tcu_trap_unpack(struct connectib_hw_dct_tcu_trap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_tcu_trap_print(const struct connectib_hw_dct_tcu_trap *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_tcu_trap_size(void);
+#define CONNECTIB_HW_DCT_TCU_TRAP_SIZE    (0x40)
+void connectib_hw_dct_tcu_trap_dump(const struct connectib_hw_dct_tcu_trap *ptr_struct, FILE* file);
+/* hw_dct_tcu_drop */
+void connectib_hw_dct_tcu_drop_pack(const struct connectib_hw_dct_tcu_drop *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_tcu_drop_unpack(struct connectib_hw_dct_tcu_drop *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_tcu_drop_print(const struct connectib_hw_dct_tcu_drop *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_tcu_drop_size(void);
+#define CONNECTIB_HW_DCT_TCU_DROP_SIZE    (0x40)
+void connectib_hw_dct_tcu_drop_dump(const struct connectib_hw_dct_tcu_drop *ptr_struct, FILE* file);
+/* hw_dct_dc_access_key_log_num_byte */
+void connectib_hw_dct_dc_access_key_log_num_byte_pack(const struct connectib_hw_dct_dc_access_key_log_num_byte *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_dc_access_key_log_num_byte_unpack(struct connectib_hw_dct_dc_access_key_log_num_byte *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_dc_access_key_log_num_byte_print(const struct connectib_hw_dct_dc_access_key_log_num_byte *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_dc_access_key_log_num_byte_size(void);
+#define CONNECTIB_HW_DCT_DC_ACCESS_KEY_LOG_NUM_BYTE_SIZE    (0x40)
+void connectib_hw_dct_dc_access_key_log_num_byte_dump(const struct connectib_hw_dct_dc_access_key_log_num_byte *ptr_struct, FILE* file);
+/* hw_dct_fast_path */
+void connectib_hw_dct_fast_path_pack(const struct connectib_hw_dct_fast_path *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_fast_path_unpack(struct connectib_hw_dct_fast_path *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_fast_path_print(const struct connectib_hw_dct_fast_path *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_fast_path_size(void);
+#define CONNECTIB_HW_DCT_FAST_PATH_SIZE    (0x40)
+void connectib_hw_dct_fast_path_dump(const struct connectib_hw_dct_fast_path *ptr_struct, FILE* file);
+/* hw_dct_mtu */
+void connectib_hw_dct_mtu_pack(const struct connectib_hw_dct_mtu *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_mtu_unpack(struct connectib_hw_dct_mtu *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_mtu_print(const struct connectib_hw_dct_mtu *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_mtu_size(void);
+#define CONNECTIB_HW_DCT_MTU_SIZE    (0x40)
+void connectib_hw_dct_mtu_dump(const struct connectib_hw_dct_mtu *ptr_struct, FILE* file);
+/* hw_dct_read_enable */
+void connectib_hw_dct_read_enable_pack(const struct connectib_hw_dct_read_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_read_enable_unpack(struct connectib_hw_dct_read_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_read_enable_print(const struct connectib_hw_dct_read_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_read_enable_size(void);
+#define CONNECTIB_HW_DCT_READ_ENABLE_SIZE    (0x40)
+void connectib_hw_dct_read_enable_dump(const struct connectib_hw_dct_read_enable *ptr_struct, FILE* file);
+/* hw_dct_send_with_invalidate_enable */
+void connectib_hw_dct_send_with_invalidate_enable_pack(const struct connectib_hw_dct_send_with_invalidate_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_send_with_invalidate_enable_unpack(struct connectib_hw_dct_send_with_invalidate_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_send_with_invalidate_enable_print(const struct connectib_hw_dct_send_with_invalidate_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_send_with_invalidate_enable_size(void);
+#define CONNECTIB_HW_DCT_SEND_WITH_INVALIDATE_ENABLE_SIZE    (0x40)
+void connectib_hw_dct_send_with_invalidate_enable_dump(const struct connectib_hw_dct_send_with_invalidate_enable *ptr_struct, FILE* file);
+/* hw_dct_ignore_pkey_check */
+void connectib_hw_dct_ignore_pkey_check_pack(const struct connectib_hw_dct_ignore_pkey_check *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_ignore_pkey_check_unpack(struct connectib_hw_dct_ignore_pkey_check *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_ignore_pkey_check_print(const struct connectib_hw_dct_ignore_pkey_check *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_ignore_pkey_check_size(void);
+#define CONNECTIB_HW_DCT_IGNORE_PKEY_CHECK_SIZE    (0x40)
+void connectib_hw_dct_ignore_pkey_check_dump(const struct connectib_hw_dct_ignore_pkey_check *ptr_struct, FILE* file);
+/* hw_dct_max_message_size */
+void connectib_hw_dct_max_message_size_pack(const struct connectib_hw_dct_max_message_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_max_message_size_unpack(struct connectib_hw_dct_max_message_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_max_message_size_print(const struct connectib_hw_dct_max_message_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_max_message_size_size(void);
+#define CONNECTIB_HW_DCT_MAX_MESSAGE_SIZE_SIZE    (0x40)
+void connectib_hw_dct_max_message_size_dump(const struct connectib_hw_dct_max_message_size *ptr_struct, FILE* file);
+/* hw_dct_inline_scatter */
+void connectib_hw_dct_inline_scatter_pack(const struct connectib_hw_dct_inline_scatter *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_inline_scatter_unpack(struct connectib_hw_dct_inline_scatter *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_inline_scatter_print(const struct connectib_hw_dct_inline_scatter *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_inline_scatter_size(void);
+#define CONNECTIB_HW_DCT_INLINE_SCATTER_SIZE    (0x40)
+void connectib_hw_dct_inline_scatter_dump(const struct connectib_hw_dct_inline_scatter *ptr_struct, FILE* file);
+/* hw_dct_write_enable */
+void connectib_hw_dct_write_enable_pack(const struct connectib_hw_dct_write_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_write_enable_unpack(struct connectib_hw_dct_write_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_write_enable_print(const struct connectib_hw_dct_write_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_write_enable_size(void);
+#define CONNECTIB_HW_DCT_WRITE_ENABLE_SIZE    (0x40)
+void connectib_hw_dct_write_enable_dump(const struct connectib_hw_dct_write_enable *ptr_struct, FILE* file);
+/* hw_dct_rnr_timer */
+void connectib_hw_dct_rnr_timer_pack(const struct connectib_hw_dct_rnr_timer *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_rnr_timer_unpack(struct connectib_hw_dct_rnr_timer *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_rnr_timer_print(const struct connectib_hw_dct_rnr_timer *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_rnr_timer_size(void);
+#define CONNECTIB_HW_DCT_RNR_TIMER_SIZE    (0x40)
+void connectib_hw_dct_rnr_timer_dump(const struct connectib_hw_dct_rnr_timer *ptr_struct, FILE* file);
+/* hw_dct_complete_to_64B_eyald */
+void connectib_hw_dct_complete_to_64B_eyald_pack(const struct connectib_hw_dct_complete_to_64B_eyald *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_complete_to_64B_eyald_unpack(struct connectib_hw_dct_complete_to_64B_eyald *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_complete_to_64B_eyald_print(const struct connectib_hw_dct_complete_to_64B_eyald *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_dct_complete_to_64B_eyald_size(void);
+#define CONNECTIB_HW_DCT_COMPLETE_TO_64B_EYALD_SIZE    (0x40)
+void connectib_hw_dct_complete_to_64B_eyald_dump(const struct connectib_hw_dct_complete_to_64B_eyald *ptr_struct, FILE* file);
+/* hw_r_qpc_qp_valid */
+void connectib_hw_r_qpc_qp_valid_pack(const struct connectib_hw_r_qpc_qp_valid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_qp_valid_unpack(struct connectib_hw_r_qpc_qp_valid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_qp_valid_print(const struct connectib_hw_r_qpc_qp_valid *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_qp_valid_size(void);
+#define CONNECTIB_HW_R_QPC_QP_VALID_SIZE    (0x40)
+void connectib_hw_r_qpc_qp_valid_dump(const struct connectib_hw_r_qpc_qp_valid *ptr_struct, FILE* file);
+/* hw_r_qpc_grh_to_cqe */
+void connectib_hw_r_qpc_grh_to_cqe_pack(const struct connectib_hw_r_qpc_grh_to_cqe *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_grh_to_cqe_unpack(struct connectib_hw_r_qpc_grh_to_cqe *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_grh_to_cqe_print(const struct connectib_hw_r_qpc_grh_to_cqe *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_grh_to_cqe_size(void);
+#define CONNECTIB_HW_R_QPC_GRH_TO_CQE_SIZE    (0x40)
+void connectib_hw_r_qpc_grh_to_cqe_dump(const struct connectib_hw_r_qpc_grh_to_cqe *ptr_struct, FILE* file);
+/* hw_r_qpc_drop_my_self_multicast */
+void connectib_hw_r_qpc_drop_my_self_multicast_pack(const struct connectib_hw_r_qpc_drop_my_self_multicast *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_drop_my_self_multicast_unpack(struct connectib_hw_r_qpc_drop_my_self_multicast *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_drop_my_self_multicast_print(const struct connectib_hw_r_qpc_drop_my_self_multicast *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_drop_my_self_multicast_size(void);
+#define CONNECTIB_HW_R_QPC_DROP_MY_SELF_MULTICAST_SIZE    (0x40)
+void connectib_hw_r_qpc_drop_my_self_multicast_dump(const struct connectib_hw_r_qpc_drop_my_self_multicast *ptr_struct, FILE* file);
+/* hw_r_qpc_ack_type */
+void connectib_hw_r_qpc_ack_type_pack(const struct connectib_hw_r_qpc_ack_type *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_ack_type_unpack(struct connectib_hw_r_qpc_ack_type *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_ack_type_print(const struct connectib_hw_r_qpc_ack_type *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_ack_type_size(void);
+#define CONNECTIB_HW_R_QPC_ACK_TYPE_SIZE    (0x40)
+void connectib_hw_r_qpc_ack_type_dump(const struct connectib_hw_r_qpc_ack_type *ptr_struct, FILE* file);
+/* hw_r_qpc_e2e_credits_enabled */
+void connectib_hw_r_qpc_e2e_credits_enabled_pack(const struct connectib_hw_r_qpc_e2e_credits_enabled *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_credits_enabled_unpack(struct connectib_hw_r_qpc_e2e_credits_enabled *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_credits_enabled_print(const struct connectib_hw_r_qpc_e2e_credits_enabled *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_e2e_credits_enabled_size(void);
+#define CONNECTIB_HW_R_QPC_E2E_CREDITS_ENABLED_SIZE    (0x40)
+void connectib_hw_r_qpc_e2e_credits_enabled_dump(const struct connectib_hw_r_qpc_e2e_credits_enabled *ptr_struct, FILE* file);
+/* hw_r_qpc_no_direct_access */
+void connectib_hw_r_qpc_no_direct_access_pack(const struct connectib_hw_r_qpc_no_direct_access *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_no_direct_access_unpack(struct connectib_hw_r_qpc_no_direct_access *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_no_direct_access_print(const struct connectib_hw_r_qpc_no_direct_access *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_no_direct_access_size(void);
+#define CONNECTIB_HW_R_QPC_NO_DIRECT_ACCESS_SIZE    (0x40)
+void connectib_hw_r_qpc_no_direct_access_dump(const struct connectib_hw_r_qpc_no_direct_access *ptr_struct, FILE* file);
+/* hw_r_qpc_post_receive_slave_enable */
+void connectib_hw_r_qpc_post_receive_slave_enable_pack(const struct connectib_hw_r_qpc_post_receive_slave_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_post_receive_slave_enable_unpack(struct connectib_hw_r_qpc_post_receive_slave_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_post_receive_slave_enable_print(const struct connectib_hw_r_qpc_post_receive_slave_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_post_receive_slave_enable_size(void);
+#define CONNECTIB_HW_R_QPC_POST_RECEIVE_SLAVE_ENABLE_SIZE    (0x40)
+void connectib_hw_r_qpc_post_receive_slave_enable_dump(const struct connectib_hw_r_qpc_post_receive_slave_enable *ptr_struct, FILE* file);
+/* hw_r_qpc_atomic_like_write */
+void connectib_hw_r_qpc_atomic_like_write_pack(const struct connectib_hw_r_qpc_atomic_like_write *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_atomic_like_write_unpack(struct connectib_hw_r_qpc_atomic_like_write *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_atomic_like_write_print(const struct connectib_hw_r_qpc_atomic_like_write *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_atomic_like_write_size(void);
+#define CONNECTIB_HW_R_QPC_ATOMIC_LIKE_WRITE_SIZE    (0x40)
+void connectib_hw_r_qpc_atomic_like_write_dump(const struct connectib_hw_r_qpc_atomic_like_write *ptr_struct, FILE* file);
+/* hw_r_qpc_write_enable */
+void connectib_hw_r_qpc_write_enable_pack(const struct connectib_hw_r_qpc_write_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_write_enable_unpack(struct connectib_hw_r_qpc_write_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_write_enable_print(const struct connectib_hw_r_qpc_write_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_write_enable_size(void);
+#define CONNECTIB_HW_R_QPC_WRITE_ENABLE_SIZE    (0x40)
+void connectib_hw_r_qpc_write_enable_dump(const struct connectib_hw_r_qpc_write_enable *ptr_struct, FILE* file);
+/* hw_r_qpc_max_read_atomic */
+void connectib_hw_r_qpc_max_read_atomic_pack(const struct connectib_hw_r_qpc_max_read_atomic *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_max_read_atomic_unpack(struct connectib_hw_r_qpc_max_read_atomic *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_max_read_atomic_print(const struct connectib_hw_r_qpc_max_read_atomic *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_max_read_atomic_size(void);
+#define CONNECTIB_HW_R_QPC_MAX_READ_ATOMIC_SIZE    (0x40)
+void connectib_hw_r_qpc_max_read_atomic_dump(const struct connectib_hw_r_qpc_max_read_atomic *ptr_struct, FILE* file);
+/* hw_r_qpc_extended_atomic */
+void connectib_hw_r_qpc_extended_atomic_pack(const struct connectib_hw_r_qpc_extended_atomic *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_extended_atomic_unpack(struct connectib_hw_r_qpc_extended_atomic *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_extended_atomic_print(const struct connectib_hw_r_qpc_extended_atomic *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_extended_atomic_size(void);
+#define CONNECTIB_HW_R_QPC_EXTENDED_ATOMIC_SIZE    (0x40)
+void connectib_hw_r_qpc_extended_atomic_dump(const struct connectib_hw_r_qpc_extended_atomic *ptr_struct, FILE* file);
+/* hw_r_qpc_ignore_pkey_check */
+void connectib_hw_r_qpc_ignore_pkey_check_pack(const struct connectib_hw_r_qpc_ignore_pkey_check *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_ignore_pkey_check_unpack(struct connectib_hw_r_qpc_ignore_pkey_check *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_ignore_pkey_check_print(const struct connectib_hw_r_qpc_ignore_pkey_check *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_ignore_pkey_check_size(void);
+#define CONNECTIB_HW_R_QPC_IGNORE_PKEY_CHECK_SIZE    (0x40)
+void connectib_hw_r_qpc_ignore_pkey_check_dump(const struct connectib_hw_r_qpc_ignore_pkey_check *ptr_struct, FILE* file);
+/* hw_r_qpc_send_with_invalidate_enable */
+void connectib_hw_r_qpc_send_with_invalidate_enable_pack(const struct connectib_hw_r_qpc_send_with_invalidate_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_send_with_invalidate_enable_unpack(struct connectib_hw_r_qpc_send_with_invalidate_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_send_with_invalidate_enable_print(const struct connectib_hw_r_qpc_send_with_invalidate_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_send_with_invalidate_enable_size(void);
+#define CONNECTIB_HW_R_QPC_SEND_WITH_INVALIDATE_ENABLE_SIZE    (0x40)
+void connectib_hw_r_qpc_send_with_invalidate_enable_dump(const struct connectib_hw_r_qpc_send_with_invalidate_enable *ptr_struct, FILE* file);
+/* hw_r_qpc_read_enable */
+void connectib_hw_r_qpc_read_enable_pack(const struct connectib_hw_r_qpc_read_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_read_enable_unpack(struct connectib_hw_r_qpc_read_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_read_enable_print(const struct connectib_hw_r_qpc_read_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_read_enable_size(void);
+#define CONNECTIB_HW_R_QPC_READ_ENABLE_SIZE    (0x40)
+void connectib_hw_r_qpc_read_enable_dump(const struct connectib_hw_r_qpc_read_enable *ptr_struct, FILE* file);
+/* hw_r_qpc_fast_path */
+void connectib_hw_r_qpc_fast_path_pack(const struct connectib_hw_r_qpc_fast_path *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_fast_path_unpack(struct connectib_hw_r_qpc_fast_path *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_fast_path_print(const struct connectib_hw_r_qpc_fast_path *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_fast_path_size(void);
+#define CONNECTIB_HW_R_QPC_FAST_PATH_SIZE    (0x40)
+void connectib_hw_r_qpc_fast_path_dump(const struct connectib_hw_r_qpc_fast_path *ptr_struct, FILE* file);
+/* hw_r_qpc_check_source_uc_lb */
+void connectib_hw_r_qpc_check_source_uc_lb_pack(const struct connectib_hw_r_qpc_check_source_uc_lb *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_uc_lb_unpack(struct connectib_hw_r_qpc_check_source_uc_lb *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_uc_lb_print(const struct connectib_hw_r_qpc_check_source_uc_lb *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_check_source_uc_lb_size(void);
+#define CONNECTIB_HW_R_QPC_CHECK_SOURCE_UC_LB_SIZE    (0x40)
+void connectib_hw_r_qpc_check_source_uc_lb_dump(const struct connectib_hw_r_qpc_check_source_uc_lb *ptr_struct, FILE* file);
+/* hw_r_qpc_check_source_mc_lb */
+void connectib_hw_r_qpc_check_source_mc_lb_pack(const struct connectib_hw_r_qpc_check_source_mc_lb *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_mc_lb_unpack(struct connectib_hw_r_qpc_check_source_mc_lb *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_mc_lb_print(const struct connectib_hw_r_qpc_check_source_mc_lb *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_check_source_mc_lb_size(void);
+#define CONNECTIB_HW_R_QPC_CHECK_SOURCE_MC_LB_SIZE    (0x40)
+void connectib_hw_r_qpc_check_source_mc_lb_dump(const struct connectib_hw_r_qpc_check_source_mc_lb *ptr_struct, FILE* file);
+/* hw_r_qpc_check_source_gvmi */
+void connectib_hw_r_qpc_check_source_gvmi_pack(const struct connectib_hw_r_qpc_check_source_gvmi *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_gvmi_unpack(struct connectib_hw_r_qpc_check_source_gvmi *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_gvmi_print(const struct connectib_hw_r_qpc_check_source_gvmi *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_check_source_gvmi_size(void);
+#define CONNECTIB_HW_R_QPC_CHECK_SOURCE_GVMI_SIZE    (0x40)
+void connectib_hw_r_qpc_check_source_gvmi_dump(const struct connectib_hw_r_qpc_check_source_gvmi *ptr_struct, FILE* file);
+/* hw_r_qpc_inline_scatter */
+void connectib_hw_r_qpc_inline_scatter_pack(const struct connectib_hw_r_qpc_inline_scatter *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_inline_scatter_unpack(struct connectib_hw_r_qpc_inline_scatter *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_inline_scatter_print(const struct connectib_hw_r_qpc_inline_scatter *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_inline_scatter_size(void);
+#define CONNECTIB_HW_R_QPC_INLINE_SCATTER_SIZE    (0x40)
+void connectib_hw_r_qpc_inline_scatter_dump(const struct connectib_hw_r_qpc_inline_scatter *ptr_struct, FILE* file);
+/* hw_r_qpc_rwq_type */
+void connectib_hw_r_qpc_rwq_type_pack(const struct connectib_hw_r_qpc_rwq_type *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rwq_type_unpack(struct connectib_hw_r_qpc_rwq_type *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rwq_type_print(const struct connectib_hw_r_qpc_rwq_type *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rwq_type_size(void);
+#define CONNECTIB_HW_R_QPC_RWQ_TYPE_SIZE    (0x40)
+void connectib_hw_r_qpc_rwq_type_dump(const struct connectib_hw_r_qpc_rwq_type *ptr_struct, FILE* file);
+/* hw_r_qpc_last_opcode */
+void connectib_hw_r_qpc_last_opcode_pack(const struct connectib_hw_r_qpc_last_opcode *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_last_opcode_unpack(struct connectib_hw_r_qpc_last_opcode *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_last_opcode_print(const struct connectib_hw_r_qpc_last_opcode *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_last_opcode_size(void);
+#define CONNECTIB_HW_R_QPC_LAST_OPCODE_SIZE    (0x40)
+void connectib_hw_r_qpc_last_opcode_dump(const struct connectib_hw_r_qpc_last_opcode *ptr_struct, FILE* file);
+/* hw_r_qpc_fw_link_type */
+void connectib_hw_r_qpc_fw_link_type_pack(const struct connectib_hw_r_qpc_fw_link_type *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_fw_link_type_unpack(struct connectib_hw_r_qpc_fw_link_type *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_fw_link_type_print(const struct connectib_hw_r_qpc_fw_link_type *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_fw_link_type_size(void);
+#define CONNECTIB_HW_R_QPC_FW_LINK_TYPE_SIZE    (0x40)
+void connectib_hw_r_qpc_fw_link_type_dump(const struct connectib_hw_r_qpc_fw_link_type *ptr_struct, FILE* file);
+/* hw_r_qpc_check_source_uc_wire */
+void connectib_hw_r_qpc_check_source_uc_wire_pack(const struct connectib_hw_r_qpc_check_source_uc_wire *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_uc_wire_unpack(struct connectib_hw_r_qpc_check_source_uc_wire *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_uc_wire_print(const struct connectib_hw_r_qpc_check_source_uc_wire *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_check_source_uc_wire_size(void);
+#define CONNECTIB_HW_R_QPC_CHECK_SOURCE_UC_WIRE_SIZE    (0x40)
+void connectib_hw_r_qpc_check_source_uc_wire_dump(const struct connectib_hw_r_qpc_check_source_uc_wire *ptr_struct, FILE* file);
+/* hw_r_qpc_write_rkey */
+void connectib_hw_r_qpc_write_rkey_pack(const struct connectib_hw_r_qpc_write_rkey *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_write_rkey_unpack(struct connectib_hw_r_qpc_write_rkey *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_write_rkey_print(const struct connectib_hw_r_qpc_write_rkey *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_write_rkey_size(void);
+#define CONNECTIB_HW_R_QPC_WRITE_RKEY_SIZE    (0x40)
+void connectib_hw_r_qpc_write_rkey_dump(const struct connectib_hw_r_qpc_write_rkey *ptr_struct, FILE* file);
+/* hw_r_qpc_rx_heartbeat */
+void connectib_hw_r_qpc_rx_heartbeat_pack(const struct connectib_hw_r_qpc_rx_heartbeat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rx_heartbeat_unpack(struct connectib_hw_r_qpc_rx_heartbeat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rx_heartbeat_print(const struct connectib_hw_r_qpc_rx_heartbeat *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rx_heartbeat_size(void);
+#define CONNECTIB_HW_R_QPC_RX_HEARTBEAT_SIZE    (0x40)
+void connectib_hw_r_qpc_rx_heartbeat_dump(const struct connectib_hw_r_qpc_rx_heartbeat *ptr_struct, FILE* file);
+/* hw_r_qpc_e2e_credits_prefetch_threshold */
+void connectib_hw_r_qpc_e2e_credits_prefetch_threshold_pack(const struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_credits_prefetch_threshold_unpack(struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_credits_prefetch_threshold_print(const struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_e2e_credits_prefetch_threshold_size(void);
+#define CONNECTIB_HW_R_QPC_E2E_CREDITS_PREFETCH_THRESHOLD_SIZE    (0x40)
+void connectib_hw_r_qpc_e2e_credits_prefetch_threshold_dump(const struct connectib_hw_r_qpc_e2e_credits_prefetch_threshold *ptr_struct, FILE* file);
+/* hw_r_qpc_e2e_fetch_enable */
+void connectib_hw_r_qpc_e2e_fetch_enable_pack(const struct connectib_hw_r_qpc_e2e_fetch_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_fetch_enable_unpack(struct connectib_hw_r_qpc_e2e_fetch_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_fetch_enable_print(const struct connectib_hw_r_qpc_e2e_fetch_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_e2e_fetch_enable_size(void);
+#define CONNECTIB_HW_R_QPC_E2E_FETCH_ENABLE_SIZE    (0x40)
+void connectib_hw_r_qpc_e2e_fetch_enable_dump(const struct connectib_hw_r_qpc_e2e_fetch_enable *ptr_struct, FILE* file);
+/* hw_r_qpc_tcu_drop */
+void connectib_hw_r_qpc_tcu_drop_pack(const struct connectib_hw_r_qpc_tcu_drop *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_tcu_drop_unpack(struct connectib_hw_r_qpc_tcu_drop *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_tcu_drop_print(const struct connectib_hw_r_qpc_tcu_drop *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_tcu_drop_size(void);
+#define CONNECTIB_HW_R_QPC_TCU_DROP_SIZE    (0x40)
+void connectib_hw_r_qpc_tcu_drop_dump(const struct connectib_hw_r_qpc_tcu_drop *ptr_struct, FILE* file);
+/* hw_r_qpc_can_use_reserved_lkey */
+void connectib_hw_r_qpc_can_use_reserved_lkey_pack(const struct connectib_hw_r_qpc_can_use_reserved_lkey *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_can_use_reserved_lkey_unpack(struct connectib_hw_r_qpc_can_use_reserved_lkey *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_can_use_reserved_lkey_print(const struct connectib_hw_r_qpc_can_use_reserved_lkey *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_can_use_reserved_lkey_size(void);
+#define CONNECTIB_HW_R_QPC_CAN_USE_RESERVED_LKEY_SIZE    (0x40)
+void connectib_hw_r_qpc_can_use_reserved_lkey_dump(const struct connectib_hw_r_qpc_can_use_reserved_lkey *ptr_struct, FILE* file);
+/* hw_r_qpc_tcu_trap */
+void connectib_hw_r_qpc_tcu_trap_pack(const struct connectib_hw_r_qpc_tcu_trap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_tcu_trap_unpack(struct connectib_hw_r_qpc_tcu_trap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_tcu_trap_print(const struct connectib_hw_r_qpc_tcu_trap *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_tcu_trap_size(void);
+#define CONNECTIB_HW_R_QPC_TCU_TRAP_SIZE    (0x40)
+void connectib_hw_r_qpc_tcu_trap_dump(const struct connectib_hw_r_qpc_tcu_trap *ptr_struct, FILE* file);
+/* hw_r_qpc_rnr_timer */
+void connectib_hw_r_qpc_rnr_timer_pack(const struct connectib_hw_r_qpc_rnr_timer *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rnr_timer_unpack(struct connectib_hw_r_qpc_rnr_timer *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rnr_timer_print(const struct connectib_hw_r_qpc_rnr_timer *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rnr_timer_size(void);
+#define CONNECTIB_HW_R_QPC_RNR_TIMER_SIZE    (0x40)
+void connectib_hw_r_qpc_rnr_timer_dump(const struct connectib_hw_r_qpc_rnr_timer *ptr_struct, FILE* file);
+/* hw_r_qpc_rwqe_limit_event */
+void connectib_hw_r_qpc_rwqe_limit_event_pack(const struct connectib_hw_r_qpc_rwqe_limit_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rwqe_limit_event_unpack(struct connectib_hw_r_qpc_rwqe_limit_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rwqe_limit_event_print(const struct connectib_hw_r_qpc_rwqe_limit_event *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rwqe_limit_event_size(void);
+#define CONNECTIB_HW_R_QPC_RWQE_LIMIT_EVENT_SIZE    (0x40)
+void connectib_hw_r_qpc_rwqe_limit_event_dump(const struct connectib_hw_r_qpc_rwqe_limit_event *ptr_struct, FILE* file);
+/* hw_r_qpc_rwqe_consumer_index */
+void connectib_hw_r_qpc_rwqe_consumer_index_pack(const struct connectib_hw_r_qpc_rwqe_consumer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rwqe_consumer_index_unpack(struct connectib_hw_r_qpc_rwqe_consumer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rwqe_consumer_index_print(const struct connectib_hw_r_qpc_rwqe_consumer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rwqe_consumer_index_size(void);
+#define CONNECTIB_HW_R_QPC_RWQE_CONSUMER_INDEX_SIZE    (0x40)
+void connectib_hw_r_qpc_rwqe_consumer_index_dump(const struct connectib_hw_r_qpc_rwqe_consumer_index *ptr_struct, FILE* file);
+/* hw_r_qpc_rcyclic_producer */
+void connectib_hw_r_qpc_rcyclic_producer_pack(const struct connectib_hw_r_qpc_rcyclic_producer *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rcyclic_producer_unpack(struct connectib_hw_r_qpc_rcyclic_producer *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rcyclic_producer_print(const struct connectib_hw_r_qpc_rcyclic_producer *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rcyclic_producer_size(void);
+#define CONNECTIB_HW_R_QPC_RCYCLIC_PRODUCER_SIZE    (0x40)
+void connectib_hw_r_qpc_rcyclic_producer_dump(const struct connectib_hw_r_qpc_rcyclic_producer *ptr_struct, FILE* file);
+/* hw_r_qpc_rwqe_producer_index */
+void connectib_hw_r_qpc_rwqe_producer_index_pack(const struct connectib_hw_r_qpc_rwqe_producer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rwqe_producer_index_unpack(struct connectib_hw_r_qpc_rwqe_producer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rwqe_producer_index_print(const struct connectib_hw_r_qpc_rwqe_producer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rwqe_producer_index_size(void);
+#define CONNECTIB_HW_R_QPC_RWQE_PRODUCER_INDEX_SIZE    (0x40)
+void connectib_hw_r_qpc_rwqe_producer_index_dump(const struct connectib_hw_r_qpc_rwqe_producer_index *ptr_struct, FILE* file);
+/* hw_r_qpc_qp_state */
+void connectib_hw_r_qpc_qp_state_pack(const struct connectib_hw_r_qpc_qp_state *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_qp_state_unpack(struct connectib_hw_r_qpc_qp_state *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_qp_state_print(const struct connectib_hw_r_qpc_qp_state *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_qp_state_size(void);
+#define CONNECTIB_HW_R_QPC_QP_STATE_SIZE    (0x40)
+void connectib_hw_r_qpc_qp_state_dump(const struct connectib_hw_r_qpc_qp_state *ptr_struct, FILE* file);
+/* hw_r_qpc_rdb_write_pointer */
+void connectib_hw_r_qpc_rdb_write_pointer_pack(const struct connectib_hw_r_qpc_rdb_write_pointer *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rdb_write_pointer_unpack(struct connectib_hw_r_qpc_rdb_write_pointer *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rdb_write_pointer_print(const struct connectib_hw_r_qpc_rdb_write_pointer *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rdb_write_pointer_size(void);
+#define CONNECTIB_HW_R_QPC_RDB_WRITE_POINTER_SIZE    (0x40)
+void connectib_hw_r_qpc_rdb_write_pointer_dump(const struct connectib_hw_r_qpc_rdb_write_pointer *ptr_struct, FILE* file);
+/* hw_r_qpc_first_non_acked_psn */
+void connectib_hw_r_qpc_first_non_acked_psn_pack(const struct connectib_hw_r_qpc_first_non_acked_psn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_first_non_acked_psn_unpack(struct connectib_hw_r_qpc_first_non_acked_psn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_first_non_acked_psn_print(const struct connectib_hw_r_qpc_first_non_acked_psn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_first_non_acked_psn_size(void);
+#define CONNECTIB_HW_R_QPC_FIRST_NON_ACKED_PSN_SIZE    (0x40)
+void connectib_hw_r_qpc_first_non_acked_psn_dump(const struct connectib_hw_r_qpc_first_non_acked_psn *ptr_struct, FILE* file);
+/* hw_r_qpc_rcyclic_consumer */
+void connectib_hw_r_qpc_rcyclic_consumer_pack(const struct connectib_hw_r_qpc_rcyclic_consumer *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rcyclic_consumer_unpack(struct connectib_hw_r_qpc_rcyclic_consumer *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rcyclic_consumer_print(const struct connectib_hw_r_qpc_rcyclic_consumer *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rcyclic_consumer_size(void);
+#define CONNECTIB_HW_R_QPC_RCYCLIC_CONSUMER_SIZE    (0x40)
+void connectib_hw_r_qpc_rcyclic_consumer_dump(const struct connectib_hw_r_qpc_rcyclic_consumer *ptr_struct, FILE* file);
+/* hw_r_qpc_msn */
+void connectib_hw_r_qpc_msn_pack(const struct connectib_hw_r_qpc_msn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_msn_unpack(struct connectib_hw_r_qpc_msn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_msn_print(const struct connectib_hw_r_qpc_msn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_msn_size(void);
+#define CONNECTIB_HW_R_QPC_MSN_SIZE    (0x40)
+void connectib_hw_r_qpc_msn_dump(const struct connectib_hw_r_qpc_msn *ptr_struct, FILE* file);
+/* hw_r_qpc_dct_number */
+void connectib_hw_r_qpc_dct_number_pack(const struct connectib_hw_r_qpc_dct_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_dct_number_unpack(struct connectib_hw_r_qpc_dct_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_dct_number_print(const struct connectib_hw_r_qpc_dct_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_dct_number_size(void);
+#define CONNECTIB_HW_R_QPC_DCT_NUMBER_SIZE    (0x40)
+void connectib_hw_r_qpc_dct_number_dump(const struct connectib_hw_r_qpc_dct_number *ptr_struct, FILE* file);
+/* hw_r_qpc_cq_number */
+void connectib_hw_r_qpc_cq_number_pack(const struct connectib_hw_r_qpc_cq_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_cq_number_unpack(struct connectib_hw_r_qpc_cq_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_cq_number_print(const struct connectib_hw_r_qpc_cq_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_cq_number_size(void);
+#define CONNECTIB_HW_R_QPC_CQ_NUMBER_SIZE    (0x40)
+void connectib_hw_r_qpc_cq_number_dump(const struct connectib_hw_r_qpc_cq_number *ptr_struct, FILE* file);
+/* hw_r_qpc_expected_psn */
+void connectib_hw_r_qpc_expected_psn_pack(const struct connectib_hw_r_qpc_expected_psn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_expected_psn_unpack(struct connectib_hw_r_qpc_expected_psn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_expected_psn_print(const struct connectib_hw_r_qpc_expected_psn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_expected_psn_size(void);
+#define CONNECTIB_HW_R_QPC_EXPECTED_PSN_SIZE    (0x40)
+void connectib_hw_r_qpc_expected_psn_dump(const struct connectib_hw_r_qpc_expected_psn *ptr_struct, FILE* file);
+/* hw_r_qpc_flush_syndrom */
+void connectib_hw_r_qpc_flush_syndrom_pack(const struct connectib_hw_r_qpc_flush_syndrom *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_flush_syndrom_unpack(struct connectib_hw_r_qpc_flush_syndrom *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_flush_syndrom_print(const struct connectib_hw_r_qpc_flush_syndrom *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_flush_syndrom_size(void);
+#define CONNECTIB_HW_R_QPC_FLUSH_SYNDROM_SIZE    (0x40)
+void connectib_hw_r_qpc_flush_syndrom_dump(const struct connectib_hw_r_qpc_flush_syndrom *ptr_struct, FILE* file);
+/* hw_r_qpc_counter_index */
+void connectib_hw_r_qpc_counter_index_pack(const struct connectib_hw_r_qpc_counter_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_counter_index_unpack(struct connectib_hw_r_qpc_counter_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_counter_index_print(const struct connectib_hw_r_qpc_counter_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_counter_index_size(void);
+#define CONNECTIB_HW_R_QPC_COUNTER_INDEX_SIZE    (0x40)
+void connectib_hw_r_qpc_counter_index_dump(const struct connectib_hw_r_qpc_counter_index *ptr_struct, FILE* file);
+/* hw_r_qpc_always_zero */
+void connectib_hw_r_qpc_always_zero_pack(const struct connectib_hw_r_qpc_always_zero *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_always_zero_unpack(struct connectib_hw_r_qpc_always_zero *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_always_zero_print(const struct connectib_hw_r_qpc_always_zero *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_always_zero_size(void);
+#define CONNECTIB_HW_R_QPC_ALWAYS_ZERO_SIZE    (0x40)
+void connectib_hw_r_qpc_always_zero_dump(const struct connectib_hw_r_qpc_always_zero *ptr_struct, FILE* file);
+/* hw_r_qpc_rdb_read_pointer */
+void connectib_hw_r_qpc_rdb_read_pointer_pack(const struct connectib_hw_r_qpc_rdb_read_pointer *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rdb_read_pointer_unpack(struct connectib_hw_r_qpc_rdb_read_pointer *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rdb_read_pointer_print(const struct connectib_hw_r_qpc_rdb_read_pointer *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rdb_read_pointer_size(void);
+#define CONNECTIB_HW_R_QPC_RDB_READ_POINTER_SIZE    (0x40)
+void connectib_hw_r_qpc_rdb_read_pointer_dump(const struct connectib_hw_r_qpc_rdb_read_pointer *ptr_struct, FILE* file);
+/* hw_r_qpc_rx_length_committed */
+void connectib_hw_r_qpc_rx_length_committed_pack(const struct connectib_hw_r_qpc_rx_length_committed *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rx_length_committed_unpack(struct connectib_hw_r_qpc_rx_length_committed *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_rx_length_committed_print(const struct connectib_hw_r_qpc_rx_length_committed *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_rx_length_committed_size(void);
+#define CONNECTIB_HW_R_QPC_RX_LENGTH_COMMITTED_SIZE    (0x40)
+void connectib_hw_r_qpc_rx_length_committed_dump(const struct connectib_hw_r_qpc_rx_length_committed *ptr_struct, FILE* file);
+/* hw_r_qpc_ts */
+void connectib_hw_r_qpc_ts_pack(const struct connectib_hw_r_qpc_ts *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_ts_unpack(struct connectib_hw_r_qpc_ts *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_ts_print(const struct connectib_hw_r_qpc_ts *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_ts_size(void);
+#define CONNECTIB_HW_R_QPC_TS_SIZE    (0x40)
+void connectib_hw_r_qpc_ts_dump(const struct connectib_hw_r_qpc_ts *ptr_struct, FILE* file);
+/* hw_r_qpc_sx_heartbeat */
+void connectib_hw_r_qpc_sx_heartbeat_pack(const struct connectib_hw_r_qpc_sx_heartbeat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_sx_heartbeat_unpack(struct connectib_hw_r_qpc_sx_heartbeat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_sx_heartbeat_print(const struct connectib_hw_r_qpc_sx_heartbeat *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_sx_heartbeat_size(void);
+#define CONNECTIB_HW_R_QPC_SX_HEARTBEAT_SIZE    (0x40)
+void connectib_hw_r_qpc_sx_heartbeat_dump(const struct connectib_hw_r_qpc_sx_heartbeat *ptr_struct, FILE* file);
+/* hw_r_qpc_sqn */
+void connectib_hw_r_qpc_sqn_pack(const struct connectib_hw_r_qpc_sqn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_sqn_unpack(struct connectib_hw_r_qpc_sqn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_sqn_print(const struct connectib_hw_r_qpc_sqn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_sqn_size(void);
+#define CONNECTIB_HW_R_QPC_SQN_SIZE    (0x40)
+void connectib_hw_r_qpc_sqn_dump(const struct connectib_hw_r_qpc_sqn *ptr_struct, FILE* file);
+/* hw_r_qpc_dct_gvmi */
+void connectib_hw_r_qpc_dct_gvmi_pack(const struct connectib_hw_r_qpc_dct_gvmi *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_dct_gvmi_unpack(struct connectib_hw_r_qpc_dct_gvmi *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_dct_gvmi_print(const struct connectib_hw_r_qpc_dct_gvmi *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_dct_gvmi_size(void);
+#define CONNECTIB_HW_R_QPC_DCT_GVMI_SIZE    (0x40)
+void connectib_hw_r_qpc_dct_gvmi_dump(const struct connectib_hw_r_qpc_dct_gvmi *ptr_struct, FILE* file);
+/* hw_r_qpc_no_wqe_drop_count */
+void connectib_hw_r_qpc_no_wqe_drop_count_pack(const struct connectib_hw_r_qpc_no_wqe_drop_count *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_no_wqe_drop_count_unpack(struct connectib_hw_r_qpc_no_wqe_drop_count *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_no_wqe_drop_count_print(const struct connectib_hw_r_qpc_no_wqe_drop_count *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_no_wqe_drop_count_size(void);
+#define CONNECTIB_HW_R_QPC_NO_WQE_DROP_COUNT_SIZE    (0x40)
+void connectib_hw_r_qpc_no_wqe_drop_count_dump(const struct connectib_hw_r_qpc_no_wqe_drop_count *ptr_struct, FILE* file);
+/* hw_r_qpc_write_va_63_32 */
+void connectib_hw_r_qpc_write_va_63_32_pack(const struct connectib_hw_r_qpc_write_va_63_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_write_va_63_32_unpack(struct connectib_hw_r_qpc_write_va_63_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_write_va_63_32_print(const struct connectib_hw_r_qpc_write_va_63_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_write_va_63_32_size(void);
+#define CONNECTIB_HW_R_QPC_WRITE_VA_63_32_SIZE    (0x40)
+void connectib_hw_r_qpc_write_va_63_32_dump(const struct connectib_hw_r_qpc_write_va_63_32 *ptr_struct, FILE* file);
+/* hw_r_qpc_write_va_31_0 */
+void connectib_hw_r_qpc_write_va_31_0_pack(const struct connectib_hw_r_qpc_write_va_31_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_write_va_31_0_unpack(struct connectib_hw_r_qpc_write_va_31_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_write_va_31_0_print(const struct connectib_hw_r_qpc_write_va_31_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_write_va_31_0_size(void);
+#define CONNECTIB_HW_R_QPC_WRITE_VA_31_0_SIZE    (0x40)
+void connectib_hw_r_qpc_write_va_31_0_dump(const struct connectib_hw_r_qpc_write_va_31_0 *ptr_struct, FILE* file);
+/* hw_r_qpc_srq_number */
+void connectib_hw_r_qpc_srq_number_pack(const struct connectib_hw_r_qpc_srq_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_srq_number_unpack(struct connectib_hw_r_qpc_srq_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_srq_number_print(const struct connectib_hw_r_qpc_srq_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_srq_number_size(void);
+#define CONNECTIB_HW_R_QPC_SRQ_NUMBER_SIZE    (0x40)
+void connectib_hw_r_qpc_srq_number_dump(const struct connectib_hw_r_qpc_srq_number *ptr_struct, FILE* file);
+/* hw_r_qpc_next_dcr */
+void connectib_hw_r_qpc_next_dcr_pack(const struct connectib_hw_r_qpc_next_dcr *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_next_dcr_unpack(struct connectib_hw_r_qpc_next_dcr *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_next_dcr_print(const struct connectib_hw_r_qpc_next_dcr *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_next_dcr_size(void);
+#define CONNECTIB_HW_R_QPC_NEXT_DCR_SIZE    (0x40)
+void connectib_hw_r_qpc_next_dcr_dump(const struct connectib_hw_r_qpc_next_dcr *ptr_struct, FILE* file);
+/* hw_r_qpc_mpi_uar */
+void connectib_hw_r_qpc_mpi_uar_pack(const struct connectib_hw_r_qpc_mpi_uar *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_mpi_uar_unpack(struct connectib_hw_r_qpc_mpi_uar *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_mpi_uar_print(const struct connectib_hw_r_qpc_mpi_uar *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_mpi_uar_size(void);
+#define CONNECTIB_HW_R_QPC_MPI_UAR_SIZE    (0x40)
+void connectib_hw_r_qpc_mpi_uar_dump(const struct connectib_hw_r_qpc_mpi_uar *ptr_struct, FILE* file);
+/* hw_r_qpc_responder_session_id */
+void connectib_hw_r_qpc_responder_session_id_pack(const struct connectib_hw_r_qpc_responder_session_id *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_responder_session_id_unpack(struct connectib_hw_r_qpc_responder_session_id *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_responder_session_id_print(const struct connectib_hw_r_qpc_responder_session_id *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_responder_session_id_size(void);
+#define CONNECTIB_HW_R_QPC_RESPONDER_SESSION_ID_SIZE    (0x40)
+void connectib_hw_r_qpc_responder_session_id_dump(const struct connectib_hw_r_qpc_responder_session_id *ptr_struct, FILE* file);
+/* hw_r_qpc_xrc_domain */
+void connectib_hw_r_qpc_xrc_domain_pack(const struct connectib_hw_r_qpc_xrc_domain *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_xrc_domain_unpack(struct connectib_hw_r_qpc_xrc_domain *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_xrc_domain_print(const struct connectib_hw_r_qpc_xrc_domain *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_xrc_domain_size(void);
+#define CONNECTIB_HW_R_QPC_XRC_DOMAIN_SIZE    (0x40)
+void connectib_hw_r_qpc_xrc_domain_dump(const struct connectib_hw_r_qpc_xrc_domain *ptr_struct, FILE* file);
+/* hw_r_qpc_dcr_connected */
+void connectib_hw_r_qpc_dcr_connected_pack(const struct connectib_hw_r_qpc_dcr_connected *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_dcr_connected_unpack(struct connectib_hw_r_qpc_dcr_connected *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_dcr_connected_print(const struct connectib_hw_r_qpc_dcr_connected *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_dcr_connected_size(void);
+#define CONNECTIB_HW_R_QPC_DCR_CONNECTED_SIZE    (0x40)
+void connectib_hw_r_qpc_dcr_connected_dump(const struct connectib_hw_r_qpc_dcr_connected *ptr_struct, FILE* file);
+/* hw_r_qpc_e2e_pa_63_32 */
+void connectib_hw_r_qpc_e2e_pa_63_32_pack(const struct connectib_hw_r_qpc_e2e_pa_63_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_pa_63_32_unpack(struct connectib_hw_r_qpc_e2e_pa_63_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_pa_63_32_print(const struct connectib_hw_r_qpc_e2e_pa_63_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_e2e_pa_63_32_size(void);
+#define CONNECTIB_HW_R_QPC_E2E_PA_63_32_SIZE    (0x40)
+void connectib_hw_r_qpc_e2e_pa_63_32_dump(const struct connectib_hw_r_qpc_e2e_pa_63_32 *ptr_struct, FILE* file);
+/* hw_r_qpc_e2e_pa_31_2 */
+void connectib_hw_r_qpc_e2e_pa_31_2_pack(const struct connectib_hw_r_qpc_e2e_pa_31_2 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_pa_31_2_unpack(struct connectib_hw_r_qpc_e2e_pa_31_2 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_e2e_pa_31_2_print(const struct connectib_hw_r_qpc_e2e_pa_31_2 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_e2e_pa_31_2_size(void);
+#define CONNECTIB_HW_R_QPC_E2E_PA_31_2_SIZE    (0x40)
+void connectib_hw_r_qpc_e2e_pa_31_2_dump(const struct connectib_hw_r_qpc_e2e_pa_31_2 *ptr_struct, FILE* file);
+/* hw_r_qpc_check_source_mc_wire */
+void connectib_hw_r_qpc_check_source_mc_wire_pack(const struct connectib_hw_r_qpc_check_source_mc_wire *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_mc_wire_unpack(struct connectib_hw_r_qpc_check_source_mc_wire *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_check_source_mc_wire_print(const struct connectib_hw_r_qpc_check_source_mc_wire *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_check_source_mc_wire_size(void);
+#define CONNECTIB_HW_R_QPC_CHECK_SOURCE_MC_WIRE_SIZE    (0x40)
+void connectib_hw_r_qpc_check_source_mc_wire_dump(const struct connectib_hw_r_qpc_check_source_mc_wire *ptr_struct, FILE* file);
+/* hw_r_qpc_connection_state */
+void connectib_hw_r_qpc_connection_state_pack(const struct connectib_hw_r_qpc_connection_state *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_connection_state_unpack(struct connectib_hw_r_qpc_connection_state *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_connection_state_print(const struct connectib_hw_r_qpc_connection_state *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_connection_state_size(void);
+#define CONNECTIB_HW_R_QPC_CONNECTION_STATE_SIZE    (0x40)
+void connectib_hw_r_qpc_connection_state_dump(const struct connectib_hw_r_qpc_connection_state *ptr_struct, FILE* file);
 /* pf_vf_vpd */
 void connectib_pf_vf_vpd_pack(const struct connectib_pf_vf_vpd *ptr_struct, u_int8_t* ptr_buff);
 void connectib_pf_vf_vpd_unpack(struct connectib_pf_vf_vpd *ptr_struct, const u_int8_t* ptr_buff);
@@ -22440,13 +30912,83 @@ void connectib_serdes_param_mask_per_proto_ini_print(const struct connectib_serd
 int connectib_serdes_param_mask_per_proto_ini_size(void);
 #define CONNECTIB_SERDES_PARAM_MASK_PER_PROTO_INI_SIZE    (0x4)
 void connectib_serdes_param_mask_per_proto_ini_dump(const struct connectib_serdes_param_mask_per_proto_ini *ptr_struct, FILE* file);
-/* cmdif_ctx_dmfs */
-void connectib_cmdif_ctx_dmfs_pack(const struct connectib_cmdif_ctx_dmfs *ptr_struct, u_int8_t* ptr_buff);
-void connectib_cmdif_ctx_dmfs_unpack(struct connectib_cmdif_ctx_dmfs *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_cmdif_ctx_dmfs_print(const struct connectib_cmdif_ctx_dmfs *ptr_struct, FILE* file, int indent_level);
-int connectib_cmdif_ctx_dmfs_size(void);
-#define CONNECTIB_CMDIF_CTX_DMFS_SIZE    (0x20)
-void connectib_cmdif_ctx_dmfs_dump(const struct connectib_cmdif_ctx_dmfs *ptr_struct, FILE* file);
+/* pf_array_default_ones */
+void connectib_pf_array_default_ones_pack(const struct connectib_pf_array_default_ones *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pf_array_default_ones_unpack(struct connectib_pf_array_default_ones *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pf_array_default_ones_print(const struct connectib_pf_array_default_ones *ptr_struct, FILE* file, int indent_level);
+int connectib_pf_array_default_ones_size(void);
+#define CONNECTIB_PF_ARRAY_DEFAULT_ONES_SIZE    (0x8)
+void connectib_pf_array_default_ones_dump(const struct connectib_pf_array_default_ones *ptr_struct, FILE* file);
+/* nv_ets_tcN_config_reg */
+void connectib_nv_ets_tcN_config_reg_pack(const struct connectib_nv_ets_tcN_config_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_ets_tcN_config_reg_unpack(struct connectib_nv_ets_tcN_config_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_ets_tcN_config_reg_print(const struct connectib_nv_ets_tcN_config_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_ets_tcN_config_reg_size(void);
+#define CONNECTIB_NV_ETS_TCN_CONFIG_REG_SIZE    (0x8)
+void connectib_nv_ets_tcN_config_reg_dump(const struct connectib_nv_ets_tcN_config_reg *ptr_struct, FILE* file);
+/* cmdif_ctx_fpga_cap */
+void connectib_cmdif_ctx_fpga_cap_pack(const struct connectib_cmdif_ctx_fpga_cap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_fpga_cap_unpack(struct connectib_cmdif_ctx_fpga_cap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_fpga_cap_print(const struct connectib_cmdif_ctx_fpga_cap *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_fpga_cap_size(void);
+#define CONNECTIB_CMDIF_CTX_FPGA_CAP_SIZE    (0x20)
+void connectib_cmdif_ctx_fpga_cap_dump(const struct connectib_cmdif_ctx_fpga_cap *ptr_struct, FILE* file);
+/* cmdif_ctx_fpga_access_reg */
+void connectib_cmdif_ctx_fpga_access_reg_pack(const struct connectib_cmdif_ctx_fpga_access_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_fpga_access_reg_unpack(struct connectib_cmdif_ctx_fpga_access_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_fpga_access_reg_print(const struct connectib_cmdif_ctx_fpga_access_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_fpga_access_reg_size(void);
+#define CONNECTIB_CMDIF_CTX_FPGA_ACCESS_REG_SIZE    (0x20)
+void connectib_cmdif_ctx_fpga_access_reg_dump(const struct connectib_cmdif_ctx_fpga_access_reg *ptr_struct, FILE* file);
+/* cmdif_create_lag */
+void connectib_cmdif_create_lag_pack(const struct connectib_cmdif_create_lag *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_create_lag_unpack(struct connectib_cmdif_create_lag *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_create_lag_print(const struct connectib_cmdif_create_lag *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_create_lag_size(void);
+#define CONNECTIB_CMDIF_CREATE_LAG_SIZE    (0x20)
+void connectib_cmdif_create_lag_dump(const struct connectib_cmdif_create_lag *ptr_struct, FILE* file);
+/* cmdif_modify_sq */
+void connectib_cmdif_modify_sq_pack(const struct connectib_cmdif_modify_sq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_modify_sq_unpack(struct connectib_cmdif_modify_sq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_modify_sq_print(const struct connectib_cmdif_modify_sq *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_modify_sq_size(void);
+#define CONNECTIB_CMDIF_MODIFY_SQ_SIZE    (0x20)
+void connectib_cmdif_modify_sq_dump(const struct connectib_cmdif_modify_sq *ptr_struct, FILE* file);
+/* cmdif_modify_rq */
+void connectib_cmdif_modify_rq_pack(const struct connectib_cmdif_modify_rq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_modify_rq_unpack(struct connectib_cmdif_modify_rq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_modify_rq_print(const struct connectib_cmdif_modify_rq *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_modify_rq_size(void);
+#define CONNECTIB_CMDIF_MODIFY_RQ_SIZE    (0x20)
+void connectib_cmdif_modify_rq_dump(const struct connectib_cmdif_modify_rq *ptr_struct, FILE* file);
+/* cmdif_ctx_l2_table */
+void connectib_cmdif_ctx_l2_table_pack(const struct connectib_cmdif_ctx_l2_table *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_l2_table_unpack(struct connectib_cmdif_ctx_l2_table *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_l2_table_print(const struct connectib_cmdif_ctx_l2_table *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_l2_table_size(void);
+#define CONNECTIB_CMDIF_CTX_L2_TABLE_SIZE    (0x20)
+void connectib_cmdif_ctx_l2_table_dump(const struct connectib_cmdif_ctx_l2_table *ptr_struct, FILE* file);
+/* cmdif_ctx_dmfs_ft */
+void connectib_cmdif_ctx_dmfs_ft_pack(const struct connectib_cmdif_ctx_dmfs_ft *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_dmfs_ft_unpack(struct connectib_cmdif_ctx_dmfs_ft *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_dmfs_ft_print(const struct connectib_cmdif_ctx_dmfs_ft *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_dmfs_ft_size(void);
+#define CONNECTIB_CMDIF_CTX_DMFS_FT_SIZE    (0x20)
+void connectib_cmdif_ctx_dmfs_ft_dump(const struct connectib_cmdif_ctx_dmfs_ft *ptr_struct, FILE* file);
+/* cmdif_ctx_dmfs_fg */
+void connectib_cmdif_ctx_dmfs_fg_pack(const struct connectib_cmdif_ctx_dmfs_fg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_dmfs_fg_unpack(struct connectib_cmdif_ctx_dmfs_fg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_dmfs_fg_print(const struct connectib_cmdif_ctx_dmfs_fg *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_dmfs_fg_size(void);
+#define CONNECTIB_CMDIF_CTX_DMFS_FG_SIZE    (0x20)
+void connectib_cmdif_ctx_dmfs_fg_dump(const struct connectib_cmdif_ctx_dmfs_fg *ptr_struct, FILE* file);
+/* cmdif_ctx_dmfs_fte */
+void connectib_cmdif_ctx_dmfs_fte_pack(const struct connectib_cmdif_ctx_dmfs_fte *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_dmfs_fte_unpack(struct connectib_cmdif_ctx_dmfs_fte *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_dmfs_fte_print(const struct connectib_cmdif_ctx_dmfs_fte *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_dmfs_fte_size(void);
+#define CONNECTIB_CMDIF_CTX_DMFS_FTE_SIZE    (0x20)
+void connectib_cmdif_ctx_dmfs_fte_dump(const struct connectib_cmdif_ctx_dmfs_fte *ptr_struct, FILE* file);
 /* cmdif_ctx_create_mtt */
 void connectib_cmdif_ctx_create_mtt_pack(const struct connectib_cmdif_ctx_create_mtt *ptr_struct, u_int8_t* ptr_buff);
 void connectib_cmdif_ctx_create_mtt_unpack(struct connectib_cmdif_ctx_create_mtt *ptr_struct, const u_int8_t* ptr_buff);
@@ -22524,6 +31066,13 @@ void connectib_cmdif_ctx_rqt_print(const struct connectib_cmdif_ctx_rqt *ptr_str
 int connectib_cmdif_ctx_rqt_size(void);
 #define CONNECTIB_CMDIF_CTX_RQT_SIZE    (0x20)
 void connectib_cmdif_ctx_rqt_dump(const struct connectib_cmdif_ctx_rqt *ptr_struct, FILE* file);
+/* cmdif_ctx_special_create_xrq */
+void connectib_cmdif_ctx_special_create_xrq_pack(const struct connectib_cmdif_ctx_special_create_xrq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_create_xrq_unpack(struct connectib_cmdif_ctx_special_create_xrq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_create_xrq_print(const struct connectib_cmdif_ctx_special_create_xrq *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_create_xrq_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_CREATE_XRQ_SIZE    (0x20)
+void connectib_cmdif_ctx_special_create_xrq_dump(const struct connectib_cmdif_ctx_special_create_xrq *ptr_struct, FILE* file);
 /* cmdif_ctx_special_create_srq */
 void connectib_cmdif_ctx_special_create_srq_pack(const struct connectib_cmdif_ctx_special_create_srq *ptr_struct, u_int8_t* ptr_buff);
 void connectib_cmdif_ctx_special_create_srq_unpack(struct connectib_cmdif_ctx_special_create_srq *ptr_struct, const u_int8_t* ptr_buff);
@@ -22538,13 +31087,20 @@ void connectib_cmdif_ctx_special_create_rq_print(const struct connectib_cmdif_ct
 int connectib_cmdif_ctx_special_create_rq_size(void);
 #define CONNECTIB_CMDIF_CTX_SPECIAL_CREATE_RQ_SIZE    (0x20)
 void connectib_cmdif_ctx_special_create_rq_dump(const struct connectib_cmdif_ctx_special_create_rq *ptr_struct, FILE* file);
-/* cmdif_ctx_special_create_qp */
-void connectib_cmdif_ctx_special_create_qp_pack(const struct connectib_cmdif_ctx_special_create_qp *ptr_struct, u_int8_t* ptr_buff);
-void connectib_cmdif_ctx_special_create_qp_unpack(struct connectib_cmdif_ctx_special_create_qp *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_cmdif_ctx_special_create_qp_print(const struct connectib_cmdif_ctx_special_create_qp *ptr_struct, FILE* file, int indent_level);
-int connectib_cmdif_ctx_special_create_qp_size(void);
-#define CONNECTIB_CMDIF_CTX_SPECIAL_CREATE_QP_SIZE    (0x20)
-void connectib_cmdif_ctx_special_create_qp_dump(const struct connectib_cmdif_ctx_special_create_qp *ptr_struct, FILE* file);
+/* cmdif_ctx_special_qp_commands */
+void connectib_cmdif_ctx_special_qp_commands_pack(const struct connectib_cmdif_ctx_special_qp_commands *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_unpack(struct connectib_cmdif_ctx_special_qp_commands *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_qp_commands_print(const struct connectib_cmdif_ctx_special_qp_commands *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_qp_commands_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_QP_COMMANDS_SIZE    (0x20)
+void connectib_cmdif_ctx_special_qp_commands_dump(const struct connectib_cmdif_ctx_special_qp_commands *ptr_struct, FILE* file);
+/* cmdif_ctx_special_modify_tis */
+void connectib_cmdif_ctx_special_modify_tis_pack(const struct connectib_cmdif_ctx_special_modify_tis *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_modify_tis_unpack(struct connectib_cmdif_ctx_special_modify_tis *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_modify_tis_print(const struct connectib_cmdif_ctx_special_modify_tis *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_modify_tis_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_MODIFY_TIS_SIZE    (0x20)
+void connectib_cmdif_ctx_special_modify_tis_dump(const struct connectib_cmdif_ctx_special_modify_tis *ptr_struct, FILE* file);
 /* cmdif_ctx_special_modify_tir */
 void connectib_cmdif_ctx_special_modify_tir_pack(const struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, u_int8_t* ptr_buff);
 void connectib_cmdif_ctx_special_modify_tir_unpack(struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, const u_int8_t* ptr_buff);
@@ -22552,146 +31108,321 @@ void connectib_cmdif_ctx_special_modify_tir_print(const struct connectib_cmdif_c
 int connectib_cmdif_ctx_special_modify_tir_size(void);
 #define CONNECTIB_CMDIF_CTX_SPECIAL_MODIFY_TIR_SIZE    (0x20)
 void connectib_cmdif_ctx_special_modify_tir_dump(const struct connectib_cmdif_ctx_special_modify_tir *ptr_struct, FILE* file);
-/* cmdif_ctx_special_create */
-void connectib_cmdif_ctx_special_create_pack(const struct connectib_cmdif_ctx_special_create *ptr_struct, u_int8_t* ptr_buff);
-void connectib_cmdif_ctx_special_create_unpack(struct connectib_cmdif_ctx_special_create *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_cmdif_ctx_special_create_print(const struct connectib_cmdif_ctx_special_create *ptr_struct, FILE* file, int indent_level);
-int connectib_cmdif_ctx_special_create_size(void);
-#define CONNECTIB_CMDIF_CTX_SPECIAL_CREATE_SIZE    (0x20)
-void connectib_cmdif_ctx_special_create_dump(const struct connectib_cmdif_ctx_special_create *ptr_struct, FILE* file);
-/* flush_type_bitmask */
-void connectib_flush_type_bitmask_pack(const struct connectib_flush_type_bitmask *ptr_struct, u_int8_t* ptr_buff);
-void connectib_flush_type_bitmask_unpack(struct connectib_flush_type_bitmask *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_flush_type_bitmask_print(const struct connectib_flush_type_bitmask *ptr_struct, FILE* file, int indent_level);
-int connectib_flush_type_bitmask_size(void);
-#define CONNECTIB_FLUSH_TYPE_BITMASK_SIZE    (0x4)
-void connectib_flush_type_bitmask_dump(const struct connectib_flush_type_bitmask *ptr_struct, FILE* file);
-/* flush_type_bits */
-void connectib_flush_type_bits_pack(const struct connectib_flush_type_bits *ptr_struct, u_int8_t* ptr_buff);
-void connectib_flush_type_bits_unpack(struct connectib_flush_type_bits *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_flush_type_bits_print(const struct connectib_flush_type_bits *ptr_struct, FILE* file, int indent_level);
-int connectib_flush_type_bits_size(void);
-#define CONNECTIB_FLUSH_TYPE_BITS_SIZE    (0x4)
-void connectib_flush_type_bits_dump(const struct connectib_flush_type_bits *ptr_struct, FILE* file);
-/* project_nvqc */
-void connectib_project_nvqc_pack(const struct connectib_project_nvqc *ptr_struct, u_int8_t* ptr_buff);
-void connectib_project_nvqc_unpack(struct connectib_project_nvqc *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_project_nvqc_print(const struct connectib_project_nvqc *ptr_struct, FILE* file, int indent_level);
-int connectib_project_nvqc_size(void);
-#define CONNECTIB_PROJECT_NVQC_SIZE    (0x8)
-void connectib_project_nvqc_dump(const struct connectib_project_nvqc *ptr_struct, FILE* file);
-/* project_nvda */
-void connectib_project_nvda_pack(const struct connectib_project_nvda *ptr_struct, u_int8_t* ptr_buff);
-void connectib_project_nvda_unpack(struct connectib_project_nvda *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_project_nvda_print(const struct connectib_project_nvda *ptr_struct, FILE* file, int indent_level);
-int connectib_project_nvda_size(void);
-#define CONNECTIB_PROJECT_NVDA_SIZE    (0x2c)
-void connectib_project_nvda_dump(const struct connectib_project_nvda *ptr_struct, FILE* file);
-/* pmtu_reg */
-void connectib_pmtu_reg_pack(const struct connectib_pmtu_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_pmtu_reg_unpack(struct connectib_pmtu_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_pmtu_reg_print(const struct connectib_pmtu_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_pmtu_reg_size(void);
-#define CONNECTIB_PMTU_REG_SIZE    (0x10)
-void connectib_pmtu_reg_dump(const struct connectib_pmtu_reg *ptr_struct, FILE* file);
-/* pamp_reg */
-void connectib_pamp_reg_pack(const struct connectib_pamp_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_pamp_reg_unpack(struct connectib_pamp_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_pamp_reg_print(const struct connectib_pamp_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_pamp_reg_size(void);
-#define CONNECTIB_PAMP_REG_SIZE    (0x2c)
-void connectib_pamp_reg_dump(const struct connectib_pamp_reg *ptr_struct, FILE* file);
-/* slrg_reg */
-void connectib_slrg_reg_pack(const struct connectib_slrg_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_slrg_reg_unpack(struct connectib_slrg_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_slrg_reg_print(const struct connectib_slrg_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_slrg_reg_size(void);
-#define CONNECTIB_SLRG_REG_SIZE    (0x28)
-void connectib_slrg_reg_dump(const struct connectib_slrg_reg *ptr_struct, FILE* file);
-/* ptas_reg */
-void connectib_ptas_reg_pack(const struct connectib_ptas_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_ptas_reg_unpack(struct connectib_ptas_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_ptas_reg_print(const struct connectib_ptas_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_ptas_reg_size(void);
-#define CONNECTIB_PTAS_REG_SIZE    (0x2c)
-void connectib_ptas_reg_dump(const struct connectib_ptas_reg *ptr_struct, FILE* file);
-/* sltp_reg */
-void connectib_sltp_reg_pack(const struct connectib_sltp_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_sltp_reg_unpack(struct connectib_sltp_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_sltp_reg_print(const struct connectib_sltp_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_sltp_reg_size(void);
-#define CONNECTIB_SLTP_REG_SIZE    (0x14)
-void connectib_sltp_reg_dump(const struct connectib_sltp_reg *ptr_struct, FILE* file);
-/* slrp_reg */
-void connectib_slrp_reg_pack(const struct connectib_slrp_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_slrp_reg_unpack(struct connectib_slrp_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_slrp_reg_print(const struct connectib_slrp_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_slrp_reg_size(void);
-#define CONNECTIB_SLRP_REG_SIZE    (0x28)
-void connectib_slrp_reg_dump(const struct connectib_slrp_reg *ptr_struct, FILE* file);
-/* paos_reg */
-void connectib_paos_reg_pack(const struct connectib_paos_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_paos_reg_unpack(struct connectib_paos_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_paos_reg_print(const struct connectib_paos_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_paos_reg_size(void);
-#define CONNECTIB_PAOS_REG_SIZE    (0x10)
-void connectib_paos_reg_dump(const struct connectib_paos_reg *ptr_struct, FILE* file);
-/* mjtag */
-void connectib_mjtag_pack(const struct connectib_mjtag *ptr_struct, u_int8_t* ptr_buff);
-void connectib_mjtag_unpack(struct connectib_mjtag *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_mjtag_print(const struct connectib_mjtag *ptr_struct, FILE* file, int indent_level);
-int connectib_mjtag_size(void);
-#define CONNECTIB_MJTAG_SIZE    (0x2c)
-void connectib_mjtag_dump(const struct connectib_mjtag *ptr_struct, FILE* file);
-/* mfbe */
-void connectib_mfbe_pack(const struct connectib_mfbe *ptr_struct, u_int8_t* ptr_buff);
-void connectib_mfbe_unpack(struct connectib_mfbe *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_mfbe_print(const struct connectib_mfbe *ptr_struct, FILE* file, int indent_level);
-int connectib_mfbe_size(void);
-#define CONNECTIB_MFBE_SIZE    (0xc)
-void connectib_mfbe_dump(const struct connectib_mfbe *ptr_struct, FILE* file);
-/* project_mfba */
-void connectib_project_mfba_pack(const struct connectib_project_mfba *ptr_struct, u_int8_t* ptr_buff);
-void connectib_project_mfba_unpack(struct connectib_project_mfba *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_project_mfba_print(const struct connectib_project_mfba *ptr_struct, FILE* file, int indent_level);
-int connectib_project_mfba_size(void);
-#define CONNECTIB_PROJECT_MFBA_SIZE    (0x2c)
-void connectib_project_mfba_dump(const struct connectib_project_mfba *ptr_struct, FILE* file);
-/* register_misc_counters */
-void connectib_register_misc_counters_pack(const struct connectib_register_misc_counters *ptr_struct, u_int8_t* ptr_buff);
-void connectib_register_misc_counters_unpack(struct connectib_register_misc_counters *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_register_misc_counters_print(const struct connectib_register_misc_counters *ptr_struct, FILE* file, int indent_level);
-int connectib_register_misc_counters_size(void);
-#define CONNECTIB_REGISTER_MISC_COUNTERS_SIZE    (0x20)
-void connectib_register_misc_counters_dump(const struct connectib_register_misc_counters *ptr_struct, FILE* file);
-/* mtmp */
-void connectib_mtmp_pack(const struct connectib_mtmp *ptr_struct, u_int8_t* ptr_buff);
-void connectib_mtmp_unpack(struct connectib_mtmp *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_mtmp_print(const struct connectib_mtmp *ptr_struct, FILE* file, int indent_level);
-int connectib_mtmp_size(void);
-#define CONNECTIB_MTMP_SIZE    (0x1c)
-void connectib_mtmp_dump(const struct connectib_mtmp *ptr_struct, FILE* file);
-/* register_mfrl */
-void connectib_register_mfrl_pack(const struct connectib_register_mfrl *ptr_struct, u_int8_t* ptr_buff);
-void connectib_register_mfrl_unpack(struct connectib_register_mfrl *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_register_mfrl_print(const struct connectib_register_mfrl *ptr_struct, FILE* file, int indent_level);
-int connectib_register_mfrl_size(void);
-#define CONNECTIB_REGISTER_MFRL_SIZE    (0x10)
-void connectib_register_mfrl_dump(const struct connectib_register_mfrl *ptr_struct, FILE* file);
-/* register_mfai */
-void connectib_register_mfai_pack(const struct connectib_register_mfai *ptr_struct, u_int8_t* ptr_buff);
-void connectib_register_mfai_unpack(struct connectib_register_mfai *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_register_mfai_print(const struct connectib_register_mfai *ptr_struct, FILE* file, int indent_level);
-int connectib_register_mfai_size(void);
-#define CONNECTIB_REGISTER_MFAI_SIZE    (0x10)
-void connectib_register_mfai_dump(const struct connectib_register_mfai *ptr_struct, FILE* file);
-/* mfpa */
-void connectib_mfpa_pack(const struct connectib_mfpa *ptr_struct, u_int8_t* ptr_buff);
-void connectib_mfpa_unpack(struct connectib_mfpa *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_mfpa_print(const struct connectib_mfpa *ptr_struct, FILE* file, int indent_level);
-int connectib_mfpa_size(void);
-#define CONNECTIB_MFPA_SIZE    (0x20)
-void connectib_mfpa_dump(const struct connectib_mfpa *ptr_struct, FILE* file);
+/* cmdif_ctx_special_create */
+void connectib_cmdif_ctx_special_create_pack(const struct connectib_cmdif_ctx_special_create *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_create_unpack(struct connectib_cmdif_ctx_special_create *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmdif_ctx_special_create_print(const struct connectib_cmdif_ctx_special_create *ptr_struct, FILE* file, int indent_level);
+int connectib_cmdif_ctx_special_create_size(void);
+#define CONNECTIB_CMDIF_CTX_SPECIAL_CREATE_SIZE    (0x20)
+void connectib_cmdif_ctx_special_create_dump(const struct connectib_cmdif_ctx_special_create *ptr_struct, FILE* file);
+/* flush_type_bitmask */
+void connectib_flush_type_bitmask_pack(const struct connectib_flush_type_bitmask *ptr_struct, u_int8_t* ptr_buff);
+void connectib_flush_type_bitmask_unpack(struct connectib_flush_type_bitmask *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_flush_type_bitmask_print(const struct connectib_flush_type_bitmask *ptr_struct, FILE* file, int indent_level);
+int connectib_flush_type_bitmask_size(void);
+#define CONNECTIB_FLUSH_TYPE_BITMASK_SIZE    (0x4)
+void connectib_flush_type_bitmask_dump(const struct connectib_flush_type_bitmask *ptr_struct, FILE* file);
+/* flush_type_bits */
+void connectib_flush_type_bits_pack(const struct connectib_flush_type_bits *ptr_struct, u_int8_t* ptr_buff);
+void connectib_flush_type_bits_unpack(struct connectib_flush_type_bits *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_flush_type_bits_print(const struct connectib_flush_type_bits *ptr_struct, FILE* file, int indent_level);
+int connectib_flush_type_bits_size(void);
+#define CONNECTIB_FLUSH_TYPE_BITS_SIZE    (0x4)
+void connectib_flush_type_bits_dump(const struct connectib_flush_type_bits *ptr_struct, FILE* file);
+/* reg_access_reg_tlv_data */
+void connectib_reg_access_reg_tlv_data_pack(const union connectib_reg_access_reg_tlv_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_reg_access_reg_tlv_data_unpack(union connectib_reg_access_reg_tlv_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_reg_access_reg_tlv_data_print(const union connectib_reg_access_reg_tlv_data *ptr_struct, FILE* file, int indent_level);
+int connectib_reg_access_reg_tlv_data_size(void);
+#define CONNECTIB_REG_ACCESS_REG_TLV_DATA_SIZE    (0x2c)
+void connectib_reg_access_reg_tlv_data_dump(const union connectib_reg_access_reg_tlv_data *ptr_struct, FILE* file);
+/* pmaos_reg */
+void connectib_pmaos_reg_pack(const struct connectib_pmaos_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmaos_reg_unpack(struct connectib_pmaos_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmaos_reg_print(const struct connectib_pmaos_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pmaos_reg_size(void);
+#define CONNECTIB_PMAOS_REG_SIZE    (0x10)
+void connectib_pmaos_reg_dump(const struct connectib_pmaos_reg *ptr_struct, FILE* file);
+/* mtppse_reg */
+void connectib_mtppse_reg_pack(const struct connectib_mtppse_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mtppse_reg_unpack(struct connectib_mtppse_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mtppse_reg_print(const struct connectib_mtppse_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mtppse_reg_size(void);
+#define CONNECTIB_MTPPSE_REG_SIZE    (0x10)
+void connectib_mtppse_reg_dump(const struct connectib_mtppse_reg *ptr_struct, FILE* file);
+/* mtpps_reg */
+void connectib_mtpps_reg_pack(const struct connectib_mtpps_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mtpps_reg_unpack(struct connectib_mtpps_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mtpps_reg_print(const struct connectib_mtpps_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mtpps_reg_size(void);
+#define CONNECTIB_MTPPS_REG_SIZE    (0x40)
+void connectib_mtpps_reg_dump(const struct connectib_mtpps_reg *ptr_struct, FILE* file);
+/* fpga_ctrl */
+void connectib_fpga_ctrl_pack(const struct connectib_fpga_ctrl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fpga_ctrl_unpack(struct connectib_fpga_ctrl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fpga_ctrl_print(const struct connectib_fpga_ctrl *ptr_struct, FILE* file, int indent_level);
+int connectib_fpga_ctrl_size(void);
+#define CONNECTIB_FPGA_CTRL_SIZE    (0x10)
+void connectib_fpga_ctrl_dump(const struct connectib_fpga_ctrl *ptr_struct, FILE* file);
+/* fpga_cap */
+void connectib_fpga_cap_pack(const struct connectib_fpga_cap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fpga_cap_unpack(struct connectib_fpga_cap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fpga_cap_print(const struct connectib_fpga_cap *ptr_struct, FILE* file, int indent_level);
+int connectib_fpga_cap_size(void);
+#define CONNECTIB_FPGA_CAP_SIZE    (0x100)
+void connectib_fpga_cap_dump(const struct connectib_fpga_cap *ptr_struct, FILE* file);
+/* fpga_access_reg */
+void connectib_fpga_access_reg_pack(const struct connectib_fpga_access_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fpga_access_reg_unpack(struct connectib_fpga_access_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fpga_access_reg_print(const struct connectib_fpga_access_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_fpga_access_reg_size(void);
+#define CONNECTIB_FPGA_ACCESS_REG_SIZE    (0x14)
+void connectib_fpga_access_reg_dump(const struct connectib_fpga_access_reg *ptr_struct, FILE* file);
+/* pmmp_reg */
+void connectib_pmmp_reg_pack(const struct connectib_pmmp_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmmp_reg_unpack(struct connectib_pmmp_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmmp_reg_print(const struct connectib_pmmp_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pmmp_reg_size(void);
+#define CONNECTIB_PMMP_REG_SIZE    (0x2c)
+void connectib_pmmp_reg_dump(const struct connectib_pmmp_reg *ptr_struct, FILE* file);
+/* pcmr_reg */
+void connectib_pcmr_reg_pack(const struct connectib_pcmr_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pcmr_reg_unpack(struct connectib_pcmr_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pcmr_reg_print(const struct connectib_pcmr_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pcmr_reg_size(void);
+#define CONNECTIB_PCMR_REG_SIZE    (0xc)
+void connectib_pcmr_reg_dump(const struct connectib_pcmr_reg *ptr_struct, FILE* file);
+/* mcion_reg */
+void connectib_mcion_reg_pack(const struct connectib_mcion_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mcion_reg_unpack(struct connectib_mcion_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mcion_reg_print(const struct connectib_mcion_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mcion_reg_size(void);
+#define CONNECTIB_MCION_REG_SIZE    (0x18)
+void connectib_mcion_reg_dump(const struct connectib_mcion_reg *ptr_struct, FILE* file);
+/* pddr_reg */
+void connectib_pddr_reg_pack(const struct connectib_pddr_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pddr_reg_unpack(struct connectib_pddr_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pddr_reg_print(const struct connectib_pddr_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pddr_reg_size(void);
+#define CONNECTIB_PDDR_REG_SIZE    (0x100)
+void connectib_pddr_reg_dump(const struct connectib_pddr_reg *ptr_struct, FILE* file);
+/* mpcnt_reg */
+void connectib_mpcnt_reg_pack(const struct connectib_mpcnt_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mpcnt_reg_unpack(struct connectib_mpcnt_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mpcnt_reg_print(const struct connectib_mpcnt_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mpcnt_reg_size(void);
+#define CONNECTIB_MPCNT_REG_SIZE    (0x100)
+void connectib_mpcnt_reg_dump(const struct connectib_mpcnt_reg *ptr_struct, FILE* file);
+/* mcia_reg */
+void connectib_mcia_reg_pack(const struct connectib_mcia_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mcia_reg_unpack(struct connectib_mcia_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mcia_reg_print(const struct connectib_mcia_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mcia_reg_size(void);
+#define CONNECTIB_MCIA_REG_SIZE    (0x40)
+void connectib_mcia_reg_dump(const struct connectib_mcia_reg *ptr_struct, FILE* file);
+/* ppad_reg */
+void connectib_ppad_reg_pack(const struct connectib_ppad_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ppad_reg_unpack(struct connectib_ppad_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ppad_reg_print(const struct connectib_ppad_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_ppad_reg_size(void);
+#define CONNECTIB_PPAD_REG_SIZE    (0x10)
+void connectib_ppad_reg_dump(const struct connectib_ppad_reg *ptr_struct, FILE* file);
+/* pvlc_reg */
+void connectib_pvlc_reg_pack(const struct connectib_pvlc_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pvlc_reg_unpack(struct connectib_pvlc_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pvlc_reg_print(const struct connectib_pvlc_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pvlc_reg_size(void);
+#define CONNECTIB_PVLC_REG_SIZE    (0x10)
+void connectib_pvlc_reg_dump(const struct connectib_pvlc_reg *ptr_struct, FILE* file);
+/* ppcnt_reg */
+void connectib_ppcnt_reg_pack(const struct connectib_ppcnt_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ppcnt_reg_unpack(struct connectib_ppcnt_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ppcnt_reg_print(const struct connectib_ppcnt_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_ppcnt_reg_size(void);
+#define CONNECTIB_PPCNT_REG_SIZE    (0x100)
+void connectib_ppcnt_reg_dump(const struct connectib_ppcnt_reg *ptr_struct, FILE* file);
+/* ptys_reg */
+void connectib_ptys_reg_pack(const struct connectib_ptys_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ptys_reg_unpack(struct connectib_ptys_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ptys_reg_print(const struct connectib_ptys_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_ptys_reg_size(void);
+#define CONNECTIB_PTYS_REG_SIZE    (0x40)
+void connectib_ptys_reg_dump(const struct connectib_ptys_reg *ptr_struct, FILE* file);
+/* pmlp_reg */
+void connectib_pmlp_reg_pack(const struct connectib_pmlp_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pmlp_reg_unpack(struct connectib_pmlp_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pmlp_reg_print(const struct connectib_pmlp_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pmlp_reg_size(void);
+#define CONNECTIB_PMLP_REG_SIZE    (0x40)
+void connectib_pmlp_reg_dump(const struct connectib_pmlp_reg *ptr_struct, FILE* file);
+/* register_mfbe */
+void connectib_register_mfbe_pack(const struct connectib_register_mfbe *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_mfbe_unpack(struct connectib_register_mfbe *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_mfbe_print(const struct connectib_register_mfbe *ptr_struct, FILE* file, int indent_level);
+int connectib_register_mfbe_size(void);
+#define CONNECTIB_REGISTER_MFBE_SIZE    (0xc)
+void connectib_register_mfbe_dump(const struct connectib_register_mfbe *ptr_struct, FILE* file);
+/* register_mfba */
+void connectib_register_mfba_pack(const struct connectib_register_mfba *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_mfba_unpack(struct connectib_register_mfba *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_mfba_print(const struct connectib_register_mfba *ptr_struct, FILE* file, int indent_level);
+int connectib_register_mfba_size(void);
+#define CONNECTIB_REGISTER_MFBA_SIZE    (0x2c)
+void connectib_register_mfba_dump(const struct connectib_register_mfba *ptr_struct, FILE* file);
+/* register_mfpa */
+void connectib_register_mfpa_pack(const struct connectib_register_mfpa *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_mfpa_unpack(struct connectib_register_mfpa *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_mfpa_print(const struct connectib_register_mfpa *ptr_struct, FILE* file, int indent_level);
+int connectib_register_mfpa_size(void);
+#define CONNECTIB_REGISTER_MFPA_SIZE    (0x20)
+void connectib_register_mfpa_dump(const struct connectib_register_mfpa *ptr_struct, FILE* file);
+/* db_threshold_register_layout */
+void connectib_db_threshold_register_layout_pack(const struct connectib_db_threshold_register_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_db_threshold_register_layout_unpack(struct connectib_db_threshold_register_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_db_threshold_register_layout_print(const struct connectib_db_threshold_register_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_db_threshold_register_layout_size(void);
+#define CONNECTIB_DB_THRESHOLD_REGISTER_LAYOUT_SIZE    (0x10)
+void connectib_db_threshold_register_layout_dump(const struct connectib_db_threshold_register_layout *ptr_struct, FILE* file);
+/* register_pplr */
+void connectib_register_pplr_pack(const struct connectib_register_pplr *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_pplr_unpack(struct connectib_register_pplr *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_pplr_print(const struct connectib_register_pplr *ptr_struct, FILE* file, int indent_level);
+int connectib_register_pplr_size(void);
+#define CONNECTIB_REGISTER_PPLR_SIZE    (0x10)
+void connectib_register_pplr_dump(const struct connectib_register_pplr *ptr_struct, FILE* file);
+/* register_host_endianness */
+void connectib_register_host_endianness_pack(const struct connectib_register_host_endianness *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_host_endianness_unpack(struct connectib_register_host_endianness *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_host_endianness_print(const struct connectib_register_host_endianness *ptr_struct, FILE* file, int indent_level);
+int connectib_register_host_endianness_size(void);
+#define CONNECTIB_REGISTER_HOST_ENDIANNESS_SIZE    (0x10)
+void connectib_register_host_endianness_dump(const struct connectib_register_host_endianness *ptr_struct, FILE* file);
+/* register_fp_sl_map */
+void connectib_register_fp_sl_map_pack(const struct connectib_register_fp_sl_map *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_fp_sl_map_unpack(struct connectib_register_fp_sl_map *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_fp_sl_map_print(const struct connectib_register_fp_sl_map *ptr_struct, FILE* file, int indent_level);
+int connectib_register_fp_sl_map_size(void);
+#define CONNECTIB_REGISTER_FP_SL_MAP_SIZE    (0x10)
+void connectib_register_fp_sl_map_dump(const struct connectib_register_fp_sl_map *ptr_struct, FILE* file);
+/* register_power_settings */
+void connectib_register_power_settings_pack(const struct connectib_register_power_settings *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_power_settings_unpack(struct connectib_register_power_settings *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_power_settings_print(const struct connectib_register_power_settings *ptr_struct, FILE* file, int indent_level);
+int connectib_register_power_settings_size(void);
+#define CONNECTIB_REGISTER_POWER_SETTINGS_SIZE    (0x10)
+void connectib_register_power_settings_dump(const struct connectib_register_power_settings *ptr_struct, FILE* file);
+/* register_loopback_control */
+void connectib_register_loopback_control_pack(const struct connectib_register_loopback_control *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_loopback_control_unpack(struct connectib_register_loopback_control *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_loopback_control_print(const struct connectib_register_loopback_control *ptr_struct, FILE* file, int indent_level);
+int connectib_register_loopback_control_size(void);
+#define CONNECTIB_REGISTER_LOOPBACK_CONTROL_SIZE    (0x10)
+void connectib_register_loopback_control_dump(const struct connectib_register_loopback_control *ptr_struct, FILE* file);
+/* pfcc_reg */
+void connectib_pfcc_reg_pack(const struct connectib_pfcc_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pfcc_reg_unpack(struct connectib_pfcc_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pfcc_reg_print(const struct connectib_pfcc_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pfcc_reg_size(void);
+#define CONNECTIB_PFCC_REG_SIZE    (0x20)
+void connectib_pfcc_reg_dump(const struct connectib_pfcc_reg *ptr_struct, FILE* file);
+/* access_register_unit_port_capabilities */
+void connectib_access_register_unit_port_capabilities_pack(const struct connectib_access_register_unit_port_capabilities *ptr_struct, u_int8_t* ptr_buff);
+void connectib_access_register_unit_port_capabilities_unpack(struct connectib_access_register_unit_port_capabilities *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_access_register_unit_port_capabilities_print(const struct connectib_access_register_unit_port_capabilities *ptr_struct, FILE* file, int indent_level);
+int connectib_access_register_unit_port_capabilities_size(void);
+#define CONNECTIB_ACCESS_REGISTER_UNIT_PORT_CAPABILITIES_SIZE    (0x14)
+void connectib_access_register_unit_port_capabilities_dump(const struct connectib_access_register_unit_port_capabilities *ptr_struct, FILE* file);
+/* register_unit_perf_counters_global_ctrl */
+void connectib_register_unit_perf_counters_global_ctrl_pack(const struct connectib_register_unit_perf_counters_global_ctrl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_unit_perf_counters_global_ctrl_unpack(struct connectib_register_unit_perf_counters_global_ctrl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_unit_perf_counters_global_ctrl_print(const struct connectib_register_unit_perf_counters_global_ctrl *ptr_struct, FILE* file, int indent_level);
+int connectib_register_unit_perf_counters_global_ctrl_size(void);
+#define CONNECTIB_REGISTER_UNIT_PERF_COUNTERS_GLOBAL_CTRL_SIZE    (0x10)
+void connectib_register_unit_perf_counters_global_ctrl_dump(const struct connectib_register_unit_perf_counters_global_ctrl *ptr_struct, FILE* file);
+/* access_register_unit_perf_counters_data */
+void connectib_access_register_unit_perf_counters_data_pack(const struct connectib_access_register_unit_perf_counters_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_access_register_unit_perf_counters_data_unpack(struct connectib_access_register_unit_perf_counters_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_access_register_unit_perf_counters_data_print(const struct connectib_access_register_unit_perf_counters_data *ptr_struct, FILE* file, int indent_level);
+int connectib_access_register_unit_perf_counters_data_size(void);
+#define CONNECTIB_ACCESS_REGISTER_UNIT_PERF_COUNTERS_DATA_SIZE    (0x20)
+void connectib_access_register_unit_perf_counters_data_dump(const struct connectib_access_register_unit_perf_counters_data *ptr_struct, FILE* file);
+/* access_register_unit_perf_counters_cfg */
+void connectib_access_register_unit_perf_counters_cfg_pack(const struct connectib_access_register_unit_perf_counters_cfg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_access_register_unit_perf_counters_cfg_unpack(struct connectib_access_register_unit_perf_counters_cfg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_access_register_unit_perf_counters_cfg_print(const struct connectib_access_register_unit_perf_counters_cfg *ptr_struct, FILE* file, int indent_level);
+int connectib_access_register_unit_perf_counters_cfg_size(void);
+#define CONNECTIB_ACCESS_REGISTER_UNIT_PERF_COUNTERS_CFG_SIZE    (0x20)
+void connectib_access_register_unit_perf_counters_cfg_dump(const struct connectib_access_register_unit_perf_counters_cfg *ptr_struct, FILE* file);
+/* register_set_node */
+void connectib_register_set_node_pack(const struct connectib_register_set_node *ptr_struct, u_int8_t* ptr_buff);
+void connectib_register_set_node_unpack(struct connectib_register_set_node *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_register_set_node_print(const struct connectib_register_set_node *ptr_struct, FILE* file, int indent_level);
+int connectib_register_set_node_size(void);
+#define CONNECTIB_REGISTER_SET_NODE_SIZE    (0x40)
+void connectib_register_set_node_dump(const struct connectib_register_set_node *ptr_struct, FILE* file);
+/* dcbx_app_reg */
+void connectib_dcbx_app_reg_pack(const struct connectib_dcbx_app_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dcbx_app_reg_unpack(struct connectib_dcbx_app_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dcbx_app_reg_print(const struct connectib_dcbx_app_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_dcbx_app_reg_size(void);
+#define CONNECTIB_DCBX_APP_REG_SIZE    (0x14)
+void connectib_dcbx_app_reg_dump(const struct connectib_dcbx_app_reg *ptr_struct, FILE* file);
+/* dcbx_param_reg */
+void connectib_dcbx_param_reg_pack(const struct connectib_dcbx_param_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dcbx_param_reg_unpack(struct connectib_dcbx_param_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dcbx_param_reg_print(const struct connectib_dcbx_param_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_dcbx_param_reg_size(void);
+#define CONNECTIB_DCBX_PARAM_REG_SIZE    (0x40)
+void connectib_dcbx_param_reg_dump(const struct connectib_dcbx_param_reg *ptr_struct, FILE* file);
+/* mlcr */
+void connectib_mlcr_pack(const struct connectib_mlcr *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mlcr_unpack(struct connectib_mlcr *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mlcr_print(const struct connectib_mlcr *ptr_struct, FILE* file, int indent_level);
+int connectib_mlcr_size(void);
+#define CONNECTIB_MLCR_SIZE    (0xc)
+void connectib_mlcr_dump(const struct connectib_mlcr *ptr_struct, FILE* file);
+/* qhll */
+void connectib_qhll_pack(const struct connectib_qhll *ptr_struct, u_int8_t* ptr_buff);
+void connectib_qhll_unpack(struct connectib_qhll *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_qhll_print(const struct connectib_qhll *ptr_struct, FILE* file, int indent_level);
+int connectib_qhll_size(void);
+#define CONNECTIB_QHLL_SIZE    (0xc)
+void connectib_qhll_dump(const struct connectib_qhll *ptr_struct, FILE* file);
+/* qtct_reg */
+void connectib_qtct_reg_pack(const struct connectib_qtct_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_qtct_reg_unpack(struct connectib_qtct_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_qtct_reg_print(const struct connectib_qtct_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_qtct_reg_size(void);
+#define CONNECTIB_QTCT_REG_SIZE    (0x8)
+void connectib_qtct_reg_dump(const struct connectib_qtct_reg *ptr_struct, FILE* file);
+/* qpdp_reg */
+void connectib_qpdp_reg_pack(const struct connectib_qpdp_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_qpdp_reg_unpack(struct connectib_qpdp_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_qpdp_reg_print(const struct connectib_qpdp_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_qpdp_reg_size(void);
+#define CONNECTIB_QPDP_REG_SIZE    (0x8)
+void connectib_qpdp_reg_dump(const struct connectib_qpdp_reg *ptr_struct, FILE* file);
+/* qetcr_reg */
+void connectib_qetcr_reg_pack(const struct connectib_qetcr_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_qetcr_reg_unpack(struct connectib_qetcr_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_qetcr_reg_print(const struct connectib_qetcr_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_qetcr_reg_size(void);
+#define CONNECTIB_QETCR_REG_SIZE    (0x50)
+void connectib_qetcr_reg_dump(const struct connectib_qetcr_reg *ptr_struct, FILE* file);
+/* pcam_reg */
+void connectib_pcam_reg_pack(const struct connectib_pcam_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pcam_reg_unpack(struct connectib_pcam_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pcam_reg_print(const struct connectib_pcam_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_pcam_reg_size(void);
+#define CONNECTIB_PCAM_REG_SIZE    (0x50)
+void connectib_pcam_reg_dump(const struct connectib_pcam_reg *ptr_struct, FILE* file);
+/* mcam_reg */
+void connectib_mcam_reg_pack(const struct connectib_mcam_reg *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mcam_reg_unpack(struct connectib_mcam_reg *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mcam_reg_print(const struct connectib_mcam_reg *ptr_struct, FILE* file, int indent_level);
+int connectib_mcam_reg_size(void);
+#define CONNECTIB_MCAM_REG_SIZE    (0x48)
+void connectib_mcam_reg_dump(const struct connectib_mcam_reg *ptr_struct, FILE* file);
 /* ib_gid */
 void connectib_ib_gid_pack(const struct connectib_ib_gid *ptr_struct, u_int8_t* ptr_buff);
 void connectib_ib_gid_unpack(struct connectib_ib_gid *ptr_struct, const u_int8_t* ptr_buff);
@@ -22699,34 +31430,48 @@ void connectib_ib_gid_print(const struct connectib_ib_gid *ptr_struct, FILE* fil
 int connectib_ib_gid_size(void);
 #define CONNECTIB_IB_GID_SIZE    (0x10)
 void connectib_ib_gid_dump(const struct connectib_ib_gid *ptr_struct, FILE* file);
-/* dmfs_hash_meta */
-void connectib_dmfs_hash_meta_pack(const struct connectib_dmfs_hash_meta *ptr_struct, u_int8_t* ptr_buff);
-void connectib_dmfs_hash_meta_unpack(struct connectib_dmfs_hash_meta *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_dmfs_hash_meta_print(const struct connectib_dmfs_hash_meta *ptr_struct, FILE* file, int indent_level);
-int connectib_dmfs_hash_meta_size(void);
-#define CONNECTIB_DMFS_HASH_META_SIZE    (0x10)
-void connectib_dmfs_hash_meta_dump(const struct connectib_dmfs_hash_meta *ptr_struct, FILE* file);
+/* dmfs_encap_meta */
+void connectib_dmfs_encap_meta_pack(const struct connectib_dmfs_encap_meta *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dmfs_encap_meta_unpack(struct connectib_dmfs_encap_meta *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dmfs_encap_meta_print(const struct connectib_dmfs_encap_meta *ptr_struct, FILE* file, int indent_level);
+int connectib_dmfs_encap_meta_size(void);
+#define CONNECTIB_DMFS_ENCAP_META_SIZE    (0x8)
+void connectib_dmfs_encap_meta_dump(const struct connectib_dmfs_encap_meta *ptr_struct, FILE* file);
+/* flow_counter_fw_ctx */
+void connectib_flow_counter_fw_ctx_pack(const struct connectib_flow_counter_fw_ctx *ptr_struct, u_int8_t* ptr_buff);
+void connectib_flow_counter_fw_ctx_unpack(struct connectib_flow_counter_fw_ctx *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_flow_counter_fw_ctx_print(const struct connectib_flow_counter_fw_ctx *ptr_struct, FILE* file, int indent_level);
+int connectib_flow_counter_fw_ctx_size(void);
+#define CONNECTIB_FLOW_COUNTER_FW_CTX_SIZE    (0x20)
+void connectib_flow_counter_fw_ctx_dump(const struct connectib_flow_counter_fw_ctx *ptr_struct, FILE* file);
+/* l2_table_entry_fw_ctx */
+void connectib_l2_table_entry_fw_ctx_pack(const struct connectib_l2_table_entry_fw_ctx *ptr_struct, u_int8_t* ptr_buff);
+void connectib_l2_table_entry_fw_ctx_unpack(struct connectib_l2_table_entry_fw_ctx *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_l2_table_entry_fw_ctx_print(const struct connectib_l2_table_entry_fw_ctx *ptr_struct, FILE* file, int indent_level);
+int connectib_l2_table_entry_fw_ctx_size(void);
+#define CONNECTIB_L2_TABLE_ENTRY_FW_CTX_SIZE    (0x20)
+void connectib_l2_table_entry_fw_ctx_dump(const struct connectib_l2_table_entry_fw_ctx *ptr_struct, FILE* file);
 /* dmfs_fte_meta */
 void connectib_dmfs_fte_meta_pack(const struct connectib_dmfs_fte_meta *ptr_struct, u_int8_t* ptr_buff);
 void connectib_dmfs_fte_meta_unpack(struct connectib_dmfs_fte_meta *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_dmfs_fte_meta_print(const struct connectib_dmfs_fte_meta *ptr_struct, FILE* file, int indent_level);
 int connectib_dmfs_fte_meta_size(void);
-#define CONNECTIB_DMFS_FTE_META_SIZE    (0x8)
+#define CONNECTIB_DMFS_FTE_META_SIZE    (0x40)
 void connectib_dmfs_fte_meta_dump(const struct connectib_dmfs_fte_meta *ptr_struct, FILE* file);
 /* dmfs_ft_meta */
 void connectib_dmfs_ft_meta_pack(const struct connectib_dmfs_ft_meta *ptr_struct, u_int8_t* ptr_buff);
 void connectib_dmfs_ft_meta_unpack(struct connectib_dmfs_ft_meta *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_dmfs_ft_meta_print(const struct connectib_dmfs_ft_meta *ptr_struct, FILE* file, int indent_level);
 int connectib_dmfs_ft_meta_size(void);
-#define CONNECTIB_DMFS_FT_META_SIZE    (0x20)
+#define CONNECTIB_DMFS_FT_META_SIZE    (0x40)
 void connectib_dmfs_ft_meta_dump(const struct connectib_dmfs_ft_meta *ptr_struct, FILE* file);
-/* dmfs_group_meta */
-void connectib_dmfs_group_meta_pack(const struct connectib_dmfs_group_meta *ptr_struct, u_int8_t* ptr_buff);
-void connectib_dmfs_group_meta_unpack(struct connectib_dmfs_group_meta *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_dmfs_group_meta_print(const struct connectib_dmfs_group_meta *ptr_struct, FILE* file, int indent_level);
-int connectib_dmfs_group_meta_size(void);
-#define CONNECTIB_DMFS_GROUP_META_SIZE    (0x40)
-void connectib_dmfs_group_meta_dump(const struct connectib_dmfs_group_meta *ptr_struct, FILE* file);
+/* dmfs_fg_meta */
+void connectib_dmfs_fg_meta_pack(const struct connectib_dmfs_fg_meta *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dmfs_fg_meta_unpack(struct connectib_dmfs_fg_meta *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dmfs_fg_meta_print(const struct connectib_dmfs_fg_meta *ptr_struct, FILE* file, int indent_level);
+int connectib_dmfs_fg_meta_size(void);
+#define CONNECTIB_DMFS_FG_META_SIZE    (0x40)
+void connectib_dmfs_fg_meta_dump(const struct connectib_dmfs_fg_meta *ptr_struct, FILE* file);
 /* mkey_dump */
 void connectib_mkey_dump_pack(const struct connectib_mkey_dump *ptr_struct, u_int8_t* ptr_buff);
 void connectib_mkey_dump_unpack(struct connectib_mkey_dump *ptr_struct, const u_int8_t* ptr_buff);
@@ -22825,6 +31570,76 @@ void connectib_hw_timer_print(const struct connectib_hw_timer *ptr_struct, FILE*
 int connectib_hw_timer_size(void);
 #define CONNECTIB_HW_TIMER_SIZE    (0x1)
 void connectib_hw_timer_dump(const struct connectib_hw_timer *ptr_struct, FILE* file);
+/* sxdc_requestor_in_sq */
+void connectib_sxdc_requestor_in_sq_pack(const struct connectib_sxdc_requestor_in_sq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_requestor_in_sq_unpack(struct connectib_sxdc_requestor_in_sq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_requestor_in_sq_print(const struct connectib_sxdc_requestor_in_sq *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_requestor_in_sq_size(void);
+#define CONNECTIB_SXDC_REQUESTOR_IN_SQ_SIZE    (0x8)
+void connectib_sxdc_requestor_in_sq_dump(const struct connectib_sxdc_requestor_in_sq *ptr_struct, FILE* file);
+/* sxdc_responder_in_sq */
+void connectib_sxdc_responder_in_sq_pack(const struct connectib_sxdc_responder_in_sq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_responder_in_sq_unpack(struct connectib_sxdc_responder_in_sq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_responder_in_sq_print(const struct connectib_sxdc_responder_in_sq *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_responder_in_sq_size(void);
+#define CONNECTIB_SXDC_RESPONDER_IN_SQ_SIZE    (0x8)
+void connectib_sxdc_responder_in_sq_dump(const struct connectib_sxdc_responder_in_sq *ptr_struct, FILE* file);
+/* sxdc_scheduling_interrupt */
+void connectib_sxdc_scheduling_interrupt_pack(const struct connectib_sxdc_scheduling_interrupt *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_scheduling_interrupt_unpack(struct connectib_sxdc_scheduling_interrupt *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_scheduling_interrupt_print(const struct connectib_sxdc_scheduling_interrupt *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_scheduling_interrupt_size(void);
+#define CONNECTIB_SXDC_SCHEDULING_INTERRUPT_SIZE    (0x8)
+void connectib_sxdc_scheduling_interrupt_dump(const struct connectib_sxdc_scheduling_interrupt *ptr_struct, FILE* file);
+/* sxdc_doorbell_int */
+void connectib_sxdc_doorbell_int_pack(const struct connectib_sxdc_doorbell_int *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_doorbell_int_unpack(struct connectib_sxdc_doorbell_int *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_doorbell_int_print(const struct connectib_sxdc_doorbell_int *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_doorbell_int_size(void);
+#define CONNECTIB_SXDC_DOORBELL_INT_SIZE    (0x8)
+void connectib_sxdc_doorbell_int_dump(const struct connectib_sxdc_doorbell_int *ptr_struct, FILE* file);
+/* sxdc_fast_path */
+void connectib_sxdc_fast_path_pack(const struct connectib_sxdc_fast_path *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_fast_path_unpack(struct connectib_sxdc_fast_path *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_fast_path_print(const struct connectib_sxdc_fast_path *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_fast_path_size(void);
+#define CONNECTIB_SXDC_FAST_PATH_SIZE    (0x8)
+void connectib_sxdc_fast_path_dump(const struct connectib_sxdc_fast_path *ptr_struct, FILE* file);
+/* sxdc_external_db_en */
+void connectib_sxdc_external_db_en_pack(const struct connectib_sxdc_external_db_en *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_external_db_en_unpack(struct connectib_sxdc_external_db_en *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_external_db_en_print(const struct connectib_sxdc_external_db_en *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_external_db_en_size(void);
+#define CONNECTIB_SXDC_EXTERNAL_DB_EN_SIZE    (0x8)
+void connectib_sxdc_external_db_en_dump(const struct connectib_sxdc_external_db_en *ptr_struct, FILE* file);
+/* sxdc_valid */
+void connectib_sxdc_valid_pack(const struct connectib_sxdc_valid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_valid_unpack(struct connectib_sxdc_valid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_valid_print(const struct connectib_sxdc_valid *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_valid_size(void);
+#define CONNECTIB_SXDC_VALID_SIZE    (0x8)
+void connectib_sxdc_valid_dump(const struct connectib_sxdc_valid *ptr_struct, FILE* file);
+/* sxdc_sq */
+void connectib_sxdc_sq_pack(const struct connectib_sxdc_sq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_sq_unpack(struct connectib_sxdc_sq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_sq_print(const struct connectib_sxdc_sq *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_sq_size(void);
+#define CONNECTIB_SXDC_SQ_SIZE    (0x8)
+void connectib_sxdc_sq_dump(const struct connectib_sxdc_sq *ptr_struct, FILE* file);
+/* sxdc_swqe_producer_index */
+void connectib_sxdc_swqe_producer_index_pack(const struct connectib_sxdc_swqe_producer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_swqe_producer_index_unpack(struct connectib_sxdc_swqe_producer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_swqe_producer_index_print(const struct connectib_sxdc_swqe_producer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_swqe_producer_index_size(void);
+#define CONNECTIB_SXDC_SWQE_PRODUCER_INDEX_SIZE    (0x8)
+void connectib_sxdc_swqe_producer_index_dump(const struct connectib_sxdc_swqe_producer_index *ptr_struct, FILE* file);
+/* sxdc_uar */
+void connectib_sxdc_uar_pack(const struct connectib_sxdc_uar *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sxdc_uar_unpack(struct connectib_sxdc_uar *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sxdc_uar_print(const struct connectib_sxdc_uar *ptr_struct, FILE* file, int indent_level);
+int connectib_sxdc_uar_size(void);
+#define CONNECTIB_SXDC_UAR_SIZE    (0x8)
+void connectib_sxdc_uar_dump(const struct connectib_sxdc_uar *ptr_struct, FILE* file);
 /* hw_bsf_entry_w_non_repeating_m_non_repeating */
 void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_pack(const struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, u_int8_t* ptr_buff);
 void connectib_hw_bsf_entry_w_non_repeating_m_non_repeating_unpack(struct connectib_hw_bsf_entry_w_non_repeating_m_non_repeating *ptr_struct, const u_int8_t* ptr_buff);
@@ -22868,194 +31683,852 @@ int connectib_hw_bsf_entry_same_block_repeating_size(void);
 #define CONNECTIB_HW_BSF_ENTRY_SAME_BLOCK_REPEATING_SIZE    (0x40)
 void connectib_hw_bsf_entry_same_block_repeating_dump(const struct connectib_hw_bsf_entry_same_block_repeating *ptr_struct, FILE* file);
 /* hw_dct */
-void connectib_hw_dct_pack(const struct connectib_hw_dct *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_dct_unpack(struct connectib_hw_dct *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_dct_print(const struct connectib_hw_dct *ptr_struct, FILE* file, int indent_level);
+void connectib_hw_dct_pack(const union connectib_hw_dct *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_dct_unpack(union connectib_hw_dct *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_dct_print(const union connectib_hw_dct *ptr_struct, FILE* file, int indent_level);
 int connectib_hw_dct_size(void);
 #define CONNECTIB_HW_DCT_SIZE    (0x40)
-void connectib_hw_dct_dump(const struct connectib_hw_dct *ptr_struct, FILE* file);
-/* hw_r_qpc_ud_l2_cd */
-void connectib_hw_r_qpc_ud_l2_cd_pack(const struct connectib_hw_r_qpc_ud_l2_cd *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_ud_l2_cd_unpack(struct connectib_hw_r_qpc_ud_l2_cd *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_ud_l2_cd_print(const struct connectib_hw_r_qpc_ud_l2_cd *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_ud_l2_cd_size(void);
-#define CONNECTIB_HW_R_QPC_UD_L2_CD_SIZE    (0x40)
-void connectib_hw_r_qpc_ud_l2_cd_dump(const struct connectib_hw_r_qpc_ud_l2_cd *ptr_struct, FILE* file);
-/* hw_r_qpc_ud_l2_2srq */
-void connectib_hw_r_qpc_ud_l2_2srq_pack(const struct connectib_hw_r_qpc_ud_l2_2srq *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_ud_l2_2srq_unpack(struct connectib_hw_r_qpc_ud_l2_2srq *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_ud_l2_2srq_print(const struct connectib_hw_r_qpc_ud_l2_2srq *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_ud_l2_2srq_size(void);
-#define CONNECTIB_HW_R_QPC_UD_L2_2SRQ_SIZE    (0x40)
-void connectib_hw_r_qpc_ud_l2_2srq_dump(const struct connectib_hw_r_qpc_ud_l2_2srq *ptr_struct, FILE* file);
-/* hw_r_qpc_ud_l2_2cyclicbuff */
-void connectib_hw_r_qpc_ud_l2_2cyclicbuff_pack(const struct connectib_hw_r_qpc_ud_l2_2cyclicbuff *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_ud_l2_2cyclicbuff_unpack(struct connectib_hw_r_qpc_ud_l2_2cyclicbuff *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_ud_l2_2cyclicbuff_print(const struct connectib_hw_r_qpc_ud_l2_2cyclicbuff *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_ud_l2_2cyclicbuff_size(void);
-#define CONNECTIB_HW_R_QPC_UD_L2_2CYCLICBUFF_SIZE    (0x40)
-void connectib_hw_r_qpc_ud_l2_2cyclicbuff_dump(const struct connectib_hw_r_qpc_ud_l2_2cyclicbuff *ptr_struct, FILE* file);
-/* hw_r_qpc_ud_l2 */
-void connectib_hw_r_qpc_ud_l2_pack(const struct connectib_hw_r_qpc_ud_l2 *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_ud_l2_unpack(struct connectib_hw_r_qpc_ud_l2 *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_ud_l2_print(const struct connectib_hw_r_qpc_ud_l2 *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_ud_l2_size(void);
-#define CONNECTIB_HW_R_QPC_UD_L2_SIZE    (0x40)
-void connectib_hw_r_qpc_ud_l2_dump(const struct connectib_hw_r_qpc_ud_l2 *ptr_struct, FILE* file);
-/* hw_r_qpc_unconnected_common */
-void connectib_hw_r_qpc_unconnected_common_pack(const struct connectib_hw_r_qpc_unconnected_common *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_unconnected_common_unpack(struct connectib_hw_r_qpc_unconnected_common *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_unconnected_common_print(const struct connectib_hw_r_qpc_unconnected_common *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_unconnected_common_size(void);
-#define CONNECTIB_HW_R_QPC_UNCONNECTED_COMMON_SIZE    (0x40)
-void connectib_hw_r_qpc_unconnected_common_dump(const struct connectib_hw_r_qpc_unconnected_common *ptr_struct, FILE* file);
-/* hw_r_qpc_xrc */
-void connectib_hw_r_qpc_xrc_pack(const struct connectib_hw_r_qpc_xrc *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_xrc_unpack(struct connectib_hw_r_qpc_xrc *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_xrc_print(const struct connectib_hw_r_qpc_xrc *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_xrc_size(void);
-#define CONNECTIB_HW_R_QPC_XRC_SIZE    (0x40)
-void connectib_hw_r_qpc_xrc_dump(const struct connectib_hw_r_qpc_xrc *ptr_struct, FILE* file);
-/* hw_r_qpc_dcr */
-void connectib_hw_r_qpc_dcr_pack(const struct connectib_hw_r_qpc_dcr *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_dcr_unpack(struct connectib_hw_r_qpc_dcr *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_dcr_print(const struct connectib_hw_r_qpc_dcr *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_dcr_size(void);
-#define CONNECTIB_HW_R_QPC_DCR_SIZE    (0x40)
-void connectib_hw_r_qpc_dcr_dump(const struct connectib_hw_r_qpc_dcr *ptr_struct, FILE* file);
-/* hw_r_qpc_rc_uc_2srq */
-void connectib_hw_r_qpc_rc_uc_2srq_pack(const struct connectib_hw_r_qpc_rc_uc_2srq *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_rc_uc_2srq_unpack(struct connectib_hw_r_qpc_rc_uc_2srq *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_rc_uc_2srq_print(const struct connectib_hw_r_qpc_rc_uc_2srq *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_rc_uc_2srq_size(void);
-#define CONNECTIB_HW_R_QPC_RC_UC_2SRQ_SIZE    (0x40)
-void connectib_hw_r_qpc_rc_uc_2srq_dump(const struct connectib_hw_r_qpc_rc_uc_2srq *ptr_struct, FILE* file);
-/* hw_r_qpc_rc_uc_2cycbuff */
-void connectib_hw_r_qpc_rc_uc_2cycbuff_pack(const struct connectib_hw_r_qpc_rc_uc_2cycbuff *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_rc_uc_2cycbuff_unpack(struct connectib_hw_r_qpc_rc_uc_2cycbuff *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_rc_uc_2cycbuff_print(const struct connectib_hw_r_qpc_rc_uc_2cycbuff *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_rc_uc_2cycbuff_size(void);
-#define CONNECTIB_HW_R_QPC_RC_UC_2CYCBUFF_SIZE    (0x40)
-void connectib_hw_r_qpc_rc_uc_2cycbuff_dump(const struct connectib_hw_r_qpc_rc_uc_2cycbuff *ptr_struct, FILE* file);
-/* hw_r_qpc_rc_uc_cd */
-void connectib_hw_r_qpc_rc_uc_cd_pack(const struct connectib_hw_r_qpc_rc_uc_cd *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_rc_uc_cd_unpack(struct connectib_hw_r_qpc_rc_uc_cd *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_rc_uc_cd_print(const struct connectib_hw_r_qpc_rc_uc_cd *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_rc_uc_cd_size(void);
-#define CONNECTIB_HW_R_QPC_RC_UC_CD_SIZE    (0x40)
-void connectib_hw_r_qpc_rc_uc_cd_dump(const struct connectib_hw_r_qpc_rc_uc_cd *ptr_struct, FILE* file);
-/* hw_r_qpc_rc_uc_dci */
-void connectib_hw_r_qpc_rc_uc_dci_pack(const struct connectib_hw_r_qpc_rc_uc_dci *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_rc_uc_dci_unpack(struct connectib_hw_r_qpc_rc_uc_dci *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_rc_uc_dci_print(const struct connectib_hw_r_qpc_rc_uc_dci *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_rc_uc_dci_size(void);
-#define CONNECTIB_HW_R_QPC_RC_UC_DCI_SIZE    (0x40)
-void connectib_hw_r_qpc_rc_uc_dci_dump(const struct connectib_hw_r_qpc_rc_uc_dci *ptr_struct, FILE* file);
-/* hw_r_qpc_connected_common */
-void connectib_hw_r_qpc_connected_common_pack(const struct connectib_hw_r_qpc_connected_common *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_connected_common_unpack(struct connectib_hw_r_qpc_connected_common *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_connected_common_print(const struct connectib_hw_r_qpc_connected_common *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_connected_common_size(void);
-#define CONNECTIB_HW_R_QPC_CONNECTED_COMMON_SIZE    (0x40)
-void connectib_hw_r_qpc_connected_common_dump(const struct connectib_hw_r_qpc_connected_common *ptr_struct, FILE* file);
-/* hw_r_qpc_common */
-void connectib_hw_r_qpc_common_pack(const struct connectib_hw_r_qpc_common *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_common_unpack(struct connectib_hw_r_qpc_common *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_common_print(const struct connectib_hw_r_qpc_common *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_common_size(void);
-#define CONNECTIB_HW_R_QPC_COMMON_SIZE    (0x40)
-void connectib_hw_r_qpc_common_dump(const struct connectib_hw_r_qpc_common *ptr_struct, FILE* file);
-/* hw_s_qpc_ud_l2 */
-void connectib_hw_s_qpc_ud_l2_pack(const struct connectib_hw_s_qpc_ud_l2 *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_ud_l2_unpack(struct connectib_hw_s_qpc_ud_l2 *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_ud_l2_print(const struct connectib_hw_s_qpc_ud_l2 *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_s_qpc_ud_l2_size(void);
-#define CONNECTIB_HW_S_QPC_UD_L2_SIZE    (0x40)
-void connectib_hw_s_qpc_ud_l2_dump(const struct connectib_hw_s_qpc_ud_l2 *ptr_struct, FILE* file);
-/* hw_s_qpc_dci */
-void connectib_hw_s_qpc_dci_pack(const struct connectib_hw_s_qpc_dci *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_dci_unpack(struct connectib_hw_s_qpc_dci *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_dci_print(const struct connectib_hw_s_qpc_dci *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_s_qpc_dci_size(void);
-#define CONNECTIB_HW_S_QPC_DCI_SIZE    (0x40)
-void connectib_hw_s_qpc_dci_dump(const struct connectib_hw_s_qpc_dci *ptr_struct, FILE* file);
-/* hw_s_qpc_rc_uc_dcr */
-void connectib_hw_s_qpc_rc_uc_dcr_pack(const struct connectib_hw_s_qpc_rc_uc_dcr *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_rc_uc_dcr_unpack(struct connectib_hw_s_qpc_rc_uc_dcr *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_rc_uc_dcr_print(const struct connectib_hw_s_qpc_rc_uc_dcr *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_s_qpc_rc_uc_dcr_size(void);
-#define CONNECTIB_HW_S_QPC_RC_UC_DCR_SIZE    (0x40)
-void connectib_hw_s_qpc_rc_uc_dcr_dump(const struct connectib_hw_s_qpc_rc_uc_dcr *ptr_struct, FILE* file);
-/* hw_s_qpc_connected_common */
-void connectib_hw_s_qpc_connected_common_pack(const struct connectib_hw_s_qpc_connected_common *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_connected_common_unpack(struct connectib_hw_s_qpc_connected_common *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_connected_common_print(const struct connectib_hw_s_qpc_connected_common *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_s_qpc_connected_common_size(void);
-#define CONNECTIB_HW_S_QPC_CONNECTED_COMMON_SIZE    (0x40)
-void connectib_hw_s_qpc_connected_common_dump(const struct connectib_hw_s_qpc_connected_common *ptr_struct, FILE* file);
-/* hw_s_qpc_common */
-void connectib_hw_s_qpc_common_pack(const struct connectib_hw_s_qpc_common *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_common_unpack(struct connectib_hw_s_qpc_common *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_s_qpc_common_print(const struct connectib_hw_s_qpc_common *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_s_qpc_common_size(void);
-#define CONNECTIB_HW_S_QPC_COMMON_SIZE    (0x40)
-void connectib_hw_s_qpc_common_dump(const struct connectib_hw_s_qpc_common *ptr_struct, FILE* file);
-/* hw_c_qpc_unconnected_2cycbuff */
-void connectib_hw_c_qpc_unconnected_2cycbuff_pack(const struct connectib_hw_c_qpc_unconnected_2cycbuff *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_unconnected_2cycbuff_unpack(struct connectib_hw_c_qpc_unconnected_2cycbuff *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_unconnected_2cycbuff_print(const struct connectib_hw_c_qpc_unconnected_2cycbuff *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_c_qpc_unconnected_2cycbuff_size(void);
-#define CONNECTIB_HW_C_QPC_UNCONNECTED_2CYCBUFF_SIZE    (0x40)
-void connectib_hw_c_qpc_unconnected_2cycbuff_dump(const struct connectib_hw_c_qpc_unconnected_2cycbuff *ptr_struct, FILE* file);
-/* hw_c_qpc_unconnected */
-void connectib_hw_c_qpc_unconnected_pack(const struct connectib_hw_c_qpc_unconnected *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_unconnected_unpack(struct connectib_hw_c_qpc_unconnected *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_unconnected_print(const struct connectib_hw_c_qpc_unconnected *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_c_qpc_unconnected_size(void);
-#define CONNECTIB_HW_C_QPC_UNCONNECTED_SIZE    (0x40)
-void connectib_hw_c_qpc_unconnected_dump(const struct connectib_hw_c_qpc_unconnected *ptr_struct, FILE* file);
-/* hw_c_qpc_unconnected_common */
-void connectib_hw_c_qpc_unconnected_common_pack(const struct connectib_hw_c_qpc_unconnected_common *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_unconnected_common_unpack(struct connectib_hw_c_qpc_unconnected_common *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_unconnected_common_print(const struct connectib_hw_c_qpc_unconnected_common *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_c_qpc_unconnected_common_size(void);
-#define CONNECTIB_HW_C_QPC_UNCONNECTED_COMMON_SIZE    (0x40)
-void connectib_hw_c_qpc_unconnected_common_dump(const struct connectib_hw_c_qpc_unconnected_common *ptr_struct, FILE* file);
-/* hw_c_qpc_connected_dual */
-void connectib_hw_c_qpc_connected_dual_pack(const struct connectib_hw_c_qpc_connected_dual *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_connected_dual_unpack(struct connectib_hw_c_qpc_connected_dual *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_connected_dual_print(const struct connectib_hw_c_qpc_connected_dual *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_c_qpc_connected_dual_size(void);
-#define CONNECTIB_HW_C_QPC_CONNECTED_DUAL_SIZE    (0x40)
-void connectib_hw_c_qpc_connected_dual_dump(const struct connectib_hw_c_qpc_connected_dual *ptr_struct, FILE* file);
-/* hw_c_qpc_connected_2cycbuff */
-void connectib_hw_c_qpc_connected_2cycbuff_pack(const struct connectib_hw_c_qpc_connected_2cycbuff *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_connected_2cycbuff_unpack(struct connectib_hw_c_qpc_connected_2cycbuff *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_connected_2cycbuff_print(const struct connectib_hw_c_qpc_connected_2cycbuff *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_c_qpc_connected_2cycbuff_size(void);
-#define CONNECTIB_HW_C_QPC_CONNECTED_2CYCBUFF_SIZE    (0x40)
-void connectib_hw_c_qpc_connected_2cycbuff_dump(const struct connectib_hw_c_qpc_connected_2cycbuff *ptr_struct, FILE* file);
-/* hw_c_qpc_connected */
-void connectib_hw_c_qpc_connected_pack(const struct connectib_hw_c_qpc_connected *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_connected_unpack(struct connectib_hw_c_qpc_connected *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_connected_print(const struct connectib_hw_c_qpc_connected *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_c_qpc_connected_size(void);
-#define CONNECTIB_HW_C_QPC_CONNECTED_SIZE    (0x40)
-void connectib_hw_c_qpc_connected_dump(const struct connectib_hw_c_qpc_connected *ptr_struct, FILE* file);
-/* hw_c_qpc_connected_common */
-void connectib_hw_c_qpc_connected_common_pack(const struct connectib_hw_c_qpc_connected_common *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_connected_common_unpack(struct connectib_hw_c_qpc_connected_common *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_connected_common_print(const struct connectib_hw_c_qpc_connected_common *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_c_qpc_connected_common_size(void);
-#define CONNECTIB_HW_C_QPC_CONNECTED_COMMON_SIZE    (0x40)
-void connectib_hw_c_qpc_connected_common_dump(const struct connectib_hw_c_qpc_connected_common *ptr_struct, FILE* file);
-/* hw_c_qpc_common */
-void connectib_hw_c_qpc_common_pack(const struct connectib_hw_c_qpc_common *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_common_unpack(struct connectib_hw_c_qpc_common *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_c_qpc_common_print(const struct connectib_hw_c_qpc_common *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_c_qpc_common_size(void);
-#define CONNECTIB_HW_C_QPC_COMMON_SIZE    (0x40)
-void connectib_hw_c_qpc_common_dump(const struct connectib_hw_c_qpc_common *ptr_struct, FILE* file);
+void connectib_hw_dct_dump(const union connectib_hw_dct *ptr_struct, FILE* file);
+/* hw_r_qpc */
+void connectib_hw_r_qpc_pack(const union connectib_hw_r_qpc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_unpack(union connectib_hw_r_qpc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_r_qpc_print(const union connectib_hw_r_qpc *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_r_qpc_size(void);
+#define CONNECTIB_HW_R_QPC_SIZE    (0x40)
+void connectib_hw_r_qpc_dump(const union connectib_hw_r_qpc *ptr_struct, FILE* file);
+/* hw_s_qpc_packet_allowed */
+void connectib_hw_s_qpc_packet_allowed_pack(const struct connectib_hw_s_qpc_packet_allowed *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_packet_allowed_unpack(struct connectib_hw_s_qpc_packet_allowed *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_packet_allowed_print(const struct connectib_hw_s_qpc_packet_allowed *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_packet_allowed_size(void);
+#define CONNECTIB_HW_S_QPC_PACKET_ALLOWED_SIZE    (0x40)
+void connectib_hw_s_qpc_packet_allowed_dump(const struct connectib_hw_s_qpc_packet_allowed *ptr_struct, FILE* file);
+/* hw_s_qpc_qp_valid */
+void connectib_hw_s_qpc_qp_valid_pack(const struct connectib_hw_s_qpc_qp_valid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_qp_valid_unpack(struct connectib_hw_s_qpc_qp_valid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_qp_valid_print(const struct connectib_hw_s_qpc_qp_valid *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_qp_valid_size(void);
+#define CONNECTIB_HW_S_QPC_QP_VALID_SIZE    (0x40)
+void connectib_hw_s_qpc_qp_valid_dump(const struct connectib_hw_s_qpc_qp_valid *ptr_struct, FILE* file);
+/* hw_s_qpc_uncompleted_non_wire_wqe */
+void connectib_hw_s_qpc_uncompleted_non_wire_wqe_pack(const struct connectib_hw_s_qpc_uncompleted_non_wire_wqe *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_uncompleted_non_wire_wqe_unpack(struct connectib_hw_s_qpc_uncompleted_non_wire_wqe *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_uncompleted_non_wire_wqe_print(const struct connectib_hw_s_qpc_uncompleted_non_wire_wqe *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_uncompleted_non_wire_wqe_size(void);
+#define CONNECTIB_HW_S_QPC_UNCOMPLETED_NON_WIRE_WQE_SIZE    (0x40)
+void connectib_hw_s_qpc_uncompleted_non_wire_wqe_dump(const struct connectib_hw_s_qpc_uncompleted_non_wire_wqe *ptr_struct, FILE* file);
+/* hw_s_qpc_dc_full_handshake */
+void connectib_hw_s_qpc_dc_full_handshake_pack(const struct connectib_hw_s_qpc_dc_full_handshake *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_dc_full_handshake_unpack(struct connectib_hw_s_qpc_dc_full_handshake *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_dc_full_handshake_print(const struct connectib_hw_s_qpc_dc_full_handshake *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_dc_full_handshake_size(void);
+#define CONNECTIB_HW_S_QPC_DC_FULL_HANDSHAKE_SIZE    (0x40)
+void connectib_hw_s_qpc_dc_full_handshake_dump(const struct connectib_hw_s_qpc_dc_full_handshake *ptr_struct, FILE* file);
+/* hw_s_qpc_e2e_credits_enabled */
+void connectib_hw_s_qpc_e2e_credits_enabled_pack(const struct connectib_hw_s_qpc_e2e_credits_enabled *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_e2e_credits_enabled_unpack(struct connectib_hw_s_qpc_e2e_credits_enabled *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_e2e_credits_enabled_print(const struct connectib_hw_s_qpc_e2e_credits_enabled *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_e2e_credits_enabled_size(void);
+#define CONNECTIB_HW_S_QPC_E2E_CREDITS_ENABLED_SIZE    (0x40)
+void connectib_hw_s_qpc_e2e_credits_enabled_dump(const struct connectib_hw_s_qpc_e2e_credits_enabled *ptr_struct, FILE* file);
+/* hw_s_qpc_no_direct_access */
+void connectib_hw_s_qpc_no_direct_access_pack(const struct connectib_hw_s_qpc_no_direct_access *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_no_direct_access_unpack(struct connectib_hw_s_qpc_no_direct_access *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_no_direct_access_print(const struct connectib_hw_s_qpc_no_direct_access *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_no_direct_access_size(void);
+#define CONNECTIB_HW_S_QPC_NO_DIRECT_ACCESS_SIZE    (0x40)
+void connectib_hw_s_qpc_no_direct_access_dump(const struct connectib_hw_s_qpc_no_direct_access *ptr_struct, FILE* file);
+/* hw_s_qpc_umr_permission_select */
+void connectib_hw_s_qpc_umr_permission_select_pack(const struct connectib_hw_s_qpc_umr_permission_select *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_umr_permission_select_unpack(struct connectib_hw_s_qpc_umr_permission_select *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_umr_permission_select_print(const struct connectib_hw_s_qpc_umr_permission_select *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_umr_permission_select_size(void);
+#define CONNECTIB_HW_S_QPC_UMR_PERMISSION_SELECT_SIZE    (0x40)
+void connectib_hw_s_qpc_umr_permission_select_dump(const struct connectib_hw_s_qpc_umr_permission_select *ptr_struct, FILE* file);
+/* hw_s_qpc_max_read_atomic */
+void connectib_hw_s_qpc_max_read_atomic_pack(const struct connectib_hw_s_qpc_max_read_atomic *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_max_read_atomic_unpack(struct connectib_hw_s_qpc_max_read_atomic *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_max_read_atomic_print(const struct connectib_hw_s_qpc_max_read_atomic *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_max_read_atomic_size(void);
+#define CONNECTIB_HW_S_QPC_MAX_READ_ATOMIC_SIZE    (0x40)
+void connectib_hw_s_qpc_max_read_atomic_dump(const struct connectib_hw_s_qpc_max_read_atomic *ptr_struct, FILE* file);
+/* hw_s_qpc_extended_atomic */
+void connectib_hw_s_qpc_extended_atomic_pack(const struct connectib_hw_s_qpc_extended_atomic *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_extended_atomic_unpack(struct connectib_hw_s_qpc_extended_atomic *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_extended_atomic_print(const struct connectib_hw_s_qpc_extended_atomic *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_extended_atomic_size(void);
+#define CONNECTIB_HW_S_QPC_EXTENDED_ATOMIC_SIZE    (0x40)
+void connectib_hw_s_qpc_extended_atomic_dump(const struct connectib_hw_s_qpc_extended_atomic *ptr_struct, FILE* file);
+/* hw_s_qpc_ignore_pkey_check */
+void connectib_hw_s_qpc_ignore_pkey_check_pack(const struct connectib_hw_s_qpc_ignore_pkey_check *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ignore_pkey_check_unpack(struct connectib_hw_s_qpc_ignore_pkey_check *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ignore_pkey_check_print(const struct connectib_hw_s_qpc_ignore_pkey_check *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_ignore_pkey_check_size(void);
+#define CONNECTIB_HW_S_QPC_IGNORE_PKEY_CHECK_SIZE    (0x40)
+void connectib_hw_s_qpc_ignore_pkey_check_dump(const struct connectib_hw_s_qpc_ignore_pkey_check *ptr_struct, FILE* file);
+/* hw_s_qpc_rnr_nak_retry_counter */
+void connectib_hw_s_qpc_rnr_nak_retry_counter_pack(const struct connectib_hw_s_qpc_rnr_nak_retry_counter *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_rnr_nak_retry_counter_unpack(struct connectib_hw_s_qpc_rnr_nak_retry_counter *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_rnr_nak_retry_counter_print(const struct connectib_hw_s_qpc_rnr_nak_retry_counter *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_rnr_nak_retry_counter_size(void);
+#define CONNECTIB_HW_S_QPC_RNR_NAK_RETRY_COUNTER_SIZE    (0x40)
+void connectib_hw_s_qpc_rnr_nak_retry_counter_dump(const struct connectib_hw_s_qpc_rnr_nak_retry_counter *ptr_struct, FILE* file);
+/* hw_s_qpc_fast_path */
+void connectib_hw_s_qpc_fast_path_pack(const struct connectib_hw_s_qpc_fast_path *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_fast_path_unpack(struct connectib_hw_s_qpc_fast_path *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_fast_path_print(const struct connectib_hw_s_qpc_fast_path *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_fast_path_size(void);
+#define CONNECTIB_HW_S_QPC_FAST_PATH_SIZE    (0x40)
+void connectib_hw_s_qpc_fast_path_dump(const struct connectib_hw_s_qpc_fast_path *ptr_struct, FILE* file);
+/* hw_s_qpc_rnr_nak_retry_limit */
+void connectib_hw_s_qpc_rnr_nak_retry_limit_pack(const struct connectib_hw_s_qpc_rnr_nak_retry_limit *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_rnr_nak_retry_limit_unpack(struct connectib_hw_s_qpc_rnr_nak_retry_limit *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_rnr_nak_retry_limit_print(const struct connectib_hw_s_qpc_rnr_nak_retry_limit *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_rnr_nak_retry_limit_size(void);
+#define CONNECTIB_HW_S_QPC_RNR_NAK_RETRY_LIMIT_SIZE    (0x40)
+void connectib_hw_s_qpc_rnr_nak_retry_limit_dump(const struct connectib_hw_s_qpc_rnr_nak_retry_limit *ptr_struct, FILE* file);
+/* hw_s_qpc_inline_scatter */
+void connectib_hw_s_qpc_inline_scatter_pack(const struct connectib_hw_s_qpc_inline_scatter *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_inline_scatter_unpack(struct connectib_hw_s_qpc_inline_scatter *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_inline_scatter_print(const struct connectib_hw_s_qpc_inline_scatter *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_inline_scatter_size(void);
+#define CONNECTIB_HW_S_QPC_INLINE_SCATTER_SIZE    (0x40)
+void connectib_hw_s_qpc_inline_scatter_dump(const struct connectib_hw_s_qpc_inline_scatter *ptr_struct, FILE* file);
+/* hw_s_qpc_ldb_int */
+void connectib_hw_s_qpc_ldb_int_pack(const struct connectib_hw_s_qpc_ldb_int *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ldb_int_unpack(struct connectib_hw_s_qpc_ldb_int *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ldb_int_print(const struct connectib_hw_s_qpc_ldb_int *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_ldb_int_size(void);
+#define CONNECTIB_HW_S_QPC_LDB_INT_SIZE    (0x40)
+void connectib_hw_s_qpc_ldb_int_dump(const struct connectib_hw_s_qpc_ldb_int *ptr_struct, FILE* file);
+/* hw_s_qpc_rx_heartbeat */
+void connectib_hw_s_qpc_rx_heartbeat_pack(const struct connectib_hw_s_qpc_rx_heartbeat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_rx_heartbeat_unpack(struct connectib_hw_s_qpc_rx_heartbeat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_rx_heartbeat_print(const struct connectib_hw_s_qpc_rx_heartbeat *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_rx_heartbeat_size(void);
+#define CONNECTIB_HW_S_QPC_RX_HEARTBEAT_SIZE    (0x40)
+void connectib_hw_s_qpc_rx_heartbeat_dump(const struct connectib_hw_s_qpc_rx_heartbeat *ptr_struct, FILE* file);
+/* hw_s_qpc_frwr_enable */
+void connectib_hw_s_qpc_frwr_enable_pack(const struct connectib_hw_s_qpc_frwr_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_frwr_enable_unpack(struct connectib_hw_s_qpc_frwr_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_frwr_enable_print(const struct connectib_hw_s_qpc_frwr_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_frwr_enable_size(void);
+#define CONNECTIB_HW_S_QPC_FRWR_ENABLE_SIZE    (0x40)
+void connectib_hw_s_qpc_frwr_enable_dump(const struct connectib_hw_s_qpc_frwr_enable *ptr_struct, FILE* file);
+/* hw_s_qpc_umr_enable */
+void connectib_hw_s_qpc_umr_enable_pack(const struct connectib_hw_s_qpc_umr_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_umr_enable_unpack(struct connectib_hw_s_qpc_umr_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_umr_enable_print(const struct connectib_hw_s_qpc_umr_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_umr_enable_size(void);
+#define CONNECTIB_HW_S_QPC_UMR_ENABLE_SIZE    (0x40)
+void connectib_hw_s_qpc_umr_enable_dump(const struct connectib_hw_s_qpc_umr_enable *ptr_struct, FILE* file);
+/* hw_s_qpc_tcu_drop */
+void connectib_hw_s_qpc_tcu_drop_pack(const struct connectib_hw_s_qpc_tcu_drop *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_tcu_drop_unpack(struct connectib_hw_s_qpc_tcu_drop *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_tcu_drop_print(const struct connectib_hw_s_qpc_tcu_drop *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_tcu_drop_size(void);
+#define CONNECTIB_HW_S_QPC_TCU_DROP_SIZE    (0x40)
+void connectib_hw_s_qpc_tcu_drop_dump(const struct connectib_hw_s_qpc_tcu_drop *ptr_struct, FILE* file);
+/* hw_s_qpc_can_use_reserved_lkey */
+void connectib_hw_s_qpc_can_use_reserved_lkey_pack(const struct connectib_hw_s_qpc_can_use_reserved_lkey *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_can_use_reserved_lkey_unpack(struct connectib_hw_s_qpc_can_use_reserved_lkey *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_can_use_reserved_lkey_print(const struct connectib_hw_s_qpc_can_use_reserved_lkey *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_can_use_reserved_lkey_size(void);
+#define CONNECTIB_HW_S_QPC_CAN_USE_RESERVED_LKEY_SIZE    (0x40)
+void connectib_hw_s_qpc_can_use_reserved_lkey_dump(const struct connectib_hw_s_qpc_can_use_reserved_lkey *ptr_struct, FILE* file);
+/* hw_s_qpc_tcu_trap */
+void connectib_hw_s_qpc_tcu_trap_pack(const struct connectib_hw_s_qpc_tcu_trap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_tcu_trap_unpack(struct connectib_hw_s_qpc_tcu_trap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_tcu_trap_print(const struct connectib_hw_s_qpc_tcu_trap *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_tcu_trap_size(void);
+#define CONNECTIB_HW_S_QPC_TCU_TRAP_SIZE    (0x40)
+void connectib_hw_s_qpc_tcu_trap_dump(const struct connectib_hw_s_qpc_tcu_trap *ptr_struct, FILE* file);
+/* hw_s_qpc_ack_req_frequency */
+void connectib_hw_s_qpc_ack_req_frequency_pack(const struct connectib_hw_s_qpc_ack_req_frequency *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ack_req_frequency_unpack(struct connectib_hw_s_qpc_ack_req_frequency *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ack_req_frequency_print(const struct connectib_hw_s_qpc_ack_req_frequency *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_ack_req_frequency_size(void);
+#define CONNECTIB_HW_S_QPC_ACK_REQ_FREQUENCY_SIZE    (0x40)
+void connectib_hw_s_qpc_ack_req_frequency_dump(const struct connectib_hw_s_qpc_ack_req_frequency *ptr_struct, FILE* file);
+/* hw_s_qpc_limited_qp */
+void connectib_hw_s_qpc_limited_qp_pack(const struct connectib_hw_s_qpc_limited_qp *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_limited_qp_unpack(struct connectib_hw_s_qpc_limited_qp *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_limited_qp_print(const struct connectib_hw_s_qpc_limited_qp *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_limited_qp_size(void);
+#define CONNECTIB_HW_S_QPC_LIMITED_QP_SIZE    (0x40)
+void connectib_hw_s_qpc_limited_qp_dump(const struct connectib_hw_s_qpc_limited_qp *ptr_struct, FILE* file);
+/* hw_s_qpc_dc_state */
+void connectib_hw_s_qpc_dc_state_pack(const struct connectib_hw_s_qpc_dc_state *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_dc_state_unpack(struct connectib_hw_s_qpc_dc_state *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_dc_state_print(const struct connectib_hw_s_qpc_dc_state *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_dc_state_size(void);
+#define CONNECTIB_HW_S_QPC_DC_STATE_SIZE    (0x40)
+void connectib_hw_s_qpc_dc_state_dump(const struct connectib_hw_s_qpc_dc_state *ptr_struct, FILE* file);
+/* hw_s_qpc_currently_completing_wqe_index */
+void connectib_hw_s_qpc_currently_completing_wqe_index_pack(const struct connectib_hw_s_qpc_currently_completing_wqe_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_currently_completing_wqe_index_unpack(struct connectib_hw_s_qpc_currently_completing_wqe_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_currently_completing_wqe_index_print(const struct connectib_hw_s_qpc_currently_completing_wqe_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_currently_completing_wqe_index_size(void);
+#define CONNECTIB_HW_S_QPC_CURRENTLY_COMPLETING_WQE_INDEX_SIZE    (0x40)
+void connectib_hw_s_qpc_currently_completing_wqe_index_dump(const struct connectib_hw_s_qpc_currently_completing_wqe_index *ptr_struct, FILE* file);
+/* hw_s_qpc_swqe_consumer_index */
+void connectib_hw_s_qpc_swqe_consumer_index_pack(const struct connectib_hw_s_qpc_swqe_consumer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_swqe_consumer_index_unpack(struct connectib_hw_s_qpc_swqe_consumer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_swqe_consumer_index_print(const struct connectib_hw_s_qpc_swqe_consumer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_swqe_consumer_index_size(void);
+#define CONNECTIB_HW_S_QPC_SWQE_CONSUMER_INDEX_SIZE    (0x40)
+void connectib_hw_s_qpc_swqe_consumer_index_dump(const struct connectib_hw_s_qpc_swqe_consumer_index *ptr_struct, FILE* file);
+/* hw_s_qpc_qp_state */
+void connectib_hw_s_qpc_qp_state_pack(const struct connectib_hw_s_qpc_qp_state *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_qp_state_unpack(struct connectib_hw_s_qpc_qp_state *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_qp_state_print(const struct connectib_hw_s_qpc_qp_state *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_qp_state_size(void);
+#define CONNECTIB_HW_S_QPC_QP_STATE_SIZE    (0x40)
+void connectib_hw_s_qpc_qp_state_dump(const struct connectib_hw_s_qpc_qp_state *ptr_struct, FILE* file);
+/* hw_s_qpc_psn_since_ackreq */
+void connectib_hw_s_qpc_psn_since_ackreq_pack(const struct connectib_hw_s_qpc_psn_since_ackreq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_psn_since_ackreq_unpack(struct connectib_hw_s_qpc_psn_since_ackreq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_psn_since_ackreq_print(const struct connectib_hw_s_qpc_psn_since_ackreq *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_psn_since_ackreq_size(void);
+#define CONNECTIB_HW_S_QPC_PSN_SINCE_ACKREQ_SIZE    (0x40)
+void connectib_hw_s_qpc_psn_since_ackreq_dump(const struct connectib_hw_s_qpc_psn_since_ackreq *ptr_struct, FILE* file);
+/* hw_s_qpc_oldest_non_acked_psn */
+void connectib_hw_s_qpc_oldest_non_acked_psn_pack(const struct connectib_hw_s_qpc_oldest_non_acked_psn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_oldest_non_acked_psn_unpack(struct connectib_hw_s_qpc_oldest_non_acked_psn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_oldest_non_acked_psn_print(const struct connectib_hw_s_qpc_oldest_non_acked_psn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_oldest_non_acked_psn_size(void);
+#define CONNECTIB_HW_S_QPC_OLDEST_NON_ACKED_PSN_SIZE    (0x40)
+void connectib_hw_s_qpc_oldest_non_acked_psn_dump(const struct connectib_hw_s_qpc_oldest_non_acked_psn *ptr_struct, FILE* file);
+/* hw_s_qpc_deth_sqpn */
+void connectib_hw_s_qpc_deth_sqpn_pack(const struct connectib_hw_s_qpc_deth_sqpn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_deth_sqpn_unpack(struct connectib_hw_s_qpc_deth_sqpn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_deth_sqpn_print(const struct connectib_hw_s_qpc_deth_sqpn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_deth_sqpn_size(void);
+#define CONNECTIB_HW_S_QPC_DETH_SQPN_SIZE    (0x40)
+void connectib_hw_s_qpc_deth_sqpn_dump(const struct connectib_hw_s_qpc_deth_sqpn *ptr_struct, FILE* file);
+/* hw_s_qpc_responder_session_id */
+void connectib_hw_s_qpc_responder_session_id_pack(const struct connectib_hw_s_qpc_responder_session_id *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_responder_session_id_unpack(struct connectib_hw_s_qpc_responder_session_id *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_responder_session_id_print(const struct connectib_hw_s_qpc_responder_session_id *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_responder_session_id_size(void);
+#define CONNECTIB_HW_S_QPC_RESPONDER_SESSION_ID_SIZE    (0x40)
+void connectib_hw_s_qpc_responder_session_id_dump(const struct connectib_hw_s_qpc_responder_session_id *ptr_struct, FILE* file);
+/* hw_s_qpc_cq_number */
+void connectib_hw_s_qpc_cq_number_pack(const struct connectib_hw_s_qpc_cq_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_cq_number_unpack(struct connectib_hw_s_qpc_cq_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_cq_number_print(const struct connectib_hw_s_qpc_cq_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_cq_number_size(void);
+#define CONNECTIB_HW_S_QPC_CQ_NUMBER_SIZE    (0x40)
+void connectib_hw_s_qpc_cq_number_dump(const struct connectib_hw_s_qpc_cq_number *ptr_struct, FILE* file);
+/* hw_s_qpc_next_to_send_psn */
+void connectib_hw_s_qpc_next_to_send_psn_pack(const struct connectib_hw_s_qpc_next_to_send_psn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_next_to_send_psn_unpack(struct connectib_hw_s_qpc_next_to_send_psn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_next_to_send_psn_print(const struct connectib_hw_s_qpc_next_to_send_psn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_next_to_send_psn_size(void);
+#define CONNECTIB_HW_S_QPC_NEXT_TO_SEND_PSN_SIZE    (0x40)
+void connectib_hw_s_qpc_next_to_send_psn_dump(const struct connectib_hw_s_qpc_next_to_send_psn *ptr_struct, FILE* file);
+/* hw_s_qpc_flush_syndrom */
+void connectib_hw_s_qpc_flush_syndrom_pack(const struct connectib_hw_s_qpc_flush_syndrom *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_flush_syndrom_unpack(struct connectib_hw_s_qpc_flush_syndrom *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_flush_syndrom_print(const struct connectib_hw_s_qpc_flush_syndrom *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_flush_syndrom_size(void);
+#define CONNECTIB_HW_S_QPC_FLUSH_SYNDROM_SIZE    (0x40)
+void connectib_hw_s_qpc_flush_syndrom_dump(const struct connectib_hw_s_qpc_flush_syndrom *ptr_struct, FILE* file);
+/* hw_s_qpc_counter_index */
+void connectib_hw_s_qpc_counter_index_pack(const struct connectib_hw_s_qpc_counter_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_counter_index_unpack(struct connectib_hw_s_qpc_counter_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_counter_index_print(const struct connectib_hw_s_qpc_counter_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_counter_index_size(void);
+#define CONNECTIB_HW_S_QPC_COUNTER_INDEX_SIZE    (0x40)
+void connectib_hw_s_qpc_counter_index_dump(const struct connectib_hw_s_qpc_counter_index *ptr_struct, FILE* file);
+/* hw_s_qpc_ssn */
+void connectib_hw_s_qpc_ssn_pack(const struct connectib_hw_s_qpc_ssn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ssn_unpack(struct connectib_hw_s_qpc_ssn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ssn_print(const struct connectib_hw_s_qpc_ssn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_ssn_size(void);
+#define CONNECTIB_HW_S_QPC_SSN_SIZE    (0x40)
+void connectib_hw_s_qpc_ssn_dump(const struct connectib_hw_s_qpc_ssn *ptr_struct, FILE* file);
+/* hw_s_qpc_to_sequence_error_retry_counter */
+void connectib_hw_s_qpc_to_sequence_error_retry_counter_pack(const struct connectib_hw_s_qpc_to_sequence_error_retry_counter *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_to_sequence_error_retry_counter_unpack(struct connectib_hw_s_qpc_to_sequence_error_retry_counter *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_to_sequence_error_retry_counter_print(const struct connectib_hw_s_qpc_to_sequence_error_retry_counter *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_to_sequence_error_retry_counter_size(void);
+#define CONNECTIB_HW_S_QPC_TO_SEQUENCE_ERROR_RETRY_COUNTER_SIZE    (0x40)
+void connectib_hw_s_qpc_to_sequence_error_retry_counter_dump(const struct connectib_hw_s_qpc_to_sequence_error_retry_counter *ptr_struct, FILE* file);
+/* hw_s_qpc_reverse_sl */
+void connectib_hw_s_qpc_reverse_sl_pack(const struct connectib_hw_s_qpc_reverse_sl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_reverse_sl_unpack(struct connectib_hw_s_qpc_reverse_sl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_reverse_sl_print(const struct connectib_hw_s_qpc_reverse_sl *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_reverse_sl_size(void);
+#define CONNECTIB_HW_S_QPC_REVERSE_SL_SIZE    (0x40)
+void connectib_hw_s_qpc_reverse_sl_dump(const struct connectib_hw_s_qpc_reverse_sl *ptr_struct, FILE* file);
+/* hw_s_qpc_force_grh_tclass */
+void connectib_hw_s_qpc_force_grh_tclass_pack(const struct connectib_hw_s_qpc_force_grh_tclass *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_force_grh_tclass_unpack(struct connectib_hw_s_qpc_force_grh_tclass *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_force_grh_tclass_print(const struct connectib_hw_s_qpc_force_grh_tclass *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_force_grh_tclass_size(void);
+#define CONNECTIB_HW_S_QPC_FORCE_GRH_TCLASS_SIZE    (0x40)
+void connectib_hw_s_qpc_force_grh_tclass_dump(const struct connectib_hw_s_qpc_force_grh_tclass *ptr_struct, FILE* file);
+/* hw_s_qpc_ts */
+void connectib_hw_s_qpc_ts_pack(const struct connectib_hw_s_qpc_ts *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ts_unpack(struct connectib_hw_s_qpc_ts *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_ts_print(const struct connectib_hw_s_qpc_ts *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_ts_size(void);
+#define CONNECTIB_HW_S_QPC_TS_SIZE    (0x40)
+void connectib_hw_s_qpc_ts_dump(const struct connectib_hw_s_qpc_ts *ptr_struct, FILE* file);
+/* hw_s_qpc_sx_heartbeat */
+void connectib_hw_s_qpc_sx_heartbeat_pack(const struct connectib_hw_s_qpc_sx_heartbeat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_sx_heartbeat_unpack(struct connectib_hw_s_qpc_sx_heartbeat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_sx_heartbeat_print(const struct connectib_hw_s_qpc_sx_heartbeat *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_sx_heartbeat_size(void);
+#define CONNECTIB_HW_S_QPC_SX_HEARTBEAT_SIZE    (0x40)
+void connectib_hw_s_qpc_sx_heartbeat_dump(const struct connectib_hw_s_qpc_sx_heartbeat *ptr_struct, FILE* file);
+/* hw_s_qpc_to_sequence_error_retry_limit */
+void connectib_hw_s_qpc_to_sequence_error_retry_limit_pack(const struct connectib_hw_s_qpc_to_sequence_error_retry_limit *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_to_sequence_error_retry_limit_unpack(struct connectib_hw_s_qpc_to_sequence_error_retry_limit *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_to_sequence_error_retry_limit_print(const struct connectib_hw_s_qpc_to_sequence_error_retry_limit *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_to_sequence_error_retry_limit_size(void);
+#define CONNECTIB_HW_S_QPC_TO_SEQUENCE_ERROR_RETRY_LIMIT_SIZE    (0x40)
+void connectib_hw_s_qpc_to_sequence_error_retry_limit_dump(const struct connectib_hw_s_qpc_to_sequence_error_retry_limit *ptr_struct, FILE* file);
+/* hw_s_qpc_force_my_gid_index */
+void connectib_hw_s_qpc_force_my_gid_index_pack(const struct connectib_hw_s_qpc_force_my_gid_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_force_my_gid_index_unpack(struct connectib_hw_s_qpc_force_my_gid_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_force_my_gid_index_print(const struct connectib_hw_s_qpc_force_my_gid_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_force_my_gid_index_size(void);
+#define CONNECTIB_HW_S_QPC_FORCE_MY_GID_INDEX_SIZE    (0x40)
+void connectib_hw_s_qpc_force_my_gid_index_dump(const struct connectib_hw_s_qpc_force_my_gid_index *ptr_struct, FILE* file);
+/* hw_s_qpc_sx_gather_commit */
+void connectib_hw_s_qpc_sx_gather_commit_pack(const struct connectib_hw_s_qpc_sx_gather_commit *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_sx_gather_commit_unpack(struct connectib_hw_s_qpc_sx_gather_commit *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_sx_gather_commit_print(const struct connectib_hw_s_qpc_sx_gather_commit *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_sx_gather_commit_size(void);
+#define CONNECTIB_HW_S_QPC_SX_GATHER_COMMIT_SIZE    (0x40)
+void connectib_hw_s_qpc_sx_gather_commit_dump(const struct connectib_hw_s_qpc_sx_gather_commit *ptr_struct, FILE* file);
+/* hw_s_qpc_lsn */
+void connectib_hw_s_qpc_lsn_pack(const struct connectib_hw_s_qpc_lsn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_lsn_unpack(struct connectib_hw_s_qpc_lsn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_lsn_print(const struct connectib_hw_s_qpc_lsn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_lsn_size(void);
+#define CONNECTIB_HW_S_QPC_LSN_SIZE    (0x40)
+void connectib_hw_s_qpc_lsn_dump(const struct connectib_hw_s_qpc_lsn *ptr_struct, FILE* file);
+/* hw_s_qpc_dc_access_key_63_32 */
+void connectib_hw_s_qpc_dc_access_key_63_32_pack(const struct connectib_hw_s_qpc_dc_access_key_63_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_dc_access_key_63_32_unpack(struct connectib_hw_s_qpc_dc_access_key_63_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_dc_access_key_63_32_print(const struct connectib_hw_s_qpc_dc_access_key_63_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_dc_access_key_63_32_size(void);
+#define CONNECTIB_HW_S_QPC_DC_ACCESS_KEY_63_32_SIZE    (0x40)
+void connectib_hw_s_qpc_dc_access_key_63_32_dump(const struct connectib_hw_s_qpc_dc_access_key_63_32 *ptr_struct, FILE* file);
+/* hw_s_qpc_dc_access_key_31_0 */
+void connectib_hw_s_qpc_dc_access_key_31_0_pack(const struct connectib_hw_s_qpc_dc_access_key_31_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_dc_access_key_31_0_unpack(struct connectib_hw_s_qpc_dc_access_key_31_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_dc_access_key_31_0_print(const struct connectib_hw_s_qpc_dc_access_key_31_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_dc_access_key_31_0_size(void);
+#define CONNECTIB_HW_S_QPC_DC_ACCESS_KEY_31_0_SIZE    (0x40)
+void connectib_hw_s_qpc_dc_access_key_31_0_dump(const struct connectib_hw_s_qpc_dc_access_key_31_0 *ptr_struct, FILE* file);
+/* hw_s_qpc_force_grh */
+void connectib_hw_s_qpc_force_grh_pack(const struct connectib_hw_s_qpc_force_grh *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_force_grh_unpack(struct connectib_hw_s_qpc_force_grh *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_force_grh_print(const struct connectib_hw_s_qpc_force_grh *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_force_grh_size(void);
+#define CONNECTIB_HW_S_QPC_FORCE_GRH_SIZE    (0x40)
+void connectib_hw_s_qpc_force_grh_dump(const struct connectib_hw_s_qpc_force_grh *ptr_struct, FILE* file);
+/* hw_s_qpc_vl15 */
+void connectib_hw_s_qpc_vl15_pack(const struct connectib_hw_s_qpc_vl15 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_vl15_unpack(struct connectib_hw_s_qpc_vl15 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_vl15_print(const struct connectib_hw_s_qpc_vl15 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_vl15_size(void);
+#define CONNECTIB_HW_S_QPC_VL15_SIZE    (0x40)
+void connectib_hw_s_qpc_vl15_dump(const struct connectib_hw_s_qpc_vl15 *ptr_struct, FILE* file);
+/* hw_s_qpc_timer_enable */
+void connectib_hw_s_qpc_timer_enable_pack(const struct connectib_hw_s_qpc_timer_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_timer_enable_unpack(struct connectib_hw_s_qpc_timer_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_timer_enable_print(const struct connectib_hw_s_qpc_timer_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_timer_enable_size(void);
+#define CONNECTIB_HW_S_QPC_TIMER_ENABLE_SIZE    (0x40)
+void connectib_hw_s_qpc_timer_enable_dump(const struct connectib_hw_s_qpc_timer_enable *ptr_struct, FILE* file);
+/* hw_s_qpc_currently_completing_ds */
+void connectib_hw_s_qpc_currently_completing_ds_pack(const struct connectib_hw_s_qpc_currently_completing_ds *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_currently_completing_ds_unpack(struct connectib_hw_s_qpc_currently_completing_ds *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_currently_completing_ds_print(const struct connectib_hw_s_qpc_currently_completing_ds *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_currently_completing_ds_size(void);
+#define CONNECTIB_HW_S_QPC_CURRENTLY_COMPLETING_DS_SIZE    (0x40)
+void connectib_hw_s_qpc_currently_completing_ds_dump(const struct connectib_hw_s_qpc_currently_completing_ds *ptr_struct, FILE* file);
+/* hw_s_qpc_first_psn_of_message_currently_completing */
+void connectib_hw_s_qpc_first_psn_of_message_currently_completing_pack(const struct connectib_hw_s_qpc_first_psn_of_message_currently_completing *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_first_psn_of_message_currently_completing_unpack(struct connectib_hw_s_qpc_first_psn_of_message_currently_completing *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_first_psn_of_message_currently_completing_print(const struct connectib_hw_s_qpc_first_psn_of_message_currently_completing *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_first_psn_of_message_currently_completing_size(void);
+#define CONNECTIB_HW_S_QPC_FIRST_PSN_OF_MESSAGE_CURRENTLY_COMPLETING_SIZE    (0x40)
+void connectib_hw_s_qpc_first_psn_of_message_currently_completing_dump(const struct connectib_hw_s_qpc_first_psn_of_message_currently_completing *ptr_struct, FILE* file);
+/* hw_s_qpc_number_outstanding_reads */
+void connectib_hw_s_qpc_number_outstanding_reads_pack(const struct connectib_hw_s_qpc_number_outstanding_reads *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_number_outstanding_reads_unpack(struct connectib_hw_s_qpc_number_outstanding_reads *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_number_outstanding_reads_print(const struct connectib_hw_s_qpc_number_outstanding_reads *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_number_outstanding_reads_size(void);
+#define CONNECTIB_HW_S_QPC_NUMBER_OUTSTANDING_READS_SIZE    (0x40)
+void connectib_hw_s_qpc_number_outstanding_reads_dump(const struct connectib_hw_s_qpc_number_outstanding_reads *ptr_struct, FILE* file);
+/* hw_s_qpc_first_unsent_psn */
+void connectib_hw_s_qpc_first_unsent_psn_pack(const struct connectib_hw_s_qpc_first_unsent_psn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_first_unsent_psn_unpack(struct connectib_hw_s_qpc_first_unsent_psn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_s_qpc_first_unsent_psn_print(const struct connectib_hw_s_qpc_first_unsent_psn *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_s_qpc_first_unsent_psn_size(void);
+#define CONNECTIB_HW_S_QPC_FIRST_UNSENT_PSN_SIZE    (0x40)
+void connectib_hw_s_qpc_first_unsent_psn_dump(const struct connectib_hw_s_qpc_first_unsent_psn *ptr_struct, FILE* file);
+/* hw_c_qpc_common_valid */
+void connectib_hw_c_qpc_common_valid_pack(const struct connectib_hw_c_qpc_common_valid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_common_valid_unpack(struct connectib_hw_c_qpc_common_valid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_common_valid_print(const struct connectib_hw_c_qpc_common_valid *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_common_valid_size(void);
+#define CONNECTIB_HW_C_QPC_COMMON_VALID_SIZE    (0x40)
+void connectib_hw_c_qpc_common_valid_dump(const struct connectib_hw_c_qpc_common_valid *ptr_struct, FILE* file);
+/* hw_c_qpc_wq_signature */
+void connectib_hw_c_qpc_wq_signature_pack(const struct connectib_hw_c_qpc_wq_signature *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_wq_signature_unpack(struct connectib_hw_c_qpc_wq_signature *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_wq_signature_print(const struct connectib_hw_c_qpc_wq_signature *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_wq_signature_size(void);
+#define CONNECTIB_HW_C_QPC_WQ_SIGNATURE_SIZE    (0x40)
+void connectib_hw_c_qpc_wq_signature_dump(const struct connectib_hw_c_qpc_wq_signature *ptr_struct, FILE* file);
+/* hw_c_qpc_dual_write */
+void connectib_hw_c_qpc_dual_write_pack(const struct connectib_hw_c_qpc_dual_write *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_dual_write_unpack(struct connectib_hw_c_qpc_dual_write *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_dual_write_print(const struct connectib_hw_c_qpc_dual_write *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_dual_write_size(void);
+#define CONNECTIB_HW_C_QPC_DUAL_WRITE_SIZE    (0x40)
+void connectib_hw_c_qpc_dual_write_dump(const struct connectib_hw_c_qpc_dual_write *ptr_struct, FILE* file);
+/* hw_c_qpc_log_page_size */
+void connectib_hw_c_qpc_log_page_size_pack(const struct connectib_hw_c_qpc_log_page_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_log_page_size_unpack(struct connectib_hw_c_qpc_log_page_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_log_page_size_print(const struct connectib_hw_c_qpc_log_page_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_log_page_size_size(void);
+#define CONNECTIB_HW_C_QPC_LOG_PAGE_SIZE_SIZE    (0x40)
+void connectib_hw_c_qpc_log_page_size_dump(const struct connectib_hw_c_qpc_log_page_size *ptr_struct, FILE* file);
+/* hw_c_qpc_rwq_type */
+void connectib_hw_c_qpc_rwq_type_pack(const struct connectib_hw_c_qpc_rwq_type *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rwq_type_unpack(struct connectib_hw_c_qpc_rwq_type *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rwq_type_print(const struct connectib_hw_c_qpc_rwq_type *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_rwq_type_size(void);
+#define CONNECTIB_HW_C_QPC_RWQ_TYPE_SIZE    (0x40)
+void connectib_hw_c_qpc_rwq_type_dump(const struct connectib_hw_c_qpc_rwq_type *ptr_struct, FILE* file);
+/* hw_c_qpc_force_loopback */
+void connectib_hw_c_qpc_force_loopback_pack(const struct connectib_hw_c_qpc_force_loopback *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_force_loopback_unpack(struct connectib_hw_c_qpc_force_loopback *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_force_loopback_print(const struct connectib_hw_c_qpc_force_loopback *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_force_loopback_size(void);
+#define CONNECTIB_HW_C_QPC_FORCE_LOOPBACK_SIZE    (0x40)
+void connectib_hw_c_qpc_force_loopback_dump(const struct connectib_hw_c_qpc_force_loopback *ptr_struct, FILE* file);
+/* hw_c_qpc_ipd */
+void connectib_hw_c_qpc_ipd_pack(const struct connectib_hw_c_qpc_ipd *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_ipd_unpack(struct connectib_hw_c_qpc_ipd *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_ipd_print(const struct connectib_hw_c_qpc_ipd *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_ipd_size(void);
+#define CONNECTIB_HW_C_QPC_IPD_SIZE    (0x40)
+void connectib_hw_c_qpc_ipd_dump(const struct connectib_hw_c_qpc_ipd *ptr_struct, FILE* file);
+/* hw_c_qpc_rwqe_stride */
+void connectib_hw_c_qpc_rwqe_stride_pack(const struct connectib_hw_c_qpc_rwqe_stride *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rwqe_stride_unpack(struct connectib_hw_c_qpc_rwqe_stride *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rwqe_stride_print(const struct connectib_hw_c_qpc_rwqe_stride *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_rwqe_stride_size(void);
+#define CONNECTIB_HW_C_QPC_RWQE_STRIDE_SIZE    (0x40)
+void connectib_hw_c_qpc_rwqe_stride_dump(const struct connectib_hw_c_qpc_rwqe_stride *ptr_struct, FILE* file);
+/* hw_c_qpc_rcyclic_size */
+void connectib_hw_c_qpc_rcyclic_size_pack(const struct connectib_hw_c_qpc_rcyclic_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rcyclic_size_unpack(struct connectib_hw_c_qpc_rcyclic_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rcyclic_size_print(const struct connectib_hw_c_qpc_rcyclic_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_rcyclic_size_size(void);
+#define CONNECTIB_HW_C_QPC_RCYCLIC_SIZE_SIZE    (0x40)
+void connectib_hw_c_qpc_rcyclic_size_dump(const struct connectib_hw_c_qpc_rcyclic_size *ptr_struct, FILE* file);
+/* hw_c_qpc_rwqe_buffer_size */
+void connectib_hw_c_qpc_rwqe_buffer_size_pack(const struct connectib_hw_c_qpc_rwqe_buffer_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rwqe_buffer_size_unpack(struct connectib_hw_c_qpc_rwqe_buffer_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rwqe_buffer_size_print(const struct connectib_hw_c_qpc_rwqe_buffer_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_rwqe_buffer_size_size(void);
+#define CONNECTIB_HW_C_QPC_RWQE_BUFFER_SIZE_SIZE    (0x40)
+void connectib_hw_c_qpc_rwqe_buffer_size_dump(const struct connectib_hw_c_qpc_rwqe_buffer_size *ptr_struct, FILE* file);
+/* hw_c_qpc_tclass */
+void connectib_hw_c_qpc_tclass_pack(const struct connectib_hw_c_qpc_tclass *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_tclass_unpack(struct connectib_hw_c_qpc_tclass *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_tclass_print(const struct connectib_hw_c_qpc_tclass *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_tclass_size(void);
+#define CONNECTIB_HW_C_QPC_TCLASS_SIZE    (0x40)
+void connectib_hw_c_qpc_tclass_dump(const struct connectib_hw_c_qpc_tclass *ptr_struct, FILE* file);
+/* hw_c_qpc_hop_limit */
+void connectib_hw_c_qpc_hop_limit_pack(const struct connectib_hw_c_qpc_hop_limit *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_hop_limit_unpack(struct connectib_hw_c_qpc_hop_limit *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_hop_limit_print(const struct connectib_hw_c_qpc_hop_limit *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_hop_limit_size(void);
+#define CONNECTIB_HW_C_QPC_HOP_LIMIT_SIZE    (0x40)
+void connectib_hw_c_qpc_hop_limit_dump(const struct connectib_hw_c_qpc_hop_limit *ptr_struct, FILE* file);
+/* hw_c_qpc_peer_qp */
+void connectib_hw_c_qpc_peer_qp_pack(const struct connectib_hw_c_qpc_peer_qp *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_qp_unpack(struct connectib_hw_c_qpc_peer_qp *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_qp_print(const struct connectib_hw_c_qpc_peer_qp *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_peer_qp_size(void);
+#define CONNECTIB_HW_C_QPC_PEER_QP_SIZE    (0x40)
+void connectib_hw_c_qpc_peer_qp_dump(const struct connectib_hw_c_qpc_peer_qp *ptr_struct, FILE* file);
+/* hw_c_qpc_rx_migreq */
+void connectib_hw_c_qpc_rx_migreq_pack(const struct connectib_hw_c_qpc_rx_migreq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rx_migreq_unpack(struct connectib_hw_c_qpc_rx_migreq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_rx_migreq_print(const struct connectib_hw_c_qpc_rx_migreq *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_rx_migreq_size(void);
+#define CONNECTIB_HW_C_QPC_RX_MIGREQ_SIZE    (0x40)
+void connectib_hw_c_qpc_rx_migreq_dump(const struct connectib_hw_c_qpc_rx_migreq *ptr_struct, FILE* file);
+/* hw_c_qpc_sx_migreq */
+void connectib_hw_c_qpc_sx_migreq_pack(const struct connectib_hw_c_qpc_sx_migreq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_sx_migreq_unpack(struct connectib_hw_c_qpc_sx_migreq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_sx_migreq_print(const struct connectib_hw_c_qpc_sx_migreq *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_sx_migreq_size(void);
+#define CONNECTIB_HW_C_QPC_SX_MIGREQ_SIZE    (0x40)
+void connectib_hw_c_qpc_sx_migreq_dump(const struct connectib_hw_c_qpc_sx_migreq *ptr_struct, FILE* file);
+/* hw_c_qpc_wqe_page_offset */
+void connectib_hw_c_qpc_wqe_page_offset_pack(const struct connectib_hw_c_qpc_wqe_page_offset *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_wqe_page_offset_unpack(struct connectib_hw_c_qpc_wqe_page_offset *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_wqe_page_offset_print(const struct connectib_hw_c_qpc_wqe_page_offset *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_wqe_page_offset_size(void);
+#define CONNECTIB_HW_C_QPC_WQE_PAGE_OFFSET_SIZE    (0x40)
+void connectib_hw_c_qpc_wqe_page_offset_dump(const struct connectib_hw_c_qpc_wqe_page_offset *ptr_struct, FILE* file);
+/* hw_c_qpc_context_number */
+void connectib_hw_c_qpc_context_number_pack(const struct connectib_hw_c_qpc_context_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_context_number_unpack(struct connectib_hw_c_qpc_context_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_context_number_print(const struct connectib_hw_c_qpc_context_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_context_number_size(void);
+#define CONNECTIB_HW_C_QPC_CONTEXT_NUMBER_SIZE    (0x40)
+void connectib_hw_c_qpc_context_number_dump(const struct connectib_hw_c_qpc_context_number *ptr_struct, FILE* file);
+/* hw_c_qpc_pkey_table_index */
+void connectib_hw_c_qpc_pkey_table_index_pack(const struct connectib_hw_c_qpc_pkey_table_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_pkey_table_index_unpack(struct connectib_hw_c_qpc_pkey_table_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_pkey_table_index_print(const struct connectib_hw_c_qpc_pkey_table_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_pkey_table_index_size(void);
+#define CONNECTIB_HW_C_QPC_PKEY_TABLE_INDEX_SIZE    (0x40)
+void connectib_hw_c_qpc_pkey_table_index_dump(const struct connectib_hw_c_qpc_pkey_table_index *ptr_struct, FILE* file);
+/* hw_c_qpc_flow_label */
+void connectib_hw_c_qpc_flow_label_pack(const struct connectib_hw_c_qpc_flow_label *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_flow_label_unpack(struct connectib_hw_c_qpc_flow_label *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_flow_label_print(const struct connectib_hw_c_qpc_flow_label *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_flow_label_size(void);
+#define CONNECTIB_HW_C_QPC_FLOW_LABEL_SIZE    (0x40)
+void connectib_hw_c_qpc_flow_label_dump(const struct connectib_hw_c_qpc_flow_label *ptr_struct, FILE* file);
+/* hw_c_qpc_qkey */
+void connectib_hw_c_qpc_qkey_pack(const struct connectib_hw_c_qpc_qkey *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_qkey_unpack(struct connectib_hw_c_qpc_qkey *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_qkey_print(const struct connectib_hw_c_qpc_qkey *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_qkey_size(void);
+#define CONNECTIB_HW_C_QPC_QKEY_SIZE    (0x40)
+void connectib_hw_c_qpc_qkey_dump(const struct connectib_hw_c_qpc_qkey *ptr_struct, FILE* file);
+/* hw_c_qpc_mtu */
+void connectib_hw_c_qpc_mtu_pack(const struct connectib_hw_c_qpc_mtu *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_mtu_unpack(struct connectib_hw_c_qpc_mtu *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_mtu_print(const struct connectib_hw_c_qpc_mtu *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_mtu_size(void);
+#define CONNECTIB_HW_C_QPC_MTU_SIZE    (0x40)
+void connectib_hw_c_qpc_mtu_dump(const struct connectib_hw_c_qpc_mtu *ptr_struct, FILE* file);
+/* hw_c_qpc_max_message_size */
+void connectib_hw_c_qpc_max_message_size_pack(const struct connectib_hw_c_qpc_max_message_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_max_message_size_unpack(struct connectib_hw_c_qpc_max_message_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_max_message_size_print(const struct connectib_hw_c_qpc_max_message_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_max_message_size_size(void);
+#define CONNECTIB_HW_C_QPC_MAX_MESSAGE_SIZE_SIZE    (0x40)
+void connectib_hw_c_qpc_max_message_size_dump(const struct connectib_hw_c_qpc_max_message_size *ptr_struct, FILE* file);
+/* hw_c_qpc_my_gid_mac_index */
+void connectib_hw_c_qpc_my_gid_mac_index_pack(const struct connectib_hw_c_qpc_my_gid_mac_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_my_gid_mac_index_unpack(struct connectib_hw_c_qpc_my_gid_mac_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_my_gid_mac_index_print(const struct connectib_hw_c_qpc_my_gid_mac_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_my_gid_mac_index_size(void);
+#define CONNECTIB_HW_C_QPC_MY_GID_MAC_INDEX_SIZE    (0x40)
+void connectib_hw_c_qpc_my_gid_mac_index_dump(const struct connectib_hw_c_qpc_my_gid_mac_index *ptr_struct, FILE* file);
+/* hw_c_qpc_my_lid */
+void connectib_hw_c_qpc_my_lid_pack(const struct connectib_hw_c_qpc_my_lid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_my_lid_unpack(struct connectib_hw_c_qpc_my_lid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_my_lid_print(const struct connectib_hw_c_qpc_my_lid *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_my_lid_size(void);
+#define CONNECTIB_HW_C_QPC_MY_LID_SIZE    (0x40)
+void connectib_hw_c_qpc_my_lid_dump(const struct connectib_hw_c_qpc_my_lid *ptr_struct, FILE* file);
+/* hw_c_qpc_peer_lid */
+void connectib_hw_c_qpc_peer_lid_pack(const struct connectib_hw_c_qpc_peer_lid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_lid_unpack(struct connectib_hw_c_qpc_peer_lid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_lid_print(const struct connectib_hw_c_qpc_peer_lid *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_peer_lid_size(void);
+#define CONNECTIB_HW_C_QPC_PEER_LID_SIZE    (0x40)
+void connectib_hw_c_qpc_peer_lid_dump(const struct connectib_hw_c_qpc_peer_lid *ptr_struct, FILE* file);
+/* hw_c_qpc_swqe_buffer_size */
+void connectib_hw_c_qpc_swqe_buffer_size_pack(const struct connectib_hw_c_qpc_swqe_buffer_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_swqe_buffer_size_unpack(struct connectib_hw_c_qpc_swqe_buffer_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_swqe_buffer_size_print(const struct connectib_hw_c_qpc_swqe_buffer_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_swqe_buffer_size_size(void);
+#define CONNECTIB_HW_C_QPC_SWQE_BUFFER_SIZE_SIZE    (0x40)
+void connectib_hw_c_qpc_swqe_buffer_size_dump(const struct connectib_hw_c_qpc_swqe_buffer_size *ptr_struct, FILE* file);
+/* hw_c_qpc_adaptive_routing */
+void connectib_hw_c_qpc_adaptive_routing_pack(const struct connectib_hw_c_qpc_adaptive_routing *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_adaptive_routing_unpack(struct connectib_hw_c_qpc_adaptive_routing *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_adaptive_routing_print(const struct connectib_hw_c_qpc_adaptive_routing *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_adaptive_routing_size(void);
+#define CONNECTIB_HW_C_QPC_ADAPTIVE_ROUTING_SIZE    (0x40)
+void connectib_hw_c_qpc_adaptive_routing_dump(const struct connectib_hw_c_qpc_adaptive_routing *ptr_struct, FILE* file);
+/* hw_c_qpc_port_number */
+void connectib_hw_c_qpc_port_number_pack(const struct connectib_hw_c_qpc_port_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_port_number_unpack(struct connectib_hw_c_qpc_port_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_port_number_print(const struct connectib_hw_c_qpc_port_number *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_port_number_size(void);
+#define CONNECTIB_HW_C_QPC_PORT_NUMBER_SIZE    (0x40)
+void connectib_hw_c_qpc_port_number_dump(const struct connectib_hw_c_qpc_port_number *ptr_struct, FILE* file);
+/* hw_c_qpc_grh_bit */
+void connectib_hw_c_qpc_grh_bit_pack(const struct connectib_hw_c_qpc_grh_bit *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_grh_bit_unpack(struct connectib_hw_c_qpc_grh_bit *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_grh_bit_print(const struct connectib_hw_c_qpc_grh_bit *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_grh_bit_size(void);
+#define CONNECTIB_HW_C_QPC_GRH_BIT_SIZE    (0x40)
+void connectib_hw_c_qpc_grh_bit_dump(const struct connectib_hw_c_qpc_grh_bit *ptr_struct, FILE* file);
+/* hw_c_qpc_sl */
+void connectib_hw_c_qpc_sl_pack(const struct connectib_hw_c_qpc_sl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_sl_unpack(struct connectib_hw_c_qpc_sl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_sl_print(const struct connectib_hw_c_qpc_sl *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_sl_size(void);
+#define CONNECTIB_HW_C_QPC_SL_SIZE    (0x40)
+void connectib_hw_c_qpc_sl_dump(const struct connectib_hw_c_qpc_sl *ptr_struct, FILE* file);
+/* hw_c_qpc_mtt_pointer_39_37 */
+void connectib_hw_c_qpc_mtt_pointer_39_37_pack(const struct connectib_hw_c_qpc_mtt_pointer_39_37 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_mtt_pointer_39_37_unpack(struct connectib_hw_c_qpc_mtt_pointer_39_37 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_mtt_pointer_39_37_print(const struct connectib_hw_c_qpc_mtt_pointer_39_37 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_mtt_pointer_39_37_size(void);
+#define CONNECTIB_HW_C_QPC_MTT_POINTER_39_37_SIZE    (0x40)
+void connectib_hw_c_qpc_mtt_pointer_39_37_dump(const struct connectib_hw_c_qpc_mtt_pointer_39_37 *ptr_struct, FILE* file);
+/* hw_c_qpc_mtt_pointer_36_5 */
+void connectib_hw_c_qpc_mtt_pointer_36_5_pack(const struct connectib_hw_c_qpc_mtt_pointer_36_5 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_mtt_pointer_36_5_unpack(struct connectib_hw_c_qpc_mtt_pointer_36_5 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_mtt_pointer_36_5_print(const struct connectib_hw_c_qpc_mtt_pointer_36_5 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_mtt_pointer_36_5_size(void);
+#define CONNECTIB_HW_C_QPC_MTT_POINTER_36_5_SIZE    (0x40)
+void connectib_hw_c_qpc_mtt_pointer_36_5_dump(const struct connectib_hw_c_qpc_mtt_pointer_36_5 *ptr_struct, FILE* file);
+/* hw_c_qpc_mtt_pointer_4_0 */
+void connectib_hw_c_qpc_mtt_pointer_4_0_pack(const struct connectib_hw_c_qpc_mtt_pointer_4_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_mtt_pointer_4_0_unpack(struct connectib_hw_c_qpc_mtt_pointer_4_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_mtt_pointer_4_0_print(const struct connectib_hw_c_qpc_mtt_pointer_4_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_mtt_pointer_4_0_size(void);
+#define CONNECTIB_HW_C_QPC_MTT_POINTER_4_0_SIZE    (0x40)
+void connectib_hw_c_qpc_mtt_pointer_4_0_dump(const struct connectib_hw_c_qpc_mtt_pointer_4_0 *ptr_struct, FILE* file);
+/* hw_c_qpc_pd */
+void connectib_hw_c_qpc_pd_pack(const struct connectib_hw_c_qpc_pd *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_pd_unpack(struct connectib_hw_c_qpc_pd *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_pd_print(const struct connectib_hw_c_qpc_pd *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_pd_size(void);
+#define CONNECTIB_HW_C_QPC_PD_SIZE    (0x40)
+void connectib_hw_c_qpc_pd_dump(const struct connectib_hw_c_qpc_pd *ptr_struct, FILE* file);
+/* hw_c_qpc_peer_qp2 */
+void connectib_hw_c_qpc_peer_qp2_pack(const struct connectib_hw_c_qpc_peer_qp2 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_qp2_unpack(struct connectib_hw_c_qpc_peer_qp2 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_qp2_print(const struct connectib_hw_c_qpc_peer_qp2 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_peer_qp2_size(void);
+#define CONNECTIB_HW_C_QPC_PEER_QP2_SIZE    (0x40)
+void connectib_hw_c_qpc_peer_qp2_dump(const struct connectib_hw_c_qpc_peer_qp2 *ptr_struct, FILE* file);
+/* hw_c_qpc_peer_lid2 */
+void connectib_hw_c_qpc_peer_lid2_pack(const struct connectib_hw_c_qpc_peer_lid2 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_lid2_unpack(struct connectib_hw_c_qpc_peer_lid2 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_lid2_print(const struct connectib_hw_c_qpc_peer_lid2 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_peer_lid2_size(void);
+#define CONNECTIB_HW_C_QPC_PEER_LID2_SIZE    (0x40)
+void connectib_hw_c_qpc_peer_lid2_dump(const struct connectib_hw_c_qpc_peer_lid2 *ptr_struct, FILE* file);
+/* hw_c_qpc_peer_gid_127_96 */
+void connectib_hw_c_qpc_peer_gid_127_96_pack(const struct connectib_hw_c_qpc_peer_gid_127_96 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_gid_127_96_unpack(struct connectib_hw_c_qpc_peer_gid_127_96 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_gid_127_96_print(const struct connectib_hw_c_qpc_peer_gid_127_96 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_peer_gid_127_96_size(void);
+#define CONNECTIB_HW_C_QPC_PEER_GID_127_96_SIZE    (0x40)
+void connectib_hw_c_qpc_peer_gid_127_96_dump(const struct connectib_hw_c_qpc_peer_gid_127_96 *ptr_struct, FILE* file);
+/* hw_c_qpc_peer_gid_95_64 */
+void connectib_hw_c_qpc_peer_gid_95_64_pack(const struct connectib_hw_c_qpc_peer_gid_95_64 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_gid_95_64_unpack(struct connectib_hw_c_qpc_peer_gid_95_64 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_gid_95_64_print(const struct connectib_hw_c_qpc_peer_gid_95_64 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_peer_gid_95_64_size(void);
+#define CONNECTIB_HW_C_QPC_PEER_GID_95_64_SIZE    (0x40)
+void connectib_hw_c_qpc_peer_gid_95_64_dump(const struct connectib_hw_c_qpc_peer_gid_95_64 *ptr_struct, FILE* file);
+/* hw_c_qpc_peer_gid_63_32 */
+void connectib_hw_c_qpc_peer_gid_63_32_pack(const struct connectib_hw_c_qpc_peer_gid_63_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_gid_63_32_unpack(struct connectib_hw_c_qpc_peer_gid_63_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_gid_63_32_print(const struct connectib_hw_c_qpc_peer_gid_63_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_peer_gid_63_32_size(void);
+#define CONNECTIB_HW_C_QPC_PEER_GID_63_32_SIZE    (0x40)
+void connectib_hw_c_qpc_peer_gid_63_32_dump(const struct connectib_hw_c_qpc_peer_gid_63_32 *ptr_struct, FILE* file);
+/* hw_c_qpc_peer_gid_31_0 */
+void connectib_hw_c_qpc_peer_gid_31_0_pack(const struct connectib_hw_c_qpc_peer_gid_31_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_gid_31_0_unpack(struct connectib_hw_c_qpc_peer_gid_31_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_qpc_peer_gid_31_0_print(const struct connectib_hw_c_qpc_peer_gid_31_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_qpc_peer_gid_31_0_size(void);
+#define CONNECTIB_HW_C_QPC_PEER_GID_31_0_SIZE    (0x40)
+void connectib_hw_c_qpc_peer_gid_31_0_dump(const struct connectib_hw_c_qpc_peer_gid_31_0 *ptr_struct, FILE* file);
+/* e2e_pa_33_2 */
+void connectib_e2e_pa_33_2_pack(const struct connectib_e2e_pa_33_2 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_e2e_pa_33_2_unpack(struct connectib_e2e_pa_33_2 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_e2e_pa_33_2_print(const struct connectib_e2e_pa_33_2 *ptr_struct, FILE* file, int indent_level);
+int connectib_e2e_pa_33_2_size(void);
+#define CONNECTIB_E2E_PA_33_2_SIZE    (0x40)
+void connectib_e2e_pa_33_2_dump(const struct connectib_e2e_pa_33_2 *ptr_struct, FILE* file);
+/* wq_signature */
+void connectib_wq_signature_pack(const struct connectib_wq_signature *ptr_struct, u_int8_t* ptr_buff);
+void connectib_wq_signature_unpack(struct connectib_wq_signature *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_wq_signature_print(const struct connectib_wq_signature *ptr_struct, FILE* file, int indent_level);
+int connectib_wq_signature_size(void);
+#define CONNECTIB_WQ_SIGNATURE_SIZE    (0x40)
+void connectib_wq_signature_dump(const struct connectib_wq_signature *ptr_struct, FILE* file);
+/* srq_valid */
+void connectib_srq_valid_pack(const struct connectib_srq_valid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_srq_valid_unpack(struct connectib_srq_valid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_srq_valid_print(const struct connectib_srq_valid *ptr_struct, FILE* file, int indent_level);
+int connectib_srq_valid_size(void);
+#define CONNECTIB_SRQ_VALID_SIZE    (0x40)
+void connectib_srq_valid_dump(const struct connectib_srq_valid *ptr_struct, FILE* file);
+/* e2e_pa_63_34 */
+void connectib_e2e_pa_63_34_pack(const struct connectib_e2e_pa_63_34 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_e2e_pa_63_34_unpack(struct connectib_e2e_pa_63_34 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_e2e_pa_63_34_print(const struct connectib_e2e_pa_63_34 *ptr_struct, FILE* file, int indent_level);
+int connectib_e2e_pa_63_34_size(void);
+#define CONNECTIB_E2E_PA_63_34_SIZE    (0x40)
+void connectib_e2e_pa_63_34_dump(const struct connectib_e2e_pa_63_34 *ptr_struct, FILE* file);
+/* mtt_pointer_31_0 */
+void connectib_mtt_pointer_31_0_pack(const struct connectib_mtt_pointer_31_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mtt_pointer_31_0_unpack(struct connectib_mtt_pointer_31_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mtt_pointer_31_0_print(const struct connectib_mtt_pointer_31_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_mtt_pointer_31_0_size(void);
+#define CONNECTIB_MTT_POINTER_31_0_SIZE    (0x40)
+void connectib_mtt_pointer_31_0_dump(const struct connectib_mtt_pointer_31_0 *ptr_struct, FILE* file);
+/* rwqe_limit_event */
+void connectib_rwqe_limit_event_pack(const struct connectib_rwqe_limit_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rwqe_limit_event_unpack(struct connectib_rwqe_limit_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rwqe_limit_event_print(const struct connectib_rwqe_limit_event *ptr_struct, FILE* file, int indent_level);
+int connectib_rwqe_limit_event_size(void);
+#define CONNECTIB_RWQE_LIMIT_EVENT_SIZE    (0x40)
+void connectib_rwqe_limit_event_dump(const struct connectib_rwqe_limit_event *ptr_struct, FILE* file);
+/* e2e_fetch_enable */
+void connectib_e2e_fetch_enable_pack(const struct connectib_e2e_fetch_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_e2e_fetch_enable_unpack(struct connectib_e2e_fetch_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_e2e_fetch_enable_print(const struct connectib_e2e_fetch_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_e2e_fetch_enable_size(void);
+#define CONNECTIB_E2E_FETCH_ENABLE_SIZE    (0x40)
+void connectib_e2e_fetch_enable_dump(const struct connectib_e2e_fetch_enable *ptr_struct, FILE* file);
+/* rx_heartbeat */
+void connectib_rx_heartbeat_pack(const struct connectib_rx_heartbeat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rx_heartbeat_unpack(struct connectib_rx_heartbeat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rx_heartbeat_print(const struct connectib_rx_heartbeat *ptr_struct, FILE* file, int indent_level);
+int connectib_rx_heartbeat_size(void);
+#define CONNECTIB_RX_HEARTBEAT_SIZE    (0x40)
+void connectib_rx_heartbeat_dump(const struct connectib_rx_heartbeat *ptr_struct, FILE* file);
+/* wqe_page_offset */
+void connectib_wqe_page_offset_pack(const struct connectib_wqe_page_offset *ptr_struct, u_int8_t* ptr_buff);
+void connectib_wqe_page_offset_unpack(struct connectib_wqe_page_offset *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_wqe_page_offset_print(const struct connectib_wqe_page_offset *ptr_struct, FILE* file, int indent_level);
+int connectib_wqe_page_offset_size(void);
+#define CONNECTIB_WQE_PAGE_OFFSET_SIZE    (0x40)
+void connectib_wqe_page_offset_dump(const struct connectib_wqe_page_offset *ptr_struct, FILE* file);
+/* mtt_pointer_39_32 */
+void connectib_mtt_pointer_39_32_pack(const struct connectib_mtt_pointer_39_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_mtt_pointer_39_32_unpack(struct connectib_mtt_pointer_39_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_mtt_pointer_39_32_print(const struct connectib_mtt_pointer_39_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_mtt_pointer_39_32_size(void);
+#define CONNECTIB_MTT_POINTER_39_32_SIZE    (0x40)
+void connectib_mtt_pointer_39_32_dump(const struct connectib_mtt_pointer_39_32 *ptr_struct, FILE* file);
+/* tcu_trap */
+void connectib_tcu_trap_pack(const struct connectib_tcu_trap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_tcu_trap_unpack(struct connectib_tcu_trap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_tcu_trap_print(const struct connectib_tcu_trap *ptr_struct, FILE* file, int indent_level);
+int connectib_tcu_trap_size(void);
+#define CONNECTIB_TCU_TRAP_SIZE    (0x40)
+void connectib_tcu_trap_dump(const struct connectib_tcu_trap *ptr_struct, FILE* file);
+/* can_use_reserved_lkey */
+void connectib_can_use_reserved_lkey_pack(const struct connectib_can_use_reserved_lkey *ptr_struct, u_int8_t* ptr_buff);
+void connectib_can_use_reserved_lkey_unpack(struct connectib_can_use_reserved_lkey *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_can_use_reserved_lkey_print(const struct connectib_can_use_reserved_lkey *ptr_struct, FILE* file, int indent_level);
+int connectib_can_use_reserved_lkey_size(void);
+#define CONNECTIB_CAN_USE_RESERVED_LKEY_SIZE    (0x40)
+void connectib_can_use_reserved_lkey_dump(const struct connectib_can_use_reserved_lkey *ptr_struct, FILE* file);
+/* tcu_drop */
+void connectib_tcu_drop_pack(const struct connectib_tcu_drop *ptr_struct, u_int8_t* ptr_buff);
+void connectib_tcu_drop_unpack(struct connectib_tcu_drop *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_tcu_drop_print(const struct connectib_tcu_drop *ptr_struct, FILE* file, int indent_level);
+int connectib_tcu_drop_size(void);
+#define CONNECTIB_TCU_DROP_SIZE    (0x40)
+void connectib_tcu_drop_dump(const struct connectib_tcu_drop *ptr_struct, FILE* file);
+/* log_page_size */
+void connectib_log_page_size_pack(const struct connectib_log_page_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_log_page_size_unpack(struct connectib_log_page_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_log_page_size_print(const struct connectib_log_page_size *ptr_struct, FILE* file, int indent_level);
+int connectib_log_page_size_size(void);
+#define CONNECTIB_LOG_PAGE_SIZE_SIZE    (0x40)
+void connectib_log_page_size_dump(const struct connectib_log_page_size *ptr_struct, FILE* file);
+/* context_number */
+void connectib_context_number_pack(const struct connectib_context_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_context_number_unpack(struct connectib_context_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_context_number_print(const struct connectib_context_number *ptr_struct, FILE* file, int indent_level);
+int connectib_context_number_size(void);
+#define CONNECTIB_CONTEXT_NUMBER_SIZE    (0x40)
+void connectib_context_number_dump(const struct connectib_context_number *ptr_struct, FILE* file);
+/* rwqe_stride */
+void connectib_rwqe_stride_pack(const struct connectib_rwqe_stride *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rwqe_stride_unpack(struct connectib_rwqe_stride *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rwqe_stride_print(const struct connectib_rwqe_stride *ptr_struct, FILE* file, int indent_level);
+int connectib_rwqe_stride_size(void);
+#define CONNECTIB_RWQE_STRIDE_SIZE    (0x40)
+void connectib_rwqe_stride_dump(const struct connectib_rwqe_stride *ptr_struct, FILE* file);
+/* rwqe_buffer_size */
+void connectib_rwqe_buffer_size_pack(const struct connectib_rwqe_buffer_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rwqe_buffer_size_unpack(struct connectib_rwqe_buffer_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rwqe_buffer_size_print(const struct connectib_rwqe_buffer_size *ptr_struct, FILE* file, int indent_level);
+int connectib_rwqe_buffer_size_size(void);
+#define CONNECTIB_RWQE_BUFFER_SIZE_SIZE    (0x40)
+void connectib_rwqe_buffer_size_dump(const struct connectib_rwqe_buffer_size *ptr_struct, FILE* file);
+/* cq_number */
+void connectib_cq_number_pack(const struct connectib_cq_number *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cq_number_unpack(struct connectib_cq_number *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cq_number_print(const struct connectib_cq_number *ptr_struct, FILE* file, int indent_level);
+int connectib_cq_number_size(void);
+#define CONNECTIB_CQ_NUMBER_SIZE    (0x40)
+void connectib_cq_number_dump(const struct connectib_cq_number *ptr_struct, FILE* file);
+/* e2e_credits_prefetch_threshold */
+void connectib_e2e_credits_prefetch_threshold_pack(const struct connectib_e2e_credits_prefetch_threshold *ptr_struct, u_int8_t* ptr_buff);
+void connectib_e2e_credits_prefetch_threshold_unpack(struct connectib_e2e_credits_prefetch_threshold *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_e2e_credits_prefetch_threshold_print(const struct connectib_e2e_credits_prefetch_threshold *ptr_struct, FILE* file, int indent_level);
+int connectib_e2e_credits_prefetch_threshold_size(void);
+#define CONNECTIB_E2E_CREDITS_PREFETCH_THRESHOLD_SIZE    (0x40)
+void connectib_e2e_credits_prefetch_threshold_dump(const struct connectib_e2e_credits_prefetch_threshold *ptr_struct, FILE* file);
+/* pd */
+void connectib_pd_pack(const struct connectib_pd *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pd_unpack(struct connectib_pd *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pd_print(const struct connectib_pd *ptr_struct, FILE* file, int indent_level);
+int connectib_pd_size(void);
+#define CONNECTIB_PD_SIZE    (0x40)
+void connectib_pd_dump(const struct connectib_pd *ptr_struct, FILE* file);
+/* xrc_domain */
+void connectib_xrc_domain_pack(const struct connectib_xrc_domain *ptr_struct, u_int8_t* ptr_buff);
+void connectib_xrc_domain_unpack(struct connectib_xrc_domain *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_xrc_domain_print(const struct connectib_xrc_domain *ptr_struct, FILE* file, int indent_level);
+int connectib_xrc_domain_size(void);
+#define CONNECTIB_XRC_DOMAIN_SIZE    (0x40)
+void connectib_xrc_domain_dump(const struct connectib_xrc_domain *ptr_struct, FILE* file);
+/* e2e_producer_index */
+void connectib_e2e_producer_index_pack(const struct connectib_e2e_producer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_e2e_producer_index_unpack(struct connectib_e2e_producer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_e2e_producer_index_print(const struct connectib_e2e_producer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_e2e_producer_index_size(void);
+#define CONNECTIB_E2E_PRODUCER_INDEX_SIZE    (0x40)
+void connectib_e2e_producer_index_dump(const struct connectib_e2e_producer_index *ptr_struct, FILE* file);
+/* rwqe_consumer_index */
+void connectib_rwqe_consumer_index_pack(const struct connectib_rwqe_consumer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rwqe_consumer_index_unpack(struct connectib_rwqe_consumer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rwqe_consumer_index_print(const struct connectib_rwqe_consumer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_rwqe_consumer_index_size(void);
+#define CONNECTIB_RWQE_CONSUMER_INDEX_SIZE    (0x40)
+void connectib_rwqe_consumer_index_dump(const struct connectib_rwqe_consumer_index *ptr_struct, FILE* file);
+/* srq_fw */
+void connectib_srq_fw_pack(const struct connectib_srq_fw *ptr_struct, u_int8_t* ptr_buff);
+void connectib_srq_fw_unpack(struct connectib_srq_fw *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_srq_fw_print(const struct connectib_srq_fw *ptr_struct, FILE* file, int indent_level);
+int connectib_srq_fw_size(void);
+#define CONNECTIB_SRQ_FW_SIZE    (0x40)
+void connectib_srq_fw_dump(const struct connectib_srq_fw *ptr_struct, FILE* file);
+/* e2e_consumer_index */
+void connectib_e2e_consumer_index_pack(const struct connectib_e2e_consumer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_e2e_consumer_index_unpack(struct connectib_e2e_consumer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_e2e_consumer_index_print(const struct connectib_e2e_consumer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_e2e_consumer_index_size(void);
+#define CONNECTIB_E2E_CONSUMER_INDEX_SIZE    (0x40)
+void connectib_e2e_consumer_index_dump(const struct connectib_e2e_consumer_index *ptr_struct, FILE* file);
 /* pf_vf_cfg_space */
 void connectib_pf_vf_cfg_space_pack(const struct connectib_pf_vf_cfg_space *ptr_struct, u_int8_t* ptr_buff);
 void connectib_pf_vf_cfg_space_unpack(struct connectib_pf_vf_cfg_space *ptr_struct, const u_int8_t* ptr_buff);
@@ -23070,6 +32543,307 @@ void connectib_hw_init_info_print(const struct connectib_hw_init_info *ptr_struc
 int connectib_hw_init_info_size(void);
 #define CONNECTIB_HW_INIT_INFO_SIZE    (0x4)
 void connectib_hw_init_info_dump(const struct connectib_hw_init_info *ptr_struct, FILE* file);
+/* hw_cqc_moderation_timestamp_7_0 */
+void connectib_hw_cqc_moderation_timestamp_7_0_pack(const struct connectib_hw_cqc_moderation_timestamp_7_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_timestamp_7_0_unpack(struct connectib_hw_cqc_moderation_timestamp_7_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_timestamp_7_0_print(const struct connectib_hw_cqc_moderation_timestamp_7_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_moderation_timestamp_7_0_size(void);
+#define CONNECTIB_HW_CQC_MODERATION_TIMESTAMP_7_0_SIZE    (0x40)
+void connectib_hw_cqc_moderation_timestamp_7_0_dump(const struct connectib_hw_cqc_moderation_timestamp_7_0 *ptr_struct, FILE* file);
+/* hw_cqc_uar */
+void connectib_hw_cqc_uar_pack(const struct connectib_hw_cqc_uar *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_uar_unpack(struct connectib_hw_cqc_uar *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_uar_print(const struct connectib_hw_cqc_uar *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_uar_size(void);
+#define CONNECTIB_HW_CQC_UAR_SIZE    (0x40)
+void connectib_hw_cqc_uar_dump(const struct connectib_hw_cqc_uar *ptr_struct, FILE* file);
+/* hw_cqc_moderation_timestamp_39_8 */
+void connectib_hw_cqc_moderation_timestamp_39_8_pack(const struct connectib_hw_cqc_moderation_timestamp_39_8 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_timestamp_39_8_unpack(struct connectib_hw_cqc_moderation_timestamp_39_8 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_timestamp_39_8_print(const struct connectib_hw_cqc_moderation_timestamp_39_8 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_moderation_timestamp_39_8_size(void);
+#define CONNECTIB_HW_CQC_MODERATION_TIMESTAMP_39_8_SIZE    (0x40)
+void connectib_hw_cqc_moderation_timestamp_39_8_dump(const struct connectib_hw_cqc_moderation_timestamp_39_8 *ptr_struct, FILE* file);
+/* hw_cqc_pa1_31_12 */
+void connectib_hw_cqc_pa1_31_12_pack(const struct connectib_hw_cqc_pa1_31_12 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa1_31_12_unpack(struct connectib_hw_cqc_pa1_31_12 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa1_31_12_print(const struct connectib_hw_cqc_pa1_31_12 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_pa1_31_12_size(void);
+#define CONNECTIB_HW_CQC_PA1_31_12_SIZE    (0x40)
+void connectib_hw_cqc_pa1_31_12_dump(const struct connectib_hw_cqc_pa1_31_12 *ptr_struct, FILE* file);
+/* hw_cqc_moderation_timestamp_51_40 */
+void connectib_hw_cqc_moderation_timestamp_51_40_pack(const struct connectib_hw_cqc_moderation_timestamp_51_40 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_timestamp_51_40_unpack(struct connectib_hw_cqc_moderation_timestamp_51_40 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_timestamp_51_40_print(const struct connectib_hw_cqc_moderation_timestamp_51_40 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_moderation_timestamp_51_40_size(void);
+#define CONNECTIB_HW_CQC_MODERATION_TIMESTAMP_51_40_SIZE    (0x40)
+void connectib_hw_cqc_moderation_timestamp_51_40_dump(const struct connectib_hw_cqc_moderation_timestamp_51_40 *ptr_struct, FILE* file);
+/* hw_cqc_pa1_63_32 */
+void connectib_hw_cqc_pa1_63_32_pack(const struct connectib_hw_cqc_pa1_63_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa1_63_32_unpack(struct connectib_hw_cqc_pa1_63_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa1_63_32_print(const struct connectib_hw_cqc_pa1_63_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_pa1_63_32_size(void);
+#define CONNECTIB_HW_CQC_PA1_63_32_SIZE    (0x40)
+void connectib_hw_cqc_pa1_63_32_dump(const struct connectib_hw_cqc_pa1_63_32 *ptr_struct, FILE* file);
+/* hw_cqc_mtt_pointer_4_0 */
+void connectib_hw_cqc_mtt_pointer_4_0_pack(const struct connectib_hw_cqc_mtt_pointer_4_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_mtt_pointer_4_0_unpack(struct connectib_hw_cqc_mtt_pointer_4_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_mtt_pointer_4_0_print(const struct connectib_hw_cqc_mtt_pointer_4_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_mtt_pointer_4_0_size(void);
+#define CONNECTIB_HW_CQC_MTT_POINTER_4_0_SIZE    (0x40)
+void connectib_hw_cqc_mtt_pointer_4_0_dump(const struct connectib_hw_cqc_mtt_pointer_4_0 *ptr_struct, FILE* file);
+/* hw_cqc_overrun_ignore */
+void connectib_hw_cqc_overrun_ignore_pack(const struct connectib_hw_cqc_overrun_ignore *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_overrun_ignore_unpack(struct connectib_hw_cqc_overrun_ignore *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_overrun_ignore_print(const struct connectib_hw_cqc_overrun_ignore *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_overrun_ignore_size(void);
+#define CONNECTIB_HW_CQC_OVERRUN_IGNORE_SIZE    (0x40)
+void connectib_hw_cqc_overrun_ignore_dump(const struct connectib_hw_cqc_overrun_ignore *ptr_struct, FILE* file);
+/* hw_cqc_cq_state */
+void connectib_hw_cqc_cq_state_pack(const struct connectib_hw_cqc_cq_state *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cq_state_unpack(struct connectib_hw_cqc_cq_state *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cq_state_print(const struct connectib_hw_cqc_cq_state *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cq_state_size(void);
+#define CONNECTIB_HW_CQC_CQ_STATE_SIZE    (0x40)
+void connectib_hw_cqc_cq_state_dump(const struct connectib_hw_cqc_cq_state *ptr_struct, FILE* file);
+/* hw_cqc_consumer_index */
+void connectib_hw_cqc_consumer_index_pack(const struct connectib_hw_cqc_consumer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_consumer_index_unpack(struct connectib_hw_cqc_consumer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_consumer_index_print(const struct connectib_hw_cqc_consumer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_consumer_index_size(void);
+#define CONNECTIB_HW_CQC_CONSUMER_INDEX_SIZE    (0x40)
+void connectib_hw_cqc_consumer_index_dump(const struct connectib_hw_cqc_consumer_index *ptr_struct, FILE* file);
+/* hw_cqc_mtt_pointer_36_5 */
+void connectib_hw_cqc_mtt_pointer_36_5_pack(const struct connectib_hw_cqc_mtt_pointer_36_5 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_mtt_pointer_36_5_unpack(struct connectib_hw_cqc_mtt_pointer_36_5 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_mtt_pointer_36_5_print(const struct connectib_hw_cqc_mtt_pointer_36_5 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_mtt_pointer_36_5_size(void);
+#define CONNECTIB_HW_CQC_MTT_POINTER_36_5_SIZE    (0x40)
+void connectib_hw_cqc_mtt_pointer_36_5_dump(const struct connectib_hw_cqc_mtt_pointer_36_5 *ptr_struct, FILE* file);
+/* hw_cqc_cipa_31_3 */
+void connectib_hw_cqc_cipa_31_3_pack(const struct connectib_hw_cqc_cipa_31_3 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cipa_31_3_unpack(struct connectib_hw_cqc_cipa_31_3 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cipa_31_3_print(const struct connectib_hw_cqc_cipa_31_3 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cipa_31_3_size(void);
+#define CONNECTIB_HW_CQC_CIPA_31_3_SIZE    (0x40)
+void connectib_hw_cqc_cipa_31_3_dump(const struct connectib_hw_cqc_cipa_31_3 *ptr_struct, FILE* file);
+/* hw_cqc_mtt_pointer_39_37 */
+void connectib_hw_cqc_mtt_pointer_39_37_pack(const struct connectib_hw_cqc_mtt_pointer_39_37 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_mtt_pointer_39_37_unpack(struct connectib_hw_cqc_mtt_pointer_39_37 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_mtt_pointer_39_37_print(const struct connectib_hw_cqc_mtt_pointer_39_37 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_mtt_pointer_39_37_size(void);
+#define CONNECTIB_HW_CQC_MTT_POINTER_39_37_SIZE    (0x40)
+void connectib_hw_cqc_mtt_pointer_39_37_dump(const struct connectib_hw_cqc_mtt_pointer_39_37 *ptr_struct, FILE* file);
+/* hw_cqc_cipa_63_32 */
+void connectib_hw_cqc_cipa_63_32_pack(const struct connectib_hw_cqc_cipa_63_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cipa_63_32_unpack(struct connectib_hw_cqc_cipa_63_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cipa_63_32_print(const struct connectib_hw_cqc_cipa_63_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cipa_63_32_size(void);
+#define CONNECTIB_HW_CQC_CIPA_63_32_SIZE    (0x40)
+void connectib_hw_cqc_cipa_63_32_dump(const struct connectib_hw_cqc_cipa_63_32 *ptr_struct, FILE* file);
+/* hw_cqc_number_of_events_generated */
+void connectib_hw_cqc_number_of_events_generated_pack(const struct connectib_hw_cqc_number_of_events_generated *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_number_of_events_generated_unpack(struct connectib_hw_cqc_number_of_events_generated *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_number_of_events_generated_print(const struct connectib_hw_cqc_number_of_events_generated *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_number_of_events_generated_size(void);
+#define CONNECTIB_HW_CQC_NUMBER_OF_EVENTS_GENERATED_SIZE    (0x40)
+void connectib_hw_cqc_number_of_events_generated_dump(const struct connectib_hw_cqc_number_of_events_generated *ptr_struct, FILE* file);
+/* hw_cqc_db_heartbeat */
+void connectib_hw_cqc_db_heartbeat_pack(const struct connectib_hw_cqc_db_heartbeat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_db_heartbeat_unpack(struct connectib_hw_cqc_db_heartbeat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_db_heartbeat_print(const struct connectib_hw_cqc_db_heartbeat *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_db_heartbeat_size(void);
+#define CONNECTIB_HW_CQC_DB_HEARTBEAT_SIZE    (0x40)
+void connectib_hw_cqc_db_heartbeat_dump(const struct connectib_hw_cqc_db_heartbeat *ptr_struct, FILE* file);
+/* hw_cqc_log2_size */
+void connectib_hw_cqc_log2_size_pack(const struct connectib_hw_cqc_log2_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_log2_size_unpack(struct connectib_hw_cqc_log2_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_log2_size_print(const struct connectib_hw_cqc_log2_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_log2_size_size(void);
+#define CONNECTIB_HW_CQC_LOG2_SIZE_SIZE    (0x40)
+void connectib_hw_cqc_log2_size_dump(const struct connectib_hw_cqc_log2_size *ptr_struct, FILE* file);
+/* hw_cqc_db_ci */
+void connectib_hw_cqc_db_ci_pack(const struct connectib_hw_cqc_db_ci *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_db_ci_unpack(struct connectib_hw_cqc_db_ci *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_db_ci_print(const struct connectib_hw_cqc_db_ci *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_db_ci_size(void);
+#define CONNECTIB_HW_CQC_DB_CI_SIZE    (0x40)
+void connectib_hw_cqc_db_ci_dump(const struct connectib_hw_cqc_db_ci *ptr_struct, FILE* file);
+/* hw_cqc_moderation_min_wait_time */
+void connectib_hw_cqc_moderation_min_wait_time_pack(const struct connectib_hw_cqc_moderation_min_wait_time *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_min_wait_time_unpack(struct connectib_hw_cqc_moderation_min_wait_time *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_min_wait_time_print(const struct connectib_hw_cqc_moderation_min_wait_time *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_moderation_min_wait_time_size(void);
+#define CONNECTIB_HW_CQC_MODERATION_MIN_WAIT_TIME_SIZE    (0x40)
+void connectib_hw_cqc_moderation_min_wait_time_dump(const struct connectib_hw_cqc_moderation_min_wait_time *ptr_struct, FILE* file);
+/* hw_cqc_eqn_msix */
+void connectib_hw_cqc_eqn_msix_pack(const struct connectib_hw_cqc_eqn_msix *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_eqn_msix_unpack(struct connectib_hw_cqc_eqn_msix *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_eqn_msix_print(const struct connectib_hw_cqc_eqn_msix *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_eqn_msix_size(void);
+#define CONNECTIB_HW_CQC_EQN_MSIX_SIZE    (0x40)
+void connectib_hw_cqc_eqn_msix_dump(const struct connectib_hw_cqc_eqn_msix *ptr_struct, FILE* file);
+/* hw_cqc_moderation_cnt_limit_7_0 */
+void connectib_hw_cqc_moderation_cnt_limit_7_0_pack(const struct connectib_hw_cqc_moderation_cnt_limit_7_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_cnt_limit_7_0_unpack(struct connectib_hw_cqc_moderation_cnt_limit_7_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_cnt_limit_7_0_print(const struct connectib_hw_cqc_moderation_cnt_limit_7_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_moderation_cnt_limit_7_0_size(void);
+#define CONNECTIB_HW_CQC_MODERATION_CNT_LIMIT_7_0_SIZE    (0x40)
+void connectib_hw_cqc_moderation_cnt_limit_7_0_dump(const struct connectib_hw_cqc_moderation_cnt_limit_7_0 *ptr_struct, FILE* file);
+/* hw_cqc_producer_index */
+void connectib_hw_cqc_producer_index_pack(const struct connectib_hw_cqc_producer_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_producer_index_unpack(struct connectib_hw_cqc_producer_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_producer_index_print(const struct connectib_hw_cqc_producer_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_producer_index_size(void);
+#define CONNECTIB_HW_CQC_PRODUCER_INDEX_SIZE    (0x40)
+void connectib_hw_cqc_producer_index_dump(const struct connectib_hw_cqc_producer_index *ptr_struct, FILE* file);
+/* hw_cqc_last_notified_index */
+void connectib_hw_cqc_last_notified_index_pack(const struct connectib_hw_cqc_last_notified_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_last_notified_index_unpack(struct connectib_hw_cqc_last_notified_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_last_notified_index_print(const struct connectib_hw_cqc_last_notified_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_last_notified_index_size(void);
+#define CONNECTIB_HW_CQC_LAST_NOTIFIED_INDEX_SIZE    (0x40)
+void connectib_hw_cqc_last_notified_index_dump(const struct connectib_hw_cqc_last_notified_index *ptr_struct, FILE* file);
+/* hw_cqc_moderation_cnt_limit_15_8 */
+void connectib_hw_cqc_moderation_cnt_limit_15_8_pack(const struct connectib_hw_cqc_moderation_cnt_limit_15_8 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_cnt_limit_15_8_unpack(struct connectib_hw_cqc_moderation_cnt_limit_15_8 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_moderation_cnt_limit_15_8_print(const struct connectib_hw_cqc_moderation_cnt_limit_15_8 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_moderation_cnt_limit_15_8_size(void);
+#define CONNECTIB_HW_CQC_MODERATION_CNT_LIMIT_15_8_SIZE    (0x40)
+void connectib_hw_cqc_moderation_cnt_limit_15_8_dump(const struct connectib_hw_cqc_moderation_cnt_limit_15_8 *ptr_struct, FILE* file);
+/* hw_cqc_pa0_31_12 */
+void connectib_hw_cqc_pa0_31_12_pack(const struct connectib_hw_cqc_pa0_31_12 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa0_31_12_unpack(struct connectib_hw_cqc_pa0_31_12 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa0_31_12_print(const struct connectib_hw_cqc_pa0_31_12 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_pa0_31_12_size(void);
+#define CONNECTIB_HW_CQC_PA0_31_12_SIZE    (0x40)
+void connectib_hw_cqc_pa0_31_12_dump(const struct connectib_hw_cqc_pa0_31_12 *ptr_struct, FILE* file);
+/* hw_cqc_cq_trap */
+void connectib_hw_cqc_cq_trap_pack(const struct connectib_hw_cqc_cq_trap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cq_trap_unpack(struct connectib_hw_cqc_cq_trap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cq_trap_print(const struct connectib_hw_cqc_cq_trap *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cq_trap_size(void);
+#define CONNECTIB_HW_CQC_CQ_TRAP_SIZE    (0x40)
+void connectib_hw_cqc_cq_trap_dump(const struct connectib_hw_cqc_cq_trap *ptr_struct, FILE* file);
+/* hw_cqc_shrink */
+void connectib_hw_cqc_shrink_pack(const struct connectib_hw_cqc_shrink *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_shrink_unpack(struct connectib_hw_cqc_shrink *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_shrink_print(const struct connectib_hw_cqc_shrink *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_shrink_size(void);
+#define CONNECTIB_HW_CQC_SHRINK_SIZE    (0x40)
+void connectib_hw_cqc_shrink_dump(const struct connectib_hw_cqc_shrink *ptr_struct, FILE* file);
+/* hw_cqc_pa_mode */
+void connectib_hw_cqc_pa_mode_pack(const struct connectib_hw_cqc_pa_mode *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa_mode_unpack(struct connectib_hw_cqc_pa_mode *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa_mode_print(const struct connectib_hw_cqc_pa_mode *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_pa_mode_size(void);
+#define CONNECTIB_HW_CQC_PA_MODE_SIZE    (0x40)
+void connectib_hw_cqc_pa_mode_dump(const struct connectib_hw_cqc_pa_mode *ptr_struct, FILE* file);
+/* hw_cqc_cqe_heartbeat */
+void connectib_hw_cqc_cqe_heartbeat_pack(const struct connectib_hw_cqc_cqe_heartbeat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cqe_heartbeat_unpack(struct connectib_hw_cqc_cqe_heartbeat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cqe_heartbeat_print(const struct connectib_hw_cqc_cqe_heartbeat *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cqe_heartbeat_size(void);
+#define CONNECTIB_HW_CQC_CQE_HEARTBEAT_SIZE    (0x40)
+void connectib_hw_cqc_cqe_heartbeat_dump(const struct connectib_hw_cqc_cqe_heartbeat *ptr_struct, FILE* file);
+/* hw_cqc_db_recovery_enable */
+void connectib_hw_cqc_db_recovery_enable_pack(const struct connectib_hw_cqc_db_recovery_enable *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_db_recovery_enable_unpack(struct connectib_hw_cqc_db_recovery_enable *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_db_recovery_enable_print(const struct connectib_hw_cqc_db_recovery_enable *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_db_recovery_enable_size(void);
+#define CONNECTIB_HW_CQC_DB_RECOVERY_ENABLE_SIZE    (0x40)
+void connectib_hw_cqc_db_recovery_enable_dump(const struct connectib_hw_cqc_db_recovery_enable *ptr_struct, FILE* file);
+/* hw_cqc_cq_page_offset */
+void connectib_hw_cqc_cq_page_offset_pack(const struct connectib_hw_cqc_cq_page_offset *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cq_page_offset_unpack(struct connectib_hw_cqc_cq_page_offset *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cq_page_offset_print(const struct connectib_hw_cqc_cq_page_offset *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cq_page_offset_size(void);
+#define CONNECTIB_HW_CQC_CQ_PAGE_OFFSET_SIZE    (0x40)
+void connectib_hw_cqc_cq_page_offset_dump(const struct connectib_hw_cqc_cq_page_offset *ptr_struct, FILE* file);
+/* hw_cqc_pa0_63_32 */
+void connectib_hw_cqc_pa0_63_32_pack(const struct connectib_hw_cqc_pa0_63_32 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa0_63_32_unpack(struct connectib_hw_cqc_pa0_63_32 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa0_63_32_print(const struct connectib_hw_cqc_pa0_63_32 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_pa0_63_32_size(void);
+#define CONNECTIB_HW_CQC_PA0_63_32_SIZE    (0x40)
+void connectib_hw_cqc_pa0_63_32_dump(const struct connectib_hw_cqc_pa0_63_32 *ptr_struct, FILE* file);
+/* hw_cqc_lookahead_size_7_0 */
+void connectib_hw_cqc_lookahead_size_7_0_pack(const struct connectib_hw_cqc_lookahead_size_7_0 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_lookahead_size_7_0_unpack(struct connectib_hw_cqc_lookahead_size_7_0 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_lookahead_size_7_0_print(const struct connectib_hw_cqc_lookahead_size_7_0 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_lookahead_size_7_0_size(void);
+#define CONNECTIB_HW_CQC_LOOKAHEAD_SIZE_7_0_SIZE    (0x40)
+void connectib_hw_cqc_lookahead_size_7_0_dump(const struct connectib_hw_cqc_lookahead_size_7_0 *ptr_struct, FILE* file);
+/* hw_cqc_last_solicited_index */
+void connectib_hw_cqc_last_solicited_index_pack(const struct connectib_hw_cqc_last_solicited_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_last_solicited_index_unpack(struct connectib_hw_cqc_last_solicited_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_last_solicited_index_print(const struct connectib_hw_cqc_last_solicited_index *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_last_solicited_index_size(void);
+#define CONNECTIB_HW_CQC_LAST_SOLICITED_INDEX_SIZE    (0x40)
+void connectib_hw_cqc_last_solicited_index_dump(const struct connectib_hw_cqc_last_solicited_index *ptr_struct, FILE* file);
+/* hw_cqc_last_notified_check_for_arm_en */
+void connectib_hw_cqc_last_notified_check_for_arm_en_pack(const struct connectib_hw_cqc_last_notified_check_for_arm_en *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_last_notified_check_for_arm_en_unpack(struct connectib_hw_cqc_last_notified_check_for_arm_en *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_last_notified_check_for_arm_en_print(const struct connectib_hw_cqc_last_notified_check_for_arm_en *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_last_notified_check_for_arm_en_size(void);
+#define CONNECTIB_HW_CQC_LAST_NOTIFIED_CHECK_FOR_ARM_EN_SIZE    (0x40)
+void connectib_hw_cqc_last_notified_check_for_arm_en_dump(const struct connectib_hw_cqc_last_notified_check_for_arm_en *ptr_struct, FILE* file);
+/* hw_cqc_poll_cq_queue_in_error_state */
+void connectib_hw_cqc_poll_cq_queue_in_error_state_pack(const struct connectib_hw_cqc_poll_cq_queue_in_error_state *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_poll_cq_queue_in_error_state_unpack(struct connectib_hw_cqc_poll_cq_queue_in_error_state *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_poll_cq_queue_in_error_state_print(const struct connectib_hw_cqc_poll_cq_queue_in_error_state *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_poll_cq_queue_in_error_state_size(void);
+#define CONNECTIB_HW_CQC_POLL_CQ_QUEUE_IN_ERROR_STATE_SIZE    (0x40)
+void connectib_hw_cqc_poll_cq_queue_in_error_state_dump(const struct connectib_hw_cqc_poll_cq_queue_in_error_state *ptr_struct, FILE* file);
+/* hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue */
+void connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_pack(const struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_unpack(struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_print(const struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_size(void);
+#define CONNECTIB_HW_CQC_POLL_CQ_CQE_WITH_ERROR_GENERATED_ON_THIS_QUEUE_SIZE    (0x40)
+void connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue_dump(const struct connectib_hw_cqc_poll_cq_cqe_with_error_generated_on_this_queue *ptr_struct, FILE* file);
+/* hw_cqc_log_page_size */
+void connectib_hw_cqc_log_page_size_pack(const struct connectib_hw_cqc_log_page_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_log_page_size_unpack(struct connectib_hw_cqc_log_page_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_log_page_size_print(const struct connectib_hw_cqc_log_page_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_log_page_size_size(void);
+#define CONNECTIB_HW_CQC_LOG_PAGE_SIZE_SIZE    (0x40)
+void connectib_hw_cqc_log_page_size_dump(const struct connectib_hw_cqc_log_page_size *ptr_struct, FILE* file);
+/* hw_cqc_pa_error */
+void connectib_hw_cqc_pa_error_pack(const struct connectib_hw_cqc_pa_error *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa_error_unpack(struct connectib_hw_cqc_pa_error *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_pa_error_print(const struct connectib_hw_cqc_pa_error *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_pa_error_size(void);
+#define CONNECTIB_HW_CQC_PA_ERROR_SIZE    (0x40)
+void connectib_hw_cqc_pa_error_dump(const struct connectib_hw_cqc_pa_error *ptr_struct, FILE* file);
+/* hw_cqc_cqe_coalesce_checksum_msix */
+void connectib_hw_cqc_cqe_coalesce_checksum_msix_pack(const struct connectib_hw_cqc_cqe_coalesce_checksum_msix *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cqe_coalesce_checksum_msix_unpack(struct connectib_hw_cqc_cqe_coalesce_checksum_msix *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cqe_coalesce_checksum_msix_print(const struct connectib_hw_cqc_cqe_coalesce_checksum_msix *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cqe_coalesce_checksum_msix_size(void);
+#define CONNECTIB_HW_CQC_CQE_COALESCE_CHECKSUM_MSIX_SIZE    (0x40)
+void connectib_hw_cqc_cqe_coalesce_checksum_msix_dump(const struct connectib_hw_cqc_cqe_coalesce_checksum_msix *ptr_struct, FILE* file);
+/* hw_cqc_cqe_128b_size */
+void connectib_hw_cqc_cqe_128b_size_pack(const struct connectib_hw_cqc_cqe_128b_size *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cqe_128b_size_unpack(struct connectib_hw_cqc_cqe_128b_size *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cqe_128b_size_print(const struct connectib_hw_cqc_cqe_128b_size *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cqe_128b_size_size(void);
+#define CONNECTIB_HW_CQC_CQE_128B_SIZE_SIZE    (0x40)
+void connectib_hw_cqc_cqe_128b_size_dump(const struct connectib_hw_cqc_cqe_128b_size *ptr_struct, FILE* file);
+/* hw_cqc_cqc_valid */
+void connectib_hw_cqc_cqc_valid_pack(const struct connectib_hw_cqc_cqc_valid *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_cqc_valid_unpack(struct connectib_hw_cqc_cqc_valid *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_cqc_valid_print(const struct connectib_hw_cqc_cqc_valid *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_cqc_valid_size(void);
+#define CONNECTIB_HW_CQC_CQC_VALID_SIZE    (0x40)
+void connectib_hw_cqc_cqc_valid_dump(const struct connectib_hw_cqc_cqc_valid *ptr_struct, FILE* file);
+/* hw_cqc_lookahead_size_23_8 */
+void connectib_hw_cqc_lookahead_size_23_8_pack(const struct connectib_hw_cqc_lookahead_size_23_8 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_cqc_lookahead_size_23_8_unpack(struct connectib_hw_cqc_lookahead_size_23_8 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_cqc_lookahead_size_23_8_print(const struct connectib_hw_cqc_lookahead_size_23_8 *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_cqc_lookahead_size_23_8_size(void);
+#define CONNECTIB_HW_CQC_LOOKAHEAD_SIZE_23_8_SIZE    (0x40)
+void connectib_hw_cqc_lookahead_size_23_8_dump(const struct connectib_hw_cqc_lookahead_size_23_8 *ptr_struct, FILE* file);
 /* mlnx_enhanced_equal_info_ini */
 void connectib_mlnx_enhanced_equal_info_ini_pack(const struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, u_int8_t* ptr_buff);
 void connectib_mlnx_enhanced_equal_info_ini_unpack(struct connectib_mlnx_enhanced_equal_info_ini *ptr_struct, const u_int8_t* ptr_buff);
@@ -23147,27 +32921,34 @@ void connectib_nv_tlv_data_tpt_capabilities_print(const struct connectib_nv_tlv_
 int connectib_nv_tlv_data_tpt_capabilities_size(void);
 #define CONNECTIB_NV_TLV_DATA_TPT_CAPABILITIES_SIZE    (0x4)
 void connectib_nv_tlv_data_tpt_capabilities_dump(const struct connectib_nv_tlv_data_tpt_capabilities *ptr_struct, FILE* file);
-/* nv_tlv_data_tpt_settings */
-void connectib_nv_tlv_data_tpt_settings_pack(const struct connectib_nv_tlv_data_tpt_settings *ptr_struct, u_int8_t* ptr_buff);
-void connectib_nv_tlv_data_tpt_settings_unpack(struct connectib_nv_tlv_data_tpt_settings *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_nv_tlv_data_tpt_settings_print(const struct connectib_nv_tlv_data_tpt_settings *ptr_struct, FILE* file, int indent_level);
-int connectib_nv_tlv_data_tpt_settings_size(void);
-#define CONNECTIB_NV_TLV_DATA_TPT_SETTINGS_SIZE    (0x4)
-void connectib_nv_tlv_data_tpt_settings_dump(const struct connectib_nv_tlv_data_tpt_settings *ptr_struct, FILE* file);
-/* nv_tlv_data_pci_capabilities */
-void connectib_nv_tlv_data_pci_capabilities_pack(const struct connectib_nv_tlv_data_pci_capabilities *ptr_struct, u_int8_t* ptr_buff);
-void connectib_nv_tlv_data_pci_capabilities_unpack(struct connectib_nv_tlv_data_pci_capabilities *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_nv_tlv_data_pci_capabilities_print(const struct connectib_nv_tlv_data_pci_capabilities *ptr_struct, FILE* file, int indent_level);
-int connectib_nv_tlv_data_pci_capabilities_size(void);
-#define CONNECTIB_NV_TLV_DATA_PCI_CAPABILITIES_SIZE    (0x14)
-void connectib_nv_tlv_data_pci_capabilities_dump(const struct connectib_nv_tlv_data_pci_capabilities *ptr_struct, FILE* file);
-/* nv_tlv_data_pci_settings */
-void connectib_nv_tlv_data_pci_settings_pack(const struct connectib_nv_tlv_data_pci_settings *ptr_struct, u_int8_t* ptr_buff);
-void connectib_nv_tlv_data_pci_settings_unpack(struct connectib_nv_tlv_data_pci_settings *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_nv_tlv_data_pci_settings_print(const struct connectib_nv_tlv_data_pci_settings *ptr_struct, FILE* file, int indent_level);
-int connectib_nv_tlv_data_pci_settings_size(void);
-#define CONNECTIB_NV_TLV_DATA_PCI_SETTINGS_SIZE    (0xc)
-void connectib_nv_tlv_data_pci_settings_dump(const struct connectib_nv_tlv_data_pci_settings *ptr_struct, FILE* file);
+/* nv_tpt_conf */
+void connectib_nv_tpt_conf_pack(const struct connectib_nv_tpt_conf *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_tpt_conf_unpack(struct connectib_nv_tpt_conf *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_tpt_conf_print(const struct connectib_nv_tpt_conf *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_tpt_conf_size(void);
+#define CONNECTIB_NV_TPT_CONF_SIZE    (0x4)
+void connectib_nv_tpt_conf_dump(const struct connectib_nv_tpt_conf *ptr_struct, FILE* file);
+/* nv_global_pci_cap */
+void connectib_nv_global_pci_cap_pack(const struct connectib_nv_global_pci_cap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_global_pci_cap_unpack(struct connectib_nv_global_pci_cap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_global_pci_cap_print(const struct connectib_nv_global_pci_cap *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_global_pci_cap_size(void);
+#define CONNECTIB_NV_GLOBAL_PCI_CAP_SIZE    (0x14)
+void connectib_nv_global_pci_cap_dump(const struct connectib_nv_global_pci_cap *ptr_struct, FILE* file);
+/* nv_global_pci_conf */
+void connectib_nv_global_pci_conf_pack(const struct connectib_nv_global_pci_conf *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_global_pci_conf_unpack(struct connectib_nv_global_pci_conf *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_global_pci_conf_print(const struct connectib_nv_global_pci_conf *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_global_pci_conf_size(void);
+#define CONNECTIB_NV_GLOBAL_PCI_CONF_SIZE    (0xc)
+void connectib_nv_global_pci_conf_dump(const struct connectib_nv_global_pci_conf *ptr_struct, FILE* file);
+/* pcie_acs_ctrl_fields */
+void connectib_pcie_acs_ctrl_fields_pack(const struct connectib_pcie_acs_ctrl_fields *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pcie_acs_ctrl_fields_unpack(struct connectib_pcie_acs_ctrl_fields *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pcie_acs_ctrl_fields_print(const struct connectib_pcie_acs_ctrl_fields *ptr_struct, FILE* file, int indent_level);
+int connectib_pcie_acs_ctrl_fields_size(void);
+#define CONNECTIB_PCIE_ACS_CTRL_FIELDS_SIZE    (0x4)
+void connectib_pcie_acs_ctrl_fields_dump(const struct connectib_pcie_acs_ctrl_fields *ptr_struct, FILE* file);
 /* header_log */
 void connectib_header_log_pack(const struct connectib_header_log *ptr_struct, u_int8_t* ptr_buff);
 void connectib_header_log_unpack(struct connectib_header_log *ptr_struct, const u_int8_t* ptr_buff);
@@ -23280,6 +33061,48 @@ void connectib_pciex_link_ctl3_print(const struct connectib_pciex_link_ctl3 *ptr
 int connectib_pciex_link_ctl3_size(void);
 #define CONNECTIB_PCIEX_LINK_CTL3_SIZE    (0x4)
 void connectib_pciex_link_ctl3_dump(const struct connectib_pciex_link_ctl3 *ptr_struct, FILE* file);
+/* bridge_control */
+void connectib_bridge_control_pack(const struct connectib_bridge_control *ptr_struct, u_int8_t* ptr_buff);
+void connectib_bridge_control_unpack(struct connectib_bridge_control *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_bridge_control_print(const struct connectib_bridge_control *ptr_struct, FILE* file, int indent_level);
+int connectib_bridge_control_size(void);
+#define CONNECTIB_BRIDGE_CONTROL_SIZE    (0x2)
+void connectib_bridge_control_dump(const struct connectib_bridge_control *ptr_struct, FILE* file);
+/* exp_rom */
+void connectib_exp_rom_pack(const struct connectib_exp_rom *ptr_struct, u_int8_t* ptr_buff);
+void connectib_exp_rom_unpack(struct connectib_exp_rom *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_exp_rom_print(const struct connectib_exp_rom *ptr_struct, FILE* file, int indent_level);
+int connectib_exp_rom_size(void);
+#define CONNECTIB_EXP_ROM_SIZE    (0x4)
+void connectib_exp_rom_dump(const struct connectib_exp_rom *ptr_struct, FILE* file);
+/* secondary_status */
+void connectib_secondary_status_pack(const struct connectib_secondary_status *ptr_struct, u_int8_t* ptr_buff);
+void connectib_secondary_status_unpack(struct connectib_secondary_status *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_secondary_status_print(const struct connectib_secondary_status *ptr_struct, FILE* file, int indent_level);
+int connectib_secondary_status_size(void);
+#define CONNECTIB_SECONDARY_STATUS_SIZE    (0x2)
+void connectib_secondary_status_dump(const struct connectib_secondary_status *ptr_struct, FILE* file);
+/* header_type */
+void connectib_header_type_pack(const struct connectib_header_type *ptr_struct, u_int8_t* ptr_buff);
+void connectib_header_type_unpack(struct connectib_header_type *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_header_type_print(const struct connectib_header_type *ptr_struct, FILE* file, int indent_level);
+int connectib_header_type_size(void);
+#define CONNECTIB_HEADER_TYPE_SIZE    (0x1)
+void connectib_header_type_dump(const struct connectib_header_type *ptr_struct, FILE* file);
+/* stat_reg1 */
+void connectib_stat_reg1_pack(const struct connectib_stat_reg1 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_stat_reg1_unpack(struct connectib_stat_reg1 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_stat_reg1_print(const struct connectib_stat_reg1 *ptr_struct, FILE* file, int indent_level);
+int connectib_stat_reg1_size(void);
+#define CONNECTIB_STAT_REG1_SIZE    (0x2)
+void connectib_stat_reg1_dump(const struct connectib_stat_reg1 *ptr_struct, FILE* file);
+/* cmd_reg1 */
+void connectib_cmd_reg1_pack(const struct connectib_cmd_reg1 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmd_reg1_unpack(struct connectib_cmd_reg1 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmd_reg1_print(const struct connectib_cmd_reg1 *ptr_struct, FILE* file, int indent_level);
+int connectib_cmd_reg1_size(void);
+#define CONNECTIB_CMD_REG1_SIZE    (0x2)
+void connectib_cmd_reg1_dump(const struct connectib_cmd_reg1 *ptr_struct, FILE* file);
 /* message_control */
 void connectib_message_control_pack(const struct connectib_message_control *ptr_struct, u_int8_t* ptr_buff);
 void connectib_message_control_unpack(struct connectib_message_control *ptr_struct, const u_int8_t* ptr_buff);
@@ -23318,185 +33141,227 @@ void connectib_device_stat2_dump(const struct connectib_device_stat2 *ptr_struct
 /* device_ctl2 */
 void connectib_device_ctl2_pack(const struct connectib_device_ctl2 *ptr_struct, u_int8_t* ptr_buff);
 void connectib_device_ctl2_unpack(struct connectib_device_ctl2 *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_device_ctl2_print(const struct connectib_device_ctl2 *ptr_struct, FILE* file, int indent_level);
-int connectib_device_ctl2_size(void);
-#define CONNECTIB_DEVICE_CTL2_SIZE    (0x2)
-void connectib_device_ctl2_dump(const struct connectib_device_ctl2 *ptr_struct, FILE* file);
-/* device_caps2 */
-void connectib_device_caps2_pack(const struct connectib_device_caps2 *ptr_struct, u_int8_t* ptr_buff);
-void connectib_device_caps2_unpack(struct connectib_device_caps2 *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_device_caps2_print(const struct connectib_device_caps2 *ptr_struct, FILE* file, int indent_level);
-int connectib_device_caps2_size(void);
-#define CONNECTIB_DEVICE_CAPS2_SIZE    (0x4)
-void connectib_device_caps2_dump(const struct connectib_device_caps2 *ptr_struct, FILE* file);
-/* link_stat */
-void connectib_link_stat_pack(const struct connectib_link_stat *ptr_struct, u_int8_t* ptr_buff);
-void connectib_link_stat_unpack(struct connectib_link_stat *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_link_stat_print(const struct connectib_link_stat *ptr_struct, FILE* file, int indent_level);
-int connectib_link_stat_size(void);
-#define CONNECTIB_LINK_STAT_SIZE    (0x2)
-void connectib_link_stat_dump(const struct connectib_link_stat *ptr_struct, FILE* file);
-/* link_ctl */
-void connectib_link_ctl_pack(const struct connectib_link_ctl *ptr_struct, u_int8_t* ptr_buff);
-void connectib_link_ctl_unpack(struct connectib_link_ctl *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_link_ctl_print(const struct connectib_link_ctl *ptr_struct, FILE* file, int indent_level);
-int connectib_link_ctl_size(void);
-#define CONNECTIB_LINK_CTL_SIZE    (0x2)
-void connectib_link_ctl_dump(const struct connectib_link_ctl *ptr_struct, FILE* file);
-/* link_caps */
-void connectib_link_caps_pack(const struct connectib_link_caps *ptr_struct, u_int8_t* ptr_buff);
-void connectib_link_caps_unpack(struct connectib_link_caps *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_link_caps_print(const struct connectib_link_caps *ptr_struct, FILE* file, int indent_level);
-int connectib_link_caps_size(void);
-#define CONNECTIB_LINK_CAPS_SIZE    (0x4)
-void connectib_link_caps_dump(const struct connectib_link_caps *ptr_struct, FILE* file);
-/* device_stat */
-void connectib_device_stat_pack(const struct connectib_device_stat *ptr_struct, u_int8_t* ptr_buff);
-void connectib_device_stat_unpack(struct connectib_device_stat *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_device_stat_print(const struct connectib_device_stat *ptr_struct, FILE* file, int indent_level);
-int connectib_device_stat_size(void);
-#define CONNECTIB_DEVICE_STAT_SIZE    (0x2)
-void connectib_device_stat_dump(const struct connectib_device_stat *ptr_struct, FILE* file);
-/* device_ctl */
-void connectib_device_ctl_pack(const struct connectib_device_ctl *ptr_struct, u_int8_t* ptr_buff);
-void connectib_device_ctl_unpack(struct connectib_device_ctl *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_device_ctl_print(const struct connectib_device_ctl *ptr_struct, FILE* file, int indent_level);
-int connectib_device_ctl_size(void);
-#define CONNECTIB_DEVICE_CTL_SIZE    (0x2)
-void connectib_device_ctl_dump(const struct connectib_device_ctl *ptr_struct, FILE* file);
-/* device_caps */
-void connectib_device_caps_pack(const struct connectib_device_caps *ptr_struct, u_int8_t* ptr_buff);
-void connectib_device_caps_unpack(struct connectib_device_caps *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_device_caps_print(const struct connectib_device_caps *ptr_struct, FILE* file, int indent_level);
-int connectib_device_caps_size(void);
-#define CONNECTIB_DEVICE_CAPS_SIZE    (0x4)
-void connectib_device_caps_dump(const struct connectib_device_caps *ptr_struct, FILE* file);
-/* pciex_cap */
-void connectib_pciex_cap_pack(const struct connectib_pciex_cap *ptr_struct, u_int8_t* ptr_buff);
-void connectib_pciex_cap_unpack(struct connectib_pciex_cap *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_pciex_cap_print(const struct connectib_pciex_cap *ptr_struct, FILE* file, int indent_level);
-int connectib_pciex_cap_size(void);
-#define CONNECTIB_PCIEX_CAP_SIZE    (0x2)
-void connectib_pciex_cap_dump(const struct connectib_pciex_cap *ptr_struct, FILE* file);
-/* exp_rom */
-void connectib_exp_rom_pack(const struct connectib_exp_rom *ptr_struct, u_int8_t* ptr_buff);
-void connectib_exp_rom_unpack(struct connectib_exp_rom *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_exp_rom_print(const struct connectib_exp_rom *ptr_struct, FILE* file, int indent_level);
-int connectib_exp_rom_size(void);
-#define CONNECTIB_EXP_ROM_SIZE    (0x4)
-void connectib_exp_rom_dump(const struct connectib_exp_rom *ptr_struct, FILE* file);
-/* stat_reg1 */
-void connectib_stat_reg1_pack(const struct connectib_stat_reg1 *ptr_struct, u_int8_t* ptr_buff);
-void connectib_stat_reg1_unpack(struct connectib_stat_reg1 *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_stat_reg1_print(const struct connectib_stat_reg1 *ptr_struct, FILE* file, int indent_level);
-int connectib_stat_reg1_size(void);
-#define CONNECTIB_STAT_REG1_SIZE    (0x2)
-void connectib_stat_reg1_dump(const struct connectib_stat_reg1 *ptr_struct, FILE* file);
-/* cmd_reg1 */
-void connectib_cmd_reg1_pack(const struct connectib_cmd_reg1 *ptr_struct, u_int8_t* ptr_buff);
-void connectib_cmd_reg1_unpack(struct connectib_cmd_reg1 *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_cmd_reg1_print(const struct connectib_cmd_reg1 *ptr_struct, FILE* file, int indent_level);
-int connectib_cmd_reg1_size(void);
-#define CONNECTIB_CMD_REG1_SIZE    (0x2)
-void connectib_cmd_reg1_dump(const struct connectib_cmd_reg1 *ptr_struct, FILE* file);
-/* nv_tlv_data_vpi_settings */
-void connectib_nv_tlv_data_vpi_settings_pack(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, u_int8_t* ptr_buff);
-void connectib_nv_tlv_data_vpi_settings_unpack(struct connectib_nv_tlv_data_vpi_settings *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_nv_tlv_data_vpi_settings_print(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, FILE* file, int indent_level);
-int connectib_nv_tlv_data_vpi_settings_size(void);
-#define CONNECTIB_NV_TLV_DATA_VPI_SETTINGS_SIZE    (0x4)
-void connectib_nv_tlv_data_vpi_settings_dump(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, FILE* file);
-/* dword_val */
-void connectib_dword_val_pack(const struct connectib_dword_val *ptr_struct, u_int8_t* ptr_buff);
-void connectib_dword_val_unpack(struct connectib_dword_val *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_dword_val_print(const struct connectib_dword_val *ptr_struct, FILE* file, int indent_level);
-int connectib_dword_val_size(void);
-#define CONNECTIB_DWORD_VAL_SIZE    (0x4)
-void connectib_dword_val_dump(const struct connectib_dword_val *ptr_struct, FILE* file);
-/* port_cap_mask1_fields */
-void connectib_port_cap_mask1_fields_pack(const struct connectib_port_cap_mask1_fields *ptr_struct, u_int8_t* ptr_buff);
-void connectib_port_cap_mask1_fields_unpack(struct connectib_port_cap_mask1_fields *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_port_cap_mask1_fields_print(const struct connectib_port_cap_mask1_fields *ptr_struct, FILE* file, int indent_level);
-int connectib_port_cap_mask1_fields_size(void);
-#define CONNECTIB_PORT_CAP_MASK1_FIELDS_SIZE    (0x4)
-void connectib_port_cap_mask1_fields_dump(const struct connectib_port_cap_mask1_fields *ptr_struct, FILE* file);
-/* ib_port_counters */
-void connectib_ib_port_counters_pack(const struct connectib_ib_port_counters *ptr_struct, u_int8_t* ptr_buff);
-void connectib_ib_port_counters_unpack(struct connectib_ib_port_counters *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_ib_port_counters_print(const struct connectib_ib_port_counters *ptr_struct, FILE* file, int indent_level);
-int connectib_ib_port_counters_size(void);
-#define CONNECTIB_IB_PORT_COUNTERS_SIZE    (0xf8)
-void connectib_ib_port_counters_dump(const struct connectib_ib_port_counters *ptr_struct, FILE* file);
-/* llr_counters */
-void connectib_llr_counters_pack(const struct connectib_llr_counters *ptr_struct, u_int8_t* ptr_buff);
-void connectib_llr_counters_unpack(struct connectib_llr_counters *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_llr_counters_print(const struct connectib_llr_counters *ptr_struct, FILE* file, int indent_level);
-int connectib_llr_counters_size(void);
-#define CONNECTIB_LLR_COUNTERS_SIZE    (0xf8)
-void connectib_llr_counters_dump(const struct connectib_llr_counters *ptr_struct, FILE* file);
-/* discard_cntrs_grp_data */
-void connectib_discard_cntrs_grp_data_pack(const struct connectib_discard_cntrs_grp_data *ptr_struct, u_int8_t* ptr_buff);
-void connectib_discard_cntrs_grp_data_unpack(struct connectib_discard_cntrs_grp_data *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_discard_cntrs_grp_data_print(const struct connectib_discard_cntrs_grp_data *ptr_struct, FILE* file, int indent_level);
-int connectib_discard_cntrs_grp_data_size(void);
-#define CONNECTIB_DISCARD_CNTRS_GRP_DATA_SIZE    (0xf8)
-void connectib_discard_cntrs_grp_data_dump(const struct connectib_discard_cntrs_grp_data *ptr_struct, FILE* file);
-/* phys_layer_cntrs */
-void connectib_phys_layer_cntrs_pack(const struct connectib_phys_layer_cntrs *ptr_struct, u_int8_t* ptr_buff);
-void connectib_phys_layer_cntrs_unpack(struct connectib_phys_layer_cntrs *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_phys_layer_cntrs_print(const struct connectib_phys_layer_cntrs *ptr_struct, FILE* file, int indent_level);
-int connectib_phys_layer_cntrs_size(void);
-#define CONNECTIB_PHYS_LAYER_CNTRS_SIZE    (0xc8)
-void connectib_phys_layer_cntrs_dump(const struct connectib_phys_layer_cntrs *ptr_struct, FILE* file);
-/* eth_per_traffic_grp_data_layout */
-void connectib_eth_per_traffic_grp_data_layout_pack(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
-void connectib_eth_per_traffic_grp_data_layout_unpack(struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_eth_per_traffic_grp_data_layout_print(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, FILE* file, int indent_level);
-int connectib_eth_per_traffic_grp_data_layout_size(void);
-#define CONNECTIB_ETH_PER_TRAFFIC_GRP_DATA_LAYOUT_SIZE    (0xf8)
-void connectib_eth_per_traffic_grp_data_layout_dump(const struct connectib_eth_per_traffic_grp_data_layout *ptr_struct, FILE* file);
-/* eth_per_prio_grp_data_layout */
-void connectib_eth_per_prio_grp_data_layout_pack(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
-void connectib_eth_per_prio_grp_data_layout_unpack(struct connectib_eth_per_prio_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_eth_per_prio_grp_data_layout_print(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, FILE* file, int indent_level);
-int connectib_eth_per_prio_grp_data_layout_size(void);
-#define CONNECTIB_ETH_PER_PRIO_GRP_DATA_LAYOUT_SIZE    (0xf8)
-void connectib_eth_per_prio_grp_data_layout_dump(const struct connectib_eth_per_prio_grp_data_layout *ptr_struct, FILE* file);
-/* eth_extended_cntrs_grp_data_layout */
-void connectib_eth_extended_cntrs_grp_data_layout_pack(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
-void connectib_eth_extended_cntrs_grp_data_layout_unpack(struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_eth_extended_cntrs_grp_data_layout_print(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
-int connectib_eth_extended_cntrs_grp_data_layout_size(void);
-#define CONNECTIB_ETH_EXTENDED_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
-void connectib_eth_extended_cntrs_grp_data_layout_dump(const struct connectib_eth_extended_cntrs_grp_data_layout *ptr_struct, FILE* file);
-/* eth_3635_cntrs_grp_data_layout */
-void connectib_eth_3635_cntrs_grp_data_layout_pack(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
-void connectib_eth_3635_cntrs_grp_data_layout_unpack(struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_eth_3635_cntrs_grp_data_layout_print(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
-int connectib_eth_3635_cntrs_grp_data_layout_size(void);
-#define CONNECTIB_ETH_3635_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
-void connectib_eth_3635_cntrs_grp_data_layout_dump(const struct connectib_eth_3635_cntrs_grp_data_layout *ptr_struct, FILE* file);
-/* eth_2819_cntrs_grp_data_layout */
-void connectib_eth_2819_cntrs_grp_data_layout_pack(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
-void connectib_eth_2819_cntrs_grp_data_layout_unpack(struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_eth_2819_cntrs_grp_data_layout_print(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
-int connectib_eth_2819_cntrs_grp_data_layout_size(void);
-#define CONNECTIB_ETH_2819_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
-void connectib_eth_2819_cntrs_grp_data_layout_dump(const struct connectib_eth_2819_cntrs_grp_data_layout *ptr_struct, FILE* file);
-/* eth_2863_cntrs_grp_data_layout */
-void connectib_eth_2863_cntrs_grp_data_layout_pack(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
-void connectib_eth_2863_cntrs_grp_data_layout_unpack(struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_eth_2863_cntrs_grp_data_layout_print(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
-int connectib_eth_2863_cntrs_grp_data_layout_size(void);
-#define CONNECTIB_ETH_2863_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
-void connectib_eth_2863_cntrs_grp_data_layout_dump(const struct connectib_eth_2863_cntrs_grp_data_layout *ptr_struct, FILE* file);
-/* eth_802_3_cntrs_grp_data_layout */
-void connectib_eth_802_3_cntrs_grp_data_layout_pack(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, u_int8_t* ptr_buff);
-void connectib_eth_802_3_cntrs_grp_data_layout_unpack(struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_eth_802_3_cntrs_grp_data_layout_print(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, FILE* file, int indent_level);
-int connectib_eth_802_3_cntrs_grp_data_layout_size(void);
-#define CONNECTIB_ETH_802_3_CNTRS_GRP_DATA_LAYOUT_SIZE    (0xf8)
-void connectib_eth_802_3_cntrs_grp_data_layout_dump(const struct connectib_eth_802_3_cntrs_grp_data_layout *ptr_struct, FILE* file);
+void connectib_device_ctl2_print(const struct connectib_device_ctl2 *ptr_struct, FILE* file, int indent_level);
+int connectib_device_ctl2_size(void);
+#define CONNECTIB_DEVICE_CTL2_SIZE    (0x2)
+void connectib_device_ctl2_dump(const struct connectib_device_ctl2 *ptr_struct, FILE* file);
+/* device_caps2 */
+void connectib_device_caps2_pack(const struct connectib_device_caps2 *ptr_struct, u_int8_t* ptr_buff);
+void connectib_device_caps2_unpack(struct connectib_device_caps2 *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_device_caps2_print(const struct connectib_device_caps2 *ptr_struct, FILE* file, int indent_level);
+int connectib_device_caps2_size(void);
+#define CONNECTIB_DEVICE_CAPS2_SIZE    (0x4)
+void connectib_device_caps2_dump(const struct connectib_device_caps2 *ptr_struct, FILE* file);
+/* slot_caps */
+void connectib_slot_caps_pack(const struct connectib_slot_caps *ptr_struct, u_int8_t* ptr_buff);
+void connectib_slot_caps_unpack(struct connectib_slot_caps *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_slot_caps_print(const struct connectib_slot_caps *ptr_struct, FILE* file, int indent_level);
+int connectib_slot_caps_size(void);
+#define CONNECTIB_SLOT_CAPS_SIZE    (0x4)
+void connectib_slot_caps_dump(const struct connectib_slot_caps *ptr_struct, FILE* file);
+/* link_stat */
+void connectib_link_stat_pack(const struct connectib_link_stat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_link_stat_unpack(struct connectib_link_stat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_link_stat_print(const struct connectib_link_stat *ptr_struct, FILE* file, int indent_level);
+int connectib_link_stat_size(void);
+#define CONNECTIB_LINK_STAT_SIZE    (0x2)
+void connectib_link_stat_dump(const struct connectib_link_stat *ptr_struct, FILE* file);
+/* link_ctl */
+void connectib_link_ctl_pack(const struct connectib_link_ctl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_link_ctl_unpack(struct connectib_link_ctl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_link_ctl_print(const struct connectib_link_ctl *ptr_struct, FILE* file, int indent_level);
+int connectib_link_ctl_size(void);
+#define CONNECTIB_LINK_CTL_SIZE    (0x2)
+void connectib_link_ctl_dump(const struct connectib_link_ctl *ptr_struct, FILE* file);
+/* link_caps */
+void connectib_link_caps_pack(const struct connectib_link_caps *ptr_struct, u_int8_t* ptr_buff);
+void connectib_link_caps_unpack(struct connectib_link_caps *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_link_caps_print(const struct connectib_link_caps *ptr_struct, FILE* file, int indent_level);
+int connectib_link_caps_size(void);
+#define CONNECTIB_LINK_CAPS_SIZE    (0x4)
+void connectib_link_caps_dump(const struct connectib_link_caps *ptr_struct, FILE* file);
+/* device_stat */
+void connectib_device_stat_pack(const struct connectib_device_stat *ptr_struct, u_int8_t* ptr_buff);
+void connectib_device_stat_unpack(struct connectib_device_stat *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_device_stat_print(const struct connectib_device_stat *ptr_struct, FILE* file, int indent_level);
+int connectib_device_stat_size(void);
+#define CONNECTIB_DEVICE_STAT_SIZE    (0x2)
+void connectib_device_stat_dump(const struct connectib_device_stat *ptr_struct, FILE* file);
+/* device_ctl */
+void connectib_device_ctl_pack(const struct connectib_device_ctl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_device_ctl_unpack(struct connectib_device_ctl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_device_ctl_print(const struct connectib_device_ctl *ptr_struct, FILE* file, int indent_level);
+int connectib_device_ctl_size(void);
+#define CONNECTIB_DEVICE_CTL_SIZE    (0x2)
+void connectib_device_ctl_dump(const struct connectib_device_ctl *ptr_struct, FILE* file);
+/* device_caps */
+void connectib_device_caps_pack(const struct connectib_device_caps *ptr_struct, u_int8_t* ptr_buff);
+void connectib_device_caps_unpack(struct connectib_device_caps *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_device_caps_print(const struct connectib_device_caps *ptr_struct, FILE* file, int indent_level);
+int connectib_device_caps_size(void);
+#define CONNECTIB_DEVICE_CAPS_SIZE    (0x4)
+void connectib_device_caps_dump(const struct connectib_device_caps *ptr_struct, FILE* file);
+/* pciex_cap */
+void connectib_pciex_cap_pack(const struct connectib_pciex_cap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pciex_cap_unpack(struct connectib_pciex_cap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pciex_cap_print(const struct connectib_pciex_cap *ptr_struct, FILE* file, int indent_level);
+int connectib_pciex_cap_size(void);
+#define CONNECTIB_PCIEX_CAP_SIZE    (0x2)
+void connectib_pciex_cap_dump(const struct connectib_pciex_cap *ptr_struct, FILE* file);
+/* external_port_pf_array */
+void connectib_external_port_pf_array_pack(const struct connectib_external_port_pf_array *ptr_struct, u_int8_t* ptr_buff);
+void connectib_external_port_pf_array_unpack(struct connectib_external_port_pf_array *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_external_port_pf_array_print(const struct connectib_external_port_pf_array *ptr_struct, FILE* file, int indent_level);
+int connectib_external_port_pf_array_size(void);
+#define CONNECTIB_EXTERNAL_PORT_PF_ARRAY_SIZE    (0x18)
+void connectib_external_port_pf_array_dump(const struct connectib_external_port_pf_array *ptr_struct, FILE* file);
+/* nv_tlv_data_curr_config */
+void connectib_nv_tlv_data_curr_config_pack(const struct connectib_nv_tlv_data_curr_config *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_tlv_data_curr_config_unpack(struct connectib_nv_tlv_data_curr_config *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_tlv_data_curr_config_print(const struct connectib_nv_tlv_data_curr_config *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_tlv_data_curr_config_size(void);
+#define CONNECTIB_NV_TLV_DATA_CURR_CONFIG_SIZE    (0x4)
+void connectib_nv_tlv_data_curr_config_dump(const struct connectib_nv_tlv_data_curr_config *ptr_struct, FILE* file);
+/* nv_config_flex_nic */
+void connectib_nv_config_flex_nic_pack(const struct connectib_nv_config_flex_nic *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_config_flex_nic_unpack(struct connectib_nv_config_flex_nic *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_config_flex_nic_print(const struct connectib_nv_config_flex_nic *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_config_flex_nic_size(void);
+#define CONNECTIB_NV_CONFIG_FLEX_NIC_SIZE    (0x4)
+void connectib_nv_config_flex_nic_dump(const struct connectib_nv_config_flex_nic *ptr_struct, FILE* file);
+/* nv_config_host_2_bmc */
+void connectib_nv_config_host_2_bmc_pack(const struct connectib_nv_config_host_2_bmc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_config_host_2_bmc_unpack(struct connectib_nv_config_host_2_bmc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_config_host_2_bmc_print(const struct connectib_nv_config_host_2_bmc *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_config_host_2_bmc_size(void);
+#define CONNECTIB_NV_CONFIG_HOST_2_BMC_SIZE    (0x4)
+void connectib_nv_config_host_2_bmc_dump(const struct connectib_nv_config_host_2_bmc *ptr_struct, FILE* file);
+/* nv_tlv_tweaks */
+void connectib_nv_tlv_tweaks_pack(const struct connectib_nv_tlv_tweaks *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_tlv_tweaks_unpack(struct connectib_nv_tlv_tweaks *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_tlv_tweaks_print(const struct connectib_nv_tlv_tweaks *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_tlv_tweaks_size(void);
+#define CONNECTIB_NV_TLV_TWEAKS_SIZE    (0x4)
+void connectib_nv_tlv_tweaks_dump(const struct connectib_nv_tlv_tweaks *ptr_struct, FILE* file);
+/* nv_sw_offload_conf */
+void connectib_nv_sw_offload_conf_pack(const struct connectib_nv_sw_offload_conf *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_sw_offload_conf_unpack(struct connectib_nv_sw_offload_conf *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_sw_offload_conf_print(const struct connectib_nv_sw_offload_conf *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_sw_offload_conf_size(void);
+#define CONNECTIB_NV_SW_OFFLOAD_CONF_SIZE    (0x8)
+void connectib_nv_sw_offload_conf_dump(const struct connectib_nv_sw_offload_conf *ptr_struct, FILE* file);
+/* nv_roce_1_5_conf */
+void connectib_nv_roce_1_5_conf_pack(const struct connectib_nv_roce_1_5_conf *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_roce_1_5_conf_unpack(struct connectib_nv_roce_1_5_conf *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_roce_1_5_conf_print(const struct connectib_nv_roce_1_5_conf *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_roce_1_5_conf_size(void);
+#define CONNECTIB_NV_ROCE_1_5_CONF_SIZE    (0x4)
+void connectib_nv_roce_1_5_conf_dump(const struct connectib_nv_roce_1_5_conf *ptr_struct, FILE* file);
+/* nv_qos_ets_tc_conf */
+void connectib_nv_qos_ets_tc_conf_pack(const struct connectib_nv_qos_ets_tc_conf *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_qos_ets_tc_conf_unpack(struct connectib_nv_qos_ets_tc_conf *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_qos_ets_tc_conf_print(const struct connectib_nv_qos_ets_tc_conf *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_qos_ets_tc_conf_size(void);
+#define CONNECTIB_NV_QOS_ETS_TC_CONF_SIZE    (0x48)
+void connectib_nv_qos_ets_tc_conf_dump(const struct connectib_nv_qos_ets_tc_conf *ptr_struct, FILE* file);
+/* nv_qos_cap */
+void connectib_nv_qos_cap_pack(const struct connectib_nv_qos_cap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_qos_cap_unpack(struct connectib_nv_qos_cap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_qos_cap_print(const struct connectib_nv_qos_cap *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_qos_cap_size(void);
+#define CONNECTIB_NV_QOS_CAP_SIZE    (0x4)
+void connectib_nv_qos_cap_dump(const struct connectib_nv_qos_cap *ptr_struct, FILE* file);
+/* nv_qos_conf */
+void connectib_nv_qos_conf_pack(const struct connectib_nv_qos_conf *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_qos_conf_unpack(struct connectib_nv_qos_conf *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_qos_conf_print(const struct connectib_nv_qos_conf *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_qos_conf_size(void);
+#define CONNECTIB_NV_QOS_CONF_SIZE    (0xc)
+void connectib_nv_qos_conf_dump(const struct connectib_nv_qos_conf *ptr_struct, FILE* file);
+/* nv_lldp_nb_dcbx */
+void connectib_nv_lldp_nb_dcbx_pack(const struct connectib_nv_lldp_nb_dcbx *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_lldp_nb_dcbx_unpack(struct connectib_nv_lldp_nb_dcbx *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_lldp_nb_dcbx_print(const struct connectib_nv_lldp_nb_dcbx *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_lldp_nb_dcbx_size(void);
+#define CONNECTIB_NV_LLDP_NB_DCBX_SIZE    (0x4)
+void connectib_nv_lldp_nb_dcbx_dump(const struct connectib_nv_lldp_nb_dcbx *ptr_struct, FILE* file);
+/* nv_lldp_nb_conf */
+void connectib_nv_lldp_nb_conf_pack(const struct connectib_nv_lldp_nb_conf *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_lldp_nb_conf_unpack(struct connectib_nv_lldp_nb_conf *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_lldp_nb_conf_print(const struct connectib_nv_lldp_nb_conf *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_lldp_nb_conf_size(void);
+#define CONNECTIB_NV_LLDP_NB_CONF_SIZE    (0xc)
+void connectib_nv_lldp_nb_conf_dump(const struct connectib_nv_lldp_nb_conf *ptr_struct, FILE* file);
+/* nv_lldp_nb_cap */
+void connectib_nv_lldp_nb_cap_pack(const struct connectib_nv_lldp_nb_cap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_lldp_nb_cap_unpack(struct connectib_nv_lldp_nb_cap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_lldp_nb_cap_print(const struct connectib_nv_lldp_nb_cap *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_lldp_nb_cap_size(void);
+#define CONNECTIB_NV_LLDP_NB_CAP_SIZE    (0xc)
+void connectib_nv_lldp_nb_cap_dump(const struct connectib_nv_lldp_nb_cap *ptr_struct, FILE* file);
+/* nv_keep_link_up */
+void connectib_nv_keep_link_up_pack(const struct connectib_nv_keep_link_up *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_keep_link_up_unpack(struct connectib_nv_keep_link_up *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_keep_link_up_print(const struct connectib_nv_keep_link_up *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_keep_link_up_size(void);
+#define CONNECTIB_NV_KEEP_LINK_UP_SIZE    (0x4)
+void connectib_nv_keep_link_up_dump(const struct connectib_nv_keep_link_up *ptr_struct, FILE* file);
+/* nv_roce_cc_ecn */
+void connectib_nv_roce_cc_ecn_pack(const struct connectib_nv_roce_cc_ecn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_roce_cc_ecn_unpack(struct connectib_nv_roce_cc_ecn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_roce_cc_ecn_print(const struct connectib_nv_roce_cc_ecn *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_roce_cc_ecn_size(void);
+#define CONNECTIB_NV_ROCE_CC_ECN_SIZE    (0x44)
+void connectib_nv_roce_cc_ecn_dump(const struct connectib_nv_roce_cc_ecn *ptr_struct, FILE* file);
+/* nv_roce_cc */
+void connectib_nv_roce_cc_pack(const struct connectib_nv_roce_cc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_roce_cc_unpack(struct connectib_nv_roce_cc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_roce_cc_print(const struct connectib_nv_roce_cc *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_roce_cc_size(void);
+#define CONNECTIB_NV_ROCE_CC_SIZE    (0x4)
+void connectib_nv_roce_cc_dump(const struct connectib_nv_roce_cc *ptr_struct, FILE* file);
+/* dword_val */
+void connectib_dword_val_pack(const struct connectib_dword_val *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dword_val_unpack(struct connectib_dword_val *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dword_val_print(const struct connectib_dword_val *ptr_struct, FILE* file, int indent_level);
+int connectib_dword_val_size(void);
+#define CONNECTIB_DWORD_VAL_SIZE    (0x4)
+void connectib_dword_val_dump(const struct connectib_dword_val *ptr_struct, FILE* file);
+/* port_cap_mask1_fields */
+void connectib_port_cap_mask1_fields_pack(const struct connectib_port_cap_mask1_fields *ptr_struct, u_int8_t* ptr_buff);
+void connectib_port_cap_mask1_fields_unpack(struct connectib_port_cap_mask1_fields *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_port_cap_mask1_fields_print(const struct connectib_port_cap_mask1_fields *ptr_struct, FILE* file, int indent_level);
+int connectib_port_cap_mask1_fields_size(void);
+#define CONNECTIB_PORT_CAP_MASK1_FIELDS_SIZE    (0x4)
+void connectib_port_cap_mask1_fields_dump(const struct connectib_port_cap_mask1_fields *ptr_struct, FILE* file);
+/* dcr_odp_event_entry */
+void connectib_dcr_odp_event_entry_pack(const struct connectib_dcr_odp_event_entry *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dcr_odp_event_entry_unpack(struct connectib_dcr_odp_event_entry *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dcr_odp_event_entry_print(const struct connectib_dcr_odp_event_entry *ptr_struct, FILE* file, int indent_level);
+int connectib_dcr_odp_event_entry_size(void);
+#define CONNECTIB_DCR_ODP_EVENT_ENTRY_SIZE    (0x4)
+void connectib_dcr_odp_event_entry_dump(const struct connectib_dcr_odp_event_entry *ptr_struct, FILE* file);
+/* flow_counter_list */
+void connectib_flow_counter_list_pack(const struct connectib_flow_counter_list *ptr_struct, u_int8_t* ptr_buff);
+void connectib_flow_counter_list_unpack(struct connectib_flow_counter_list *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_flow_counter_list_print(const struct connectib_flow_counter_list *ptr_struct, FILE* file, int indent_level);
+int connectib_flow_counter_list_size(void);
+#define CONNECTIB_FLOW_COUNTER_LIST_SIZE    (0x8)
+void connectib_flow_counter_list_dump(const struct connectib_flow_counter_list *ptr_struct, FILE* file);
+/* dest_format_struct */
+void connectib_dest_format_struct_pack(const struct connectib_dest_format_struct *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dest_format_struct_unpack(struct connectib_dest_format_struct *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dest_format_struct_print(const struct connectib_dest_format_struct *ptr_struct, FILE* file, int indent_level);
+int connectib_dest_format_struct_size(void);
+#define CONNECTIB_DEST_FORMAT_STRUCT_SIZE    (0x8)
+void connectib_dest_format_struct_dump(const struct connectib_dest_format_struct *ptr_struct, FILE* file);
+/* odp_hca_params */
+void connectib_odp_hca_params_pack(const struct connectib_odp_hca_params *ptr_struct, u_int8_t* ptr_buff);
+void connectib_odp_hca_params_unpack(struct connectib_odp_hca_params *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_odp_hca_params_print(const struct connectib_odp_hca_params *ptr_struct, FILE* file, int indent_level);
+int connectib_odp_hca_params_size(void);
+#define CONNECTIB_ODP_HCA_PARAMS_SIZE    (0x4)
+void connectib_odp_hca_params_dump(const struct connectib_odp_hca_params *ptr_struct, FILE* file);
 /* cmdif_ctx_special */
 void connectib_cmdif_ctx_special_pack(const union connectib_cmdif_ctx_special *ptr_struct, u_int8_t* ptr_buff);
 void connectib_cmdif_ctx_special_unpack(union connectib_cmdif_ctx_special *ptr_struct, const u_int8_t* ptr_buff);
@@ -23511,13 +33376,62 @@ void connectib_flush_type_print(const union connectib_flush_type *ptr_struct, FI
 int connectib_flush_type_size(void);
 #define CONNECTIB_FLUSH_TYPE_SIZE    (0x4)
 void connectib_flush_type_dump(const union connectib_flush_type *ptr_struct, FILE* file);
-/* sw_eqe_flat_data */
-void connectib_sw_eqe_flat_data_pack(const struct connectib_sw_eqe_flat_data *ptr_struct, u_int8_t* ptr_buff);
-void connectib_sw_eqe_flat_data_unpack(struct connectib_sw_eqe_flat_data *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_sw_eqe_flat_data_print(const struct connectib_sw_eqe_flat_data *ptr_struct, FILE* file, int indent_level);
-int connectib_sw_eqe_flat_data_size(void);
-#define CONNECTIB_SW_EQE_FLAT_DATA_SIZE    (0x1c)
-void connectib_sw_eqe_flat_data_dump(const struct connectib_sw_eqe_flat_data *ptr_struct, FILE* file);
+/* general_notification_delay_drop_event */
+void connectib_general_notification_delay_drop_event_pack(const struct connectib_general_notification_delay_drop_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_general_notification_delay_drop_event_unpack(struct connectib_general_notification_delay_drop_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_general_notification_delay_drop_event_print(const struct connectib_general_notification_delay_drop_event *ptr_struct, FILE* file, int indent_level);
+int connectib_general_notification_delay_drop_event_size(void);
+#define CONNECTIB_GENERAL_NOTIFICATION_DELAY_DROP_EVENT_SIZE    (0x1c)
+void connectib_general_notification_delay_drop_event_dump(const struct connectib_general_notification_delay_drop_event *ptr_struct, FILE* file);
+/* pps_event */
+void connectib_pps_event_pack(const struct connectib_pps_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pps_event_unpack(struct connectib_pps_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pps_event_print(const struct connectib_pps_event *ptr_struct, FILE* file, int indent_level);
+int connectib_pps_event_size(void);
+#define CONNECTIB_PPS_EVENT_SIZE    (0x1c)
+void connectib_pps_event_dump(const struct connectib_pps_event *ptr_struct, FILE* file);
+/* fpga_qp_error_event */
+void connectib_fpga_qp_error_event_pack(const struct connectib_fpga_qp_error_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fpga_qp_error_event_unpack(struct connectib_fpga_qp_error_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fpga_qp_error_event_print(const struct connectib_fpga_qp_error_event *ptr_struct, FILE* file, int indent_level);
+int connectib_fpga_qp_error_event_size(void);
+#define CONNECTIB_FPGA_QP_ERROR_EVENT_SIZE    (0x1c)
+void connectib_fpga_qp_error_event_dump(const struct connectib_fpga_qp_error_event *ptr_struct, FILE* file);
+/* fpga_error_event */
+void connectib_fpga_error_event_pack(const struct connectib_fpga_error_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fpga_error_event_unpack(struct connectib_fpga_error_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fpga_error_event_print(const struct connectib_fpga_error_event *ptr_struct, FILE* file, int indent_level);
+int connectib_fpga_error_event_size(void);
+#define CONNECTIB_FPGA_ERROR_EVENT_SIZE    (0x1c)
+void connectib_fpga_error_event_dump(const struct connectib_fpga_error_event *ptr_struct, FILE* file);
+/* nic_vport_change_event */
+void connectib_nic_vport_change_event_pack(const struct connectib_nic_vport_change_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nic_vport_change_event_unpack(struct connectib_nic_vport_change_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nic_vport_change_event_print(const struct connectib_nic_vport_change_event *ptr_struct, FILE* file, int indent_level);
+int connectib_nic_vport_change_event_size(void);
+#define CONNECTIB_NIC_VPORT_CHANGE_EVENT_SIZE    (0x1c)
+void connectib_nic_vport_change_event_dump(const struct connectib_nic_vport_change_event *ptr_struct, FILE* file);
+/* pages_req_event */
+void connectib_pages_req_event_pack(const struct connectib_pages_req_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pages_req_event_unpack(struct connectib_pages_req_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pages_req_event_print(const struct connectib_pages_req_event *ptr_struct, FILE* file, int indent_level);
+int connectib_pages_req_event_size(void);
+#define CONNECTIB_PAGES_REQ_EVENT_SIZE    (0x1c)
+void connectib_pages_req_event_dump(const struct connectib_pages_req_event *ptr_struct, FILE* file);
+/* cmd_inter_comp_event */
+void connectib_cmd_inter_comp_event_pack(const struct connectib_cmd_inter_comp_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cmd_inter_comp_event_unpack(struct connectib_cmd_inter_comp_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cmd_inter_comp_event_print(const struct connectib_cmd_inter_comp_event *ptr_struct, FILE* file, int indent_level);
+int connectib_cmd_inter_comp_event_size(void);
+#define CONNECTIB_CMD_INTER_COMP_EVENT_SIZE    (0x1c)
+void connectib_cmd_inter_comp_event_dump(const struct connectib_cmd_inter_comp_event *ptr_struct, FILE* file);
+/* stall_vl_event */
+void connectib_stall_vl_event_pack(const struct connectib_stall_vl_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_stall_vl_event_unpack(struct connectib_stall_vl_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_stall_vl_event_print(const struct connectib_stall_vl_event *ptr_struct, FILE* file, int indent_level);
+int connectib_stall_vl_event_size(void);
+#define CONNECTIB_STALL_VL_EVENT_SIZE    (0x18)
+void connectib_stall_vl_event_dump(const struct connectib_stall_vl_event *ptr_struct, FILE* file);
 /* db_bf_congestion_event */
 void connectib_db_bf_congestion_event_pack(const struct connectib_db_bf_congestion_event *ptr_struct, u_int8_t* ptr_buff);
 void connectib_db_bf_congestion_event_unpack(struct connectib_db_bf_congestion_event *ptr_struct, const u_int8_t* ptr_buff);
@@ -23525,27 +33439,34 @@ void connectib_db_bf_congestion_event_print(const struct connectib_db_bf_congest
 int connectib_db_bf_congestion_event_size(void);
 #define CONNECTIB_DB_BF_CONGESTION_EVENT_SIZE    (0x18)
 void connectib_db_bf_congestion_event_dump(const struct connectib_db_bf_congestion_event *ptr_struct, FILE* file);
-/* rdma_page_fault_event */
-void connectib_rdma_page_fault_event_pack(const struct connectib_rdma_page_fault_event *ptr_struct, u_int8_t* ptr_buff);
-void connectib_rdma_page_fault_event_unpack(struct connectib_rdma_page_fault_event *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_rdma_page_fault_event_print(const struct connectib_rdma_page_fault_event *ptr_struct, FILE* file, int indent_level);
-int connectib_rdma_page_fault_event_size(void);
-#define CONNECTIB_RDMA_PAGE_FAULT_EVENT_SIZE    (0x1c)
-void connectib_rdma_page_fault_event_dump(const struct connectib_rdma_page_fault_event *ptr_struct, FILE* file);
-/* wqe_page_fault_event */
-void connectib_wqe_page_fault_event_pack(const struct connectib_wqe_page_fault_event *ptr_struct, u_int8_t* ptr_buff);
-void connectib_wqe_page_fault_event_unpack(struct connectib_wqe_page_fault_event *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_wqe_page_fault_event_print(const struct connectib_wqe_page_fault_event *ptr_struct, FILE* file, int indent_level);
-int connectib_wqe_page_fault_event_size(void);
-#define CONNECTIB_WQE_PAGE_FAULT_EVENT_SIZE    (0x1c)
-void connectib_wqe_page_fault_event_dump(const struct connectib_wqe_page_fault_event *ptr_struct, FILE* file);
-/* page_request_event */
-void connectib_page_request_event_pack(const struct connectib_page_request_event *ptr_struct, u_int8_t* ptr_buff);
-void connectib_page_request_event_unpack(struct connectib_page_request_event *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_page_request_event_print(const struct connectib_page_request_event *ptr_struct, FILE* file, int indent_level);
-int connectib_page_request_event_size(void);
-#define CONNECTIB_PAGE_REQUEST_EVENT_SIZE    (0x1c)
-void connectib_page_request_event_dump(const struct connectib_page_request_event *ptr_struct, FILE* file);
+/* temp_warning_event */
+void connectib_temp_warning_event_pack(const struct connectib_temp_warning_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_temp_warning_event_unpack(struct connectib_temp_warning_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_temp_warning_event_print(const struct connectib_temp_warning_event *ptr_struct, FILE* file, int indent_level);
+int connectib_temp_warning_event_size(void);
+#define CONNECTIB_TEMP_WARNING_EVENT_SIZE    (0x10)
+void connectib_temp_warning_event_dump(const struct connectib_temp_warning_event *ptr_struct, FILE* file);
+/* dcbx_change_event */
+void connectib_dcbx_change_event_pack(const struct connectib_dcbx_change_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dcbx_change_event_unpack(struct connectib_dcbx_change_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dcbx_change_event_print(const struct connectib_dcbx_change_event *ptr_struct, FILE* file, int indent_level);
+int connectib_dcbx_change_event_size(void);
+#define CONNECTIB_DCBX_CHANGE_EVENT_SIZE    (0x1c)
+void connectib_dcbx_change_event_dump(const struct connectib_dcbx_change_event *ptr_struct, FILE* file);
+/* port_module_event */
+void connectib_port_module_event_pack(const struct connectib_port_module_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_port_module_event_unpack(struct connectib_port_module_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_port_module_event_print(const struct connectib_port_module_event *ptr_struct, FILE* file, int indent_level);
+int connectib_port_module_event_size(void);
+#define CONNECTIB_PORT_MODULE_EVENT_SIZE    (0x1c)
+void connectib_port_module_event_dump(const struct connectib_port_module_event *ptr_struct, FILE* file);
+/* gpio_event */
+void connectib_gpio_event_pack(const struct connectib_gpio_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_gpio_event_unpack(struct connectib_gpio_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_gpio_event_print(const struct connectib_gpio_event *ptr_struct, FILE* file, int indent_level);
+int connectib_gpio_event_size(void);
+#define CONNECTIB_GPIO_EVENT_SIZE    (0x1c)
+void connectib_gpio_event_dump(const struct connectib_gpio_event *ptr_struct, FILE* file);
 /* port_state_change_event */
 void connectib_port_state_change_event_pack(const struct connectib_port_state_change_event *ptr_struct, u_int8_t* ptr_buff);
 void connectib_port_state_change_event_unpack(struct connectib_port_state_change_event *ptr_struct, const u_int8_t* ptr_buff);
@@ -23553,48 +33474,111 @@ void connectib_port_state_change_event_print(const struct connectib_port_state_c
 int connectib_port_state_change_event_size(void);
 #define CONNECTIB_PORT_STATE_CHANGE_EVENT_SIZE    (0x1c)
 void connectib_port_state_change_event_dump(const struct connectib_port_state_change_event *ptr_struct, FILE* file);
-/* sw_eqe_qp_data */
-void connectib_sw_eqe_qp_data_pack(const struct connectib_sw_eqe_qp_data *ptr_struct, u_int8_t* ptr_buff);
-void connectib_sw_eqe_qp_data_unpack(struct connectib_sw_eqe_qp_data *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_sw_eqe_qp_data_print(const struct connectib_sw_eqe_qp_data *ptr_struct, FILE* file, int indent_level);
-int connectib_sw_eqe_qp_data_size(void);
-#define CONNECTIB_SW_EQE_QP_DATA_SIZE    (0x1c)
-void connectib_sw_eqe_qp_data_dump(const struct connectib_sw_eqe_qp_data *ptr_struct, FILE* file);
-/* sw_eqe_error_data */
-void connectib_sw_eqe_error_data_pack(const struct connectib_sw_eqe_error_data *ptr_struct, u_int8_t* ptr_buff);
-void connectib_sw_eqe_error_data_unpack(struct connectib_sw_eqe_error_data *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_sw_eqe_error_data_print(const struct connectib_sw_eqe_error_data *ptr_struct, FILE* file, int indent_level);
-int connectib_sw_eqe_error_data_size(void);
-#define CONNECTIB_SW_EQE_ERROR_DATA_SIZE    (0x1c)
-void connectib_sw_eqe_error_data_dump(const struct connectib_sw_eqe_error_data *ptr_struct, FILE* file);
-/* sw_eqe_cq_data */
-void connectib_sw_eqe_cq_data_pack(const struct connectib_sw_eqe_cq_data *ptr_struct, u_int8_t* ptr_buff);
-void connectib_sw_eqe_cq_data_unpack(struct connectib_sw_eqe_cq_data *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_sw_eqe_cq_data_print(const struct connectib_sw_eqe_cq_data *ptr_struct, FILE* file, int indent_level);
-int connectib_sw_eqe_cq_data_size(void);
-#define CONNECTIB_SW_EQE_CQ_DATA_SIZE    (0x1c)
-void connectib_sw_eqe_cq_data_dump(const struct connectib_sw_eqe_cq_data *ptr_struct, FILE* file);
-/* reg_access_reg_tlv_data */
-void connectib_reg_access_reg_tlv_data_pack(const union connectib_reg_access_reg_tlv_data *ptr_struct, u_int8_t* ptr_buff);
-void connectib_reg_access_reg_tlv_data_unpack(union connectib_reg_access_reg_tlv_data *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_reg_access_reg_tlv_data_print(const union connectib_reg_access_reg_tlv_data *ptr_struct, FILE* file, int indent_level);
-int connectib_reg_access_reg_tlv_data_size(void);
-#define CONNECTIB_REG_ACCESS_REG_TLV_DATA_SIZE    (0x2c)
-void connectib_reg_access_reg_tlv_data_dump(const union connectib_reg_access_reg_tlv_data *ptr_struct, FILE* file);
-/* reg_access_tlv */
-void connectib_reg_access_tlv_pack(const struct connectib_reg_access_tlv *ptr_struct, u_int8_t* ptr_buff);
-void connectib_reg_access_tlv_unpack(struct connectib_reg_access_tlv *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_reg_access_tlv_print(const struct connectib_reg_access_tlv *ptr_struct, FILE* file, int indent_level);
-int connectib_reg_access_tlv_size(void);
-#define CONNECTIB_REG_ACCESS_TLV_SIZE    (0x4)
-void connectib_reg_access_tlv_dump(const struct connectib_reg_access_tlv *ptr_struct, FILE* file);
-/* IB_TID */
-void connectib_IB_TID_pack(const struct connectib_IB_TID *ptr_struct, u_int8_t* ptr_buff);
-void connectib_IB_TID_unpack(struct connectib_IB_TID *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_IB_TID_print(const struct connectib_IB_TID *ptr_struct, FILE* file, int indent_level);
-int connectib_IB_TID_size(void);
-#define CONNECTIB_IB_TID_SIZE    (0x8)
-void connectib_IB_TID_dump(const struct connectib_IB_TID *ptr_struct, FILE* file);
+/* dropped_packet_logged */
+void connectib_dropped_packet_logged_pack(const struct connectib_dropped_packet_logged *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dropped_packet_logged_unpack(struct connectib_dropped_packet_logged *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dropped_packet_logged_print(const struct connectib_dropped_packet_logged *ptr_struct, FILE* file, int indent_level);
+int connectib_dropped_packet_logged_size(void);
+#define CONNECTIB_DROPPED_PACKET_LOGGED_SIZE    (0x1c)
+void connectib_dropped_packet_logged_dump(const struct connectib_dropped_packet_logged *ptr_struct, FILE* file);
+/* cq_error */
+void connectib_cq_error_pack(const struct connectib_cq_error *ptr_struct, u_int8_t* ptr_buff);
+void connectib_cq_error_unpack(struct connectib_cq_error *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_cq_error_print(const struct connectib_cq_error *ptr_struct, FILE* file, int indent_level);
+int connectib_cq_error_size(void);
+#define CONNECTIB_CQ_ERROR_SIZE    (0x1c)
+void connectib_cq_error_dump(const struct connectib_cq_error *ptr_struct, FILE* file);
+/* rdma_page_fault_event */
+void connectib_rdma_page_fault_event_pack(const struct connectib_rdma_page_fault_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rdma_page_fault_event_unpack(struct connectib_rdma_page_fault_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rdma_page_fault_event_print(const struct connectib_rdma_page_fault_event *ptr_struct, FILE* file, int indent_level);
+int connectib_rdma_page_fault_event_size(void);
+#define CONNECTIB_RDMA_PAGE_FAULT_EVENT_SIZE    (0x1c)
+void connectib_rdma_page_fault_event_dump(const struct connectib_rdma_page_fault_event *ptr_struct, FILE* file);
+/* wqe_associated_page_fault_event */
+void connectib_wqe_associated_page_fault_event_pack(const struct connectib_wqe_associated_page_fault_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_wqe_associated_page_fault_event_unpack(struct connectib_wqe_associated_page_fault_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_wqe_associated_page_fault_event_print(const struct connectib_wqe_associated_page_fault_event *ptr_struct, FILE* file, int indent_level);
+int connectib_wqe_associated_page_fault_event_size(void);
+#define CONNECTIB_WQE_ASSOCIATED_PAGE_FAULT_EVENT_SIZE    (0x1c)
+void connectib_wqe_associated_page_fault_event_dump(const struct connectib_wqe_associated_page_fault_event *ptr_struct, FILE* file);
+/* qp_events */
+void connectib_qp_events_pack(const struct connectib_qp_events *ptr_struct, u_int8_t* ptr_buff);
+void connectib_qp_events_unpack(struct connectib_qp_events *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_qp_events_print(const struct connectib_qp_events *ptr_struct, FILE* file, int indent_level);
+int connectib_qp_events_size(void);
+#define CONNECTIB_QP_EVENTS_SIZE    (0x1c)
+void connectib_qp_events_dump(const struct connectib_qp_events *ptr_struct, FILE* file);
+/* dct_events */
+void connectib_dct_events_pack(const struct connectib_dct_events *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dct_events_unpack(struct connectib_dct_events *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dct_events_print(const struct connectib_dct_events *ptr_struct, FILE* file, int indent_level);
+int connectib_dct_events_size(void);
+#define CONNECTIB_DCT_EVENTS_SIZE    (0x1c)
+void connectib_dct_events_dump(const struct connectib_dct_events *ptr_struct, FILE* file);
+/* comp_event */
+void connectib_comp_event_pack(const struct connectib_comp_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_comp_event_unpack(struct connectib_comp_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_comp_event_print(const struct connectib_comp_event *ptr_struct, FILE* file, int indent_level);
+int connectib_comp_event_size(void);
+#define CONNECTIB_COMP_EVENT_SIZE    (0x1c)
+void connectib_comp_event_dump(const struct connectib_comp_event *ptr_struct, FILE* file);
+/* sw_eqe_flat_data */
+void connectib_sw_eqe_flat_data_pack(const struct connectib_sw_eqe_flat_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sw_eqe_flat_data_unpack(struct connectib_sw_eqe_flat_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sw_eqe_flat_data_print(const struct connectib_sw_eqe_flat_data *ptr_struct, FILE* file, int indent_level);
+int connectib_sw_eqe_flat_data_size(void);
+#define CONNECTIB_SW_EQE_FLAT_DATA_SIZE    (0x1c)
+void connectib_sw_eqe_flat_data_dump(const struct connectib_sw_eqe_flat_data *ptr_struct, FILE* file);
+/* generic_flash_reg_access_data */
+void connectib_generic_flash_reg_access_data_pack(const struct connectib_generic_flash_reg_access_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_generic_flash_reg_access_data_unpack(struct connectib_generic_flash_reg_access_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_generic_flash_reg_access_data_print(const struct connectib_generic_flash_reg_access_data *ptr_struct, FILE* file, int indent_level);
+int connectib_generic_flash_reg_access_data_size(void);
+#define CONNECTIB_GENERIC_FLASH_REG_ACCESS_DATA_SIZE    (0x10c)
+void connectib_generic_flash_reg_access_data_dump(const struct connectib_generic_flash_reg_access_data *ptr_struct, FILE* file);
+/* access_register_data_layout */
+void connectib_access_register_data_layout_pack(const union connectib_access_register_data_layout *ptr_struct, u_int8_t* ptr_buff);
+void connectib_access_register_data_layout_unpack(union connectib_access_register_data_layout *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_access_register_data_layout_print(const union connectib_access_register_data_layout *ptr_struct, FILE* file, int indent_level);
+int connectib_access_register_data_layout_size(void);
+#define CONNECTIB_ACCESS_REGISTER_DATA_LAYOUT_SIZE    (0x108)
+void connectib_access_register_data_layout_dump(const union connectib_access_register_data_layout *ptr_struct, FILE* file);
+/* scheduling_context */
+void connectib_scheduling_context_pack(const struct connectib_scheduling_context *ptr_struct, u_int8_t* ptr_buff);
+void connectib_scheduling_context_unpack(struct connectib_scheduling_context *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_scheduling_context_print(const struct connectib_scheduling_context *ptr_struct, FILE* file, int indent_level);
+int connectib_scheduling_context_size(void);
+#define CONNECTIB_SCHEDULING_CONTEXT_SIZE    (0x40)
+void connectib_scheduling_context_dump(const struct connectib_scheduling_context *ptr_struct, FILE* file);
+/* fw_ipoib_meta */
+void connectib_fw_ipoib_meta_pack(const struct connectib_fw_ipoib_meta *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_ipoib_meta_unpack(struct connectib_fw_ipoib_meta *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_ipoib_meta_print(const struct connectib_fw_ipoib_meta *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_ipoib_meta_size(void);
+#define CONNECTIB_FW_IPOIB_META_SIZE    (0x10)
+void connectib_fw_ipoib_meta_dump(const struct connectib_fw_ipoib_meta *ptr_struct, FILE* file);
+/* fw_q_counters */
+void connectib_fw_q_counters_pack(const struct connectib_fw_q_counters *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_q_counters_unpack(struct connectib_fw_q_counters *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_q_counters_print(const struct connectib_fw_q_counters *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_q_counters_size(void);
+#define CONNECTIB_FW_Q_COUNTERS_SIZE    (0x40)
+void connectib_fw_q_counters_dump(const struct connectib_fw_q_counters *ptr_struct, FILE* file);
+/* fw_transport_domain */
+void connectib_fw_transport_domain_pack(const struct connectib_fw_transport_domain *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_transport_domain_unpack(struct connectib_fw_transport_domain *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_transport_domain_print(const struct connectib_fw_transport_domain *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_transport_domain_size(void);
+#define CONNECTIB_FW_TRANSPORT_DOMAIN_SIZE    (0x8)
+void connectib_fw_transport_domain_dump(const struct connectib_fw_transport_domain *ptr_struct, FILE* file);
+/* vqos_arb_ctx */
+void connectib_vqos_arb_ctx_pack(const struct connectib_vqos_arb_ctx *ptr_struct, u_int8_t* ptr_buff);
+void connectib_vqos_arb_ctx_unpack(struct connectib_vqos_arb_ctx *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_vqos_arb_ctx_print(const struct connectib_vqos_arb_ctx *ptr_struct, FILE* file, int indent_level);
+int connectib_vqos_arb_ctx_size(void);
+#define CONNECTIB_VQOS_ARB_CTX_SIZE    (0x20)
+void connectib_vqos_arb_ctx_dump(const struct connectib_vqos_arb_ctx *ptr_struct, FILE* file);
 /* dc_control_packet_desc */
 void connectib_dc_control_packet_desc_pack(const struct connectib_dc_control_packet_desc *ptr_struct, u_int8_t* ptr_buff);
 void connectib_dc_control_packet_desc_unpack(struct connectib_dc_control_packet_desc *ptr_struct, const u_int8_t* ptr_buff);
@@ -23736,12 +33720,12 @@ int connectib_hw_pipa_size(void);
 #define CONNECTIB_HW_PIPA_SIZE    (0x8)
 void connectib_hw_pipa_dump(const struct connectib_hw_pipa *ptr_struct, FILE* file);
 /* hw_sxdc */
-void connectib_hw_sxdc_pack(const struct connectib_hw_sxdc *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_sxdc_unpack(struct connectib_hw_sxdc *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_sxdc_print(const struct connectib_hw_sxdc *ptr_struct, FILE* file, int indent_level);
+void connectib_hw_sxdc_pack(const union connectib_hw_sxdc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_sxdc_unpack(union connectib_hw_sxdc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_sxdc_print(const union connectib_hw_sxdc *ptr_struct, FILE* file, int indent_level);
 int connectib_hw_sxdc_size(void);
 #define CONNECTIB_HW_SXDC_SIZE    (0x8)
-void connectib_hw_sxdc_dump(const struct connectib_hw_sxdc *ptr_struct, FILE* file);
+void connectib_hw_sxdc_dump(const union connectib_hw_sxdc *ptr_struct, FILE* file);
 /* hw_klm_entry */
 void connectib_hw_klm_entry_pack(const struct connectib_hw_klm_entry *ptr_struct, u_int8_t* ptr_buff);
 void connectib_hw_klm_entry_unpack(struct connectib_hw_klm_entry *ptr_struct, const u_int8_t* ptr_buff);
@@ -23805,13 +33789,13 @@ void connectib_hw_port_info_print(const struct connectib_hw_port_info *ptr_struc
 int connectib_hw_port_info_size(void);
 #define CONNECTIB_HW_PORT_INFO_SIZE    (0x40)
 void connectib_hw_port_info_dump(const struct connectib_hw_port_info *ptr_struct, FILE* file);
-/* hw_r_qpc */
-void connectib_hw_r_qpc_pack(const union connectib_hw_r_qpc *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_unpack(union connectib_hw_r_qpc *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_r_qpc_print(const union connectib_hw_r_qpc *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_r_qpc_size(void);
-#define CONNECTIB_HW_R_QPC_SIZE    (0x40)
-void connectib_hw_r_qpc_dump(const union connectib_hw_r_qpc *ptr_struct, FILE* file);
+/* hw_qpc_r_dct */
+void connectib_hw_qpc_r_dct_pack(const union connectib_hw_qpc_r_dct *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_qpc_r_dct_unpack(union connectib_hw_qpc_r_dct *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_qpc_r_dct_print(const union connectib_hw_qpc_r_dct *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_qpc_r_dct_size(void);
+#define CONNECTIB_HW_QPC_R_DCT_SIZE    (0x40)
+void connectib_hw_qpc_r_dct_dump(const union connectib_hw_qpc_r_dct *ptr_struct, FILE* file);
 /* hw_s_qpc */
 void connectib_hw_s_qpc_pack(const union connectib_hw_s_qpc *ptr_struct, u_int8_t* ptr_buff);
 void connectib_hw_s_qpc_unpack(union connectib_hw_s_qpc *ptr_struct, const u_int8_t* ptr_buff);
@@ -23826,13 +33810,13 @@ void connectib_hw_c_qpc_print(const union connectib_hw_c_qpc *ptr_struct, FILE*
 int connectib_hw_c_qpc_size(void);
 #define CONNECTIB_HW_C_QPC_SIZE    (0x40)
 void connectib_hw_c_qpc_dump(const union connectib_hw_c_qpc *ptr_struct, FILE* file);
-/* hw_srq */
-void connectib_hw_srq_pack(const struct connectib_hw_srq *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_srq_unpack(struct connectib_hw_srq *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_srq_print(const struct connectib_hw_srq *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_srq_size(void);
-#define CONNECTIB_HW_SRQ_SIZE    (0x40)
-void connectib_hw_srq_dump(const struct connectib_hw_srq *ptr_struct, FILE* file);
+/* hw_c_srq */
+void connectib_hw_c_srq_pack(const union connectib_hw_c_srq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_srq_unpack(union connectib_hw_c_srq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_srq_print(const union connectib_hw_c_srq *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_srq_size(void);
+#define CONNECTIB_HW_C_SRQ_SIZE    (0x40)
+void connectib_hw_c_srq_dump(const union connectib_hw_c_srq *ptr_struct, FILE* file);
 /* hw_toc */
 void connectib_hw_toc_pack(const struct connectib_hw_toc *ptr_struct, u_int8_t* ptr_buff);
 void connectib_hw_toc_unpack(struct connectib_hw_toc *ptr_struct, const u_int8_t* ptr_buff);
@@ -23847,13 +33831,20 @@ void connectib_hw_mkc_print(const struct connectib_hw_mkc *ptr_struct, FILE* fil
 int connectib_hw_mkc_size(void);
 #define CONNECTIB_HW_MKC_SIZE    (0x40)
 void connectib_hw_mkc_dump(const struct connectib_hw_mkc *ptr_struct, FILE* file);
-/* hw_cqc */
-void connectib_hw_cqc_pack(const struct connectib_hw_cqc *ptr_struct, u_int8_t* ptr_buff);
-void connectib_hw_cqc_unpack(struct connectib_hw_cqc *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_hw_cqc_print(const struct connectib_hw_cqc *ptr_struct, FILE* file, int indent_level);
-int connectib_hw_cqc_size(void);
-#define CONNECTIB_HW_CQC_SIZE    (0x40)
-void connectib_hw_cqc_dump(const struct connectib_hw_cqc *ptr_struct, FILE* file);
+/* hw_c_eqc */
+void connectib_hw_c_eqc_pack(const union connectib_hw_c_eqc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_eqc_unpack(union connectib_hw_c_eqc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_eqc_print(const union connectib_hw_c_eqc *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_eqc_size(void);
+#define CONNECTIB_HW_C_EQC_SIZE    (0x40)
+void connectib_hw_c_eqc_dump(const union connectib_hw_c_eqc *ptr_struct, FILE* file);
+/* hw_c_cqc */
+void connectib_hw_c_cqc_pack(const union connectib_hw_c_cqc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_hw_c_cqc_unpack(union connectib_hw_c_cqc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_hw_c_cqc_print(const union connectib_hw_c_cqc *ptr_struct, FILE* file, int indent_level);
+int connectib_hw_c_cqc_size(void);
+#define CONNECTIB_HW_C_CQC_SIZE    (0x40)
+void connectib_hw_c_cqc_dump(const union connectib_hw_c_cqc *ptr_struct, FILE* file);
 /* ffe_tap_set */
 void connectib_ffe_tap_set_pack(const struct connectib_ffe_tap_set *ptr_struct, u_int8_t* ptr_buff);
 void connectib_ffe_tap_set_unpack(struct connectib_ffe_tap_set *ptr_struct, const u_int8_t* ptr_buff);
@@ -23931,6 +33922,20 @@ void connectib_PORT_PHY_ini_print(const struct connectib_PORT_PHY_ini *ptr_struc
 int connectib_PORT_PHY_ini_size(void);
 #define CONNECTIB_PORT_PHY_INI_SIZE    (0x10)
 void connectib_PORT_PHY_ini_dump(const struct connectib_PORT_PHY_ini *ptr_struct, FILE* file);
+/* nv_tlv_data_vpi_settings */
+void connectib_nv_tlv_data_vpi_settings_pack(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_tlv_data_vpi_settings_unpack(struct connectib_nv_tlv_data_vpi_settings *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_tlv_data_vpi_settings_print(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_tlv_data_vpi_settings_size(void);
+#define CONNECTIB_NV_TLV_DATA_VPI_SETTINGS_SIZE    (0x4)
+void connectib_nv_tlv_data_vpi_settings_dump(const struct connectib_nv_tlv_data_vpi_settings *ptr_struct, FILE* file);
+/* nv_config_kdnet_data */
+void connectib_nv_config_kdnet_data_pack(const struct connectib_nv_config_kdnet_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_config_kdnet_data_unpack(struct connectib_nv_config_kdnet_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_config_kdnet_data_print(const struct connectib_nv_config_kdnet_data *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_config_kdnet_data_size(void);
+#define CONNECTIB_NV_CONFIG_KDNET_DATA_SIZE    (0x4)
+void connectib_nv_config_kdnet_data_dump(const struct connectib_nv_config_kdnet_data *ptr_struct, FILE* file);
 /* nv_config_tpt */
 void connectib_nv_config_tpt_pack(const struct connectib_nv_config_tpt *ptr_struct, u_int8_t* ptr_buff);
 void connectib_nv_config_tpt_unpack(struct connectib_nv_config_tpt *ptr_struct, const u_int8_t* ptr_buff);
@@ -23945,6 +33950,13 @@ void connectib_nv_config_pci_print(const struct connectib_nv_config_pci *ptr_str
 int connectib_nv_config_pci_size(void);
 #define CONNECTIB_NV_CONFIG_PCI_SIZE    (0x20)
 void connectib_nv_config_pci_dump(const struct connectib_nv_config_pci *ptr_struct, FILE* file);
+/* acs_ext_cap */
+void connectib_acs_ext_cap_pack(const struct connectib_acs_ext_cap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_acs_ext_cap_unpack(struct connectib_acs_ext_cap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_acs_ext_cap_print(const struct connectib_acs_ext_cap *ptr_struct, FILE* file, int indent_level);
+int connectib_acs_ext_cap_size(void);
+#define CONNECTIB_ACS_EXT_CAP_SIZE    (0x8)
+void connectib_acs_ext_cap_dump(const struct connectib_acs_ext_cap *ptr_struct, FILE* file);
 /* advanced_error_reporting */
 void connectib_advanced_error_reporting_pack(const struct connectib_advanced_error_reporting *ptr_struct, u_int8_t* ptr_buff);
 void connectib_advanced_error_reporting_unpack(struct connectib_advanced_error_reporting *ptr_struct, const u_int8_t* ptr_buff);
@@ -23980,6 +33992,13 @@ void connectib_secondary_pciex_ext_cap_print(const struct connectib_secondary_pc
 int connectib_secondary_pciex_ext_cap_size(void);
 #define CONNECTIB_SECONDARY_PCIEX_EXT_CAP_SIZE    (0x2c)
 void connectib_secondary_pciex_ext_cap_dump(const struct connectib_secondary_pciex_ext_cap *ptr_struct, FILE* file);
+/* pci_cfg_type1_header */
+void connectib_pci_cfg_type1_header_pack(const struct connectib_pci_cfg_type1_header *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pci_cfg_type1_header_unpack(struct connectib_pci_cfg_type1_header *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pci_cfg_type1_header_print(const struct connectib_pci_cfg_type1_header *ptr_struct, FILE* file, int indent_level);
+int connectib_pci_cfg_type1_header_size(void);
+#define CONNECTIB_PCI_CFG_TYPE1_HEADER_SIZE    (0x40)
+void connectib_pci_cfg_type1_header_dump(const struct connectib_pci_cfg_type1_header *ptr_struct, FILE* file);
 /* msix_cap */
 void connectib_msix_cap_pack(const struct connectib_msix_cap *ptr_struct, u_int8_t* ptr_buff);
 void connectib_msix_cap_unpack(struct connectib_msix_cap *ptr_struct, const u_int8_t* ptr_buff);
@@ -24008,19 +34027,47 @@ void connectib_pci_power_management_cap_print(const struct connectib_pci_power_m
 int connectib_pci_power_management_cap_size(void);
 #define CONNECTIB_PCI_POWER_MANAGEMENT_CAP_SIZE    (0x8)
 void connectib_pci_power_management_cap_dump(const struct connectib_pci_power_management_cap *ptr_struct, FILE* file);
-/* pci_cfg_hdr */
-void connectib_pci_cfg_hdr_pack(const struct connectib_pci_cfg_hdr *ptr_struct, u_int8_t* ptr_buff);
-void connectib_pci_cfg_hdr_unpack(struct connectib_pci_cfg_hdr *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_pci_cfg_hdr_print(const struct connectib_pci_cfg_hdr *ptr_struct, FILE* file, int indent_level);
-int connectib_pci_cfg_hdr_size(void);
-#define CONNECTIB_PCI_CFG_HDR_SIZE    (0x40)
-void connectib_pci_cfg_hdr_dump(const struct connectib_pci_cfg_hdr *ptr_struct, FILE* file);
+/* pci_cfg_type0_header */
+void connectib_pci_cfg_type0_header_pack(const struct connectib_pci_cfg_type0_header *ptr_struct, u_int8_t* ptr_buff);
+void connectib_pci_cfg_type0_header_unpack(struct connectib_pci_cfg_type0_header *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_pci_cfg_type0_header_print(const struct connectib_pci_cfg_type0_header *ptr_struct, FILE* file, int indent_level);
+int connectib_pci_cfg_type0_header_size(void);
+#define CONNECTIB_PCI_CFG_TYPE0_HEADER_SIZE    (0x40)
+void connectib_pci_cfg_type0_header_dump(const struct connectib_pci_cfg_type0_header *ptr_struct, FILE* file);
+/* fw_block_behavior_fields */
+void connectib_fw_block_behavior_fields_pack(const struct connectib_fw_block_behavior_fields *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_block_behavior_fields_unpack(struct connectib_fw_block_behavior_fields *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_block_behavior_fields_print(const struct connectib_fw_block_behavior_fields *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_block_behavior_fields_size(void);
+#define CONNECTIB_FW_BLOCK_BEHAVIOR_FIELDS_SIZE    (0x4)
+void connectib_fw_block_behavior_fields_dump(const struct connectib_fw_block_behavior_fields *ptr_struct, FILE* file);
+/* fw_block_behavior_dw */
+void connectib_fw_block_behavior_dw_pack(const struct connectib_fw_block_behavior_dw *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_block_behavior_dw_unpack(struct connectib_fw_block_behavior_dw *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_block_behavior_dw_print(const struct connectib_fw_block_behavior_dw *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_block_behavior_dw_size(void);
+#define CONNECTIB_FW_BLOCK_BEHAVIOR_DW_SIZE    (0x4)
+void connectib_fw_block_behavior_dw_dump(const struct connectib_fw_block_behavior_dw *ptr_struct, FILE* file);
+/* nv_config_host_func_main */
+void connectib_nv_config_host_func_main_pack(const struct connectib_nv_config_host_func_main *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_config_host_func_main_unpack(struct connectib_nv_config_host_func_main *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_config_host_func_main_print(const struct connectib_nv_config_host_func_main *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_config_host_func_main_size(void);
+#define CONNECTIB_NV_CONFIG_HOST_FUNC_MAIN_SIZE    (0x18)
+void connectib_nv_config_host_func_main_dump(const struct connectib_nv_config_host_func_main *ptr_struct, FILE* file);
+/* nv_config_global_main */
+void connectib_nv_config_global_main_pack(const struct connectib_nv_config_global_main *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_config_global_main_unpack(struct connectib_nv_config_global_main *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_config_global_main_print(const struct connectib_nv_config_global_main *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_config_global_main_size(void);
+#define CONNECTIB_NV_CONFIG_GLOBAL_MAIN_SIZE    (0x40)
+void connectib_nv_config_global_main_dump(const struct connectib_nv_config_global_main *ptr_struct, FILE* file);
 /* port_settings */
 void connectib_port_settings_pack(const struct connectib_port_settings *ptr_struct, u_int8_t* ptr_buff);
 void connectib_port_settings_unpack(struct connectib_port_settings *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_port_settings_print(const struct connectib_port_settings *ptr_struct, FILE* file, int indent_level);
 int connectib_port_settings_size(void);
-#define CONNECTIB_PORT_SETTINGS_SIZE    (0x4)
+#define CONNECTIB_PORT_SETTINGS_SIZE    (0x100)
 void connectib_port_settings_dump(const struct connectib_port_settings *ptr_struct, FILE* file);
 /* phy_lcl_ini */
 void connectib_phy_lcl_ini_pack(const struct connectib_phy_lcl_ini *ptr_struct, u_int8_t* ptr_buff);
@@ -24043,13 +34090,48 @@ void connectib_reset_version_print(const struct connectib_reset_version *ptr_str
 int connectib_reset_version_size(void);
 #define CONNECTIB_RESET_VERSION_SIZE    (0x4)
 void connectib_reset_version_dump(const struct connectib_reset_version *ptr_struct, FILE* file);
-/* mac_address_layout */
-void connectib_mac_address_layout_pack(const struct connectib_mac_address_layout *ptr_struct, u_int8_t* ptr_buff);
-void connectib_mac_address_layout_unpack(struct connectib_mac_address_layout *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_mac_address_layout_print(const struct connectib_mac_address_layout *ptr_struct, FILE* file, int indent_level);
-int connectib_mac_address_layout_size(void);
-#define CONNECTIB_MAC_ADDRESS_LAYOUT_SIZE    (0x8)
-void connectib_mac_address_layout_dump(const struct connectib_mac_address_layout *ptr_struct, FILE* file);
+/* dcr_odp_events */
+void connectib_dcr_odp_events_pack(const struct connectib_dcr_odp_events *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dcr_odp_events_unpack(struct connectib_dcr_odp_events *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dcr_odp_events_print(const struct connectib_dcr_odp_events *ptr_struct, FILE* file, int indent_level);
+int connectib_dcr_odp_events_size(void);
+#define CONNECTIB_DCR_ODP_EVENTS_SIZE    (0x40)
+void connectib_dcr_odp_events_dump(const struct connectib_dcr_odp_events *ptr_struct, FILE* file);
+/* disable_mask_value */
+void connectib_disable_mask_value_pack(const struct connectib_disable_mask_value *ptr_struct, u_int8_t* ptr_buff);
+void connectib_disable_mask_value_unpack(struct connectib_disable_mask_value *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_disable_mask_value_print(const struct connectib_disable_mask_value *ptr_struct, FILE* file, int indent_level);
+int connectib_disable_mask_value_size(void);
+#define CONNECTIB_DISABLE_MASK_VALUE_SIZE    (0x4)
+void connectib_disable_mask_value_dump(const struct connectib_disable_mask_value *ptr_struct, FILE* file);
+/* disable_mask_bits */
+void connectib_disable_mask_bits_pack(const struct connectib_disable_mask_bits *ptr_struct, u_int8_t* ptr_buff);
+void connectib_disable_mask_bits_unpack(struct connectib_disable_mask_bits *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_disable_mask_bits_print(const struct connectib_disable_mask_bits *ptr_struct, FILE* file, int indent_level);
+int connectib_disable_mask_bits_size(void);
+#define CONNECTIB_DISABLE_MASK_BITS_SIZE    (0x4)
+void connectib_disable_mask_bits_dump(const struct connectib_disable_mask_bits *ptr_struct, FILE* file);
+/* dmfs_ft_type_info */
+void connectib_dmfs_ft_type_info_pack(const struct connectib_dmfs_ft_type_info *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dmfs_ft_type_info_unpack(struct connectib_dmfs_ft_type_info *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dmfs_ft_type_info_print(const struct connectib_dmfs_ft_type_info *ptr_struct, FILE* file, int indent_level);
+int connectib_dmfs_ft_type_info_size(void);
+#define CONNECTIB_DMFS_FT_TYPE_INFO_SIZE    (0x4)
+void connectib_dmfs_ft_type_info_dump(const struct connectib_dmfs_ft_type_info *ptr_struct, FILE* file);
+/* ocbb_fields_from_vpd */
+void connectib_ocbb_fields_from_vpd_pack(const struct connectib_ocbb_fields_from_vpd *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ocbb_fields_from_vpd_unpack(struct connectib_ocbb_fields_from_vpd *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ocbb_fields_from_vpd_print(const struct connectib_ocbb_fields_from_vpd *ptr_struct, FILE* file, int indent_level);
+int connectib_ocbb_fields_from_vpd_size(void);
+#define CONNECTIB_OCBB_FIELDS_FROM_VPD_SIZE    (0x44)
+void connectib_ocbb_fields_from_vpd_dump(const struct connectib_ocbb_fields_from_vpd *ptr_struct, FILE* file);
+/* fw_banner */
+void connectib_fw_banner_pack(const struct connectib_fw_banner *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_banner_unpack(struct connectib_fw_banner *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_banner_print(const struct connectib_fw_banner *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_banner_size(void);
+#define CONNECTIB_FW_BANNER_SIZE    (0xc)
+void connectib_fw_banner_dump(const struct connectib_fw_banner *ptr_struct, FILE* file);
 /* resource_type_entry */
 void connectib_resource_type_entry_pack(const struct connectib_resource_type_entry *ptr_struct, u_int8_t* ptr_buff);
 void connectib_resource_type_entry_unpack(struct connectib_resource_type_entry *ptr_struct, const u_int8_t* ptr_buff);
@@ -24064,13 +34146,13 @@ void connectib_index_and_length_print(const struct connectib_index_and_length *p
 int connectib_index_and_length_size(void);
 #define CONNECTIB_INDEX_AND_LENGTH_SIZE    (0x10)
 void connectib_index_and_length_dump(const struct connectib_index_and_length *ptr_struct, FILE* file);
-/* dest_format_struct */
-void connectib_dest_format_struct_pack(const struct connectib_dest_format_struct *ptr_struct, u_int8_t* ptr_buff);
-void connectib_dest_format_struct_unpack(struct connectib_dest_format_struct *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_dest_format_struct_print(const struct connectib_dest_format_struct *ptr_struct, FILE* file, int indent_level);
-int connectib_dest_format_struct_size(void);
-#define CONNECTIB_DEST_FORMAT_STRUCT_SIZE    (0x8)
-void connectib_dest_format_struct_dump(const struct connectib_dest_format_struct *ptr_struct, FILE* file);
+/* flow_list */
+void connectib_flow_list_pack(const union connectib_flow_list *ptr_struct, u_int8_t* ptr_buff);
+void connectib_flow_list_unpack(union connectib_flow_list *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_flow_list_print(const union connectib_flow_list *ptr_struct, FILE* file, int indent_level);
+int connectib_flow_list_size(void);
+#define CONNECTIB_FLOW_LIST_SIZE    (0x8)
+void connectib_flow_list_dump(const union connectib_flow_list *ptr_struct, FILE* file);
 /* flow_table_entry_match_set_lyr_2_4 */
 void connectib_flow_table_entry_match_set_lyr_2_4_pack(const struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, u_int8_t* ptr_buff);
 void connectib_flow_table_entry_match_set_lyr_2_4_unpack(struct connectib_flow_table_entry_match_set_lyr_2_4 *ptr_struct, const u_int8_t* ptr_buff);
@@ -24085,13 +34167,20 @@ void connectib_flow_table_entry_match_set_misc_print(const struct connectib_flow
 int connectib_flow_table_entry_match_set_misc_size(void);
 #define CONNECTIB_FLOW_TABLE_ENTRY_MATCH_SET_MISC_SIZE    (0x40)
 void connectib_flow_table_entry_match_set_misc_dump(const struct connectib_flow_table_entry_match_set_misc *ptr_struct, FILE* file);
-/* eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto */
-void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_pack(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_gr [...]
-void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_unpack(union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_da [...]
-void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_print(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_g [...]
-int connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_size(void);
-#define CONNECTIB_ETH_802_3_CNTRS_GRP_DATA_LAYOUT_ETH_2863_CNTRS_GRP_DATA_LAYOUT_ETH_2819_CNTRS_GRP_DATA_LAYOUT_ETH_3635_CNTRS_GRP_DATA_LAYOUT_ETH_EXTENDED_CNTRS_GRP_DATA_LAYOUT_ETH_PER_PRIO_GRP_DATA_LAYOUT_ETH_PER_TRAFFIC_GRP_DATA_LAYOUT_PHYS_LAYER_CNTRS_AUTO_SIZE    (0xf8)
-void connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_grp_data_layout_phys_layer_cntrs_auto_dump(const union connectib_eth_802_3_cntrs_grp_data_layout_eth_2863_cntrs_grp_data_layout_eth_2819_cntrs_grp_data_layout_eth_3635_cntrs_grp_data_layout_eth_extended_cntrs_grp_data_layout_eth_per_prio_grp_data_layout_eth_per_traffic_gr [...]
+/* icmd_ver_data_one_qp_per_recovery */
+void connectib_icmd_ver_data_one_qp_per_recovery_pack(const struct connectib_icmd_ver_data_one_qp_per_recovery *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_ver_data_one_qp_per_recovery_unpack(struct connectib_icmd_ver_data_one_qp_per_recovery *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_ver_data_one_qp_per_recovery_print(const struct connectib_icmd_ver_data_one_qp_per_recovery *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_ver_data_one_qp_per_recovery_size(void);
+#define CONNECTIB_ICMD_VER_DATA_ONE_QP_PER_RECOVERY_SIZE    (0x4)
+void connectib_icmd_ver_data_one_qp_per_recovery_dump(const struct connectib_icmd_ver_data_one_qp_per_recovery *ptr_struct, FILE* file);
+/* icmd_ver_data_max_atomic */
+void connectib_icmd_ver_data_max_atomic_pack(const struct connectib_icmd_ver_data_max_atomic *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_ver_data_max_atomic_unpack(struct connectib_icmd_ver_data_max_atomic *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_ver_data_max_atomic_print(const struct connectib_icmd_ver_data_max_atomic *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_ver_data_max_atomic_size(void);
+#define CONNECTIB_ICMD_VER_DATA_MAX_ATOMIC_SIZE    (0x4)
+void connectib_icmd_ver_data_max_atomic_dump(const struct connectib_icmd_ver_data_max_atomic *ptr_struct, FILE* file);
 /* fw_vport_ctx */
 void connectib_fw_vport_ctx_pack(const struct connectib_fw_vport_ctx *ptr_struct, u_int8_t* ptr_buff);
 void connectib_fw_vport_ctx_unpack(struct connectib_fw_vport_ctx *ptr_struct, const u_int8_t* ptr_buff);
@@ -24111,7 +34200,7 @@ void connectib_icm_page_manager_pack(const struct connectib_icm_page_manager *pt
 void connectib_icm_page_manager_unpack(struct connectib_icm_page_manager *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_icm_page_manager_print(const struct connectib_icm_page_manager *ptr_struct, FILE* file, int indent_level);
 int connectib_icm_page_manager_size(void);
-#define CONNECTIB_ICM_PAGE_MANAGER_SIZE    (0x18)
+#define CONNECTIB_ICM_PAGE_MANAGER_SIZE    (0x20)
 void connectib_icm_page_manager_dump(const struct connectib_icm_page_manager *ptr_struct, FILE* file);
 /* hca_params */
 void connectib_hca_params_pack(const struct connectib_hca_params *ptr_struct, u_int8_t* ptr_buff);
@@ -24134,27 +34223,55 @@ void connectib_cmdif_ctx_print(const struct connectib_cmdif_ctx *ptr_struct, FIL
 int connectib_cmdif_ctx_size(void);
 #define CONNECTIB_CMDIF_CTX_SIZE    (0x40)
 void connectib_cmdif_ctx_dump(const struct connectib_cmdif_ctx *ptr_struct, FILE* file);
-/* sw_eqe_data */
-void connectib_sw_eqe_data_pack(const union connectib_sw_eqe_data *ptr_struct, u_int8_t* ptr_buff);
-void connectib_sw_eqe_data_unpack(union connectib_sw_eqe_data *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_sw_eqe_data_print(const union connectib_sw_eqe_data *ptr_struct, FILE* file, int indent_level);
-int connectib_sw_eqe_data_size(void);
-#define CONNECTIB_SW_EQE_DATA_SIZE    (0x1c)
-void connectib_sw_eqe_data_dump(const union connectib_sw_eqe_data *ptr_struct, FILE* file);
-/* reg_access_reg_tlv */
-void connectib_reg_access_reg_tlv_pack(const struct connectib_reg_access_reg_tlv *ptr_struct, u_int8_t* ptr_buff);
-void connectib_reg_access_reg_tlv_unpack(struct connectib_reg_access_reg_tlv *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_reg_access_reg_tlv_print(const struct connectib_reg_access_reg_tlv *ptr_struct, FILE* file, int indent_level);
-int connectib_reg_access_reg_tlv_size(void);
-#define CONNECTIB_REG_ACCESS_REG_TLV_SIZE    (0x30)
-void connectib_reg_access_reg_tlv_dump(const struct connectib_reg_access_reg_tlv *ptr_struct, FILE* file);
-/* reg_access_oper_tlv */
-void connectib_reg_access_oper_tlv_pack(const struct connectib_reg_access_oper_tlv *ptr_struct, u_int8_t* ptr_buff);
-void connectib_reg_access_oper_tlv_unpack(struct connectib_reg_access_oper_tlv *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_reg_access_oper_tlv_print(const struct connectib_reg_access_oper_tlv *ptr_struct, FILE* file, int indent_level);
-int connectib_reg_access_oper_tlv_size(void);
-#define CONNECTIB_REG_ACCESS_OPER_TLV_SIZE    (0x10)
-void connectib_reg_access_oper_tlv_dump(const struct connectib_reg_access_oper_tlv *ptr_struct, FILE* file);
+/* comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto */
+void connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_pack(const union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_r [...]
+void connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_unpack(union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_ [...]
+void connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_print(const union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_ [...]
+int connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_size(void);
+#define CONNECTIB_COMP_EVENT_DCT_EVENTS_QP_EVENTS_WQE_ASSOCIATED_PAGE_FAULT_EVENT_RDMA_PAGE_FAULT_EVENT_CQ_ERROR_DROPPED_PACKET_LOGGED_PORT_STATE_CHANGE_EVENT_GPIO_EVENT_PORT_MODULE_EVENT_DCBX_CHANGE_EVENT_TEMP_WARNING_EVENT_DB_BF_CONGESTION_EVENT_STALL_VL_EVENT_CMD_INTER_COMP_EVENT_PAGES_REQ_EVENT_NIC_VPORT_CHANGE_EVENT_FPGA_ERROR_EVENT_FPGA_QP_ERROR_EVENT_GENERAL_NOTIFICATION_DELAY_DROP_EVENT_AUTO_SIZE    (0x1c)
+void connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_rdma_page_fault_event_cq_error_dropped_packet_logged_port_state_change_event_gpio_event_port_module_event_dcbx_change_event_temp_warning_event_db_bf_congestion_event_stall_vl_event_cmd_inter_comp_event_pages_req_event_nic_vport_change_event_fpga_error_event_fpga_qp_error_event_general_notification_delay_drop_event_auto_dump(const union connectib_comp_event_dct_events_qp_events_wqe_associated_page_fault_event_r [...]
+/* icmd_generic_reg_access_reg_tlv_data */
+void connectib_icmd_generic_reg_access_reg_tlv_data_pack(const union connectib_icmd_generic_reg_access_reg_tlv_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_generic_reg_access_reg_tlv_data_unpack(union connectib_icmd_generic_reg_access_reg_tlv_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_generic_reg_access_reg_tlv_data_print(const union connectib_icmd_generic_reg_access_reg_tlv_data *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_generic_reg_access_reg_tlv_data_size(void);
+#define CONNECTIB_ICMD_GENERIC_REG_ACCESS_REG_TLV_DATA_SIZE    (0x110)
+void connectib_icmd_generic_reg_access_reg_tlv_data_dump(const union connectib_icmd_generic_reg_access_reg_tlv_data *ptr_struct, FILE* file);
+/* reg_access_tlv */
+void connectib_reg_access_tlv_pack(const struct connectib_reg_access_tlv *ptr_struct, u_int8_t* ptr_buff);
+void connectib_reg_access_tlv_unpack(struct connectib_reg_access_tlv *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_reg_access_tlv_print(const struct connectib_reg_access_tlv *ptr_struct, FILE* file, int indent_level);
+int connectib_reg_access_tlv_size(void);
+#define CONNECTIB_REG_ACCESS_TLV_SIZE    (0x4)
+void connectib_reg_access_tlv_dump(const struct connectib_reg_access_tlv *ptr_struct, FILE* file);
+/* IB_TID */
+void connectib_IB_TID_pack(const struct connectib_IB_TID *ptr_struct, u_int8_t* ptr_buff);
+void connectib_IB_TID_unpack(struct connectib_IB_TID *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_IB_TID_print(const struct connectib_IB_TID *ptr_struct, FILE* file, int indent_level);
+int connectib_IB_TID_size(void);
+#define CONNECTIB_IB_TID_SIZE    (0x8)
+void connectib_IB_TID_dump(const struct connectib_IB_TID *ptr_struct, FILE* file);
+/* icmd_kdnet_ctrl_out */
+void connectib_icmd_kdnet_ctrl_out_pack(const struct connectib_icmd_kdnet_ctrl_out *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_kdnet_ctrl_out_unpack(struct connectib_icmd_kdnet_ctrl_out *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_kdnet_ctrl_out_print(const struct connectib_icmd_kdnet_ctrl_out *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_kdnet_ctrl_out_size(void);
+#define CONNECTIB_ICMD_KDNET_CTRL_OUT_SIZE    (0x4)
+void connectib_icmd_kdnet_ctrl_out_dump(const struct connectib_icmd_kdnet_ctrl_out *ptr_struct, FILE* file);
+/* icmd_kdnet_ctrl_in */
+void connectib_icmd_kdnet_ctrl_in_pack(const struct connectib_icmd_kdnet_ctrl_in *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_kdnet_ctrl_in_unpack(struct connectib_icmd_kdnet_ctrl_in *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_kdnet_ctrl_in_print(const struct connectib_icmd_kdnet_ctrl_in *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_kdnet_ctrl_in_size(void);
+#define CONNECTIB_ICMD_KDNET_CTRL_IN_SIZE    (0x4)
+void connectib_icmd_kdnet_ctrl_in_dump(const struct connectib_icmd_kdnet_ctrl_in *ptr_struct, FILE* file);
+/* itrace_ctrl */
+void connectib_itrace_ctrl_pack(const struct connectib_itrace_ctrl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_itrace_ctrl_unpack(struct connectib_itrace_ctrl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_itrace_ctrl_print(const struct connectib_itrace_ctrl *ptr_struct, FILE* file, int indent_level);
+int connectib_itrace_ctrl_size(void);
+#define CONNECTIB_ITRACE_CTRL_SIZE    (0x4)
+void connectib_itrace_ctrl_dump(const struct connectib_itrace_ctrl *ptr_struct, FILE* file);
 /* output_inline_standart */
 void connectib_output_inline_standart_pack(const struct connectib_output_inline_standart *ptr_struct, u_int8_t* ptr_buff);
 void connectib_output_inline_standart_unpack(struct connectib_output_inline_standart *ptr_struct, const u_int8_t* ptr_buff);
@@ -24183,13 +34300,6 @@ void connectib_rxs_rxt_desc_decoder_print(const struct connectib_rxs_rxt_desc_de
 int connectib_rxs_rxt_desc_decoder_size(void);
 #define CONNECTIB_RXS_RXT_DESC_DECODER_SIZE    (0x40)
 void connectib_rxs_rxt_desc_decoder_dump(const struct connectib_rxs_rxt_desc_decoder *ptr_struct, FILE* file);
-/* rxt_checks_packet_descriptor_decoder */
-void connectib_rxt_checks_packet_descriptor_decoder_pack(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, u_int8_t* ptr_buff);
-void connectib_rxt_checks_packet_descriptor_decoder_unpack(struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_rxt_checks_packet_descriptor_decoder_print(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, FILE* file, int indent_level);
-int connectib_rxt_checks_packet_descriptor_decoder_size(void);
-#define CONNECTIB_RXT_CHECKS_PACKET_DESCRIPTOR_DECODER_SIZE    (0x40)
-void connectib_rxt_checks_packet_descriptor_decoder_dump(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, FILE* file);
 /* rxt_context_fetch_qp_desc_decoder */
 void connectib_rxt_context_fetch_qp_desc_decoder_pack(const struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, u_int8_t* ptr_buff);
 void connectib_rxt_context_fetch_qp_desc_decoder_unpack(struct connectib_rxt_context_fetch_qp_desc_decoder *ptr_struct, const u_int8_t* ptr_buff);
@@ -24204,6 +34314,20 @@ void connectib_rxt_checks_steering_results_decoder_print(const struct connectib_
 int connectib_rxt_checks_steering_results_decoder_size(void);
 #define CONNECTIB_RXT_CHECKS_STEERING_RESULTS_DECODER_SIZE    (0x10)
 void connectib_rxt_checks_steering_results_decoder_dump(const struct connectib_rxt_checks_steering_results_decoder *ptr_struct, FILE* file);
+/* rxt_steering_context_decoder */
+void connectib_rxt_steering_context_decoder_pack(const struct connectib_rxt_steering_context_decoder *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rxt_steering_context_decoder_unpack(struct connectib_rxt_steering_context_decoder *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rxt_steering_context_decoder_print(const struct connectib_rxt_steering_context_decoder *ptr_struct, FILE* file, int indent_level);
+int connectib_rxt_steering_context_decoder_size(void);
+#define CONNECTIB_RXT_STEERING_CONTEXT_DECODER_SIZE    (0x20)
+void connectib_rxt_steering_context_decoder_dump(const struct connectib_rxt_steering_context_decoder *ptr_struct, FILE* file);
+/* rxt_checks_packet_descriptor_decoder */
+void connectib_rxt_checks_packet_descriptor_decoder_pack(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rxt_checks_packet_descriptor_decoder_unpack(struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rxt_checks_packet_descriptor_decoder_print(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, FILE* file, int indent_level);
+int connectib_rxt_checks_packet_descriptor_decoder_size(void);
+#define CONNECTIB_RXT_CHECKS_PACKET_DESCRIPTOR_DECODER_SIZE    (0x40)
+void connectib_rxt_checks_packet_descriptor_decoder_dump(const struct connectib_rxt_checks_packet_descriptor_decoder *ptr_struct, FILE* file);
 /* ctx_as_dwords */
 void connectib_ctx_as_dwords_pack(const struct connectib_ctx_as_dwords *ptr_struct, u_int8_t* ptr_buff);
 void connectib_ctx_as_dwords_unpack(struct connectib_ctx_as_dwords *ptr_struct, const u_int8_t* ptr_buff);
@@ -24267,6 +34391,13 @@ void connectib_swap_data_print(const struct connectib_swap_data *ptr_struct, FIL
 int connectib_swap_data_size(void);
 #define CONNECTIB_SWAP_DATA_SIZE    (0x4)
 void connectib_swap_data_dump(const struct connectib_swap_data *ptr_struct, FILE* file);
+/* component_authentication_configuration */
+void connectib_component_authentication_configuration_pack(const struct connectib_component_authentication_configuration *ptr_struct, u_int8_t* ptr_buff);
+void connectib_component_authentication_configuration_unpack(struct connectib_component_authentication_configuration *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_component_authentication_configuration_print(const struct connectib_component_authentication_configuration *ptr_struct, FILE* file, int indent_level);
+int connectib_component_authentication_configuration_size(void);
+#define CONNECTIB_COMPONENT_AUTHENTICATION_CONFIGURATION_SIZE    (0x4)
+void connectib_component_authentication_configuration_dump(const struct connectib_component_authentication_configuration *ptr_struct, FILE* file);
 /* nv_data_pointer */
 void connectib_nv_data_pointer_pack(const struct connectib_nv_data_pointer *ptr_struct, u_int8_t* ptr_buff);
 void connectib_nv_data_pointer_unpack(struct connectib_nv_data_pointer *ptr_struct, const u_int8_t* ptr_buff);
@@ -24386,12 +34517,19 @@ void connectib_phy_hw_main_config_ip_print(const struct connectib_phy_hw_main_co
 int connectib_phy_hw_main_config_ip_size(void);
 #define CONNECTIB_PHY_HW_MAIN_CONFIG_IP_SIZE    (0x5c0)
 void connectib_phy_hw_main_config_ip_dump(const struct connectib_phy_hw_main_config_ip *ptr_struct, FILE* file);
+/* nv_config_boot_port_settings */
+void connectib_nv_config_boot_port_settings_pack(const struct connectib_nv_config_boot_port_settings *ptr_struct, u_int8_t* ptr_buff);
+void connectib_nv_config_boot_port_settings_unpack(struct connectib_nv_config_boot_port_settings *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_nv_config_boot_port_settings_print(const struct connectib_nv_config_boot_port_settings *ptr_struct, FILE* file, int indent_level);
+int connectib_nv_config_boot_port_settings_size(void);
+#define CONNECTIB_NV_CONFIG_BOOT_PORT_SETTINGS_SIZE    (0x4)
+void connectib_nv_config_boot_port_settings_dump(const struct connectib_nv_config_boot_port_settings *ptr_struct, FILE* file);
 /* nv_config_boot_global */
 void connectib_nv_config_boot_global_pack(const struct connectib_nv_config_boot_global *ptr_struct, u_int8_t* ptr_buff);
 void connectib_nv_config_boot_global_unpack(struct connectib_nv_config_boot_global *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_nv_config_boot_global_print(const struct connectib_nv_config_boot_global *ptr_struct, FILE* file, int indent_level);
 int connectib_nv_config_boot_global_size(void);
-#define CONNECTIB_NV_CONFIG_BOOT_GLOBAL_SIZE    (0x28)
+#define CONNECTIB_NV_CONFIG_BOOT_GLOBAL_SIZE    (0x30)
 void connectib_nv_config_boot_global_dump(const struct connectib_nv_config_boot_global *ptr_struct, FILE* file);
 /* pciex_ext_cfg_space */
 void connectib_pciex_ext_cfg_space_pack(const struct connectib_pciex_ext_cfg_space *ptr_struct, u_int8_t* ptr_buff);
@@ -24407,12 +34545,26 @@ void connectib_pci_cfg_space_print(const struct connectib_pci_cfg_space *ptr_str
 int connectib_pci_cfg_space_size(void);
 #define CONNECTIB_PCI_CFG_SPACE_SIZE    (0x100)
 void connectib_pci_cfg_space_dump(const struct connectib_pci_cfg_space *ptr_struct, FILE* file);
+/* logger_init_info */
+void connectib_logger_init_info_pack(const struct connectib_logger_init_info *ptr_struct, u_int8_t* ptr_buff);
+void connectib_logger_init_info_unpack(struct connectib_logger_init_info *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_logger_init_info_print(const struct connectib_logger_init_info *ptr_struct, FILE* file, int indent_level);
+int connectib_logger_init_info_size(void);
+#define CONNECTIB_LOGGER_INIT_INFO_SIZE    (0x4)
+void connectib_logger_init_info_dump(const struct connectib_logger_init_info *ptr_struct, FILE* file);
+/* fw_block_behavior */
+void connectib_fw_block_behavior_pack(const union connectib_fw_block_behavior *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_block_behavior_unpack(union connectib_fw_block_behavior *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_block_behavior_print(const union connectib_fw_block_behavior *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_block_behavior_size(void);
+#define CONNECTIB_FW_BLOCK_BEHAVIOR_SIZE    (0x4)
+void connectib_fw_block_behavior_dump(const union connectib_fw_block_behavior *ptr_struct, FILE* file);
 /* nv_config_main_fw_data */
 void connectib_nv_config_main_fw_data_pack(const struct connectib_nv_config_main_fw_data *ptr_struct, u_int8_t* ptr_buff);
 void connectib_nv_config_main_fw_data_unpack(struct connectib_nv_config_main_fw_data *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_nv_config_main_fw_data_print(const struct connectib_nv_config_main_fw_data *ptr_struct, FILE* file, int indent_level);
 int connectib_nv_config_main_fw_data_size(void);
-#define CONNECTIB_NV_CONFIG_MAIN_FW_DATA_SIZE    (0x20)
+#define CONNECTIB_NV_CONFIG_MAIN_FW_DATA_SIZE    (0x300)
 void connectib_nv_config_main_fw_data_dump(const struct connectib_nv_config_main_fw_data *ptr_struct, FILE* file);
 /* phy_fw_main_config_ip */
 void connectib_phy_fw_main_config_ip_pack(const struct connectib_phy_fw_main_config_ip *ptr_struct, u_int8_t* ptr_buff);
@@ -24428,6 +34580,13 @@ void connectib_phy_fw_main_config_golan_print(const struct connectib_phy_fw_main
 int connectib_phy_fw_main_config_golan_size(void);
 #define CONNECTIB_PHY_FW_MAIN_CONFIG_GOLAN_SIZE    (0xe8)
 void connectib_phy_fw_main_config_golan_dump(const struct connectib_phy_fw_main_config_golan *ptr_struct, FILE* file);
+/* wol_cap_host_port */
+void connectib_wol_cap_host_port_pack(const struct connectib_wol_cap_host_port *ptr_struct, u_int8_t* ptr_buff);
+void connectib_wol_cap_host_port_unpack(struct connectib_wol_cap_host_port *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_wol_cap_host_port_print(const struct connectib_wol_cap_host_port *ptr_struct, FILE* file, int indent_level);
+int connectib_wol_cap_host_port_size(void);
+#define CONNECTIB_WOL_CAP_HOST_PORT_SIZE    (0x4)
+void connectib_wol_cap_host_port_dump(const struct connectib_wol_cap_host_port *ptr_struct, FILE* file);
 /* ibm_thermal_config */
 void connectib_ibm_thermal_config_pack(const struct connectib_ibm_thermal_config *ptr_struct, u_int8_t* ptr_buff);
 void connectib_ibm_thermal_config_unpack(struct connectib_ibm_thermal_config *ptr_struct, const u_int8_t* ptr_buff);
@@ -24442,6 +34601,13 @@ void connectib_ocsd_config_print(const struct connectib_ocsd_config *ptr_struct,
 int connectib_ocsd_config_size(void);
 #define CONNECTIB_OCSD_CONFIG_SIZE    (0x14)
 void connectib_ocsd_config_dump(const struct connectib_ocsd_config *ptr_struct, FILE* file);
+/* fw_vport0_ini */
+void connectib_fw_vport0_ini_pack(const struct connectib_fw_vport0_ini *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_vport0_ini_unpack(struct connectib_fw_vport0_ini *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_vport0_ini_print(const struct connectib_fw_vport0_ini *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_vport0_ini_size(void);
+#define CONNECTIB_FW_VPORT0_INI_SIZE    (0x4)
+void connectib_fw_vport0_ini_dump(const struct connectib_fw_vport0_ini *ptr_struct, FILE* file);
 /* extended_port_info_ini */
 void connectib_extended_port_info_ini_pack(const struct connectib_extended_port_info_ini *ptr_struct, u_int8_t* ptr_buff);
 void connectib_extended_port_info_ini_unpack(struct connectib_extended_port_info_ini *ptr_struct, const u_int8_t* ptr_buff);
@@ -24456,13 +34622,13 @@ void connectib_ib_port_info_ini_print(const struct connectib_ib_port_info_ini *p
 int connectib_ib_port_info_ini_size(void);
 #define CONNECTIB_IB_PORT_INFO_INI_SIZE    (0x1c)
 void connectib_ib_port_info_ini_dump(const struct connectib_ib_port_info_ini *ptr_struct, FILE* file);
-/* node_info */
-void connectib_node_info_pack(const struct connectib_node_info *ptr_struct, u_int8_t* ptr_buff);
-void connectib_node_info_unpack(struct connectib_node_info *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_node_info_print(const struct connectib_node_info *ptr_struct, FILE* file, int indent_level);
-int connectib_node_info_size(void);
-#define CONNECTIB_NODE_INFO_SIZE    (0x40)
-void connectib_node_info_dump(const struct connectib_node_info *ptr_struct, FILE* file);
+/* node_info_ini */
+void connectib_node_info_ini_pack(const struct connectib_node_info_ini *ptr_struct, u_int8_t* ptr_buff);
+void connectib_node_info_ini_unpack(struct connectib_node_info_ini *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_node_info_ini_print(const struct connectib_node_info_ini *ptr_struct, FILE* file, int indent_level);
+int connectib_node_info_ini_size(void);
+#define CONNECTIB_NODE_INFO_INI_SIZE    (0x40)
+void connectib_node_info_ini_dump(const struct connectib_node_info_ini *ptr_struct, FILE* file);
 /* led_port_blink_pattern */
 void connectib_led_port_blink_pattern_pack(const struct connectib_led_port_blink_pattern *ptr_struct, u_int8_t* ptr_buff);
 void connectib_led_port_blink_pattern_unpack(struct connectib_led_port_blink_pattern *ptr_struct, const u_int8_t* ptr_buff);
@@ -24491,12 +34657,47 @@ void connectib_reset_level_info_print(const struct connectib_reset_level_info *p
 int connectib_reset_level_info_size(void);
 #define CONNECTIB_RESET_LEVEL_INFO_SIZE    (0x10)
 void connectib_reset_level_info_dump(const struct connectib_reset_level_info *ptr_struct, FILE* file);
+/* sysport_packet_data */
+void connectib_sysport_packet_data_pack(const struct connectib_sysport_packet_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sysport_packet_data_unpack(struct connectib_sysport_packet_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sysport_packet_data_print(const struct connectib_sysport_packet_data *ptr_struct, FILE* file, int indent_level);
+int connectib_sysport_packet_data_size(void);
+#define CONNECTIB_SYSPORT_PACKET_DATA_SIZE    (0x2dc)
+void connectib_sysport_packet_data_dump(const struct connectib_sysport_packet_data *ptr_struct, FILE* file);
+/* sysport_packet_properties */
+void connectib_sysport_packet_properties_pack(const struct connectib_sysport_packet_properties *ptr_struct, u_int8_t* ptr_buff);
+void connectib_sysport_packet_properties_unpack(struct connectib_sysport_packet_properties *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_sysport_packet_properties_print(const struct connectib_sysport_packet_properties *ptr_struct, FILE* file, int indent_level);
+int connectib_sysport_packet_properties_size(void);
+#define CONNECTIB_SYSPORT_PACKET_PROPERTIES_SIZE    (0x20)
+void connectib_sysport_packet_properties_dump(const struct connectib_sysport_packet_properties *ptr_struct, FILE* file);
+/* rw_gvmi_fw_ctx_sub_structs */
+void connectib_rw_gvmi_fw_ctx_sub_structs_pack(const union connectib_rw_gvmi_fw_ctx_sub_structs *ptr_struct, u_int8_t* ptr_buff);
+void connectib_rw_gvmi_fw_ctx_sub_structs_unpack(union connectib_rw_gvmi_fw_ctx_sub_structs *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_rw_gvmi_fw_ctx_sub_structs_print(const union connectib_rw_gvmi_fw_ctx_sub_structs *ptr_struct, FILE* file, int indent_level);
+int connectib_rw_gvmi_fw_ctx_sub_structs_size(void);
+#define CONNECTIB_RW_GVMI_FW_CTX_SUB_STRUCTS_SIZE    (0x40)
+void connectib_rw_gvmi_fw_ctx_sub_structs_dump(const union connectib_rw_gvmi_fw_ctx_sub_structs *ptr_struct, FILE* file);
+/* disable_mask */
+void connectib_disable_mask_pack(const union connectib_disable_mask *ptr_struct, u_int8_t* ptr_buff);
+void connectib_disable_mask_unpack(union connectib_disable_mask *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_disable_mask_print(const union connectib_disable_mask *ptr_struct, FILE* file, int indent_level);
+int connectib_disable_mask_size(void);
+#define CONNECTIB_DISABLE_MASK_SIZE    (0x4)
+void connectib_disable_mask_dump(const union connectib_disable_mask *ptr_struct, FILE* file);
+/* drivers_mask_arr */
+void connectib_drivers_mask_arr_pack(const struct connectib_drivers_mask_arr *ptr_struct, u_int8_t* ptr_buff);
+void connectib_drivers_mask_arr_unpack(struct connectib_drivers_mask_arr *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_drivers_mask_arr_print(const struct connectib_drivers_mask_arr *ptr_struct, FILE* file, int indent_level);
+int connectib_drivers_mask_arr_size(void);
+#define CONNECTIB_DRIVERS_MASK_ARR_SIZE    (0x8)
+void connectib_drivers_mask_arr_dump(const struct connectib_drivers_mask_arr *ptr_struct, FILE* file);
 /* vport_info */
 void connectib_vport_info_pack(const struct connectib_vport_info *ptr_struct, u_int8_t* ptr_buff);
 void connectib_vport_info_unpack(struct connectib_vport_info *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_vport_info_print(const struct connectib_vport_info *ptr_struct, FILE* file, int indent_level);
 int connectib_vport_info_size(void);
-#define CONNECTIB_VPORT_INFO_SIZE    (0x20)
+#define CONNECTIB_VPORT_INFO_SIZE    (0x40)
 void connectib_vport_info_dump(const struct connectib_vport_info *ptr_struct, FILE* file);
 /* vport_shadow */
 void connectib_vport_shadow_pack(const struct connectib_vport_shadow *ptr_struct, u_int8_t* ptr_buff);
@@ -24505,6 +34706,41 @@ void connectib_vport_shadow_print(const struct connectib_vport_shadow *ptr_struc
 int connectib_vport_shadow_size(void);
 #define CONNECTIB_VPORT_SHADOW_SIZE    (0x20)
 void connectib_vport_shadow_dump(const struct connectib_vport_shadow *ptr_struct, FILE* file);
+/* ocbb_pci_data */
+void connectib_ocbb_pci_data_pack(const struct connectib_ocbb_pci_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ocbb_pci_data_unpack(struct connectib_ocbb_pci_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ocbb_pci_data_print(const struct connectib_ocbb_pci_data *ptr_struct, FILE* file, int indent_level);
+int connectib_ocbb_pci_data_size(void);
+#define CONNECTIB_OCBB_PCI_DATA_SIZE    (0x2c)
+void connectib_ocbb_pci_data_dump(const struct connectib_ocbb_pci_data *ptr_struct, FILE* file);
+/* ocbb_fields */
+void connectib_ocbb_fields_pack(const struct connectib_ocbb_fields *ptr_struct, u_int8_t* ptr_buff);
+void connectib_ocbb_fields_unpack(struct connectib_ocbb_fields *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_ocbb_fields_print(const struct connectib_ocbb_fields *ptr_struct, FILE* file, int indent_level);
+int connectib_ocbb_fields_size(void);
+#define CONNECTIB_OCBB_FIELDS_SIZE    (0x200)
+void connectib_ocbb_fields_dump(const struct connectib_ocbb_fields *ptr_struct, FILE* file);
+/* module_db_pre_define_st */
+void connectib_module_db_pre_define_st_pack(const struct connectib_module_db_pre_define_st *ptr_struct, u_int8_t* ptr_buff);
+void connectib_module_db_pre_define_st_unpack(struct connectib_module_db_pre_define_st *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_module_db_pre_define_st_print(const struct connectib_module_db_pre_define_st *ptr_struct, FILE* file, int indent_level);
+int connectib_module_db_pre_define_st_size(void);
+#define CONNECTIB_MODULE_DB_PRE_DEFINE_ST_SIZE    (0x38)
+void connectib_module_db_pre_define_st_dump(const struct connectib_module_db_pre_define_st *ptr_struct, FILE* file);
+/* fw_driver_version */
+void connectib_fw_driver_version_pack(const struct connectib_fw_driver_version *ptr_struct, u_int8_t* ptr_buff);
+void connectib_fw_driver_version_unpack(struct connectib_fw_driver_version *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_fw_driver_version_print(const struct connectib_fw_driver_version *ptr_struct, FILE* file, int indent_level);
+int connectib_fw_driver_version_size(void);
+#define CONNECTIB_FW_DRIVER_VERSION_SIZE    (0x40)
+void connectib_fw_driver_version_dump(const struct connectib_fw_driver_version *ptr_struct, FILE* file);
+/* iterator_result */
+void connectib_iterator_result_pack(const struct connectib_iterator_result *ptr_struct, u_int8_t* ptr_buff);
+void connectib_iterator_result_unpack(struct connectib_iterator_result *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_iterator_result_print(const struct connectib_iterator_result *ptr_struct, FILE* file, int indent_level);
+int connectib_iterator_result_size(void);
+#define CONNECTIB_ITERATOR_RESULT_SIZE    (0x8)
+void connectib_iterator_result_dump(const struct connectib_iterator_result *ptr_struct, FILE* file);
 /* general_fault_injector_pair */
 void connectib_general_fault_injector_pair_pack(const struct connectib_general_fault_injector_pair *ptr_struct, u_int8_t* ptr_buff);
 void connectib_general_fault_injector_pair_unpack(struct connectib_general_fault_injector_pair *ptr_struct, const u_int8_t* ptr_buff);
@@ -24512,13 +34748,20 @@ void connectib_general_fault_injector_pair_print(const struct connectib_general_
 int connectib_general_fault_injector_pair_size(void);
 #define CONNECTIB_GENERAL_FAULT_INJECTOR_PAIR_SIZE    (0x4)
 void connectib_general_fault_injector_pair_dump(const struct connectib_general_fault_injector_pair *ptr_struct, FILE* file);
-/* pvlc_reg */
-void connectib_pvlc_reg_pack(const struct connectib_pvlc_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_pvlc_reg_unpack(struct connectib_pvlc_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_pvlc_reg_print(const struct connectib_pvlc_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_pvlc_reg_size(void);
-#define CONNECTIB_PVLC_REG_SIZE    (0x10)
-void connectib_pvlc_reg_dump(const struct connectib_pvlc_reg *ptr_struct, FILE* file);
+/* dmfs_gvmi_ctx */
+void connectib_dmfs_gvmi_ctx_pack(const struct connectib_dmfs_gvmi_ctx *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dmfs_gvmi_ctx_unpack(struct connectib_dmfs_gvmi_ctx *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dmfs_gvmi_ctx_print(const struct connectib_dmfs_gvmi_ctx *ptr_struct, FILE* file, int indent_level);
+int connectib_dmfs_gvmi_ctx_size(void);
+#define CONNECTIB_DMFS_GVMI_CTX_SIZE    (0x40)
+void connectib_dmfs_gvmi_ctx_dump(const struct connectib_dmfs_gvmi_ctx *ptr_struct, FILE* file);
+/* dmfs_data */
+void connectib_dmfs_data_pack(const struct connectib_dmfs_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_dmfs_data_unpack(struct connectib_dmfs_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_dmfs_data_print(const struct connectib_dmfs_data *ptr_struct, FILE* file, int indent_level);
+int connectib_dmfs_data_size(void);
+#define CONNECTIB_DMFS_DATA_SIZE    (0x20)
+void connectib_dmfs_data_dump(const struct connectib_dmfs_data *ptr_struct, FILE* file);
 /* icmd_get_ste_resources_list_out */
 void connectib_icmd_get_ste_resources_list_out_pack(const struct connectib_icmd_get_ste_resources_list_out *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_get_ste_resources_list_out_unpack(struct connectib_icmd_get_ste_resources_list_out *ptr_struct, const u_int8_t* ptr_buff);
@@ -24631,26 +34874,19 @@ void connectib_icmd_get_ft_list_in_print(const struct connectib_icmd_get_ft_list
 int connectib_icmd_get_ft_list_in_size(void);
 #define CONNECTIB_ICMD_GET_FT_LIST_IN_SIZE    (0x10)
 void connectib_icmd_get_ft_list_in_dump(const struct connectib_icmd_get_ft_list_in *ptr_struct, FILE* file);
-/* ppcnt_reg */
-void connectib_ppcnt_reg_pack(const struct connectib_ppcnt_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_ppcnt_reg_unpack(struct connectib_ppcnt_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_ppcnt_reg_print(const struct connectib_ppcnt_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_ppcnt_reg_size(void);
-#define CONNECTIB_PPCNT_REG_SIZE    (0x100)
-void connectib_ppcnt_reg_dump(const struct connectib_ppcnt_reg *ptr_struct, FILE* file);
-/* ptys_reg */
-void connectib_ptys_reg_pack(const struct connectib_ptys_reg *ptr_struct, u_int8_t* ptr_buff);
-void connectib_ptys_reg_unpack(struct connectib_ptys_reg *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_ptys_reg_print(const struct connectib_ptys_reg *ptr_struct, FILE* file, int indent_level);
-int connectib_ptys_reg_size(void);
-#define CONNECTIB_PTYS_REG_SIZE    (0x40)
-void connectib_ptys_reg_dump(const struct connectib_ptys_reg *ptr_struct, FILE* file);
+/* led_control_data */
+void connectib_led_control_data_pack(const struct connectib_led_control_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_led_control_data_unpack(struct connectib_led_control_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_led_control_data_print(const struct connectib_led_control_data *ptr_struct, FILE* file, int indent_level);
+int connectib_led_control_data_size(void);
+#define CONNECTIB_LED_CONTROL_DATA_SIZE    (0x40)
+void connectib_led_control_data_dump(const struct connectib_led_control_data *ptr_struct, FILE* file);
 /* steering_table_info */
 void connectib_steering_table_info_pack(const struct connectib_steering_table_info *ptr_struct, u_int8_t* ptr_buff);
 void connectib_steering_table_info_unpack(struct connectib_steering_table_info *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_steering_table_info_print(const struct connectib_steering_table_info *ptr_struct, FILE* file, int indent_level);
 int connectib_steering_table_info_size(void);
-#define CONNECTIB_STEERING_TABLE_INFO_SIZE    (0x20)
+#define CONNECTIB_STEERING_TABLE_INFO_SIZE    (0x40)
 void connectib_steering_table_info_dump(const struct connectib_steering_table_info *ptr_struct, FILE* file);
 /* dcr_info */
 void connectib_dcr_info_pack(const struct connectib_dcr_info *ptr_struct, u_int8_t* ptr_buff);
@@ -24659,6 +34895,13 @@ void connectib_dcr_info_print(const struct connectib_dcr_info *ptr_struct, FILE*
 int connectib_dcr_info_size(void);
 #define CONNECTIB_DCR_INFO_SIZE    (0x4)
 void connectib_dcr_info_dump(const struct connectib_dcr_info *ptr_struct, FILE* file);
+/* icmd_ver_data_cmd_specific */
+void connectib_icmd_ver_data_cmd_specific_pack(const union connectib_icmd_ver_data_cmd_specific *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_ver_data_cmd_specific_unpack(union connectib_icmd_ver_data_cmd_specific *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_ver_data_cmd_specific_print(const union connectib_icmd_ver_data_cmd_specific *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_ver_data_cmd_specific_size(void);
+#define CONNECTIB_ICMD_VER_DATA_CMD_SPECIFIC_SIZE    (0x40)
+void connectib_icmd_ver_data_cmd_specific_dump(const union connectib_icmd_ver_data_cmd_specific *ptr_struct, FILE* file);
 /* icmd_pcie_ver_frequency */
 void connectib_icmd_pcie_ver_frequency_pack(const struct connectib_icmd_pcie_ver_frequency *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_pcie_ver_frequency_unpack(struct connectib_icmd_pcie_ver_frequency *ptr_struct, const u_int8_t* ptr_buff);
@@ -24692,14 +34935,14 @@ void connectib_vport_real_state_pack(const struct connectib_vport_real_state *pt
 void connectib_vport_real_state_unpack(struct connectib_vport_real_state *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_vport_real_state_print(const struct connectib_vport_real_state *ptr_struct, FILE* file, int indent_level);
 int connectib_vport_real_state_size(void);
-#define CONNECTIB_VPORT_REAL_STATE_SIZE    (0x200)
+#define CONNECTIB_VPORT_REAL_STATE_SIZE    (0x80)
 void connectib_vport_real_state_dump(const struct connectib_vport_real_state *ptr_struct, FILE* file);
 /* fw_esw */
 void connectib_fw_esw_pack(const struct connectib_fw_esw *ptr_struct, u_int8_t* ptr_buff);
 void connectib_fw_esw_unpack(struct connectib_fw_esw *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_fw_esw_print(const struct connectib_fw_esw *ptr_struct, FILE* file, int indent_level);
 int connectib_fw_esw_size(void);
-#define CONNECTIB_FW_ESW_SIZE    (0x40)
+#define CONNECTIB_FW_ESW_SIZE    (0x200)
 void connectib_fw_esw_dump(const struct connectib_fw_esw *ptr_struct, FILE* file);
 /* gvmix_sub_structs */
 void connectib_gvmix_sub_structs_pack(const union connectib_gvmix_sub_structs *ptr_struct, u_int8_t* ptr_buff);
@@ -24715,13 +34958,6 @@ void connectib_sw_eqe_print(const struct connectib_sw_eqe *ptr_struct, FILE* fil
 int connectib_sw_eqe_size(void);
 #define CONNECTIB_SW_EQE_SIZE    (0x40)
 void connectib_sw_eqe_dump(const struct connectib_sw_eqe *ptr_struct, FILE* file);
-/* itrace_ctrl */
-void connectib_itrace_ctrl_pack(const struct connectib_itrace_ctrl *ptr_struct, u_int8_t* ptr_buff);
-void connectib_itrace_ctrl_unpack(struct connectib_itrace_ctrl *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_itrace_ctrl_print(const struct connectib_itrace_ctrl *ptr_struct, FILE* file, int indent_level);
-int connectib_itrace_ctrl_size(void);
-#define CONNECTIB_ITRACE_CTRL_SIZE    (0x4)
-void connectib_itrace_ctrl_dump(const struct connectib_itrace_ctrl *ptr_struct, FILE* file);
 /* lock_tag */
 void connectib_lock_tag_pack(const struct connectib_lock_tag *ptr_struct, u_int8_t* ptr_buff);
 void connectib_lock_tag_unpack(struct connectib_lock_tag *ptr_struct, const u_int8_t* ptr_buff);
@@ -24729,13 +34965,41 @@ void connectib_lock_tag_print(const struct connectib_lock_tag *ptr_struct, FILE*
 int connectib_lock_tag_size(void);
 #define CONNECTIB_LOCK_TAG_SIZE    (0x4)
 void connectib_lock_tag_dump(const struct connectib_lock_tag *ptr_struct, FILE* file);
-/* reg_access_cmd */
-void connectib_reg_access_cmd_pack(const struct connectib_reg_access_cmd *ptr_struct, u_int8_t* ptr_buff);
-void connectib_reg_access_cmd_unpack(struct connectib_reg_access_cmd *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_reg_access_cmd_print(const struct connectib_reg_access_cmd *ptr_struct, FILE* file, int indent_level);
-int connectib_reg_access_cmd_size(void);
-#define CONNECTIB_REG_ACCESS_CMD_SIZE    (0x40)
-void connectib_reg_access_cmd_dump(const struct connectib_reg_access_cmd *ptr_struct, FILE* file);
+/* icmd_generic_reg_access_reg_tlv */
+void connectib_icmd_generic_reg_access_reg_tlv_pack(const struct connectib_icmd_generic_reg_access_reg_tlv *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_generic_reg_access_reg_tlv_unpack(struct connectib_icmd_generic_reg_access_reg_tlv *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_generic_reg_access_reg_tlv_print(const struct connectib_icmd_generic_reg_access_reg_tlv *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_generic_reg_access_reg_tlv_size(void);
+#define CONNECTIB_ICMD_GENERIC_REG_ACCESS_REG_TLV_SIZE    (0x114)
+void connectib_icmd_generic_reg_access_reg_tlv_dump(const struct connectib_icmd_generic_reg_access_reg_tlv *ptr_struct, FILE* file);
+/* reg_access_oper_tlv */
+void connectib_reg_access_oper_tlv_pack(const struct connectib_reg_access_oper_tlv *ptr_struct, u_int8_t* ptr_buff);
+void connectib_reg_access_oper_tlv_unpack(struct connectib_reg_access_oper_tlv *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_reg_access_oper_tlv_print(const struct connectib_reg_access_oper_tlv *ptr_struct, FILE* file, int indent_level);
+int connectib_reg_access_oper_tlv_size(void);
+#define CONNECTIB_REG_ACCESS_OPER_TLV_SIZE    (0x10)
+void connectib_reg_access_oper_tlv_dump(const struct connectib_reg_access_oper_tlv *ptr_struct, FILE* file);
+/* icmd_kdnet_ctrl_io */
+void connectib_icmd_kdnet_ctrl_io_pack(const union connectib_icmd_kdnet_ctrl_io *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_kdnet_ctrl_io_unpack(union connectib_icmd_kdnet_ctrl_io *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_kdnet_ctrl_io_print(const union connectib_icmd_kdnet_ctrl_io *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_kdnet_ctrl_io_size(void);
+#define CONNECTIB_ICMD_KDNET_CTRL_IO_SIZE    (0x4)
+void connectib_icmd_kdnet_ctrl_io_dump(const union connectib_icmd_kdnet_ctrl_io *ptr_struct, FILE* file);
+/* icmd_query_cap_general */
+void connectib_icmd_query_cap_general_pack(const struct connectib_icmd_query_cap_general *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_query_cap_general_unpack(struct connectib_icmd_query_cap_general *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_query_cap_general_print(const struct connectib_icmd_query_cap_general *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_query_cap_general_size(void);
+#define CONNECTIB_ICMD_QUERY_CAP_GENERAL_SIZE    (0x8)
+void connectib_icmd_query_cap_general_dump(const struct connectib_icmd_query_cap_general *ptr_struct, FILE* file);
+/* icmd_query_cap_in */
+void connectib_icmd_query_cap_in_pack(const struct connectib_icmd_query_cap_in *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_query_cap_in_unpack(struct connectib_icmd_query_cap_in *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_query_cap_in_print(const struct connectib_icmd_query_cap_in *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_query_cap_in_size(void);
+#define CONNECTIB_ICMD_QUERY_CAP_IN_SIZE    (0x4)
+void connectib_icmd_query_cap_in_dump(const struct connectib_icmd_query_cap_in *ptr_struct, FILE* file);
 /* cable_info */
 void connectib_cable_info_pack(const struct connectib_cable_info *ptr_struct, u_int8_t* ptr_buff);
 void connectib_cable_info_unpack(struct connectib_cable_info *ptr_struct, const u_int8_t* ptr_buff);
@@ -24750,6 +35014,13 @@ void connectib_grepper_dwords_print(const struct connectib_grepper_dwords *ptr_s
 int connectib_grepper_dwords_size(void);
 #define CONNECTIB_GREPPER_DWORDS_SIZE    (0x40)
 void connectib_grepper_dwords_dump(const struct connectib_grepper_dwords *ptr_struct, FILE* file);
+/* itrace */
+void connectib_itrace_pack(const struct connectib_itrace *ptr_struct, u_int8_t* ptr_buff);
+void connectib_itrace_unpack(struct connectib_itrace *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_itrace_print(const struct connectib_itrace *ptr_struct, FILE* file, int indent_level);
+int connectib_itrace_size(void);
+#define CONNECTIB_ITRACE_SIZE    (0x10)
+void connectib_itrace_dump(const struct connectib_itrace *ptr_struct, FILE* file);
 /* cc_table_entry */
 void connectib_cc_table_entry_pack(const struct connectib_cc_table_entry *ptr_struct, u_int8_t* ptr_buff);
 void connectib_cc_table_entry_unpack(struct connectib_cc_table_entry *ptr_struct, const u_int8_t* ptr_buff);
@@ -24904,6 +35175,13 @@ void connectib_wqe_extended_atomic_cmp_swap_4byte_print(const struct connectib_w
 int connectib_wqe_extended_atomic_cmp_swap_4byte_size(void);
 #define CONNECTIB_WQE_EXTENDED_ATOMIC_CMP_SWAP_4BYTE_SIZE    (0x10)
 void connectib_wqe_extended_atomic_cmp_swap_4byte_dump(const struct connectib_wqe_extended_atomic_cmp_swap_4byte *ptr_struct, FILE* file);
+/* file_public_keys */
+void connectib_file_public_keys_pack(const struct connectib_file_public_keys *ptr_struct, u_int8_t* ptr_buff);
+void connectib_file_public_keys_unpack(struct connectib_file_public_keys *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_file_public_keys_print(const struct connectib_file_public_keys *ptr_struct, FILE* file, int indent_level);
+int connectib_file_public_keys_size(void);
+#define CONNECTIB_FILE_PUBLIC_KEYS_SIZE    (0x120)
+void connectib_file_public_keys_dump(const struct connectib_file_public_keys *ptr_struct, FILE* file);
 /* nv_config_header */
 void connectib_nv_config_header_pack(const struct connectib_nv_config_header *ptr_struct, u_int8_t* ptr_buff);
 void connectib_nv_config_header_unpack(struct connectib_nv_config_header *ptr_struct, const u_int8_t* ptr_buff);
@@ -25007,7 +35285,7 @@ void connectib_pcie_transaction_pack(const struct connectib_pcie_transaction *pt
 void connectib_pcie_transaction_unpack(struct connectib_pcie_transaction *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_pcie_transaction_print(const struct connectib_pcie_transaction *ptr_struct, FILE* file, int indent_level);
 int connectib_pcie_transaction_size(void);
-#define CONNECTIB_PCIE_TRANSACTION_SIZE    (0x4)
+#define CONNECTIB_PCIE_TRANSACTION_SIZE    (0x8)
 void connectib_pcie_transaction_dump(const struct connectib_pcie_transaction *ptr_struct, FILE* file);
 /* multi_function */
 void connectib_multi_function_pack(const struct connectib_multi_function *ptr_struct, u_int8_t* ptr_buff);
@@ -25016,33 +35294,40 @@ void connectib_multi_function_print(const struct connectib_multi_function *ptr_s
 int connectib_multi_function_size(void);
 #define CONNECTIB_MULTI_FUNCTION_SIZE    (0xc)
 void connectib_multi_function_dump(const struct connectib_multi_function *ptr_struct, FILE* file);
+/* secure_fw */
+void connectib_secure_fw_pack(const struct connectib_secure_fw *ptr_struct, u_int8_t* ptr_buff);
+void connectib_secure_fw_unpack(struct connectib_secure_fw *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_secure_fw_print(const struct connectib_secure_fw *ptr_struct, FILE* file, int indent_level);
+int connectib_secure_fw_size(void);
+#define CONNECTIB_SECURE_FW_SIZE    (0x8)
+void connectib_secure_fw_dump(const struct connectib_secure_fw *ptr_struct, FILE* file);
 /* nv_config_main */
 void connectib_nv_config_main_pack(const struct connectib_nv_config_main *ptr_struct, u_int8_t* ptr_buff);
 void connectib_nv_config_main_unpack(struct connectib_nv_config_main *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_nv_config_main_print(const struct connectib_nv_config_main *ptr_struct, FILE* file, int indent_level);
 int connectib_nv_config_main_size(void);
-#define CONNECTIB_NV_CONFIG_MAIN_SIZE    (0x100)
+#define CONNECTIB_NV_CONFIG_MAIN_SIZE    (0x300)
 void connectib_nv_config_main_dump(const struct connectib_nv_config_main *ptr_struct, FILE* file);
 /* phy_fw_main_config */
 void connectib_phy_fw_main_config_pack(const struct connectib_phy_fw_main_config *ptr_struct, u_int8_t* ptr_buff);
 void connectib_phy_fw_main_config_unpack(struct connectib_phy_fw_main_config *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_phy_fw_main_config_print(const struct connectib_phy_fw_main_config *ptr_struct, FILE* file, int indent_level);
 int connectib_phy_fw_main_config_size(void);
-#define CONNECTIB_PHY_FW_MAIN_CONFIG_SIZE    (0x2b0)
+#define CONNECTIB_PHY_FW_MAIN_CONFIG_SIZE    (0x2d0)
 void connectib_phy_fw_main_config_dump(const struct connectib_phy_fw_main_config *ptr_struct, FILE* file);
 /* host_management */
 void connectib_host_management_pack(const struct connectib_host_management *ptr_struct, u_int8_t* ptr_buff);
 void connectib_host_management_unpack(struct connectib_host_management *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_host_management_print(const struct connectib_host_management *ptr_struct, FILE* file, int indent_level);
 int connectib_host_management_size(void);
-#define CONNECTIB_HOST_MANAGEMENT_SIZE    (0x4c)
+#define CONNECTIB_HOST_MANAGEMENT_SIZE    (0x80)
 void connectib_host_management_dump(const struct connectib_host_management *ptr_struct, FILE* file);
 /* management */
 void connectib_management_pack(const struct connectib_management *ptr_struct, u_int8_t* ptr_buff);
 void connectib_management_unpack(struct connectib_management *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_management_print(const struct connectib_management *ptr_struct, FILE* file, int indent_level);
 int connectib_management_size(void);
-#define CONNECTIB_MANAGEMENT_SIZE    (0x100)
+#define CONNECTIB_MANAGEMENT_SIZE    (0x180)
 void connectib_management_dump(const struct connectib_management *ptr_struct, FILE* file);
 /* customization */
 void connectib_customization_pack(const struct connectib_customization *ptr_struct, u_int8_t* ptr_buff);
@@ -25121,26 +35406,187 @@ void connectib_reset_capabilities_print(const struct connectib_reset_capabilitie
 int connectib_reset_capabilities_size(void);
 #define CONNECTIB_RESET_CAPABILITIES_SIZE    (0x4)
 void connectib_reset_capabilities_dump(const struct connectib_reset_capabilities *ptr_struct, FILE* file);
+/* icmd_get_gvmi_rl_ctx_ix */
+void connectib_icmd_get_gvmi_rl_ctx_ix_pack(const struct connectib_icmd_get_gvmi_rl_ctx_ix *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_get_gvmi_rl_ctx_ix_unpack(struct connectib_icmd_get_gvmi_rl_ctx_ix *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_get_gvmi_rl_ctx_ix_print(const struct connectib_icmd_get_gvmi_rl_ctx_ix *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_get_gvmi_rl_ctx_ix_size(void);
+#define CONNECTIB_ICMD_GET_GVMI_RL_CTX_IX_SIZE    (0x8)
+void connectib_icmd_get_gvmi_rl_ctx_ix_dump(const struct connectib_icmd_get_gvmi_rl_ctx_ix *ptr_struct, FILE* file);
+/* icmd_sysport */
+void connectib_icmd_sysport_pack(const struct connectib_icmd_sysport *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_sysport_unpack(struct connectib_icmd_sysport *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_sysport_print(const struct connectib_icmd_sysport *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_sysport_size(void);
+#define CONNECTIB_ICMD_SYSPORT_SIZE    (0x300)
+void connectib_icmd_sysport_dump(const struct connectib_icmd_sysport *ptr_struct, FILE* file);
+/* icmd_drop_counter_read */
+void connectib_icmd_drop_counter_read_pack(const struct connectib_icmd_drop_counter_read *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_drop_counter_read_unpack(struct connectib_icmd_drop_counter_read *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_drop_counter_read_print(const struct connectib_icmd_drop_counter_read *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_drop_counter_read_size(void);
+#define CONNECTIB_ICMD_DROP_COUNTER_READ_SIZE    (0x4)
+void connectib_icmd_drop_counter_read_dump(const struct connectib_icmd_drop_counter_read *ptr_struct, FILE* file);
+/* icmd_rw_gvmi_fw_ctx */
+void connectib_icmd_rw_gvmi_fw_ctx_pack(const struct connectib_icmd_rw_gvmi_fw_ctx *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_rw_gvmi_fw_ctx_unpack(struct connectib_icmd_rw_gvmi_fw_ctx *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_rw_gvmi_fw_ctx_print(const struct connectib_icmd_rw_gvmi_fw_ctx *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_rw_gvmi_fw_ctx_size(void);
+#define CONNECTIB_ICMD_RW_GVMI_FW_CTX_SIZE    (0x80)
+void connectib_icmd_rw_gvmi_fw_ctx_dump(const struct connectib_icmd_rw_gvmi_fw_ctx *ptr_struct, FILE* file);
+/* icmd_mh_sync */
+void connectib_icmd_mh_sync_pack(const struct connectib_icmd_mh_sync *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_mh_sync_unpack(struct connectib_icmd_mh_sync *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_mh_sync_print(const struct connectib_icmd_mh_sync *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_mh_sync_size(void);
+#define CONNECTIB_ICMD_MH_SYNC_SIZE    (0x10)
+void connectib_icmd_mh_sync_dump(const struct connectib_icmd_mh_sync *ptr_struct, FILE* file);
+/* icmd_asn1_force_port_state */
+void connectib_icmd_asn1_force_port_state_pack(const struct connectib_icmd_asn1_force_port_state *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_asn1_force_port_state_unpack(struct connectib_icmd_asn1_force_port_state *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_asn1_force_port_state_print(const struct connectib_icmd_asn1_force_port_state *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_asn1_force_port_state_size(void);
+#define CONNECTIB_ICMD_ASN1_FORCE_PORT_STATE_SIZE    (0x4)
+void connectib_icmd_asn1_force_port_state_dump(const struct connectib_icmd_asn1_force_port_state *ptr_struct, FILE* file);
+/* icmd_port_admin_state_mng */
+void connectib_icmd_port_admin_state_mng_pack(const struct connectib_icmd_port_admin_state_mng *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_port_admin_state_mng_unpack(struct connectib_icmd_port_admin_state_mng *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_port_admin_state_mng_print(const struct connectib_icmd_port_admin_state_mng *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_port_admin_state_mng_size(void);
+#define CONNECTIB_ICMD_PORT_ADMIN_STATE_MNG_SIZE    (0x20)
+void connectib_icmd_port_admin_state_mng_dump(const struct connectib_icmd_port_admin_state_mng *ptr_struct, FILE* file);
+/* icmd_get_packet_pacing_debug_info */
+void connectib_icmd_get_packet_pacing_debug_info_pack(const struct connectib_icmd_get_packet_pacing_debug_info *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_get_packet_pacing_debug_info_unpack(struct connectib_icmd_get_packet_pacing_debug_info *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_get_packet_pacing_debug_info_print(const struct connectib_icmd_get_packet_pacing_debug_info *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_get_packet_pacing_debug_info_size(void);
+#define CONNECTIB_ICMD_GET_PACKET_PACING_DEBUG_INFO_SIZE    (0x64)
+void connectib_icmd_get_packet_pacing_debug_info_dump(const struct connectib_icmd_get_packet_pacing_debug_info *ptr_struct, FILE* file);
+/* icmd_map_event_eq */
+void connectib_icmd_map_event_eq_pack(const struct connectib_icmd_map_event_eq *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_map_event_eq_unpack(struct connectib_icmd_map_event_eq *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_map_event_eq_print(const struct connectib_icmd_map_event_eq *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_map_event_eq_size(void);
+#define CONNECTIB_ICMD_MAP_EVENT_EQ_SIZE    (0x10)
+void connectib_icmd_map_event_eq_dump(const struct connectib_icmd_map_event_eq *ptr_struct, FILE* file);
+/* icmd_internal_query_cap */
+void connectib_icmd_internal_query_cap_pack(const struct connectib_icmd_internal_query_cap *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_internal_query_cap_unpack(struct connectib_icmd_internal_query_cap *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_internal_query_cap_print(const struct connectib_icmd_internal_query_cap *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_internal_query_cap_size(void);
+#define CONNECTIB_ICMD_INTERNAL_QUERY_CAP_SIZE    (0x8)
+void connectib_icmd_internal_query_cap_dump(const struct connectib_icmd_internal_query_cap *ptr_struct, FILE* file);
+/* icmd_detect_gvmi_in_qpc_and_icmc */
+void connectib_icmd_detect_gvmi_in_qpc_and_icmc_pack(const struct connectib_icmd_detect_gvmi_in_qpc_and_icmc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_detect_gvmi_in_qpc_and_icmc_unpack(struct connectib_icmd_detect_gvmi_in_qpc_and_icmc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_detect_gvmi_in_qpc_and_icmc_print(const struct connectib_icmd_detect_gvmi_in_qpc_and_icmc *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_detect_gvmi_in_qpc_and_icmc_size(void);
+#define CONNECTIB_ICMD_DETECT_GVMI_IN_QPC_AND_ICMC_SIZE    (0x20)
+void connectib_icmd_detect_gvmi_in_qpc_and_icmc_dump(const struct connectib_icmd_detect_gvmi_in_qpc_and_icmc *ptr_struct, FILE* file);
+/* icmd_temp_warn_gen_event */
+void connectib_icmd_temp_warn_gen_event_pack(const struct connectib_icmd_temp_warn_gen_event *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_temp_warn_gen_event_unpack(struct connectib_icmd_temp_warn_gen_event *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_temp_warn_gen_event_print(const struct connectib_icmd_temp_warn_gen_event *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_temp_warn_gen_event_size(void);
+#define CONNECTIB_ICMD_TEMP_WARN_GEN_EVENT_SIZE    (0x10)
+void connectib_icmd_temp_warn_gen_event_dump(const struct connectib_icmd_temp_warn_gen_event *ptr_struct, FILE* file);
+/* icmd_access_register_nodnic_queue_info */
+void connectib_icmd_access_register_nodnic_queue_info_pack(const struct connectib_icmd_access_register_nodnic_queue_info *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_access_register_nodnic_queue_info_unpack(struct connectib_icmd_access_register_nodnic_queue_info *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_access_register_nodnic_queue_info_print(const struct connectib_icmd_access_register_nodnic_queue_info *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_access_register_nodnic_queue_info_size(void);
+#define CONNECTIB_ICMD_ACCESS_REGISTER_NODNIC_QUEUE_INFO_SIZE    (0x40)
+void connectib_icmd_access_register_nodnic_queue_info_dump(const struct connectib_icmd_access_register_nodnic_queue_info *ptr_struct, FILE* file);
+/* icmd_set_get_debug_pf_mac */
+void connectib_icmd_set_get_debug_pf_mac_pack(const struct connectib_icmd_set_get_debug_pf_mac *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_set_get_debug_pf_mac_unpack(struct connectib_icmd_set_get_debug_pf_mac *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_set_get_debug_pf_mac_print(const struct connectib_icmd_set_get_debug_pf_mac *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_set_get_debug_pf_mac_size(void);
+#define CONNECTIB_ICMD_SET_GET_DEBUG_PF_MAC_SIZE    (0x20)
+void connectib_icmd_set_get_debug_pf_mac_dump(const struct connectib_icmd_set_get_debug_pf_mac *ptr_struct, FILE* file);
 /* icmd_get_pf_ctx */
 void connectib_icmd_get_pf_ctx_pack(const struct connectib_icmd_get_pf_ctx *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_get_pf_ctx_unpack(struct connectib_icmd_get_pf_ctx *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_icmd_get_pf_ctx_print(const struct connectib_icmd_get_pf_ctx *ptr_struct, FILE* file, int indent_level);
 int connectib_icmd_get_pf_ctx_size(void);
-#define CONNECTIB_ICMD_GET_PF_CTX_SIZE    (0x60)
+#define CONNECTIB_ICMD_GET_PF_CTX_SIZE    (0x80)
 void connectib_icmd_get_pf_ctx_dump(const struct connectib_icmd_get_pf_ctx *ptr_struct, FILE* file);
+/* icmd_ocbb_get_pci_api */
+void connectib_icmd_ocbb_get_pci_api_pack(const struct connectib_icmd_ocbb_get_pci_api *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_ocbb_get_pci_api_unpack(struct connectib_icmd_ocbb_get_pci_api *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_ocbb_get_pci_api_print(const struct connectib_icmd_ocbb_get_pci_api *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_ocbb_get_pci_api_size(void);
+#define CONNECTIB_ICMD_OCBB_GET_PCI_API_SIZE    (0x30)
+void connectib_icmd_ocbb_get_pci_api_dump(const struct connectib_icmd_ocbb_get_pci_api *ptr_struct, FILE* file);
+/* icmd_ocbb_rndc_get_core_api */
+void connectib_icmd_ocbb_rndc_get_core_api_pack(const struct connectib_icmd_ocbb_rndc_get_core_api *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_ocbb_rndc_get_core_api_unpack(struct connectib_icmd_ocbb_rndc_get_core_api *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_ocbb_rndc_get_core_api_print(const struct connectib_icmd_ocbb_rndc_get_core_api *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_ocbb_rndc_get_core_api_size(void);
+#define CONNECTIB_ICMD_OCBB_RNDC_GET_CORE_API_SIZE    (0x300)
+void connectib_icmd_ocbb_rndc_get_core_api_dump(const struct connectib_icmd_ocbb_rndc_get_core_api *ptr_struct, FILE* file);
+/* icmd_pre_define_module_db */
+void connectib_icmd_pre_define_module_db_pack(const struct connectib_icmd_pre_define_module_db *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_pre_define_module_db_unpack(struct connectib_icmd_pre_define_module_db *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_pre_define_module_db_print(const struct connectib_icmd_pre_define_module_db *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_pre_define_module_db_size(void);
+#define CONNECTIB_ICMD_PRE_DEFINE_MODULE_DB_SIZE    (0x3c)
+void connectib_icmd_pre_define_module_db_dump(const struct connectib_icmd_pre_define_module_db *ptr_struct, FILE* file);
+/* icmd_pmlp_query */
+void connectib_icmd_pmlp_query_pack(const struct connectib_icmd_pmlp_query *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_pmlp_query_unpack(struct connectib_icmd_pmlp_query *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_pmlp_query_print(const struct connectib_icmd_pmlp_query *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_pmlp_query_size(void);
+#define CONNECTIB_ICMD_PMLP_QUERY_SIZE    (0x24)
+void connectib_icmd_pmlp_query_dump(const struct connectib_icmd_pmlp_query *ptr_struct, FILE* file);
+/* icmd_get_fw_driver_version */
+void connectib_icmd_get_fw_driver_version_pack(const struct connectib_icmd_get_fw_driver_version *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_get_fw_driver_version_unpack(struct connectib_icmd_get_fw_driver_version *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_get_fw_driver_version_print(const struct connectib_icmd_get_fw_driver_version *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_get_fw_driver_version_size(void);
+#define CONNECTIB_ICMD_GET_FW_DRIVER_VERSION_SIZE    (0x50)
+void connectib_icmd_get_fw_driver_version_dump(const struct connectib_icmd_get_fw_driver_version *ptr_struct, FILE* file);
+/* icmd_set_oc_int */
+void connectib_icmd_set_oc_int_pack(const struct connectib_icmd_set_oc_int *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_set_oc_int_unpack(struct connectib_icmd_set_oc_int *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_set_oc_int_print(const struct connectib_icmd_set_oc_int *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_set_oc_int_size(void);
+#define CONNECTIB_ICMD_SET_OC_INT_SIZE    (0x4)
+void connectib_icmd_set_oc_int_dump(const struct connectib_icmd_set_oc_int *ptr_struct, FILE* file);
 /* icmd_gen_assert */
 void connectib_icmd_gen_assert_pack(const struct connectib_icmd_gen_assert *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_gen_assert_unpack(struct connectib_icmd_gen_assert *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_icmd_gen_assert_print(const struct connectib_icmd_gen_assert *ptr_struct, FILE* file, int indent_level);
 int connectib_icmd_gen_assert_size(void);
-#define CONNECTIB_ICMD_GEN_ASSERT_SIZE    (0x4)
+#define CONNECTIB_ICMD_GEN_ASSERT_SIZE    (0x8)
 void connectib_icmd_gen_assert_dump(const struct connectib_icmd_gen_assert *ptr_struct, FILE* file);
+/* icmd_read_write_varb_ctx */
+void connectib_icmd_read_write_varb_ctx_pack(const struct connectib_icmd_read_write_varb_ctx *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_read_write_varb_ctx_unpack(struct connectib_icmd_read_write_varb_ctx *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_read_write_varb_ctx_print(const struct connectib_icmd_read_write_varb_ctx *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_read_write_varb_ctx_size(void);
+#define CONNECTIB_ICMD_READ_WRITE_VARB_CTX_SIZE    (0x44)
+void connectib_icmd_read_write_varb_ctx_dump(const struct connectib_icmd_read_write_varb_ctx *ptr_struct, FILE* file);
+/* icmd_debug_calc_sqn */
+void connectib_icmd_debug_calc_sqn_pack(const struct connectib_icmd_debug_calc_sqn *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_debug_calc_sqn_unpack(struct connectib_icmd_debug_calc_sqn *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_debug_calc_sqn_print(const struct connectib_icmd_debug_calc_sqn *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_debug_calc_sqn_size(void);
+#define CONNECTIB_ICMD_DEBUG_CALC_SQN_SIZE    (0x300)
+void connectib_icmd_debug_calc_sqn_dump(const struct connectib_icmd_debug_calc_sqn *ptr_struct, FILE* file);
+/* icmd_mini_flow_activator */
+void connectib_icmd_mini_flow_activator_pack(const struct connectib_icmd_mini_flow_activator *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_mini_flow_activator_unpack(struct connectib_icmd_mini_flow_activator *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_mini_flow_activator_print(const struct connectib_icmd_mini_flow_activator *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_mini_flow_activator_size(void);
+#define CONNECTIB_ICMD_MINI_FLOW_ACTIVATOR_SIZE    (0x8)
+void connectib_icmd_mini_flow_activator_dump(const struct connectib_icmd_mini_flow_activator *ptr_struct, FILE* file);
 /* icmd_general_fault_injector */
 void connectib_icmd_general_fault_injector_pack(const struct connectib_icmd_general_fault_injector *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_general_fault_injector_unpack(struct connectib_icmd_general_fault_injector *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_icmd_general_fault_injector_print(const struct connectib_icmd_general_fault_injector *ptr_struct, FILE* file, int indent_level);
 int connectib_icmd_general_fault_injector_size(void);
-#define CONNECTIB_ICMD_GENERAL_FAULT_INJECTOR_SIZE    (0x8)
+#define CONNECTIB_ICMD_GENERAL_FAULT_INJECTOR_SIZE    (0x10)
 void connectib_icmd_general_fault_injector_dump(const struct connectib_icmd_general_fault_injector *ptr_struct, FILE* file);
 /* icmd_access_register_pvlc */
 void connectib_icmd_access_register_pvlc_pack(const struct connectib_icmd_access_register_pvlc *ptr_struct, u_int8_t* ptr_buff);
@@ -25149,6 +35595,20 @@ void connectib_icmd_access_register_pvlc_print(const struct connectib_icmd_acces
 int connectib_icmd_access_register_pvlc_size(void);
 #define CONNECTIB_ICMD_ACCESS_REGISTER_PVLC_SIZE    (0x14)
 void connectib_icmd_access_register_pvlc_dump(const struct connectib_icmd_access_register_pvlc *ptr_struct, FILE* file);
+/* icmd_parse_icm_address */
+void connectib_icmd_parse_icm_address_pack(const struct connectib_icmd_parse_icm_address *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_parse_icm_address_unpack(struct connectib_icmd_parse_icm_address *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_parse_icm_address_print(const struct connectib_icmd_parse_icm_address *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_parse_icm_address_size(void);
+#define CONNECTIB_ICMD_PARSE_ICM_ADDRESS_SIZE    (0x40)
+void connectib_icmd_parse_icm_address_dump(const struct connectib_icmd_parse_icm_address *ptr_struct, FILE* file);
+/* icmd_get_steering_info */
+void connectib_icmd_get_steering_info_pack(const struct connectib_icmd_get_steering_info *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_get_steering_info_unpack(struct connectib_icmd_get_steering_info *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_get_steering_info_print(const struct connectib_icmd_get_steering_info *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_get_steering_info_size(void);
+#define CONNECTIB_ICMD_GET_STEERING_INFO_SIZE    (0x80)
+void connectib_icmd_get_steering_info_dump(const struct connectib_icmd_get_steering_info *ptr_struct, FILE* file);
 /* icmd_read_ste */
 void connectib_icmd_read_ste_pack(const struct connectib_icmd_read_ste *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_read_ste_unpack(struct connectib_icmd_read_ste *ptr_struct, const u_int8_t* ptr_buff);
@@ -25212,6 +35672,20 @@ void connectib_icmd_get_ft_list_print(const union connectib_icmd_get_ft_list *pt
 int connectib_icmd_get_ft_list_size(void);
 #define CONNECTIB_ICMD_GET_FT_LIST_SIZE    (0x10)
 void connectib_icmd_get_ft_list_dump(const union connectib_icmd_get_ft_list *ptr_struct, FILE* file);
+/* icmd_led_control_mad */
+void connectib_icmd_led_control_mad_pack(const struct connectib_icmd_led_control_mad *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_led_control_mad_unpack(struct connectib_icmd_led_control_mad *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_led_control_mad_print(const struct connectib_icmd_led_control_mad *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_led_control_mad_size(void);
+#define CONNECTIB_ICMD_LED_CONTROL_MAD_SIZE    (0x48)
+void connectib_icmd_led_control_mad_dump(const struct connectib_icmd_led_control_mad *ptr_struct, FILE* file);
+/* icmd_led_cmd */
+void connectib_icmd_led_cmd_pack(const struct connectib_icmd_led_cmd *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_led_cmd_unpack(struct connectib_icmd_led_cmd *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_led_cmd_print(const struct connectib_icmd_led_cmd *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_led_cmd_size(void);
+#define CONNECTIB_ICMD_LED_CMD_SIZE    (0x8)
+void connectib_icmd_led_cmd_dump(const struct connectib_icmd_led_cmd *ptr_struct, FILE* file);
 /* icmd_set_get_port_cntr */
 void connectib_icmd_set_get_port_cntr_pack(const struct connectib_icmd_set_get_port_cntr *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_set_get_port_cntr_unpack(struct connectib_icmd_set_get_port_cntr *ptr_struct, const u_int8_t* ptr_buff);
@@ -25226,6 +35700,20 @@ void connectib_icmd_access_register_ppcnt_print(const struct connectib_icmd_acce
 int connectib_icmd_access_register_ppcnt_size(void);
 #define CONNECTIB_ICMD_ACCESS_REGISTER_PPCNT_SIZE    (0x10c)
 void connectib_icmd_access_register_ppcnt_dump(const struct connectib_icmd_access_register_ppcnt *ptr_struct, FILE* file);
+/* icmd_measure_frequency */
+void connectib_icmd_measure_frequency_pack(const struct connectib_icmd_measure_frequency *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_measure_frequency_unpack(struct connectib_icmd_measure_frequency *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_measure_frequency_print(const struct connectib_icmd_measure_frequency *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_measure_frequency_size(void);
+#define CONNECTIB_ICMD_MEASURE_FREQUENCY_SIZE    (0xc)
+void connectib_icmd_measure_frequency_dump(const struct connectib_icmd_measure_frequency *ptr_struct, FILE* file);
+/* restore_phy_registers */
+void connectib_restore_phy_registers_pack(const struct connectib_restore_phy_registers *ptr_struct, u_int8_t* ptr_buff);
+void connectib_restore_phy_registers_unpack(struct connectib_restore_phy_registers *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_restore_phy_registers_print(const struct connectib_restore_phy_registers *ptr_struct, FILE* file, int indent_level);
+int connectib_restore_phy_registers_size(void);
+#define CONNECTIB_RESTORE_PHY_REGISTERS_SIZE    (0x20)
+void connectib_restore_phy_registers_dump(const struct connectib_restore_phy_registers *ptr_struct, FILE* file);
 /* icmd_access_reg_ptys */
 void connectib_icmd_access_reg_ptys_pack(const struct connectib_icmd_access_reg_ptys *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_access_reg_ptys_unpack(struct connectib_icmd_access_reg_ptys *ptr_struct, const u_int8_t* ptr_buff);
@@ -25240,6 +35728,34 @@ void connectib_icmd_access_register_pmtu_print(const struct connectib_icmd_acces
 int connectib_icmd_access_register_pmtu_size(void);
 #define CONNECTIB_ICMD_ACCESS_REGISTER_PMTU_SIZE    (0x14)
 void connectib_icmd_access_register_pmtu_dump(const struct connectib_icmd_access_register_pmtu *ptr_struct, FILE* file);
+/* icmd_access_register_mlcr */
+void connectib_icmd_access_register_mlcr_pack(const struct connectib_icmd_access_register_mlcr *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_access_register_mlcr_unpack(struct connectib_icmd_access_register_mlcr *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_access_register_mlcr_print(const struct connectib_icmd_access_register_mlcr *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_access_register_mlcr_size(void);
+#define CONNECTIB_ICMD_ACCESS_REGISTER_MLCR_SIZE    (0x10)
+void connectib_icmd_access_register_mlcr_dump(const struct connectib_icmd_access_register_mlcr *ptr_struct, FILE* file);
+/* icmd_access_register_plpc */
+void connectib_icmd_access_register_plpc_pack(const struct connectib_icmd_access_register_plpc *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_access_register_plpc_unpack(struct connectib_icmd_access_register_plpc *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_access_register_plpc_print(const struct connectib_icmd_access_register_plpc *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_access_register_plpc_size(void);
+#define CONNECTIB_ICMD_ACCESS_REGISTER_PLPC_SIZE    (0x30)
+void connectib_icmd_access_register_plpc_dump(const struct connectib_icmd_access_register_plpc *ptr_struct, FILE* file);
+/* icmd_access_register_pplm */
+void connectib_icmd_access_register_pplm_pack(const struct connectib_icmd_access_register_pplm *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_access_register_pplm_unpack(struct connectib_icmd_access_register_pplm *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_access_register_pplm_print(const struct connectib_icmd_access_register_pplm *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_access_register_pplm_size(void);
+#define CONNECTIB_ICMD_ACCESS_REGISTER_PPLM_SIZE    (0x30)
+void connectib_icmd_access_register_pplm_dump(const struct connectib_icmd_access_register_pplm *ptr_struct, FILE* file);
+/* icmd_access_register_pplr */
+void connectib_icmd_access_register_pplr_pack(const struct connectib_icmd_access_register_pplr *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_access_register_pplr_unpack(struct connectib_icmd_access_register_pplr *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_access_register_pplr_print(const struct connectib_icmd_access_register_pplr *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_access_register_pplr_size(void);
+#define CONNECTIB_ICMD_ACCESS_REGISTER_PPLR_SIZE    (0x30)
+void connectib_icmd_access_register_pplr_dump(const struct connectib_icmd_access_register_pplr *ptr_struct, FILE* file);
 /* icmd_access_register_ppamp */
 void connectib_icmd_access_register_ppamp_pack(const struct connectib_icmd_access_register_ppamp *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_access_register_ppamp_unpack(struct connectib_icmd_access_register_ppamp *ptr_struct, const u_int8_t* ptr_buff);
@@ -25254,6 +35770,27 @@ void connectib_icmd_access_register_ptas_print(const struct connectib_icmd_acces
 int connectib_icmd_access_register_ptas_size(void);
 #define CONNECTIB_ICMD_ACCESS_REGISTER_PTAS_SIZE    (0x30)
 void connectib_icmd_access_register_ptas_dump(const struct connectib_icmd_access_register_ptas *ptr_struct, FILE* file);
+/* icmd_access_register_ppaos */
+void connectib_icmd_access_register_ppaos_pack(const struct connectib_icmd_access_register_ppaos *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_access_register_ppaos_unpack(struct connectib_icmd_access_register_ppaos *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_access_register_ppaos_print(const struct connectib_icmd_access_register_ppaos *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_access_register_ppaos_size(void);
+#define CONNECTIB_ICMD_ACCESS_REGISTER_PPAOS_SIZE    (0x14)
+void connectib_icmd_access_register_ppaos_dump(const struct connectib_icmd_access_register_ppaos *ptr_struct, FILE* file);
+/* icmd_access_register_pprt */
+void connectib_icmd_access_register_pprt_pack(const struct connectib_icmd_access_register_pprt *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_access_register_pprt_unpack(struct connectib_icmd_access_register_pprt *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_access_register_pprt_print(const struct connectib_icmd_access_register_pprt *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_access_register_pprt_size(void);
+#define CONNECTIB_ICMD_ACCESS_REGISTER_PPRT_SIZE    (0x2c)
+void connectib_icmd_access_register_pprt_dump(const struct connectib_icmd_access_register_pprt *ptr_struct, FILE* file);
+/* icmd_access_register_pptt */
+void connectib_icmd_access_register_pptt_pack(const struct connectib_icmd_access_register_pptt *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_access_register_pptt_unpack(struct connectib_icmd_access_register_pptt *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_access_register_pptt_print(const struct connectib_icmd_access_register_pptt *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_access_register_pptt_size(void);
+#define CONNECTIB_ICMD_ACCESS_REGISTER_PPTT_SIZE    (0x20)
+void connectib_icmd_access_register_pptt_dump(const struct connectib_icmd_access_register_pptt *ptr_struct, FILE* file);
 /* icmd_access_register_slrg */
 void connectib_icmd_access_register_slrg_pack(const struct connectib_icmd_access_register_slrg *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_access_register_slrg_unpack(struct connectib_icmd_access_register_slrg *ptr_struct, const u_int8_t* ptr_buff);
@@ -25282,6 +35819,34 @@ void connectib_icmd_access_register_paos_print(const struct connectib_icmd_acces
 int connectib_icmd_access_register_paos_size(void);
 #define CONNECTIB_ICMD_ACCESS_REGISTER_PAOS_SIZE    (0x14)
 void connectib_icmd_access_register_paos_dump(const struct connectib_icmd_access_register_paos *ptr_struct, FILE* file);
+/* icmd_enable_tools_pf */
+void connectib_icmd_enable_tools_pf_pack(const struct connectib_icmd_enable_tools_pf *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_enable_tools_pf_unpack(struct connectib_icmd_enable_tools_pf *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_enable_tools_pf_print(const struct connectib_icmd_enable_tools_pf *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_enable_tools_pf_size(void);
+#define CONNECTIB_ICMD_ENABLE_TOOLS_PF_SIZE    (0x4)
+void connectib_icmd_enable_tools_pf_dump(const struct connectib_icmd_enable_tools_pf *ptr_struct, FILE* file);
+/* icmd_set_toolpf_tracer */
+void connectib_icmd_set_toolpf_tracer_pack(const struct connectib_icmd_set_toolpf_tracer *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_set_toolpf_tracer_unpack(struct connectib_icmd_set_toolpf_tracer *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_set_toolpf_tracer_print(const struct connectib_icmd_set_toolpf_tracer *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_set_toolpf_tracer_size(void);
+#define CONNECTIB_ICMD_SET_TOOLPF_TRACER_SIZE    (0x40)
+void connectib_icmd_set_toolpf_tracer_dump(const struct connectib_icmd_set_toolpf_tracer *ptr_struct, FILE* file);
+/* icmd_nvcfg_rw_tlv */
+void connectib_icmd_nvcfg_rw_tlv_pack(const struct connectib_icmd_nvcfg_rw_tlv *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_nvcfg_rw_tlv_unpack(struct connectib_icmd_nvcfg_rw_tlv *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_nvcfg_rw_tlv_print(const struct connectib_icmd_nvcfg_rw_tlv *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_nvcfg_rw_tlv_size(void);
+#define CONNECTIB_ICMD_NVCFG_RW_TLV_SIZE    (0x110)
+void connectib_icmd_nvcfg_rw_tlv_dump(const struct connectib_icmd_nvcfg_rw_tlv *ptr_struct, FILE* file);
+/* icmd_xport_xonfig */
+void connectib_icmd_xport_xonfig_pack(const struct connectib_icmd_xport_xonfig *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_xport_xonfig_unpack(struct connectib_icmd_xport_xonfig *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_xport_xonfig_print(const struct connectib_icmd_xport_xonfig *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_xport_xonfig_size(void);
+#define CONNECTIB_ICMD_XPORT_XONFIG_SIZE    (0x10)
+void connectib_icmd_xport_xonfig_dump(const struct connectib_icmd_xport_xonfig *ptr_struct, FILE* file);
 /* icmd_get_gvmi_via_vsec */
 void connectib_icmd_get_gvmi_via_vsec_pack(const struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_get_gvmi_via_vsec_unpack(struct connectib_icmd_get_gvmi_via_vsec *ptr_struct, const u_int8_t* ptr_buff);
@@ -25294,7 +35859,7 @@ void connectib_icmd_steering_table_info_pack(const struct connectib_icmd_steerin
 void connectib_icmd_steering_table_info_unpack(struct connectib_icmd_steering_table_info *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_icmd_steering_table_info_print(const struct connectib_icmd_steering_table_info *ptr_struct, FILE* file, int indent_level);
 int connectib_icmd_steering_table_info_size(void);
-#define CONNECTIB_ICMD_STEERING_TABLE_INFO_SIZE    (0x30)
+#define CONNECTIB_ICMD_STEERING_TABLE_INFO_SIZE    (0x50)
 void connectib_icmd_steering_table_info_dump(const struct connectib_icmd_steering_table_info *ptr_struct, FILE* file);
 /* icmd_access_steering_root */
 void connectib_icmd_access_steering_root_pack(const struct connectib_icmd_access_steering_root *ptr_struct, u_int8_t* ptr_buff);
@@ -25331,6 +35896,13 @@ void connectib_icmd_push_db_print(const struct connectib_icmd_push_db *ptr_struc
 int connectib_icmd_push_db_size(void);
 #define CONNECTIB_ICMD_PUSH_DB_SIZE    (0x8)
 void connectib_icmd_push_db_dump(const struct connectib_icmd_push_db *ptr_struct, FILE* file);
+/* icmd_ver_data */
+void connectib_icmd_ver_data_pack(const struct connectib_icmd_ver_data *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_ver_data_unpack(struct connectib_icmd_ver_data *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_ver_data_print(const struct connectib_icmd_ver_data *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_ver_data_size(void);
+#define CONNECTIB_ICMD_VER_DATA_SIZE    (0x50)
+void connectib_icmd_ver_data_dump(const struct connectib_icmd_ver_data *ptr_struct, FILE* file);
 /* icmd_pcie_ver_data */
 void connectib_icmd_pcie_ver_data_pack(const struct connectib_icmd_pcie_ver_data *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_pcie_ver_data_unpack(struct connectib_icmd_pcie_ver_data *ptr_struct, const u_int8_t* ptr_buff);
@@ -25338,13 +35910,13 @@ void connectib_icmd_pcie_ver_data_print(const struct connectib_icmd_pcie_ver_dat
 int connectib_icmd_pcie_ver_data_size(void);
 #define CONNECTIB_ICMD_PCIE_VER_DATA_SIZE    (0x40)
 void connectib_icmd_pcie_ver_data_dump(const struct connectib_icmd_pcie_ver_data *ptr_struct, FILE* file);
-/* icmd_stress_testing */
-void connectib_icmd_stress_testing_pack(const struct connectib_icmd_stress_testing *ptr_struct, u_int8_t* ptr_buff);
-void connectib_icmd_stress_testing_unpack(struct connectib_icmd_stress_testing *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_icmd_stress_testing_print(const struct connectib_icmd_stress_testing *ptr_struct, FILE* file, int indent_level);
-int connectib_icmd_stress_testing_size(void);
-#define CONNECTIB_ICMD_STRESS_TESTING_SIZE    (0x100)
-void connectib_icmd_stress_testing_dump(const struct connectib_icmd_stress_testing *ptr_struct, FILE* file);
+/* icmd_error_flow_trigger */
+void connectib_icmd_error_flow_trigger_pack(const struct connectib_icmd_error_flow_trigger *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_error_flow_trigger_unpack(struct connectib_icmd_error_flow_trigger *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_error_flow_trigger_print(const struct connectib_icmd_error_flow_trigger *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_error_flow_trigger_size(void);
+#define CONNECTIB_ICMD_ERROR_FLOW_TRIGGER_SIZE    (0x100)
+void connectib_icmd_error_flow_trigger_dump(const struct connectib_icmd_error_flow_trigger *ptr_struct, FILE* file);
 /* icmd_stop_toggler */
 void connectib_icmd_stop_toggler_pack(const struct connectib_icmd_stop_toggler *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_stop_toggler_unpack(struct connectib_icmd_stop_toggler *ptr_struct, const u_int8_t* ptr_buff);
@@ -25408,13 +35980,13 @@ void connectib_icmd_init_ocsd_print(const struct connectib_icmd_init_ocsd *ptr_s
 int connectib_icmd_init_ocsd_size(void);
 #define CONNECTIB_ICMD_INIT_OCSD_SIZE    (0xc)
 void connectib_icmd_init_ocsd_dump(const struct connectib_icmd_init_ocsd *ptr_struct, FILE* file);
-/* itrace */
-void connectib_itrace_pack(const struct connectib_itrace *ptr_struct, u_int8_t* ptr_buff);
-void connectib_itrace_unpack(struct connectib_itrace *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_itrace_print(const struct connectib_itrace *ptr_struct, FILE* file, int indent_level);
-int connectib_itrace_size(void);
-#define CONNECTIB_ITRACE_SIZE    (0x10)
-void connectib_itrace_dump(const struct connectib_itrace *ptr_struct, FILE* file);
+/* init_ncsi */
+void connectib_init_ncsi_pack(const struct connectib_init_ncsi *ptr_struct, u_int8_t* ptr_buff);
+void connectib_init_ncsi_unpack(struct connectib_init_ncsi *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_init_ncsi_print(const struct connectib_init_ncsi *ptr_struct, FILE* file, int indent_level);
+int connectib_init_ncsi_size(void);
+#define CONNECTIB_INIT_NCSI_SIZE    (0x8)
+void connectib_init_ncsi_dump(const struct connectib_init_ncsi *ptr_struct, FILE* file);
 /* icmd_dc_config */
 void connectib_icmd_dc_config_pack(const struct connectib_icmd_dc_config *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_dc_config_unpack(struct connectib_icmd_dc_config *ptr_struct, const u_int8_t* ptr_buff);
@@ -25422,13 +35994,13 @@ void connectib_icmd_dc_config_print(const struct connectib_icmd_dc_config *ptr_s
 int connectib_icmd_dc_config_size(void);
 #define CONNECTIB_ICMD_DC_CONFIG_SIZE    (0x80)
 void connectib_icmd_dc_config_dump(const struct connectib_icmd_dc_config *ptr_struct, FILE* file);
-/* icmd_dc_params */
-void connectib_icmd_dc_params_pack(const struct connectib_icmd_dc_params *ptr_struct, u_int8_t* ptr_buff);
-void connectib_icmd_dc_params_unpack(struct connectib_icmd_dc_params *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_icmd_dc_params_print(const struct connectib_icmd_dc_params *ptr_struct, FILE* file, int indent_level);
-int connectib_icmd_dc_params_size(void);
-#define CONNECTIB_ICMD_DC_PARAMS_SIZE    (0x20)
-void connectib_icmd_dc_params_dump(const struct connectib_icmd_dc_params *ptr_struct, FILE* file);
+/* icmd_read_icmc_tags_and_info */
+void connectib_icmd_read_icmc_tags_and_info_pack(const struct connectib_icmd_read_icmc_tags_and_info *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_read_icmc_tags_and_info_unpack(struct connectib_icmd_read_icmc_tags_and_info *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_read_icmc_tags_and_info_print(const struct connectib_icmd_read_icmc_tags_and_info *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_read_icmc_tags_and_info_size(void);
+#define CONNECTIB_ICMD_READ_ICMC_TAGS_AND_INFO_SIZE    (0x300)
+void connectib_icmd_read_icmc_tags_and_info_dump(const struct connectib_icmd_read_icmc_tags_and_info *ptr_struct, FILE* file);
 /* icmd_access_icm_line */
 void connectib_icmd_access_icm_line_pack(const struct connectib_icmd_access_icm_line *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_access_icm_line_unpack(struct connectib_icmd_access_icm_line *ptr_struct, const u_int8_t* ptr_buff);
@@ -25450,13 +36022,27 @@ void connectib_icmd_lock_unlock_resource_print(const struct connectib_icmd_lock_
 int connectib_icmd_lock_unlock_resource_size(void);
 #define CONNECTIB_ICMD_LOCK_UNLOCK_RESOURCE_SIZE    (0x10)
 void connectib_icmd_lock_unlock_resource_dump(const struct connectib_icmd_lock_unlock_resource *ptr_struct, FILE* file);
-/* reg_access_ext_cmd */
-void connectib_reg_access_ext_cmd_pack(const struct connectib_reg_access_ext_cmd *ptr_struct, u_int8_t* ptr_buff);
-void connectib_reg_access_ext_cmd_unpack(struct connectib_reg_access_ext_cmd *ptr_struct, const u_int8_t* ptr_buff);
-void connectib_reg_access_ext_cmd_print(const struct connectib_reg_access_ext_cmd *ptr_struct, FILE* file, int indent_level);
-int connectib_reg_access_ext_cmd_size(void);
-#define CONNECTIB_REG_ACCESS_EXT_CMD_SIZE    (0xa0)
-void connectib_reg_access_ext_cmd_dump(const struct connectib_reg_access_ext_cmd *ptr_struct, FILE* file);
+/* icmd_generic_access_register */
+void connectib_icmd_generic_access_register_pack(const struct connectib_icmd_generic_access_register *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_generic_access_register_unpack(struct connectib_icmd_generic_access_register *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_generic_access_register_print(const struct connectib_icmd_generic_access_register *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_generic_access_register_size(void);
+#define CONNECTIB_ICMD_GENERIC_ACCESS_REGISTER_SIZE    (0x128)
+void connectib_icmd_generic_access_register_dump(const struct connectib_icmd_generic_access_register *ptr_struct, FILE* file);
+/* icmd_kdnet_ctrl */
+void connectib_icmd_kdnet_ctrl_pack(const struct connectib_icmd_kdnet_ctrl *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_kdnet_ctrl_unpack(struct connectib_icmd_kdnet_ctrl *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_kdnet_ctrl_print(const struct connectib_icmd_kdnet_ctrl *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_kdnet_ctrl_size(void);
+#define CONNECTIB_ICMD_KDNET_CTRL_SIZE    (0x8)
+void connectib_icmd_kdnet_ctrl_dump(const struct connectib_icmd_kdnet_ctrl *ptr_struct, FILE* file);
+/* icmd_query_capabilities */
+void connectib_icmd_query_capabilities_pack(const union connectib_icmd_query_capabilities *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_query_capabilities_unpack(union connectib_icmd_query_capabilities *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_query_capabilities_print(const union connectib_icmd_query_capabilities *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_query_capabilities_size(void);
+#define CONNECTIB_ICMD_QUERY_CAPABILITIES_SIZE    (0x8)
+void connectib_icmd_query_capabilities_dump(const union connectib_icmd_query_capabilities *ptr_struct, FILE* file);
 /* icmd_get_icm_ctx_addr */
 void connectib_icmd_get_icm_ctx_addr_pack(const struct connectib_icmd_get_icm_ctx_addr *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_get_icm_ctx_addr_unpack(struct connectib_icmd_get_icm_ctx_addr *ptr_struct, const u_int8_t* ptr_buff);
@@ -25492,6 +36078,13 @@ void connectib_icmd_get_icm_res_prop_print(const struct connectib_icmd_get_icm_r
 int connectib_icmd_get_icm_res_prop_size(void);
 #define CONNECTIB_ICMD_GET_ICM_RES_PROP_SIZE    (0x24)
 void connectib_icmd_get_icm_res_prop_dump(const struct connectib_icmd_get_icm_res_prop *ptr_struct, FILE* file);
+/* icmd_emad_mcia */
+void connectib_icmd_emad_mcia_pack(const struct connectib_icmd_emad_mcia *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_emad_mcia_unpack(struct connectib_icmd_emad_mcia *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_emad_mcia_print(const struct connectib_icmd_emad_mcia *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_emad_mcia_size(void);
+#define CONNECTIB_ICMD_EMAD_MCIA_SIZE    (0x48)
+void connectib_icmd_emad_mcia_dump(const struct connectib_icmd_emad_mcia *ptr_struct, FILE* file);
 /* icmd_cable_info */
 void connectib_icmd_cable_info_pack(const struct connectib_icmd_cable_info *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_cable_info_unpack(struct connectib_icmd_cable_info *ptr_struct, const u_int8_t* ptr_buff);
@@ -25520,6 +36113,13 @@ void connectib_icmd_grepper_print(const struct connectib_icmd_grepper *ptr_struc
 int connectib_icmd_grepper_size(void);
 #define CONNECTIB_ICMD_GREPPER_SIZE    (0x200)
 void connectib_icmd_grepper_dump(const struct connectib_icmd_grepper *ptr_struct, FILE* file);
+/* icmd_execute_fw_log */
+void connectib_icmd_execute_fw_log_pack(const struct connectib_icmd_execute_fw_log *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_execute_fw_log_unpack(struct connectib_icmd_execute_fw_log *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_execute_fw_log_print(const struct connectib_icmd_execute_fw_log *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_execute_fw_log_size(void);
+#define CONNECTIB_ICMD_EXECUTE_FW_LOG_SIZE    (0x30)
+void connectib_icmd_execute_fw_log_dump(const struct connectib_icmd_execute_fw_log *ptr_struct, FILE* file);
 /* icmd_debug_fw_tracer */
 void connectib_icmd_debug_fw_tracer_pack(const struct connectib_icmd_debug_fw_tracer *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_debug_fw_tracer_unpack(struct connectib_icmd_debug_fw_tracer *ptr_struct, const u_int8_t* ptr_buff);
@@ -25527,6 +36127,13 @@ void connectib_icmd_debug_fw_tracer_print(const struct connectib_icmd_debug_fw_t
 int connectib_icmd_debug_fw_tracer_size(void);
 #define CONNECTIB_ICMD_DEBUG_FW_TRACER_SIZE    (0x30)
 void connectib_icmd_debug_fw_tracer_dump(const struct connectib_icmd_debug_fw_tracer *ptr_struct, FILE* file);
+/* icmd_get_highest_index */
+void connectib_icmd_get_highest_index_pack(const struct connectib_icmd_get_highest_index *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_get_highest_index_unpack(struct connectib_icmd_get_highest_index *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_get_highest_index_print(const struct connectib_icmd_get_highest_index *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_get_highest_index_size(void);
+#define CONNECTIB_ICMD_GET_HIGHEST_INDEX_SIZE    (0x20)
+void connectib_icmd_get_highest_index_dump(const struct connectib_icmd_get_highest_index *ptr_struct, FILE* file);
 /* icmd_get_open_resources */
 void connectib_icmd_get_open_resources_pack(const struct connectib_icmd_get_open_resources *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_get_open_resources_unpack(struct connectib_icmd_get_open_resources *ptr_struct, const u_int8_t* ptr_buff);
@@ -25555,6 +36162,20 @@ void connectib_icmd_config_cc_print(const struct connectib_icmd_config_cc *ptr_s
 int connectib_icmd_config_cc_size(void);
 #define CONNECTIB_ICMD_CONFIG_CC_SIZE    (0x300)
 void connectib_icmd_config_cc_dump(const struct connectib_icmd_config_cc *ptr_struct, FILE* file);
+/* icmd_ud_to_raw */
+void connectib_icmd_ud_to_raw_pack(const struct connectib_icmd_ud_to_raw *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_ud_to_raw_unpack(struct connectib_icmd_ud_to_raw *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_ud_to_raw_print(const struct connectib_icmd_ud_to_raw *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_ud_to_raw_size(void);
+#define CONNECTIB_ICMD_UD_TO_RAW_SIZE    (0x40)
+void connectib_icmd_ud_to_raw_dump(const struct connectib_icmd_ud_to_raw *ptr_struct, FILE* file);
+/* icmd_update_rq_ci */
+void connectib_icmd_update_rq_ci_pack(const struct connectib_icmd_update_rq_ci *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_update_rq_ci_unpack(struct connectib_icmd_update_rq_ci *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_update_rq_ci_print(const struct connectib_icmd_update_rq_ci *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_update_rq_ci_size(void);
+#define CONNECTIB_ICMD_UPDATE_RQ_CI_SIZE    (0x40)
+void connectib_icmd_update_rq_ci_dump(const struct connectib_icmd_update_rq_ci *ptr_struct, FILE* file);
 /* icmd_write_dc_cnak_lid */
 void connectib_icmd_write_dc_cnak_lid_pack(const struct connectib_icmd_write_dc_cnak_lid *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_write_dc_cnak_lid_unpack(struct connectib_icmd_write_dc_cnak_lid *ptr_struct, const u_int8_t* ptr_buff);
@@ -25625,6 +36246,13 @@ void connectib_print_icm_print(const struct connectib_print_icm *ptr_struct, FIL
 int connectib_print_icm_size(void);
 #define CONNECTIB_PRINT_ICM_SIZE    (0x8)
 void connectib_print_icm_dump(const struct connectib_print_icm *ptr_struct, FILE* file);
+/* icmd_allowed_madifc_on_all_pfs */
+void connectib_icmd_allowed_madifc_on_all_pfs_pack(const struct connectib_icmd_allowed_madifc_on_all_pfs *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_allowed_madifc_on_all_pfs_unpack(struct connectib_icmd_allowed_madifc_on_all_pfs *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_allowed_madifc_on_all_pfs_print(const struct connectib_icmd_allowed_madifc_on_all_pfs *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_allowed_madifc_on_all_pfs_size(void);
+#define CONNECTIB_ICMD_ALLOWED_MADIFC_ON_ALL_PFS_SIZE    (0x8)
+void connectib_icmd_allowed_madifc_on_all_pfs_dump(const struct connectib_icmd_allowed_madifc_on_all_pfs *ptr_struct, FILE* file);
 /* icmd_fw_reset */
 void connectib_icmd_fw_reset_pack(const struct connectib_icmd_fw_reset *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_fw_reset_unpack(struct connectib_icmd_fw_reset *ptr_struct, const u_int8_t* ptr_buff);
@@ -25651,7 +36279,7 @@ void connectib_icmd_get_fw_info_pack(const struct connectib_icmd_get_fw_info *pt
 void connectib_icmd_get_fw_info_unpack(struct connectib_icmd_get_fw_info *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_icmd_get_fw_info_print(const struct connectib_icmd_get_fw_info *ptr_struct, FILE* file, int indent_level);
 int connectib_icmd_get_fw_info_size(void);
-#define CONNECTIB_ICMD_GET_FW_INFO_SIZE    (0x20)
+#define CONNECTIB_ICMD_GET_FW_INFO_SIZE    (0x24)
 void connectib_icmd_get_fw_info_dump(const struct connectib_icmd_get_fw_info *ptr_struct, FILE* file);
 /* icmd_get_link_leds */
 void connectib_icmd_get_link_leds_pack(const struct connectib_icmd_get_link_leds *ptr_struct, u_int8_t* ptr_buff);
@@ -25686,8 +36314,15 @@ void connectib_icmd_access_host_mem_pack(const struct connectib_icmd_access_host
 void connectib_icmd_access_host_mem_unpack(struct connectib_icmd_access_host_mem *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_icmd_access_host_mem_print(const struct connectib_icmd_access_host_mem *ptr_struct, FILE* file, int indent_level);
 int connectib_icmd_access_host_mem_size(void);
-#define CONNECTIB_ICMD_ACCESS_HOST_MEM_SIZE    (0x120)
+#define CONNECTIB_ICMD_ACCESS_HOST_MEM_SIZE    (0x128)
 void connectib_icmd_access_host_mem_dump(const struct connectib_icmd_access_host_mem *ptr_struct, FILE* file);
+/* icmd_get_pi_ci */
+void connectib_icmd_get_pi_ci_pack(const struct connectib_icmd_get_pi_ci *ptr_struct, u_int8_t* ptr_buff);
+void connectib_icmd_get_pi_ci_unpack(struct connectib_icmd_get_pi_ci *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_icmd_get_pi_ci_print(const struct connectib_icmd_get_pi_ci *ptr_struct, FILE* file, int indent_level);
+int connectib_icmd_get_pi_ci_size(void);
+#define CONNECTIB_ICMD_GET_PI_CI_SIZE    (0xc)
+void connectib_icmd_get_pi_ci_dump(const struct connectib_icmd_get_pi_ci *ptr_struct, FILE* file);
 /* icmd_access_icm_ctx */
 void connectib_icmd_access_icm_ctx_pack(const struct connectib_icmd_access_icm_ctx *ptr_struct, u_int8_t* ptr_buff);
 void connectib_icmd_access_icm_ctx_unpack(struct connectib_icmd_access_icm_ctx *ptr_struct, const u_int8_t* ptr_buff);
@@ -25821,6 +36456,20 @@ void connectib_wqe_control_print(const struct connectib_wqe_control *ptr_struct,
 int connectib_wqe_control_size(void);
 #define CONNECTIB_WQE_CONTROL_SIZE    (0x10)
 void connectib_wqe_control_dump(const struct connectib_wqe_control *ptr_struct, FILE* file);
+/* public_keys */
+void connectib_public_keys_pack(const struct connectib_public_keys *ptr_struct, u_int8_t* ptr_buff);
+void connectib_public_keys_unpack(struct connectib_public_keys *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_public_keys_print(const struct connectib_public_keys *ptr_struct, FILE* file, int indent_level);
+int connectib_public_keys_size(void);
+#define CONNECTIB_PUBLIC_KEYS_SIZE    (0x900)
+void connectib_public_keys_dump(const struct connectib_public_keys *ptr_struct, FILE* file);
+/* image_signature */
+void connectib_image_signature_pack(const struct connectib_image_signature *ptr_struct, u_int8_t* ptr_buff);
+void connectib_image_signature_unpack(struct connectib_image_signature *ptr_struct, const u_int8_t* ptr_buff);
+void connectib_image_signature_print(const struct connectib_image_signature *ptr_struct, FILE* file, int indent_level);
+int connectib_image_signature_size(void);
+#define CONNECTIB_IMAGE_SIGNATURE_SIZE    (0x140)
+void connectib_image_signature_dump(const struct connectib_image_signature *ptr_struct, FILE* file);
 /* nv_data */
 void connectib_nv_data_pack(const struct connectib_nv_data *ptr_struct, u_int8_t* ptr_buff);
 void connectib_nv_data_unpack(struct connectib_nv_data *ptr_struct, const u_int8_t* ptr_buff);
@@ -25833,7 +36482,7 @@ void connectib_hw_boot_config_pack(const struct connectib_hw_boot_config *ptr_st
 void connectib_hw_boot_config_unpack(struct connectib_hw_boot_config *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_hw_boot_config_print(const struct connectib_hw_boot_config *ptr_struct, FILE* file, int indent_level);
 int connectib_hw_boot_config_size(void);
-#define CONNECTIB_HW_BOOT_CONFIG_SIZE    (0x100)
+#define CONNECTIB_HW_BOOT_CONFIG_SIZE    (0x140)
 void connectib_hw_boot_config_dump(const struct connectib_hw_boot_config *ptr_struct, FILE* file);
 /* hw_main_config */
 void connectib_hw_main_config_pack(const struct connectib_hw_main_config *ptr_struct, u_int8_t* ptr_buff);
@@ -25847,14 +36496,14 @@ void connectib_fw_boot_config_pack(const struct connectib_fw_boot_config *ptr_st
 void connectib_fw_boot_config_unpack(struct connectib_fw_boot_config *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_fw_boot_config_print(const struct connectib_fw_boot_config *ptr_struct, FILE* file, int indent_level);
 int connectib_fw_boot_config_size(void);
-#define CONNECTIB_FW_BOOT_CONFIG_SIZE    (0x480)
+#define CONNECTIB_FW_BOOT_CONFIG_SIZE    (0x4c0)
 void connectib_fw_boot_config_dump(const struct connectib_fw_boot_config *ptr_struct, FILE* file);
 /* fw_main_config */
 void connectib_fw_main_config_pack(const struct connectib_fw_main_config *ptr_struct, u_int8_t* ptr_buff);
 void connectib_fw_main_config_unpack(struct connectib_fw_main_config *ptr_struct, const u_int8_t* ptr_buff);
 void connectib_fw_main_config_print(const struct connectib_fw_main_config *ptr_struct, FILE* file, int indent_level);
 int connectib_fw_main_config_size(void);
-#define CONNECTIB_FW_MAIN_CONFIG_SIZE    (0x6f0)
+#define CONNECTIB_FW_MAIN_CONFIG_SIZE    (0x1000)
 void connectib_fw_main_config_dump(const struct connectib_fw_main_config *ptr_struct, FILE* file);
 /* mfg_info */
 void connectib_mfg_info_pack(const struct connectib_mfg_info *ptr_struct, u_int8_t* ptr_buff);
diff --git a/tools_layouts/cx4fw_layouts.c b/tools_layouts/cx4fw_layouts.c
index f84a601..569b288 100644
--- a/tools_layouts/cx4fw_layouts.c
+++ b/tools_layouts/cx4fw_layouts.c
@@ -29,13 +29,12 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
- 
 
 /***
- *** This file was generated at "2016-06-02 22:38:18"
- *** by:
- ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cx4fw/cx4fw.adb --file-prefix cx4fw --prefix cx4fw_
- ***/
+         *** This file was generated at "2016-11-06 15:18:05"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cx4fw/cx4fw.adb --file-prefix cx4fw --prefix cx4fw_
+         ***/
 #include "cx4fw_layouts.h"
 
 void cx4fw_uid_entry_pack(const struct cx4fw_uid_entry *ptr_struct, u_int8_t* ptr_buff)
@@ -89,13 +88,13 @@ void cx4fw_uid_entry_print(const struct cx4fw_uid_entry *ptr_struct, FILE* file,
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "num_allocated        : "UH_FMT"\n", ptr_struct->num_allocated);
+	fprintf(file, "num_allocated        : " UH_FMT "\n", ptr_struct->num_allocated);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "step                 : "UH_FMT"\n", ptr_struct->step);
+	fprintf(file, "step                 : " UH_FMT "\n", ptr_struct->step);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "uid                  : "U64H_FMT"\n", ptr_struct->uid);
+	fprintf(file, "uid                  : " U64H_FMT "\n", ptr_struct->uid);
 
 }
 
@@ -218,10 +217,10 @@ void cx4fw_operation_key_print(const struct cx4fw_operation_key *ptr_struct, FIL
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "key_modifier         : "UH_FMT"\n", ptr_struct->key_modifier);
+	fprintf(file, "key_modifier         : " UH_FMT "\n", ptr_struct->key_modifier);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "key                  : "U64H_FMT"\n", ptr_struct->key);
+	fprintf(file, "key                  : " U64H_FMT "\n", ptr_struct->key);
 
 }
 
@@ -304,13 +303,13 @@ void cx4fw_mfg_info_print(const struct cx4fw_mfg_info *ptr_struct, FILE* file, i
 
 	fprintf(file, "psid                 : \"%s\"\n", ptr_struct->psid);
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "guids_override_en    : "UH_FMT"\n", ptr_struct->guids_override_en);
+	fprintf(file, "guids_override_en    : " UH_FMT "\n", ptr_struct->guids_override_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor_version        : "UH_FMT"\n", ptr_struct->minor_version);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major_version        : "UH_FMT"\n", ptr_struct->major_version);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "guids:\n");
@@ -338,16 +337,16 @@ void cx4fw_device_info_pack(const struct cx4fw_device_info *ptr_struct, u_int8_t
 	(void)ptr_buff;
 
 	offset = 0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature0);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature0);
 
 	offset = 32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature1);
 
 	offset = 64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature2);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature2);
 
 	offset = 96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature3);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature3);
 
 	offset = 152;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor_version);
@@ -430,29 +429,29 @@ void cx4fw_device_info_print(const struct cx4fw_device_info *ptr_struct, FILE* f
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature0           : "U32H_FMT"\n", ptr_struct->signature0);
+	fprintf(file, "signature0           : " U32H_FMT "\n", ptr_struct->signature0);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature1           : "U32H_FMT"\n", ptr_struct->signature1);
+	fprintf(file, "signature1           : " U32H_FMT "\n", ptr_struct->signature1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature2           : "U32H_FMT"\n", ptr_struct->signature2);
+	fprintf(file, "signature2           : " U32H_FMT "\n", ptr_struct->signature2);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "signature3           : "U32H_FMT"\n", ptr_struct->signature3);
+	fprintf(file, "signature3           : " U32H_FMT "\n", ptr_struct->signature3);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "minor_version        : "UH_FMT"\n", ptr_struct->minor_version);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "major_version        : "UH_FMT"\n", ptr_struct->major_version);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "guids:\n");
 	cx4fw_guids_print(&(ptr_struct->guids), file, indent_level + 1);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "vsd_vendor_id        : "UH_FMT"\n", ptr_struct->vsd_vendor_id);
+	fprintf(file, "vsd_vendor_id        : " UH_FMT "\n", ptr_struct->vsd_vendor_id);
 
 	fprintf(file, "vsd                  : \"%s\"\n", ptr_struct->vsd);
 	for (i = 0; i < 4; i++) {
@@ -473,6 +472,95 @@ void cx4fw_device_info_dump(const struct cx4fw_device_info *ptr_struct, FILE* fi
 	cx4fw_device_info_print(ptr_struct, file, 0);
 }
 
+void cx4fw_image_signature_pack(const struct cx4fw_image_signature *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2560, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature_uuid[i]);
+	}
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 2560, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->keypair_uuid[i]);
+	}
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 2560, 1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature[i]);
+	}
+
+}
+
+void cx4fw_image_signature_unpack(struct cx4fw_image_signature *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(0, 32, i, 2560, 1);
+	ptr_struct->signature_uuid[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(128, 32, i, 2560, 1);
+	ptr_struct->keypair_uuid[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+	for (i = 0; i < 64; i++) {
+	offset = adb2c_calc_array_field_address(256, 32, i, 2560, 1);
+	ptr_struct->signature[i] = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+	}
+
+}
+
+void cx4fw_image_signature_print(const struct cx4fw_image_signature *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx4fw_image_signature ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature_uuid_%03d  : " U32H_FMT "\n", i, ptr_struct->signature_uuid[i]);
+	}
+
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "keypair_uuid_%03d    : " U32H_FMT "\n", i, ptr_struct->keypair_uuid[i]);
+	}
+
+	for (i = 0; i < 64; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature_%03d       : " U32H_FMT "\n", i, ptr_struct->signature[i]);
+	}
+
+}
+
+int cx4fw_image_signature_size(void)
+{
+	 return 320;
+}
+
+void cx4fw_image_signature_dump(const struct cx4fw_image_signature *ptr_struct, FILE* file)
+{
+	cx4fw_image_signature_print(ptr_struct, file, 0);
+}
+
 void cx4fw_cx4fw_Nodes_pack(const union cx4fw_cx4fw_Nodes *ptr_struct, u_int8_t* ptr_buff)
 {
 	cx4fw_guids_pack(&(ptr_struct->guids), ptr_buff);
@@ -494,6 +582,10 @@ void cx4fw_cx4fw_Nodes_print(const union cx4fw_cx4fw_Nodes *ptr_struct, FILE* fi
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "image_signature:\n");
+	cx4fw_image_signature_print(&(ptr_struct->image_signature), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "device_info:\n");
 	cx4fw_device_info_print(&(ptr_struct->device_info), file, indent_level + 1);
 
diff --git a/tools_layouts/cx4fw_layouts.h b/tools_layouts/cx4fw_layouts.h
index 50c30e4..c7d7a26 100644
--- a/tools_layouts/cx4fw_layouts.h
+++ b/tools_layouts/cx4fw_layouts.h
@@ -29,12 +29,13 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
+ 
 
 /***
- *** This file was generated at "2016-06-02 22:38:18"
- *** by:
- ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cx4fw/cx4fw.adb --file-prefix cx4fw --prefix cx4fw_
- ***/
+         *** This file was generated at "2016-11-06 15:18:05"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cx4fw/cx4fw.adb --file-prefix cx4fw --prefix cx4fw_
+         ***/
 #ifndef CX4FW_LAYOUTS_H
 #define CX4FW_LAYOUTS_H
 
@@ -48,15 +49,15 @@ extern "C" {
 struct cx4fw_uid_entry {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Number of allocated UIDs in this entry */
-	/* 0.0 - 0.7 */
+	/* 0x0.0 - 0x0.7 */
 	 u_int8_t num_allocated;
 	/* Description - Step size by which to derive the UIDs for this entry
 See struct description */
-	/* 0.8 - 0.15 */
+	/* 0x0.8 - 0x0.15 */
 	 u_int8_t step;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - For MACs, the upper 16 bits in the 'hi' dword are reserved */
-	/* 8.0 - 16.31 */
+	/* 0x8.0 - 0x10.31 */
 	 u_int64_t uid;
 };
 
@@ -66,11 +67,11 @@ struct cx4fw_guids {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - UIDs (MACs and GUIDs) Allocation Entry.
 guids, is used for system GUID, node GUID and port GUID of port 0. ;/Multiple UIDs can be assigned to a single port, to be used for multiple virtual guests, multi host and managment */
-	/* 0.0 - 16.31 */
+	/* 0x0.0 - 0x10.31 */
 	 struct cx4fw_uid_entry guids;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description -  */
-	/* 16.0 - 32.31 */
+	/* 0x10.0 - 0x20.31 */
 	 struct cx4fw_uid_entry macs;
 };
 
@@ -79,11 +80,11 @@ guids, is used for system GUID, node GUID and port GUID of port 0. ;/Multiple UI
 struct cx4fw_operation_key {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 0.15 */
+	/* 0x0.0 - 0x0.15 */
 	 u_int16_t key_modifier;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 16.31 */
+	/* 0x8.0 - 0x10.31 */
 	 u_int64_t key;
 };
 
@@ -92,22 +93,22 @@ struct cx4fw_operation_key {
 struct cx4fw_mfg_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.24 - 16.23 */
+	/* 0x0.24 - 0x10.23 */
 	 char psid[17];
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description - When this bit is set, the GUIDs should be taken from the device_info node.
 When this bit is cleared, the GUIDs should be taken from the mfg_info node. */
-	/* 28.0 - 28.0 */
+	/* 0x1c.0 - 0x1c.0 */
 	 u_int8_t guids_override_en;
 	/* Description - MFG_INFO section minor version */
-	/* 28.16 - 28.23 */
+	/* 0x1c.16 - 0x1c.23 */
 	 u_int8_t minor_version;
 	/* Description - MFG_INFO section major version */
-	/* 28.24 - 32.31 */
+	/* 0x1c.24 - 0x1c.31 */
 	 u_int8_t major_version;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 96.31 */
+	/* 0x20.0 - 0x60.31 */
 	 struct cx4fw_guids guids;
 };
 
@@ -116,57 +117,77 @@ When this bit is cleared, the GUIDs should be taken from the mfg_info node. */
 struct cx4fw_device_info {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 4.31 */
+	/* 0x0.0 - 0x4.31 */
 	 u_int32_t signature0;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description -  */
-	/* 4.0 - 8.31 */
+	/* 0x4.0 - 0x8.31 */
 	 u_int32_t signature1;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description -  */
-	/* 8.0 - 12.31 */
+	/* 0x8.0 - 0xc.31 */
 	 u_int32_t signature2;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 12.0 - 16.31 */
+	/* 0xc.0 - 0x10.31 */
 	 u_int32_t signature3;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - Format version for this struct */
-	/* 16.0 - 16.7 */
+	/* 0x10.0 - 0x10.7 */
 	 u_int8_t minor_version;
 	/* Description - Format version for this struct */
-	/* 16.8 - 16.16 */
+	/* 0x10.8 - 0x10.16 */
 	 u_int16_t major_version;
 /*---------------- DWORD[8] (Offset 0x20) ----------------*/
 	/* Description -  */
-	/* 32.0 - 96.31 */
+	/* 0x20.0 - 0x60.31 */
 	 struct cx4fw_guids guids;
 /*---------------- DWORD[27] (Offset 0x6c) ----------------*/
 	/* Description -  */
-	/* 108.0 - 108.15 */
+	/* 0x6c.0 - 0x6c.15 */
 	 u_int16_t vsd_vendor_id;
 /*---------------- DWORD[28] (Offset 0x70) ----------------*/
 	/* Description -  */
-	/* 112.24 - 320.23 */
+	/* 0x70.24 - 0x140.23 */
 	 char vsd[209];
 /*---------------- DWORD[88] (Offset 0x160) ----------------*/
 	/* Description -  */
-	/* 352.0 - 416.31 */
+	/* 0x160.0 - 0x1a0.31 */
 	 struct cx4fw_operation_key keys[4];
 };
 
 /* Description -   */
+/* Size in bytes - 320 */
+struct cx4fw_image_signature {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - time based UUID for this signature */
+	/* 0x0.0 - 0x10.31 */
+	 u_int32_t signature_uuid[4];
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - The UUID of the keypair used for signing this file */
+	/* 0x10.0 - 0x20.31 */
+	 u_int32_t keypair_uuid[4];
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description - The signature itself */
+	/* 0x20.0 - 0x120.31 */
+	 u_int32_t signature[64];
+};
+
+/* Description -   */
 /* Size in bytes - 512 */
 union cx4fw_cx4fw_Nodes {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 512.31 */
+	/* 0x0.0 - 0x140.31 */
+	 struct cx4fw_image_signature image_signature;
+	/* Description -  */
+	/* 0x0.0 - 0x200.31 */
 	 struct cx4fw_device_info device_info;
 	/* Description -  */
-	/* 0.0 - 320.31 */
+	/* 0x0.0 - 0x140.31 */
 	 struct cx4fw_mfg_info mfg_info;
 	/* Description -  */
-	/* 0.0 - 64.31 */
+	/* 0x0.0 - 0x40.31 */
 	 struct cx4fw_guids guids;
 };
 
@@ -207,6 +228,13 @@ void cx4fw_device_info_print(const struct cx4fw_device_info *ptr_struct, FILE* f
 int cx4fw_device_info_size(void);
 #define CX4FW_DEVICE_INFO_SIZE    (0x200)
 void cx4fw_device_info_dump(const struct cx4fw_device_info *ptr_struct, FILE* file);
+/* image_signature */
+void cx4fw_image_signature_pack(const struct cx4fw_image_signature *ptr_struct, u_int8_t* ptr_buff);
+void cx4fw_image_signature_unpack(struct cx4fw_image_signature *ptr_struct, const u_int8_t* ptr_buff);
+void cx4fw_image_signature_print(const struct cx4fw_image_signature *ptr_struct, FILE* file, int indent_level);
+int cx4fw_image_signature_size(void);
+#define CX4FW_IMAGE_SIGNATURE_SIZE    (0x140)
+void cx4fw_image_signature_dump(const struct cx4fw_image_signature *ptr_struct, FILE* file);
 /* cx4fw_Nodes */
 void cx4fw_cx4fw_Nodes_pack(const union cx4fw_cx4fw_Nodes *ptr_struct, u_int8_t* ptr_buff);
 void cx4fw_cx4fw_Nodes_unpack(union cx4fw_cx4fw_Nodes *ptr_struct, const u_int8_t* ptr_buff);
diff --git a/tools_layouts/cx5fw_layouts.c b/tools_layouts/cx5fw_layouts.c
new file mode 100644
index 0000000..c8c0527
--- /dev/null
+++ b/tools_layouts/cx5fw_layouts.c
@@ -0,0 +1,939 @@
+/*
+ * Copyright (C) Jan 2013 Mellanox Technologies Ltd. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      - Redistributions of source code must retain the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer.
+ *
+ *      - Redistributions in binary form must reproduce the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+ 
+
+/***
+         *** This file was generated at "2016-10-09 21:47:09"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cx5fw/cx5fw.adb --file-prefix cx5fw --prefix cx5fw_
+         ***/
+#include "cx5fw_layouts.h"
+
+void cx5fw_uid_entry_pack(const struct cx5fw_uid_entry *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->num_allocated);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->step);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->uid);
+
+}
+
+void cx5fw_uid_entry_unpack(struct cx5fw_uid_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->num_allocated = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 16;
+	ptr_struct->step = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 64;
+	ptr_struct->uid = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+}
+
+void cx5fw_uid_entry_print(const struct cx5fw_uid_entry *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_uid_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "num_allocated        : " UH_FMT "\n", ptr_struct->num_allocated);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "step                 : " UH_FMT "\n", ptr_struct->step);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "uid                  : " U64H_FMT "\n", ptr_struct->uid);
+
+}
+
+int cx5fw_uid_entry_size(void)
+{
+	 return 16;
+}
+
+void cx5fw_uid_entry_dump(const struct cx5fw_uid_entry *ptr_struct, FILE* file)
+{
+	cx5fw_uid_entry_print(ptr_struct, file, 0);
+}
+
+void cx5fw_hw_pointer_entry_pack(const struct cx5fw_hw_pointer_entry *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->ptr);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->crc);
+
+}
+
+void cx5fw_hw_pointer_entry_unpack(struct cx5fw_hw_pointer_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->ptr = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 48;
+	ptr_struct->crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void cx5fw_hw_pointer_entry_print(const struct cx5fw_hw_pointer_entry *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_hw_pointer_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "ptr                  : " U32H_FMT "\n", ptr_struct->ptr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "crc                  : " UH_FMT "\n", ptr_struct->crc);
+
+}
+
+int cx5fw_hw_pointer_entry_size(void)
+{
+	 return 8;
+}
+
+void cx5fw_hw_pointer_entry_dump(const struct cx5fw_hw_pointer_entry *ptr_struct, FILE* file)
+{
+	cx5fw_hw_pointer_entry_print(ptr_struct, file, 0);
+}
+
+void cx5fw_operation_key_pack(const struct cx5fw_operation_key *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->key_modifier);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 8, ptr_struct->key);
+
+}
+
+void cx5fw_operation_key_unpack(struct cx5fw_operation_key *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 16;
+	ptr_struct->key_modifier = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 64;
+	ptr_struct->key = adb2c_pop_integer_from_buff(ptr_buff, offset, 8);
+
+}
+
+void cx5fw_operation_key_print(const struct cx5fw_operation_key *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_operation_key ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "key_modifier         : " UH_FMT "\n", ptr_struct->key_modifier);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "key                  : " U64H_FMT "\n", ptr_struct->key);
+
+}
+
+int cx5fw_operation_key_size(void)
+{
+	 return 16;
+}
+
+void cx5fw_operation_key_dump(const struct cx5fw_operation_key *ptr_struct, FILE* file)
+{
+	cx5fw_operation_key_print(ptr_struct, file, 0);
+}
+
+void cx5fw_guids_pack(const struct cx5fw_guids *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	cx5fw_uid_entry_pack(&(ptr_struct->guids), ptr_buff + offset/8);
+
+	offset = 128;
+	cx5fw_uid_entry_pack(&(ptr_struct->macs), ptr_buff + offset/8);
+
+}
+
+void cx5fw_guids_unpack(struct cx5fw_guids *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	cx5fw_uid_entry_unpack(&(ptr_struct->guids), ptr_buff + offset/8);
+
+	offset = 128;
+	cx5fw_uid_entry_unpack(&(ptr_struct->macs), ptr_buff + offset/8);
+
+}
+
+void cx5fw_guids_print(const struct cx5fw_guids *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_guids ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "guids:\n");
+	cx5fw_uid_entry_print(&(ptr_struct->guids), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "macs:\n");
+	cx5fw_uid_entry_print(&(ptr_struct->macs), file, indent_level + 1);
+
+}
+
+int cx5fw_guids_size(void)
+{
+	 return 64;
+}
+
+void cx5fw_guids_dump(const struct cx5fw_guids *ptr_struct, FILE* file)
+{
+	cx5fw_guids_print(ptr_struct, file, 0);
+}
+
+void cx5fw_hw_pointers_pack(const struct cx5fw_hw_pointers *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	cx5fw_hw_pointer_entry_pack(&(ptr_struct->boot_record_ptr), ptr_buff + offset/8);
+
+	offset = 64;
+	cx5fw_hw_pointer_entry_pack(&(ptr_struct->boot2_ptr), ptr_buff + offset/8);
+
+	offset = 128;
+	cx5fw_hw_pointer_entry_pack(&(ptr_struct->toc_ptr), ptr_buff + offset/8);
+
+	offset = 192;
+	cx5fw_hw_pointer_entry_pack(&(ptr_struct->tools_ptr), ptr_buff + offset/8);
+
+	offset = 256;
+	cx5fw_hw_pointer_entry_pack(&(ptr_struct->reserved0_ptr), ptr_buff + offset/8);
+
+	offset = 320;
+	cx5fw_hw_pointer_entry_pack(&(ptr_struct->reserved1_ptr), ptr_buff + offset/8);
+
+}
+
+void cx5fw_hw_pointers_unpack(struct cx5fw_hw_pointers *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	cx5fw_hw_pointer_entry_unpack(&(ptr_struct->boot_record_ptr), ptr_buff + offset/8);
+
+	offset = 64;
+	cx5fw_hw_pointer_entry_unpack(&(ptr_struct->boot2_ptr), ptr_buff + offset/8);
+
+	offset = 128;
+	cx5fw_hw_pointer_entry_unpack(&(ptr_struct->toc_ptr), ptr_buff + offset/8);
+
+	offset = 192;
+	cx5fw_hw_pointer_entry_unpack(&(ptr_struct->tools_ptr), ptr_buff + offset/8);
+
+	offset = 256;
+	cx5fw_hw_pointer_entry_unpack(&(ptr_struct->reserved0_ptr), ptr_buff + offset/8);
+
+	offset = 320;
+	cx5fw_hw_pointer_entry_unpack(&(ptr_struct->reserved1_ptr), ptr_buff + offset/8);
+
+}
+
+void cx5fw_hw_pointers_print(const struct cx5fw_hw_pointers *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_hw_pointers ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "boot_record_ptr:\n");
+	cx5fw_hw_pointer_entry_print(&(ptr_struct->boot_record_ptr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "boot2_ptr:\n");
+	cx5fw_hw_pointer_entry_print(&(ptr_struct->boot2_ptr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "toc_ptr:\n");
+	cx5fw_hw_pointer_entry_print(&(ptr_struct->toc_ptr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tools_ptr:\n");
+	cx5fw_hw_pointer_entry_print(&(ptr_struct->tools_ptr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved0_ptr:\n");
+	cx5fw_hw_pointer_entry_print(&(ptr_struct->reserved0_ptr), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "reserved1_ptr:\n");
+	cx5fw_hw_pointer_entry_print(&(ptr_struct->reserved1_ptr), file, indent_level + 1);
+
+}
+
+int cx5fw_hw_pointers_size(void)
+{
+	 return 48;
+}
+
+void cx5fw_hw_pointers_dump(const struct cx5fw_hw_pointers *ptr_struct, FILE* file)
+{
+	cx5fw_hw_pointers_print(ptr_struct, file, 0);
+}
+
+void cx5fw_itoc_entry_pack(const struct cx5fw_itoc_entry *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 22, (u_int32_t)ptr_struct->size);
+
+	offset = 0;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->type);
+
+	offset = 34;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 30, (u_int32_t)ptr_struct->param0);
+
+	offset = 33;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->cache_line_crc);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->zipped_image);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->param1);
+
+	offset = 161;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 29, (u_int32_t)ptr_struct->flash_addr);
+
+	offset = 208;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->section_crc);
+
+	offset = 205;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->crc);
+
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->itoc_entry_crc);
+
+}
+
+void cx5fw_itoc_entry_unpack(struct cx5fw_itoc_entry *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 8;
+	ptr_struct->size = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 22);
+
+	offset = 0;
+	ptr_struct->type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 34;
+	ptr_struct->param0 = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 30);
+
+	offset = 33;
+	ptr_struct->cache_line_crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 32;
+	ptr_struct->zipped_image = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
+	offset = 64;
+	ptr_struct->param1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 161;
+	ptr_struct->flash_addr = (u_int32_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 29);
+
+	offset = 208;
+	ptr_struct->section_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 205;
+	ptr_struct->crc = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
+
+	offset = 240;
+	ptr_struct->itoc_entry_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void cx5fw_itoc_entry_print(const struct cx5fw_itoc_entry *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_itoc_entry ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "type                 : " UH_FMT "\n", ptr_struct->type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "param0               : " UH_FMT "\n", ptr_struct->param0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "cache_line_crc       : " UH_FMT "\n", ptr_struct->cache_line_crc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "zipped_image         : " UH_FMT "\n", ptr_struct->zipped_image);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "param1               : " U32H_FMT "\n", ptr_struct->param1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "flash_addr           : " UH_FMT "\n", ptr_struct->flash_addr);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "section_crc          : " UH_FMT "\n", ptr_struct->section_crc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "crc                  : " UH_FMT "\n", ptr_struct->crc);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "itoc_entry_crc       : " UH_FMT "\n", ptr_struct->itoc_entry_crc);
+
+}
+
+int cx5fw_itoc_entry_size(void)
+{
+	 return 32;
+}
+
+void cx5fw_itoc_entry_dump(const struct cx5fw_itoc_entry *ptr_struct, FILE* file)
+{
+	cx5fw_itoc_entry_print(ptr_struct, file, 0);
+}
+
+void cx5fw_tools_area_pack(const struct cx5fw_tools_area *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor);
+
+	offset = 16;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->major);
+
+	offset = 56;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->bin_ver_minor);
+
+	offset = 48;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->bin_ver_major);
+
+	offset = 32;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->log2_img_slot_size);
+
+	offset = 496;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->crc);
+
+}
+
+void cx5fw_tools_area_unpack(struct cx5fw_tools_area *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 24;
+	ptr_struct->minor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 16;
+	ptr_struct->major = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 56;
+	ptr_struct->bin_ver_minor = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 48;
+	ptr_struct->bin_ver_major = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 32;
+	ptr_struct->log2_img_slot_size = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	offset = 496;
+	ptr_struct->crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void cx5fw_tools_area_print(const struct cx5fw_tools_area *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_tools_area ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "minor                : " UH_FMT "\n", ptr_struct->minor);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "major                : " UH_FMT "\n", ptr_struct->major);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bin_ver_minor        : " UH_FMT "\n", ptr_struct->bin_ver_minor);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "bin_ver_major        : " UH_FMT "\n", ptr_struct->bin_ver_major);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "log2_img_slot_size   : " UH_FMT "\n", ptr_struct->log2_img_slot_size);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "crc                  : " UH_FMT "\n", ptr_struct->crc);
+
+}
+
+int cx5fw_tools_area_size(void)
+{
+	 return 64;
+}
+
+void cx5fw_tools_area_dump(const struct cx5fw_tools_area *ptr_struct, FILE* file)
+{
+	cx5fw_tools_area_print(ptr_struct, file, 0);
+}
+
+void cx5fw_itoc_header_pack(const struct cx5fw_itoc_header *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature0);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature1);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature2);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature3);
+
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->version);
+
+	offset = 240;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->itoc_entry_crc);
+
+}
+
+void cx5fw_itoc_header_unpack(struct cx5fw_itoc_header *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->signature0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->signature1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->signature2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->signature3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 152;
+	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 240;
+	ptr_struct->itoc_entry_crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void cx5fw_itoc_header_print(const struct cx5fw_itoc_header *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_itoc_header ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature0           : " U32H_FMT "\n", ptr_struct->signature0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature1           : " U32H_FMT "\n", ptr_struct->signature1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature2           : " U32H_FMT "\n", ptr_struct->signature2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature3           : " U32H_FMT "\n", ptr_struct->signature3);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "itoc_entry_crc       : " UH_FMT "\n", ptr_struct->itoc_entry_crc);
+
+}
+
+int cx5fw_itoc_header_size(void)
+{
+	 return 32;
+}
+
+void cx5fw_itoc_header_dump(const struct cx5fw_itoc_header *ptr_struct, FILE* file)
+{
+	cx5fw_itoc_header_print(ptr_struct, file, 0);
+}
+
+void cx5fw_device_info_pack(const struct cx5fw_device_info *ptr_struct, u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature0);
+
+	offset = 32;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature1);
+
+	offset = 64;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature2);
+
+	offset = 96;
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature3);
+
+	offset = 152;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->minor_version);
+
+	offset = 143;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->major_version);
+
+	offset = 256;
+	cx5fw_guids_pack(&(ptr_struct->guids), ptr_buff + offset/8);
+
+	offset = 880;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->vsd_vendor_id);
+
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(920, 8, i, 4096, 1);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->vsd[i]);
+	}
+
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
+	cx5fw_operation_key_pack(&(ptr_struct->keys[i]), ptr_buff + offset/8);
+	}
+
+	offset = 4080;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->crc);
+
+}
+
+void cx5fw_device_info_unpack(struct cx5fw_device_info *ptr_struct, const u_int8_t* ptr_buff)
+{
+	u_int32_t offset;
+	int i = 0;
+	(void)offset;
+	(void)i;
+	(void)ptr_struct;
+	(void)ptr_buff;
+
+	offset = 0;
+	ptr_struct->signature0 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 32;
+	ptr_struct->signature1 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 64;
+	ptr_struct->signature2 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 96;
+	ptr_struct->signature3 = (u_int32_t)adb2c_pop_integer_from_buff(ptr_buff, offset, 4);
+
+	offset = 152;
+	ptr_struct->minor_version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+
+	offset = 143;
+	ptr_struct->major_version = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
+
+	offset = 256;
+	cx5fw_guids_unpack(&(ptr_struct->guids), ptr_buff + offset/8);
+
+	offset = 880;
+	ptr_struct->vsd_vendor_id = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+	for (i = 0; i < 208; i++) {
+	offset = adb2c_calc_array_field_address(920, 8, i, 4096, 1);
+	ptr_struct->vsd[i] = (char)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	}
+
+	ptr_struct->vsd[208] = '\0';
+	for (i = 0; i < 4; i++) {
+	offset = adb2c_calc_array_field_address(2816, 128, i, 4096, 1);
+	cx5fw_operation_key_unpack(&(ptr_struct->keys[i]), ptr_buff + offset/8);
+	}
+
+	offset = 4080;
+	ptr_struct->crc = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 16);
+
+}
+
+void cx5fw_device_info_print(const struct cx5fw_device_info *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_device_info ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature0           : " U32H_FMT "\n", ptr_struct->signature0);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature1           : " U32H_FMT "\n", ptr_struct->signature1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature2           : " U32H_FMT "\n", ptr_struct->signature2);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "signature3           : " U32H_FMT "\n", ptr_struct->signature3);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "minor_version        : " UH_FMT "\n", ptr_struct->minor_version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "major_version        : " UH_FMT "\n", ptr_struct->major_version);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "guids:\n");
+	cx5fw_guids_print(&(ptr_struct->guids), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "vsd_vendor_id        : " UH_FMT "\n", ptr_struct->vsd_vendor_id);
+
+	fprintf(file, "vsd                  : \"%s\"\n", ptr_struct->vsd);
+	for (i = 0; i < 4; i++) {
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "keys_%03d:\n", i);
+	cx5fw_operation_key_print(&(ptr_struct->keys[i]), file, indent_level + 1);
+	}
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "crc                  : " UH_FMT "\n", ptr_struct->crc);
+
+}
+
+int cx5fw_device_info_size(void)
+{
+	 return 512;
+}
+
+void cx5fw_device_info_dump(const struct cx5fw_device_info *ptr_struct, FILE* file)
+{
+	cx5fw_device_info_print(ptr_struct, file, 0);
+}
+
+void cx5fw_cx5fw_Nodes_pack(const union cx5fw_cx5fw_Nodes *ptr_struct, u_int8_t* ptr_buff)
+{
+	cx5fw_hw_pointers_pack(&(ptr_struct->hw_pointers), ptr_buff);
+}
+
+void cx5fw_cx5fw_Nodes_unpack(union cx5fw_cx5fw_Nodes *ptr_struct, const u_int8_t* ptr_buff)
+{
+	cx5fw_hw_pointers_unpack(&(ptr_struct->hw_pointers), ptr_buff);
+}
+
+void cx5fw_cx5fw_Nodes_print(const union cx5fw_cx5fw_Nodes *ptr_struct, FILE* file, int indent_level)
+{
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "======== cx5fw_cx5fw_Nodes ========\n");
+	int i = 0;
+	(void)i;
+	(void)ptr_struct;
+	(void)file;
+	(void)indent_level;
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "device_info:\n");
+	cx5fw_device_info_print(&(ptr_struct->device_info), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "itoc_header:\n");
+	cx5fw_itoc_header_print(&(ptr_struct->itoc_header), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "tools_area:\n");
+	cx5fw_tools_area_print(&(ptr_struct->tools_area), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "itoc_entry:\n");
+	cx5fw_itoc_entry_print(&(ptr_struct->itoc_entry), file, indent_level + 1);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "hw_pointers:\n");
+	cx5fw_hw_pointers_print(&(ptr_struct->hw_pointers), file, indent_level + 1);
+
+}
+
+int cx5fw_cx5fw_Nodes_size(void)
+{
+	 return 512;
+}
+
+void cx5fw_cx5fw_Nodes_dump(const union cx5fw_cx5fw_Nodes *ptr_struct, FILE* file)
+{
+	cx5fw_cx5fw_Nodes_print(ptr_struct, file, 0);
+}
+
diff --git a/tools_layouts/cx5fw_layouts.h b/tools_layouts/cx5fw_layouts.h
new file mode 100644
index 0000000..57df4e5
--- /dev/null
+++ b/tools_layouts/cx5fw_layouts.h
@@ -0,0 +1,399 @@
+/*
+ * Copyright (C) Jan 2013 Mellanox Technologies Ltd. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      - Redistributions of source code must retain the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer.
+ *
+ *      - Redistributions in binary form must reproduce the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+ 
+
+/***
+         *** This file was generated at "2016-10-09 21:47:09"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/cx5fw/cx5fw.adb --file-prefix cx5fw --prefix cx5fw_
+         ***/
+#ifndef CX5FW_LAYOUTS_H
+#define CX5FW_LAYOUTS_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "adb_to_c_utils.h"/* Description -   */
+/* Size in bytes - 16 */
+struct cx5fw_uid_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - Number of allocated UIDs in this entry */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t num_allocated;
+	/* Description - Step size by which to derive the UIDs for this entry
+See struct description */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t step;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - For MACs, the upper 16 bits in the 'hi' dword are reserved */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t uid;
+};
+
+/* Description -  HW pointer entry */
+/* Size in bytes - 8 */
+struct cx5fw_hw_pointer_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - pointer */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t ptr;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - crc16 as calculated by HW */
+	/* 0x4.0 - 0x4.15 */
+	 u_int16_t crc;
+};
+
+/* Description -   */
+/* Size in bytes - 16 */
+struct cx5fw_operation_key {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x0.15 */
+	 u_int16_t key_modifier;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x10.31 */
+	 u_int64_t key;
+};
+
+/* Description -   */
+/* Size in bytes - 64 */
+struct cx5fw_guids {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - UIDs (MACs and GUIDs) Allocation Entry.
+guids, is used for system GUID, node GUID and port GUID of port 0. ;/Multiple UIDs can be assigned to a single port, to be used for multiple virtual guests, multi host and managment */
+	/* 0x0.0 - 0x10.31 */
+	 struct cx5fw_uid_entry guids;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x20.31 */
+	 struct cx5fw_uid_entry macs;
+};
+
+/* Description -  HW pointers */
+/* Size in bytes - 48 */
+struct cx5fw_hw_pointers {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x8.31 */
+	 struct cx5fw_hw_pointer_entry boot_record_ptr;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0x10.31 */
+	 struct cx5fw_hw_pointer_entry boot2_ptr;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description -  */
+	/* 0x10.0 - 0x18.31 */
+	 struct cx5fw_hw_pointer_entry toc_ptr;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x20.31 */
+	 struct cx5fw_hw_pointer_entry tools_ptr;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x28.31 */
+	 struct cx5fw_hw_pointer_entry reserved0_ptr;
+/*---------------- DWORD[10] (Offset 0x28) ----------------*/
+	/* Description -  */
+	/* 0x28.0 - 0x30.31 */
+	 struct cx5fw_hw_pointer_entry reserved1_ptr;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct cx5fw_itoc_entry {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.2 - 0x0.23 */
+	 u_int32_t size;
+	/* Description - Section ID Section Type DESCRIPTION
+0x1 BOOT_CODE FW loader code
+0x2 PCI_CODE Code that is required to raise PCIe link.
+0x3 MAIN_CODE All non-PCIe FW code
+0x8 HW_BOOT_CFG Initial values for the PCI related registers
+0x9 HW_MAIN_CFG Initial values for all other registers 
+0x10 IMAGE_INFO Management data for the burning tool. See 'Image Info Section' chapter in the Mellanox Flash Programming Application Note
+0x11 FW_BOOT_CFG Initial values for user set-able hi level non-hardware related settings, such as number of physical functions
+(optional)
+0x12 FW_MAIN_CFG Initial values for user set-able hi level non-hardware related settings.
+(optional)
+0x18 ROM_CODE PXE/Boot over IB code. 
+0x30 DBG_LOG_MAP FW logger 'index to string' map. The map is in ASCI text. Format is TBD.
+                                          PARAM0 in the iTOC specifies the compression method of this sector:
+                                          0. Uncompressed
+                                          1. Zlib compress2()
+                                          2. LZMA
+                                          Others - Reserved 
+0x31 DBG_FW_INI The Ini file used in the image generation. The PARAM0 applies the same as in  DBG_LOG_MAP section type.
+0x32 DBG_FW_PARAMS FW settable parameters. ASCII text. Format is TBD. The PARAM0 applies the same as in  DBG_LOG_MAP section type.
+0xff END_MARKER A type of 0xff marks the end of the iTOC entries array. It is recommended to leave the unused part of the iTOC section blank (that is, 0xff in all unused bytes)
+All other values Reserved 
+ */
+	/* 0x0.24 - 0x0.31 */
+	 u_int8_t type;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - if partition type is code or ini then the load address is in here */
+	/* 0x4.0 - 0x4.29 */
+	 u_int32_t param0;
+	/* Description - When this bit is set, Data within the section is protected by per-line crc. See yu.flash.replacement.crc_en */
+	/* 0x4.30 - 0x4.30 */
+	 u_int8_t cache_line_crc;
+	/* Description - When this bit is set, image is zipped */
+	/* 0x4.31 - 0x4.31 */
+	 u_int8_t zipped_image;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - if partition type is code then the jump address is in here */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t param1;
+/*---------------- DWORD[5] (Offset 0x14) ----------------*/
+	/* Description -  */
+	/* 0x14.2 - 0x14.30 */
+	 u_int32_t flash_addr;
+/*---------------- DWORD[6] (Offset 0x18) ----------------*/
+	/* Description -  */
+	/* 0x18.0 - 0x18.15 */
+	 u_int16_t section_crc;
+	/* Description -  */
+	/* 0x18.16 - 0x18.18 */
+	 u_int8_t crc;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.15 */
+	 u_int16_t itoc_entry_crc;
+};
+
+/* Description -  tools speific section */
+/* Size in bytes - 64 */
+struct cx5fw_tools_area {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - tools area minor version */
+	/* 0x0.0 - 0x0.7 */
+	 u_int8_t minor;
+	/* Description - tools area major version */
+	/* 0x0.8 - 0x0.15 */
+	 u_int8_t major;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - binary version minor set by image generation tool */
+	/* 0x4.0 - 0x4.7 */
+	 u_int8_t bin_ver_minor;
+	/* Description - binary version major set by image generation tool */
+	/* 0x4.8 - 0x4.15 */
+	 u_int8_t bin_ver_major;
+	/* Description - log2 image slot size */
+	/* 0x4.16 - 0x4.31 */
+	 u_int16_t log2_img_slot_size;
+/*---------------- DWORD[15] (Offset 0x3c) ----------------*/
+	/* Description -  */
+	/* 0x3c.0 - 0x3c.15 */
+	 u_int16_t crc;
+};
+
+/* Description -   */
+/* Size in bytes - 32 */
+struct cx5fw_itoc_header {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description - for itoc 49 54 4f 43 
+for dtoc 44 54 4f 43 */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t signature0;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description - 04 08 15 16 */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t signature1;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description - 23 42 ca fa */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t signature2;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description - ba ca fe 00 */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t signature3;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Current version: 1 */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t version;
+/*---------------- DWORD[7] (Offset 0x1c) ----------------*/
+	/* Description -  */
+	/* 0x1c.0 - 0x1c.15 */
+	 u_int16_t itoc_entry_crc;
+};
+
+/* Description -   */
+/* Size in bytes - 512 */
+struct cx5fw_device_info {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x4.31 */
+	 u_int32_t signature0;
+/*---------------- DWORD[1] (Offset 0x4) ----------------*/
+	/* Description -  */
+	/* 0x4.0 - 0x8.31 */
+	 u_int32_t signature1;
+/*---------------- DWORD[2] (Offset 0x8) ----------------*/
+	/* Description -  */
+	/* 0x8.0 - 0xc.31 */
+	 u_int32_t signature2;
+/*---------------- DWORD[3] (Offset 0xc) ----------------*/
+	/* Description -  */
+	/* 0xc.0 - 0x10.31 */
+	 u_int32_t signature3;
+/*---------------- DWORD[4] (Offset 0x10) ----------------*/
+	/* Description - Format version for this struct */
+	/* 0x10.0 - 0x10.7 */
+	 u_int8_t minor_version;
+	/* Description - Format version for this struct */
+	/* 0x10.8 - 0x10.16 */
+	 u_int16_t major_version;
+/*---------------- DWORD[8] (Offset 0x20) ----------------*/
+	/* Description -  */
+	/* 0x20.0 - 0x60.31 */
+	 struct cx5fw_guids guids;
+/*---------------- DWORD[27] (Offset 0x6c) ----------------*/
+	/* Description -  */
+	/* 0x6c.0 - 0x6c.15 */
+	 u_int16_t vsd_vendor_id;
+/*---------------- DWORD[28] (Offset 0x70) ----------------*/
+	/* Description -  */
+	/* 0x70.24 - 0x140.23 */
+	 char vsd[209];
+/*---------------- DWORD[88] (Offset 0x160) ----------------*/
+	/* Description -  */
+	/* 0x160.0 - 0x1a0.31 */
+	 struct cx5fw_operation_key keys[4];
+/*---------------- DWORD[127] (Offset 0x1fc) ----------------*/
+	/* Description -  */
+	/* 0x1fc.0 - 0x1fc.15 */
+	 u_int16_t crc;
+};
+
+/* Description -   */
+/* Size in bytes - 512 */
+union cx5fw_cx5fw_Nodes {
+/*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.0 - 0x200.31 */
+	 struct cx5fw_device_info device_info;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct cx5fw_itoc_header itoc_header;
+	/* Description -  */
+	/* 0x0.0 - 0x40.31 */
+	 struct cx5fw_tools_area tools_area;
+	/* Description -  */
+	/* 0x0.0 - 0x20.31 */
+	 struct cx5fw_itoc_entry itoc_entry;
+	/* Description -  */
+	/* 0x0.0 - 0x30.31 */
+	 struct cx5fw_hw_pointers hw_pointers;
+};
+
+
+/*================= PACK/UNPACK/PRINT FUNCTIONS ======================*/
+/* uid_entry */
+void cx5fw_uid_entry_pack(const struct cx5fw_uid_entry *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_uid_entry_unpack(struct cx5fw_uid_entry *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_uid_entry_print(const struct cx5fw_uid_entry *ptr_struct, FILE* file, int indent_level);
+int cx5fw_uid_entry_size(void);
+#define CX5FW_UID_ENTRY_SIZE    (0x10)
+void cx5fw_uid_entry_dump(const struct cx5fw_uid_entry *ptr_struct, FILE* file);
+/* hw_pointer_entry */
+void cx5fw_hw_pointer_entry_pack(const struct cx5fw_hw_pointer_entry *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_hw_pointer_entry_unpack(struct cx5fw_hw_pointer_entry *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_hw_pointer_entry_print(const struct cx5fw_hw_pointer_entry *ptr_struct, FILE* file, int indent_level);
+int cx5fw_hw_pointer_entry_size(void);
+#define CX5FW_HW_POINTER_ENTRY_SIZE    (0x8)
+void cx5fw_hw_pointer_entry_dump(const struct cx5fw_hw_pointer_entry *ptr_struct, FILE* file);
+/* operation_key */
+void cx5fw_operation_key_pack(const struct cx5fw_operation_key *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_operation_key_unpack(struct cx5fw_operation_key *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_operation_key_print(const struct cx5fw_operation_key *ptr_struct, FILE* file, int indent_level);
+int cx5fw_operation_key_size(void);
+#define CX5FW_OPERATION_KEY_SIZE    (0x10)
+void cx5fw_operation_key_dump(const struct cx5fw_operation_key *ptr_struct, FILE* file);
+/* guids */
+void cx5fw_guids_pack(const struct cx5fw_guids *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_guids_unpack(struct cx5fw_guids *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_guids_print(const struct cx5fw_guids *ptr_struct, FILE* file, int indent_level);
+int cx5fw_guids_size(void);
+#define CX5FW_GUIDS_SIZE    (0x40)
+void cx5fw_guids_dump(const struct cx5fw_guids *ptr_struct, FILE* file);
+/* hw_pointers */
+void cx5fw_hw_pointers_pack(const struct cx5fw_hw_pointers *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_hw_pointers_unpack(struct cx5fw_hw_pointers *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_hw_pointers_print(const struct cx5fw_hw_pointers *ptr_struct, FILE* file, int indent_level);
+int cx5fw_hw_pointers_size(void);
+#define CX5FW_HW_POINTERS_SIZE    (0x30)
+void cx5fw_hw_pointers_dump(const struct cx5fw_hw_pointers *ptr_struct, FILE* file);
+/* itoc_entry */
+void cx5fw_itoc_entry_pack(const struct cx5fw_itoc_entry *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_itoc_entry_unpack(struct cx5fw_itoc_entry *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_itoc_entry_print(const struct cx5fw_itoc_entry *ptr_struct, FILE* file, int indent_level);
+int cx5fw_itoc_entry_size(void);
+#define CX5FW_ITOC_ENTRY_SIZE    (0x20)
+void cx5fw_itoc_entry_dump(const struct cx5fw_itoc_entry *ptr_struct, FILE* file);
+/* tools_area */
+void cx5fw_tools_area_pack(const struct cx5fw_tools_area *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_tools_area_unpack(struct cx5fw_tools_area *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_tools_area_print(const struct cx5fw_tools_area *ptr_struct, FILE* file, int indent_level);
+int cx5fw_tools_area_size(void);
+#define CX5FW_TOOLS_AREA_SIZE    (0x40)
+void cx5fw_tools_area_dump(const struct cx5fw_tools_area *ptr_struct, FILE* file);
+/* itoc_header */
+void cx5fw_itoc_header_pack(const struct cx5fw_itoc_header *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_itoc_header_unpack(struct cx5fw_itoc_header *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_itoc_header_print(const struct cx5fw_itoc_header *ptr_struct, FILE* file, int indent_level);
+int cx5fw_itoc_header_size(void);
+#define CX5FW_ITOC_HEADER_SIZE    (0x20)
+void cx5fw_itoc_header_dump(const struct cx5fw_itoc_header *ptr_struct, FILE* file);
+/* device_info */
+void cx5fw_device_info_pack(const struct cx5fw_device_info *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_device_info_unpack(struct cx5fw_device_info *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_device_info_print(const struct cx5fw_device_info *ptr_struct, FILE* file, int indent_level);
+int cx5fw_device_info_size(void);
+#define CX5FW_DEVICE_INFO_SIZE    (0x200)
+void cx5fw_device_info_dump(const struct cx5fw_device_info *ptr_struct, FILE* file);
+/* cx5fw_Nodes */
+void cx5fw_cx5fw_Nodes_pack(const union cx5fw_cx5fw_Nodes *ptr_struct, u_int8_t* ptr_buff);
+void cx5fw_cx5fw_Nodes_unpack(union cx5fw_cx5fw_Nodes *ptr_struct, const u_int8_t* ptr_buff);
+void cx5fw_cx5fw_Nodes_print(const union cx5fw_cx5fw_Nodes *ptr_struct, FILE* file, int indent_level);
+int cx5fw_cx5fw_Nodes_size(void);
+#define CX5FW_CX5FW_NODES_SIZE    (0x200)
+void cx5fw_cx5fw_Nodes_dump(const union cx5fw_cx5fw_Nodes *ptr_struct, FILE* file);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // CX5FW_LAYOUTS_H
diff --git a/tools_layouts/register_access_open_layouts.c b/tools_layouts/register_access_open_layouts.c
index c6d2e8f..1642d29 100644
--- a/tools_layouts/register_access_open_layouts.c
+++ b/tools_layouts/register_access_open_layouts.c
@@ -29,13 +29,12 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
- 
 
 /***
- *** This file was generated at "2016-05-02 14:45:27"
- *** by:
- ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/register_access_open/register_access_open.adb --file-prefix register_access_open --prefix register_access_
- ***/
+         *** This file was generated at "2016-10-01 01:27:03"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/register_access_open/register_access_open.adb --file-prefix register_access_open --prefix register_access_
+         ***/
 #include "register_access_open_layouts.h"
 
 void register_access_mfba_pack(const struct register_access_mfba *ptr_struct, u_int8_t* ptr_buff)
@@ -61,7 +60,7 @@ void register_access_mfba_pack(const struct register_access_mfba *ptr_struct, u_
 
 	for (i = 0; i < 64; i++) {
 	offset = adb2c_calc_array_field_address(96, 32, i, 2144, 0);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->data[i]);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->data[i]);
 	}
 
 }
@@ -105,20 +104,20 @@ void register_access_mfba_print(const struct register_access_mfba *ptr_struct, F
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fs                   : "UH_FMT"\n", ptr_struct->fs);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "p                    : "UH_FMT"\n", ptr_struct->p);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "size                 : "UH_FMT"\n", ptr_struct->size);
+	fprintf(file, "size                 : " UH_FMT "\n", ptr_struct->size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address              : "UH_FMT"\n", ptr_struct->address);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
 
 	for (i = 0; i < 64; i++) {
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "data_%03d            : "U32H_FMT"\n", i, ptr_struct->data[i]);
+	fprintf(file, "data_%03d            : " U32H_FMT "\n", i, ptr_struct->data[i]);
 	}
 
 }
@@ -170,7 +169,7 @@ void register_access_mfpa_pack(const struct register_access_mfpa *ptr_struct, u_
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->block_allignment);
 
 	offset = 224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->capability_mask);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->capability_mask);
 
 }
 
@@ -226,34 +225,34 @@ void register_access_mfpa_print(const struct register_access_mfpa *ptr_struct, F
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fs                   : "UH_FMT"\n", ptr_struct->fs);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "p                    : "UH_FMT"\n", ptr_struct->p);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "boot_address         : "UH_FMT"\n", ptr_struct->boot_address);
+	fprintf(file, "boot_address         : " UH_FMT "\n", ptr_struct->boot_address);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "flash_num            : "UH_FMT"\n", ptr_struct->flash_num);
+	fprintf(file, "flash_num            : " UH_FMT "\n", ptr_struct->flash_num);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bulk_64kb_erase_en   : "UH_FMT"\n", ptr_struct->bulk_64kb_erase_en);
+	fprintf(file, "bulk_64kb_erase_en   : " UH_FMT "\n", ptr_struct->bulk_64kb_erase_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bulk_32kb_erase_en   : "UH_FMT"\n", ptr_struct->bulk_32kb_erase_en);
+	fprintf(file, "bulk_32kb_erase_en   : " UH_FMT "\n", ptr_struct->bulk_32kb_erase_en);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "jedec_id             : "UH_FMT"\n", ptr_struct->jedec_id);
+	fprintf(file, "jedec_id             : " UH_FMT "\n", ptr_struct->jedec_id);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "sector_size          : "UH_FMT"\n", ptr_struct->sector_size);
+	fprintf(file, "sector_size          : " UH_FMT "\n", ptr_struct->sector_size);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "block_allignment     : "UH_FMT"\n", ptr_struct->block_allignment);
+	fprintf(file, "block_allignment     : " UH_FMT "\n", ptr_struct->block_allignment);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "capability_mask      : "U32H_FMT"\n", ptr_struct->capability_mask);
+	fprintf(file, "capability_mask      : " U32H_FMT "\n", ptr_struct->capability_mask);
 
 }
 
@@ -330,19 +329,19 @@ void register_access_mfbe_print(const struct register_access_mfbe *ptr_struct, F
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "fs                   : "UH_FMT"\n", ptr_struct->fs);
+	fprintf(file, "fs                   : " UH_FMT "\n", ptr_struct->fs);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "p                    : "UH_FMT"\n", ptr_struct->p);
+	fprintf(file, "p                    : " UH_FMT "\n", ptr_struct->p);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bulk_64kb_erase      : "UH_FMT"\n", ptr_struct->bulk_64kb_erase);
+	fprintf(file, "bulk_64kb_erase      : " UH_FMT "\n", ptr_struct->bulk_64kb_erase);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "bulk_32kb_erase      : "UH_FMT"\n", ptr_struct->bulk_32kb_erase);
+	fprintf(file, "bulk_32kb_erase      : " UH_FMT "\n", ptr_struct->bulk_32kb_erase);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "address              : "UH_FMT"\n", ptr_struct->address);
+	fprintf(file, "address              : " UH_FMT "\n", ptr_struct->address);
 
 }
 
diff --git a/tools_layouts/register_access_open_layouts.h b/tools_layouts/register_access_open_layouts.h
index 13f363a..b4d24e4 100644
--- a/tools_layouts/register_access_open_layouts.h
+++ b/tools_layouts/register_access_open_layouts.h
@@ -29,13 +29,12 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
- 
 
 /***
- *** This file was generated at "2016-05-02 14:45:27"
- *** by:
- ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/register_access_open/register_access_open.adb --file-prefix register_access_open --prefix register_access_
- ***/
+         *** This file was generated at "2016-10-01 01:27:03"
+         *** by:
+         ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/register_access_open/register_access_open.adb --file-prefix register_access_open --prefix register_access_
+         ***/
 #ifndef REGISTER_ACCESS_OPEN_LAYOUTS_H
 #define REGISTER_ACCESS_OPEN_LAYOUTS_H
 
@@ -49,22 +48,22 @@ extern "C" {
 struct register_access_mfba {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Flash Select */
-	/* 0.4 - 0.5 */
+	/* 0x0.4 - 0x0.5 */
 	 u_int8_t fs;
 	/* Description - Parallel */
-	/* 0.8 - 0.8 */
+	/* 0x0.8 - 0x0.8 */
 	 u_int8_t p;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - Transaction size */
-	/* 4.0 - 4.8 */
+	/* 0x4.0 - 0x4.8 */
 	 u_int16_t size;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - address in bytes */
-	/* 8.0 - 8.23 */
+	/* 0x8.0 - 0x8.23 */
 	 u_int32_t address;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - data */
-	/* 12.0 - 268.31 */
+	/* 0xc.0 - 0x10c.31 */
 	 u_int32_t data[64];
 };
 
@@ -73,39 +72,39 @@ struct register_access_mfba {
 struct register_access_mfpa {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Flash Select */
-	/* 0.4 - 0.5 */
+	/* 0x0.4 - 0x0.5 */
 	 u_int8_t fs;
 	/* Description - Parallel */
-	/* 0.8 - 0.8 */
+	/* 0x0.8 - 0x0.8 */
 	 u_int8_t p;
 /*---------------- DWORD[1] (Offset 0x4) ----------------*/
 	/* Description - address in bytes */
-	/* 4.0 - 4.23 */
+	/* 0x4.0 - 0x4.23 */
 	 u_int32_t boot_address;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - number of flash devices connected */
-	/* 16.0 - 16.3 */
+	/* 0x10.0 - 0x10.3 */
 	 u_int8_t flash_num;
 	/* Description - If set, MFBE register supports 64KB bulk erase operation. */
-	/* 16.29 - 16.29 */
+	/* 0x10.29 - 0x10.29 */
 	 u_int8_t bulk_64kb_erase_en;
 	/* Description - If set, MFBE register supports 32KB bulk erase operation. */
-	/* 16.30 - 16.30 */
+	/* 0x10.30 - 0x10.30 */
 	 u_int8_t bulk_32kb_erase_en;
 /*---------------- DWORD[5] (Offset 0x14) ----------------*/
 	/* Description - Flash JEDEC ID */
-	/* 20.0 - 20.23 */
+	/* 0x14.0 - 0x14.23 */
 	 u_int32_t jedec_id;
 /*---------------- DWORD[6] (Offset 0x18) ----------------*/
 	/* Description - Flash sectore size */
-	/* 24.0 - 24.9 */
+	/* 0x18.0 - 0x18.9 */
 	 u_int16_t sector_size;
 	/* Description -  */
-	/* 24.16 - 24.23 */
+	/* 0x18.16 - 0x18.23 */
 	 u_int8_t block_allignment;
 /*---------------- DWORD[7] (Offset 0x1c) ----------------*/
 	/* Description - capability mask ;bit 0:Parallel flash Support;else:Reserved  */
-	/* 28.0 - 32.31 */
+	/* 0x1c.0 - 0x20.31 */
 	 u_int32_t capability_mask;
 };
 
@@ -114,20 +113,20 @@ struct register_access_mfpa {
 struct register_access_mfbe {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Flash Select */
-	/* 0.4 - 0.5 */
+	/* 0x0.4 - 0x0.5 */
 	 u_int8_t fs;
 	/* Description - Parallel */
-	/* 0.8 - 0.8 */
+	/* 0x0.8 - 0x0.8 */
 	 u_int8_t p;
 	/* Description - Erase a 64KB flash area in one bulk operation. */
-	/* 0.29 - 0.29 */
+	/* 0x0.29 - 0x0.29 */
 	 u_int8_t bulk_64kb_erase;
 	/* Description - Erase a 32KB flash area in one bulk operation. */
-	/* 0.30 - 0.30 */
+	/* 0x0.30 - 0x0.30 */
 	 u_int8_t bulk_32kb_erase;
 /*---------------- DWORD[2] (Offset 0x8) ----------------*/
 	/* Description - address in bytes */
-	/* 8.0 - 8.23 */
+	/* 0x8.0 - 0x8.23 */
 	 u_int32_t address;
 };
 
@@ -136,13 +135,13 @@ struct register_access_mfbe {
 union register_access_register_access_open_Nodes {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
-	/* 0.0 - 12.31 */
+	/* 0x0.0 - 0xc.31 */
 	 struct register_access_mfbe mfbe;
 	/* Description -  */
-	/* 0.0 - 32.31 */
+	/* 0x0.0 - 0x20.31 */
 	 struct register_access_mfpa mfpa;
 	/* Description -  */
-	/* 0.0 - 268.31 */
+	/* 0x0.0 - 0x10c.31 */
 	 struct register_access_mfba mfba;
 };
 
diff --git a/tools_layouts/register_access_sib_layouts.c b/tools_layouts/register_access_sib_layouts.c
index a3bf050..cc61969 100644
--- a/tools_layouts/register_access_sib_layouts.c
+++ b/tools_layouts/register_access_sib_layouts.c
@@ -29,10 +29,9 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
- 
 
 /***
-         *** This file was generated at "2016-09-24 01:49:33"
+         *** This file was generated at "2016-10-01 01:16:16"
          *** by:
          ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/register_access/register_access_sib.adb --file-prefix register_access_sib --prefix register_access_sib_
          ***/
@@ -49,7 +48,7 @@ void register_access_sib_IB_PSID__pack(const struct register_access_sib_IB_PSID_
 
 	for (i = 0; i < 4; i++) {
 	offset = adb2c_calc_array_field_address(0, 32, i, 128, 1);
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->PS_ID[i]);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->PS_ID[i]);
 	}
 
 }
@@ -187,7 +186,7 @@ void register_access_sib_IB_FWInfo__pack(const struct register_access_sib_IB_FWI
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->Major);
 
 	offset = 32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->BuildID);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->BuildID);
 
 	offset = 80;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->Year);
@@ -205,16 +204,16 @@ void register_access_sib_IB_FWInfo__pack(const struct register_access_sib_IB_FWI
 	register_access_sib_IB_PSID__pack(&(ptr_struct->PSID), ptr_buff + offset/8);
 
 	offset = 256;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->INIFileNum);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->INIFileNum);
 
 	offset = 288;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->extended_major);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_major);
 
 	offset = 320;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->extended_minor);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_minor);
 
 	offset = 352;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->extended_subminor);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->extended_subminor);
 
 }
 
@@ -352,7 +351,7 @@ void register_access_sib_IB_HWInfo__pack(const struct register_access_sib_IB_HWI
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->hw_dev_id);
 
 	offset = 224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->UpTime);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->UpTime);
 
 }
 
@@ -628,10 +627,10 @@ void register_access_sib_mtmp_pack(const struct register_access_sib_mtmp *ptr_st
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->temperature_threshold_lo);
 
 	offset = 192;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->name_hi);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->name_hi);
 
 	offset = 224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->name_lo);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->name_lo);
 
 }
 
diff --git a/tools_layouts/register_access_sib_layouts.h b/tools_layouts/register_access_sib_layouts.h
index 2347e51..22f0c48 100644
--- a/tools_layouts/register_access_sib_layouts.h
+++ b/tools_layouts/register_access_sib_layouts.h
@@ -31,7 +31,7 @@
  */
 
 /***
-         *** This file was generated at "2016-09-24 01:49:33"
+         *** This file was generated at "2016-10-01 01:16:16"
          *** by:
          ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/register_access/register_access_sib.adb --file-prefix register_access_sib --prefix register_access_sib_
          ***/
diff --git a/tools_layouts/tools_open_layouts.c b/tools_layouts/tools_open_layouts.c
index 334295a..5d52d57 100644
--- a/tools_layouts/tools_open_layouts.c
+++ b/tools_layouts/tools_open_layouts.c
@@ -29,10 +29,9 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
- 
 
 /***
-         *** This file was generated at "2016-09-25 23:16:13"
+         *** This file was generated at "2016-12-11 13:27:43"
          *** by:
          ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/tools_open/tools_open.adb --file-prefix tools_open --prefix tools_open_
          ***/
@@ -48,7 +47,7 @@ void tools_open_tlv_type_dw_pack(const struct tools_open_tlv_type_dw *ptr_struct
 	(void)ptr_buff;
 
 	offset = 0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->tlv_type_dw);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->tlv_type_dw);
 
 }
 
@@ -760,17 +759,20 @@ void tools_open_nv_hdr_fifth_gen_pack(const struct tools_open_nv_hdr_fifth_gen *
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset = 24;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->length);
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 9, (u_int32_t)ptr_struct->length);
 
 	offset = 20;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->shadow);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 3, (u_int32_t)ptr_struct->writer_host_id);
 
 	offset = 16;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->version);
 
+	offset = 11;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 5, (u_int32_t)ptr_struct->writer_id);
+
 	offset = 9;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->default_supported);
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_current);
 
 	offset = 8;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->default_);
@@ -795,17 +797,20 @@ void tools_open_nv_hdr_fifth_gen_unpack(struct tools_open_nv_hdr_fifth_gen *ptr_
 	(void)ptr_struct;
 	(void)ptr_buff;
 
-	offset = 24;
-	ptr_struct->length = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
+	offset = 23;
+	ptr_struct->length = (u_int16_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 9);
 
 	offset = 20;
-	ptr_struct->shadow = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	ptr_struct->writer_host_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 3);
 
 	offset = 16;
 	ptr_struct->version = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 4);
 
+	offset = 11;
+	ptr_struct->writer_id = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 5);
+
 	offset = 9;
-	ptr_struct->default_supported = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+	ptr_struct->read_current = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
 	offset = 8;
 	ptr_struct->default_ = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
@@ -835,13 +840,16 @@ void tools_open_nv_hdr_fifth_gen_print(const struct tools_open_nv_hdr_fifth_gen
 	fprintf(file, "length               : " UH_FMT "\n", ptr_struct->length);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "shadow               : " UH_FMT "\n", ptr_struct->shadow);
+	fprintf(file, "writer_host_id       : " UH_FMT "\n", ptr_struct->writer_host_id);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "version              : " UH_FMT "\n", ptr_struct->version);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "default_supported    : " UH_FMT "\n", ptr_struct->default_supported);
+	fprintf(file, "writer_id            : %s (" UH_FMT ")\n", (ptr_struct->writer_id == 0 ? ("NV_WRITER_ID_UNSPECIFIED") : ((ptr_struct->writer_id == 1 ? ("NV_WRITER_ID_CHASSIS_BMC") : ((ptr_struct->writer_id == 2 ? ("NV_WRITER_ID_MAD") : ((ptr_struct->writer_id == 3 ? ("NV_WRITER_ID_BMC") : ((ptr_struct->writer_id == 4 ? ("NV_WRITER_ID_CMD_IF") : ((ptr_struct->writer_id == 5 ? ("NV_WRITER_ID_ICMD") : ((ptr_struct->writer_id == 6 ? ("NV_WRITER_ID_ICMD_UEFI_HII") : ((ptr_struct->writer_id == [...]
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "read_current         : " UH_FMT "\n", ptr_struct->read_current);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "default_             : " UH_FMT "\n", ptr_struct->default_);
@@ -1052,16 +1060,16 @@ void tools_open_aux_tlv_header_pack(const struct tools_open_aux_tlv_header *ptr_
 	adb2c_push_bits_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->header_type);
 
 	offset = 32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->length);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->length);
 
 	offset = 80;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 16, (u_int32_t)ptr_struct->crc);
 
 	offset = 96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->reserved0);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reserved0);
 
 	offset = 128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->reserved1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->reserved1);
 
 }
 
@@ -1407,7 +1415,7 @@ void tools_open_mfpa_pack(const struct tools_open_mfpa *ptr_struct, u_int8_t* pt
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->block_size);
 
 	offset = 224;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->capability_mask);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->capability_mask);
 
 }
 
@@ -1654,7 +1662,7 @@ void tools_open_mnvgn_pack(const struct tools_open_mnvgn *ptr_struct, u_int8_t*
 	(void)ptr_buff;
 
 	offset = 0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->nv_pointer);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->nv_pointer);
 
 	offset = 128;
 	tools_open_nv_hdr_fifth_gen_pack(&(ptr_struct->nv_hdr), ptr_buff + offset/8);
@@ -1815,6 +1823,9 @@ void tools_open_nvqgc_pack(const struct tools_open_nvqgc *ptr_struct, u_int8_t*
 	offset = 31;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->read_factory_settings_support);
 
+	offset = 30;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nvda_read_current_settings);
+
 }
 
 void tools_open_nvqgc_unpack(struct tools_open_nvqgc *ptr_struct, const u_int8_t* ptr_buff)
@@ -1829,6 +1840,9 @@ void tools_open_nvqgc_unpack(struct tools_open_nvqgc *ptr_struct, const u_int8_t
 	offset = 31;
 	ptr_struct->read_factory_settings_support = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
+	offset = 30;
+	ptr_struct->nvda_read_current_settings = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
 }
 
 void tools_open_nvqgc_print(const struct tools_open_nvqgc *ptr_struct, FILE* file, int indent_level)
@@ -1844,6 +1858,9 @@ void tools_open_nvqgc_print(const struct tools_open_nvqgc *ptr_struct, FILE* fil
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "read_factory_settings_support : " UH_FMT "\n", ptr_struct->read_factory_settings_support);
 
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nvda_read_current_settings : " UH_FMT "\n", ptr_struct->nvda_read_current_settings);
+
 }
 
 int tools_open_nvqgc_size(void)
@@ -1922,8 +1939,8 @@ void tools_open_nvda_pack(const struct tools_open_nvda *ptr_struct, u_int8_t* pt
 	offset = 0;
 	tools_open_nv_hdr_fifth_gen_pack(&(ptr_struct->nv_hdr), ptr_buff + offset/8);
 
-	for (i = 0; i < 128; i++) {
-	offset = adb2c_calc_array_field_address(120, 8, i, 2048, 1);
+	for (i = 0; i < 256; i++) {
+	offset = adb2c_calc_array_field_address(120, 8, i, 2144, 1);
 	adb2c_push_bits_to_buff(ptr_buff, offset, 8, (u_int32_t)ptr_struct->data[i]);
 	}
 
@@ -1941,8 +1958,8 @@ void tools_open_nvda_unpack(struct tools_open_nvda *ptr_struct, const u_int8_t*
 	offset = 0;
 	tools_open_nv_hdr_fifth_gen_unpack(&(ptr_struct->nv_hdr), ptr_buff + offset/8);
 
-	for (i = 0; i < 128; i++) {
-	offset = adb2c_calc_array_field_address(120, 8, i, 2048, 1);
+	for (i = 0; i < 256; i++) {
+	offset = adb2c_calc_array_field_address(120, 8, i, 2144, 1);
 	ptr_struct->data[i] = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 8);
 	}
 
@@ -1962,7 +1979,7 @@ void tools_open_nvda_print(const struct tools_open_nvda *ptr_struct, FILE* file,
 	fprintf(file, "nv_hdr:\n");
 	tools_open_nv_hdr_fifth_gen_print(&(ptr_struct->nv_hdr), file, indent_level + 1);
 
-	for (i = 0; i < 128; i++) {
+	for (i = 0; i < 256; i++) {
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "data_%03d            : " UH_FMT "\n", i, ptr_struct->data[i]);
 	}
@@ -1971,7 +1988,7 @@ void tools_open_nvda_print(const struct tools_open_nvda *ptr_struct, FILE* file,
 
 int tools_open_nvda_size(void)
 {
-	 return 256;
+	 return 268;
 }
 
 void tools_open_nvda_dump(const struct tools_open_nvda *ptr_struct, FILE* file)
@@ -2575,16 +2592,16 @@ void tools_open_aux_data_hdr_pack(const struct tools_open_aux_data_hdr *ptr_stru
 	(void)ptr_buff;
 
 	offset = 0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature0);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature0);
 
 	offset = 32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature1);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature1);
 
 	offset = 64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature2);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature2);
 
 	offset = 96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->signature3);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->signature3);
 
 }
 
@@ -2654,6 +2671,9 @@ void tools_open_query_def_params_per_port_pack(const struct tools_open_query_def
 	(void)ptr_struct;
 	(void)ptr_buff;
 
+	offset = 14;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nv_config_vpi_force_mode);
+
 	offset = 13;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nv_config_vpi);
 
@@ -2711,11 +2731,14 @@ void tools_open_query_def_params_per_port_pack(const struct tools_open_query_def
 	offset = 64;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->nv_config_boot_parameters);
 
-	offset = 108;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->client_indentifier);
+	offset = 118;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->default_vpi_force_mode);
+
+	offset = 116;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->default_vpi_xfi_mode);
 
-	offset = 106;
-	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->mac_admin_bit);
+	offset = 114;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->default_vpi_phy_type);
 
 	offset = 104;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->iscsi_boot_to_target);
@@ -2755,6 +2778,9 @@ void tools_open_query_def_params_per_port_unpack(struct tools_open_query_def_par
 	(void)ptr_struct;
 	(void)ptr_buff;
 
+	offset = 14;
+	ptr_struct->nv_config_vpi_force_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
 	offset = 13;
 	ptr_struct->nv_config_vpi = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
@@ -2812,11 +2838,14 @@ void tools_open_query_def_params_per_port_unpack(struct tools_open_query_def_par
 	offset = 64;
 	ptr_struct->nv_config_boot_parameters = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset = 108;
-	ptr_struct->client_indentifier = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 118;
+	ptr_struct->default_vpi_force_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
 
-	offset = 106;
-	ptr_struct->mac_admin_bit = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+	offset = 116;
+	ptr_struct->default_vpi_xfi_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 114;
+	ptr_struct->default_vpi_phy_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
 	offset = 104;
 	ptr_struct->iscsi_boot_to_target = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
@@ -2858,6 +2887,9 @@ void tools_open_query_def_params_per_port_print(const struct tools_open_query_de
 	(void)indent_level;
 
 	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "nv_config_vpi_force_mode : " UH_FMT "\n", ptr_struct->nv_config_vpi_force_mode);
+
+	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "nv_config_vpi        : " UH_FMT "\n", ptr_struct->nv_config_vpi);
 
 	adb2c_add_indentation(file, indent_level);
@@ -2915,10 +2947,13 @@ void tools_open_query_def_params_per_port_print(const struct tools_open_query_de
 	fprintf(file, "nv_config_boot_parameters : " UH_FMT "\n", ptr_struct->nv_config_boot_parameters);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "client_indentifier   : " UH_FMT "\n", ptr_struct->client_indentifier);
+	fprintf(file, "default_vpi_force_mode : " UH_FMT "\n", ptr_struct->default_vpi_force_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "default_vpi_xfi_mode : " UH_FMT "\n", ptr_struct->default_vpi_xfi_mode);
 
 	adb2c_add_indentation(file, indent_level);
-	fprintf(file, "mac_admin_bit        : " UH_FMT "\n", ptr_struct->mac_admin_bit);
+	fprintf(file, "default_vpi_phy_type : " UH_FMT "\n", ptr_struct->default_vpi_phy_type);
 
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "iscsi_boot_to_target : " UH_FMT "\n", ptr_struct->iscsi_boot_to_target);
@@ -3169,7 +3204,7 @@ void tools_open_mnv_cfg_print(const union tools_open_mnv_cfg *ptr_struct, FILE*
 
 int tools_open_mnv_cfg_size(void)
 {
-	 return 256;
+	 return 268;
 }
 
 void tools_open_mnv_cfg_dump(const union tools_open_mnv_cfg *ptr_struct, FILE* file)
@@ -4113,6 +4148,15 @@ void tools_open_vpi_settings_pack(const struct tools_open_vpi_settings *ptr_stru
 	offset = 28;
 	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->default_link_type);
 
+	offset = 26;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->phy_type);
+
+	offset = 24;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 2, (u_int32_t)ptr_struct->xfi_mode);
+
+	offset = 23;
+	adb2c_push_bits_to_buff(ptr_buff, offset, 1, (u_int32_t)ptr_struct->force_mode);
+
 }
 
 void tools_open_vpi_settings_unpack(struct tools_open_vpi_settings *ptr_struct, const u_int8_t* ptr_buff)
@@ -4130,6 +4174,15 @@ void tools_open_vpi_settings_unpack(struct tools_open_vpi_settings *ptr_struct,
 	offset = 28;
 	ptr_struct->default_link_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
 
+	offset = 26;
+	ptr_struct->phy_type = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 24;
+	ptr_struct->xfi_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 2);
+
+	offset = 23;
+	ptr_struct->force_mode = (u_int8_t)adb2c_pop_bits_from_buff(ptr_buff, offset, 1);
+
 }
 
 void tools_open_vpi_settings_print(const struct tools_open_vpi_settings *ptr_struct, FILE* file, int indent_level)
@@ -4148,6 +4201,15 @@ void tools_open_vpi_settings_print(const struct tools_open_vpi_settings *ptr_str
 	adb2c_add_indentation(file, indent_level);
 	fprintf(file, "default_link_type    : " UH_FMT "\n", ptr_struct->default_link_type);
 
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "phy_type             : " UH_FMT "\n", ptr_struct->phy_type);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "xfi_mode             : " UH_FMT "\n", ptr_struct->xfi_mode);
+
+	adb2c_add_indentation(file, indent_level);
+	fprintf(file, "force_mode           : " UH_FMT "\n", ptr_struct->force_mode);
+
 }
 
 int tools_open_vpi_settings_size(void)
@@ -4170,7 +4232,7 @@ void tools_open_bar_size_pack(const struct tools_open_bar_size *ptr_struct, u_in
 	(void)ptr_buff;
 
 	offset = 0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->log_uar_bar_size);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->log_uar_bar_size);
 
 }
 
@@ -5085,10 +5147,10 @@ void tools_open_pci_capabilities_pack(const struct tools_open_pci_capabilities *
 	adb2c_push_bits_to_buff(ptr_buff, offset, 10, (u_int32_t)ptr_struct->max_num_vf_msix);
 
 	offset = 96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->max_total_msix);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_total_msix);
 
 	offset = 128;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->max_total_bar);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_total_bar);
 
 }
 
@@ -5417,16 +5479,16 @@ void tools_open_infiniband_dc_capabilities_pack(const struct tools_open_infiniba
 	(void)ptr_buff;
 
 	offset = 0;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->min_log_dcr_hash_table_size);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->min_log_dcr_hash_table_size);
 
 	offset = 32;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->max_log_dcr_hash_table_size);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_log_dcr_hash_table_size);
 
 	offset = 64;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->min_dcr_lifo_size);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->min_dcr_lifo_size);
 
 	offset = 96;
-	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int64_t)ptr_struct->max_dcr_lifo_size);
+	adb2c_push_integer_to_buff(ptr_buff, offset, 4, (u_int32_t)ptr_struct->max_dcr_lifo_size);
 
 }
 
diff --git a/tools_layouts/tools_open_layouts.h b/tools_layouts/tools_open_layouts.h
index 90104c7..86998c6 100644
--- a/tools_layouts/tools_open_layouts.h
+++ b/tools_layouts/tools_open_layouts.h
@@ -29,10 +29,9 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
- 
 
 /***
-         *** This file was generated at "2016-09-25 23:16:13"
+         *** This file was generated at "2016-12-11 13:27:43"
          *** by:
          ***    > /mswg/release/eat_me/last_release/adabe_plugins/adb2c/adb2pack.py --input adb/tools_open/tools_open.adb --file-prefix tools_open --prefix tools_open_
          ***/
@@ -218,18 +217,22 @@ This field is only valid for Address + Read and Address + Write operations, prov
 struct tools_open_nv_hdr_fifth_gen {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Size of configuration item data in bytes between 0..256 */
-	/* 0x0.0 - 0x0.7 */
-	 u_int8_t length;
-	/* Description - 0 - FW writes configuration item directly
-1 - FW writes configuration to a temporary aread untill NVCT operation is called */
-	/* 0x0.11 - 0x0.11 */
-	 u_int8_t shadow;
+	/* 0x0.0 - 0x0.8 */
+	 u_int16_t length;
+	/* Description - tlv writer host index */
+	/* 0x0.9 - 0x0.11 */
+	 u_int8_t writer_host_id;
 	/* Description - Configuration item version */
 	/* 0x0.12 - 0x0.15 */
 	 u_int8_t version;
-	/* Description - when set, the default field is supported. */
+	/* Description - Writer ID */
+	/* 0x0.16 - 0x0.20 */
+	 u_int8_t writer_id;
+	/* Description - Choose - read current values or user defined values: 0x0 - u ser defined values
+ 0x1 - current values ( values that are loaded in last boot)
+ */
 	/* 0x0.22 - 0x0.22 */
-	 u_int8_t default_supported;
+	 u_int8_t read_current;
 	/* Description - when set in query , will display the default configuration */
 	/* 0x0.23 - 0x0.23 */
 	 u_int8_t default_;
@@ -559,6 +562,9 @@ struct tools_open_nvqgc {
 	/* Description - NVDA read factory settings. 0: Unsupported. 1: Supported. */
 	/* 0x0.0 - 0x0.0 */
 	 u_int8_t read_factory_settings_support;
+	/* Description - NVDA read current settings, 0=unsupported, 1=supported */
+	/* 0x0.1 - 0x0.1 */
+	 u_int8_t nvda_read_current_settings;
 };
 
 /* Description -   */
@@ -571,7 +577,7 @@ struct tools_open_nvdi {
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
+/* Size in bytes - 268 */
 struct tools_open_nvda {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
@@ -579,8 +585,8 @@ struct tools_open_nvda {
 	 struct tools_open_nv_hdr_fifth_gen nv_hdr;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description -  */
-	/* 0xc.24 - 0x8c.23 */
-	 u_int8_t data[128];
+	/* 0xc.24 - 0x10c.23 */
+	 u_int8_t data[256];
 };
 
 /* Description -   */
@@ -736,6 +742,9 @@ struct tools_open_aux_data_hdr {
 /* Size in bytes - 28 */
 struct tools_open_query_def_params_per_port {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
+	/* Description -  */
+	/* 0x0.17 - 0x0.17 */
+	 u_int8_t nv_config_vpi_force_mode;
 	/* Description - Firmware supports NV config settings 0x12 on the given port. */
 	/* 0x0.18 - 0x0.18 */
 	 u_int8_t nv_config_vpi;
@@ -796,12 +805,15 @@ struct tools_open_query_def_params_per_port {
 	/* 0x8.31 - 0x8.31 */
 	 u_int8_t nv_config_boot_parameters;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
-	/* Description - Default value of the client_identifier field in the InfiniBand DHCP settings TLV. */
-	/* 0xc.18 - 0xc.19 */
-	 u_int8_t client_indentifier;
-	/* Description - Default value of the mac_admin_bit in the InfiniBand DHCP settings TLV. */
-	/* 0xc.20 - 0xc.21 */
-	 u_int8_t mac_admin_bit;
+	/* Description -  */
+	/* 0xc.9 - 0xc.9 */
+	 u_int8_t default_vpi_force_mode;
+	/* Description -  */
+	/* 0xc.10 - 0xc.11 */
+	 u_int8_t default_vpi_xfi_mode;
+	/* Description -  */
+	/* 0xc.12 - 0xc.13 */
+	 u_int8_t default_vpi_phy_type;
 	/* Description -  */
 	/* 0xc.22 - 0xc.23 */
 	 u_int8_t iscsi_boot_to_target;
@@ -870,7 +882,7 @@ union tools_open_phy_reg {
 };
 
 /* Description -   */
-/* Size in bytes - 256 */
+/* Size in bytes - 268 */
 union tools_open_mnv_cfg {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description -  */
@@ -889,7 +901,7 @@ union tools_open_mnv_cfg {
 	/* 0x0.0 - 0x14.31 */
 	 struct tools_open_nvia nvia;
 	/* Description -  */
-	/* 0x0.0 - 0x100.31 */
+	/* 0x0.0 - 0x10c.31 */
 	 struct tools_open_nvda nvda;
 	/* Description -  */
 	/* 0x0.0 - 0xc.31 */
@@ -1032,7 +1044,7 @@ Default: 30
 	 u_int16_t lldp_msg_tx_interval;
 /*---------------- DWORD[3] (Offset 0xc) ----------------*/
 	/* Description - A bitmask saying which of the LLDP-TLV to send
-Default: b1111  (only TLVs 0..3) – according to the standard these are mandatory TLVs that must always be enabled
+Default: b1111  (only TLVs 0..3) �� according to the standard these are mandatory TLVs that must always be enabled
 
 An enabled TLV will not be send if a corresponding TLV is not defined
  */
@@ -1074,7 +1086,7 @@ Default: 5
 	 u_int8_t rpg_threshold;
 /*---------------- DWORD[4] (Offset 0x10) ----------------*/
 	/* Description - The maximum rate, in Mbits per second, at which an RP can transmit. Once this limit is reached, the RP rate limited is released and the flow is not rate limited any more.
-Default: 0 (Full port speed) – TBD update PRM
+Default: 0 (Full port speed) �� TBD update PRM
  */
 	/* 0x10.0 - 0x10.30 */
 	 u_int32_t rpg_max_rate;
@@ -1207,13 +1219,22 @@ when VPI network link type is selcted this field determines
 the default link type when no cable is connected */
 	/* 0x0.2 - 0x0.3 */
 	 u_int8_t default_link_type;
+	/* Description -  */
+	/* 0x0.4 - 0x0.5 */
+	 u_int8_t phy_type;
+	/* Description -  */
+	/* 0x0.6 - 0x0.7 */
+	 u_int8_t xfi_mode;
+	/* Description -  */
+	/* 0x0.8 - 0x0.8 */
+	 u_int8_t force_mode;
 };
 
 /* Description -   */
 /* Size in bytes - 4 */
 struct tools_open_bar_size {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
-	/* Description - Base 2 log of the size of the physical function’s first BAR, in MBs. E.g. for 8MB the value is 3. */
+	/* Description - Base 2 log of the size of the physical function��s first BAR, in MBs. E.g. for 8MB the value is 3. */
 	/* 0x0.0 - 0x4.31 */
 	 u_int32_t log_uar_bar_size;
 };
@@ -1235,15 +1256,15 @@ struct tools_open_sriov {
 struct tools_open_preboot_flow_ctrl {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Per priority bit mask. For each priority:
-0 – ignore incoming PFC frames regarding this priority.
-1 – respect incoming PFC frames on this priority.
+0 �� ignore incoming PFC frames regarding this priority.
+1 �� respect incoming PFC frames on this priority.
  */
 	/* 0x0.0 - 0x0.7 */
 	 u_int8_t pfcrx;
 	/* Description - Per priority bit mask. For each priority:
 
-0 – no PFC pause frames generation for this priority.
-1 – generate PFC pause frames for this priority.
+0 �� no PFC pause frames generation for this priority.
+1 �� generate PFC pause frames for this priority.
 PFC and global pauses are mutually exclusive.
  */
 	/* 0x0.8 - 0x0.15 */
@@ -1251,13 +1272,13 @@ PFC and global pauses are mutually exclusive.
 	/* Description - For future DCBX support. */
 	/* 0x0.29 - 0x0.29 */
 	 u_int8_t pfc_willing;
-	/* Description - 0 – ignore received pause frames
-1 – respect received pause frames
+	/* Description - 0 �� ignore received pause frames
+1 �� respect received pause frames
  */
 	/* 0x0.30 - 0x0.30 */
 	 u_int8_t pprx;
-	/* Description - 0 – no pause frame generation.
-1 – generate pause frames.
+	/* Description - 0 �� no pause frame generation.
+1 �� generate pause frames.
 PFC and global pauses are mutually exclusive.
  */
 	/* 0x0.31 - 0x0.31 */
@@ -1302,11 +1323,11 @@ struct tools_open_boot_settings {
 	/* Description - VLAN ID for network boot. */
 	/* 0x0.0 - 0x0.11 */
 	 u_int16_t boot_vlan;
-	/* Description - 0 – None – disable legacy boot.
-1 – PXE (DHCP/TFTP boot).
-2 – iSCSI
-3 – PXE + iSCSI
-4-255 – Reserved
+	/* Description - 0 �� None �� disable legacy boot.
+1 �� PXE (DHCP/TFTP boot).
+2 �� iSCSI
+3 �� PXE + iSCSI
+4-255 �� Reserved
  */
 	/* 0x0.16 - 0x0.23 */
 	 u_int8_t legacy_boot_protocol;
@@ -1315,11 +1336,11 @@ struct tools_open_boot_settings {
  */
 	/* 0x0.24 - 0x0.26 */
 	 u_int8_t boot_retry_conut;
-	/* Description - 1 – Enable VLAN mode for network boot. */
+	/* Description - 1 �� Enable VLAN mode for network boot. */
 	/* 0x0.30 - 0x0.30 */
 	 u_int8_t boot_vlan_en;
-	/* Description - 0 – disable boot option ROM: disables installation of the UNDI/16 driver. The option ROM is still required to expose CLP, UEFI and so on.
-1 – enable boot option ROM
+	/* Description - 0 �� disable boot option ROM: disables installation of the UNDI/16 driver. The option ROM is still required to expose CLP, UEFI and so on.
+1 �� enable boot option ROM
  */
 	/* 0x0.31 - 0x0.31 */
 	 u_int8_t boot_option_rom_en;
@@ -1342,10 +1363,10 @@ struct tools_open_iscsi_settings {
 	/* 0x0.21 - 0x0.21 */
 	 u_int8_t target_as_first_hdd_en;
 	/* Description - Boot to iSCSI target after connection. 
-• 0 – Enabled
-• 1 – Disabled
-• 2 - One time disabled
-• 3 - Invalid setting
+�� 0 �� Enabled
+�� 1 �� Disabled
+�� 2 - One time disabled
+�� 3 - Invalid setting
  */
 	/* 0x0.22 - 0x0.23 */
 	 u_int8_t boot_to_target;
@@ -1661,7 +1682,7 @@ union tools_open_hcr_cmds {
 union tools_open_access_registers {
 /*---------------- DWORD[0] (Offset 0x0) ----------------*/
 	/* Description - Misc NV Registers, this is temporary untill we integrate with fw db */
-	/* 0x0.0 - 0x100.31 */
+	/* 0x0.0 - 0x10c.31 */
 	 union tools_open_mnv_cfg MNVReg;
 	/* Description - Register for accessing FW managed external PHY */
 	/* 0x0.0 - 0x108.31 */
@@ -1940,7 +1961,7 @@ void tools_open_nvda_pack(const struct tools_open_nvda *ptr_struct, u_int8_t* pt
 void tools_open_nvda_unpack(struct tools_open_nvda *ptr_struct, const u_int8_t* ptr_buff);
 void tools_open_nvda_print(const struct tools_open_nvda *ptr_struct, FILE* file, int indent_level);
 int tools_open_nvda_size(void);
-#define TOOLS_OPEN_NVDA_SIZE    (0x100)
+#define TOOLS_OPEN_NVDA_SIZE    (0x10c)
 void tools_open_nvda_dump(const struct tools_open_nvda *ptr_struct, FILE* file);
 /* nvia */
 void tools_open_nvia_pack(const struct tools_open_nvia *ptr_struct, u_int8_t* ptr_buff);
@@ -2031,7 +2052,7 @@ void tools_open_mnv_cfg_pack(const union tools_open_mnv_cfg *ptr_struct, u_int8_
 void tools_open_mnv_cfg_unpack(union tools_open_mnv_cfg *ptr_struct, const u_int8_t* ptr_buff);
 void tools_open_mnv_cfg_print(const union tools_open_mnv_cfg *ptr_struct, FILE* file, int indent_level);
 int tools_open_mnv_cfg_size(void);
-#define TOOLS_OPEN_MNV_CFG_SIZE    (0x100)
+#define TOOLS_OPEN_MNV_CFG_SIZE    (0x10c)
 void tools_open_mnv_cfg_dump(const union tools_open_mnv_cfg *ptr_struct, FILE* file);
 /* lldp_nb_dcbx */
 void tools_open_lldp_nb_dcbx_pack(const struct tools_open_lldp_nb_dcbx *ptr_struct, u_int8_t* ptr_buff);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ofed/mstflint.git



More information about the Pkg-ofed-commits mailing list